diff options
author | m-wells | 2015-06-08 16:37:18 -0400 |
---|---|---|
committer | m-wells | 2015-06-08 16:37:18 -0400 |
commit | ad6edc683eedca068901f398b20044e12edba190 (patch) | |
tree | d2d9f15ad2377dea97a427e00cc654bceb35e033 | |
download | aur-ad6edc683eedca068901f398b20044e12edba190.tar.gz |
Initial import
-rw-r--r-- | .SRCINFO | 86 | ||||
-rw-r--r-- | EULA.txt | 274 | ||||
-rw-r--r-- | PKGBUILD | 906 | ||||
-rw-r--r-- | intel-compiler-base.conf | 2 | ||||
-rw-r--r-- | intel-composer.install | 19 | ||||
-rw-r--r-- | intel-fortran.conf | 2 | ||||
-rw-r--r-- | intel-ipp.conf | 2 | ||||
-rw-r--r-- | intel-mkl-th.conf | 14 | ||||
-rw-r--r-- | intel-mkl.conf | 1 | ||||
-rw-r--r-- | intel-mkl.install | 19 | ||||
-rwxr-xr-x | intel-mkl.sh | 5 | ||||
-rw-r--r-- | intel-openmp.conf | 1 | ||||
-rw-r--r-- | intel_advisor-xe.sh | 2 | ||||
-rwxr-xr-x | intel_compilers.sh | 23 | ||||
-rw-r--r-- | intel_inspector-xe.sh | 2 | ||||
-rw-r--r-- | intel_vtune-amplifier-xe.sh | 2 |
16 files changed, 1360 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..2ee66c25fa5e --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,86 @@ +# Generated by makepkg 4.2.1 +# Mon Jun 8 20:34:54 UTC 2015 +pkgbase = intel-parallel-studio-xe + pkgdesc = Intel C++ C and fortran compiler - Intel Parallel Studio XE - intel compiler - icc icpc ifort ipp mkl + pkgver = 2015.15.0.3.3.187 + pkgrel = 3 + url = http://software.intel.com/en-us/articles/non-commercial-software-download/ + arch = i686 + arch = x86_64 + license = custom + makedepends = libarchive + makedepends = sed + makedepends = gzip + depends = bash + depends = gcc + options = strip + options = libtool + options = staticlibs + source = http://registrationcenter-download.intel.com/akdlm/irc_nas/7538/parallel_studio_xe_2015_update3.tgz + source = intel_compilers.sh + source = intel_vtune-amplifier-xe.sh + source = intel_advisor-xe.sh + source = intel_inspector-xe.sh + source = intel-composer.install + source = intel-compiler-base.conf + source = intel-fortran.conf + source = intel-openmp.conf + source = intel-mkl.conf + source = intel-ipp.conf + source = intel-mkl.sh + source = intel-mkl.install + source = intel-mkl-th.conf + source = EULA.txt + sha256sums = ab7169989c87bbb0fe66221cb7eb3a26b17c8b9ceff38f1926e5607834306896 + sha256sums = 338041f924d8f3ac31d349bca57f8ab66f094a5bb53d4f821f48fa710a112111 + sha256sums = 7da22140b9d8277d06d88f6bd37cb77ed17bc87d4f7ec5958587416639955991 + sha256sums = 292a9eea2c9a836ee9dc0d4ff28fc741d5548a3182e4f75aec7b93e1dd7b4f21 + sha256sums = 6dc3992ac649f979328d13cb98ead95121752a34fbad07d41ee65b084cdf03cf + sha256sums = 3f96dec03111e69d16bb363acf4d0570e8a9526c09e5e542a7558f1b26d043ef + sha256sums = 31ac4d0f30a93fe6393f48cb13761d7d1ce9719708c76a377193d96416bed884 + sha256sums = c165386ba33b25453d4f5486b7fefcdba7d31e156ad280cbdfa13ed924b01bef + sha256sums = 99cc9683cc75934cc21bb5a09f6ad83365ee48712719bfd914de9444695eed13 + sha256sums = a856326362e9b80c19dc237cbf66bf3d96a69bd7ad1baff99ec9849f8208348c + sha256sums = da6f41c2e002c9a793c75a18c8d1c85ef7ef5bf83a7a0a158ff144481491aac8 + sha256sums = 5e68c529c65cac54218026c869e54b2ddb268179725fc1e6b56d920470dad999 + sha256sums = 11398c0ae2e2011902b1d6356d916d41bb8b54d39d090c6c83630f4b0e84e93a + sha256sums = e515cb28bf40cdb0db818db6a2688a0028575153a1b9d5acfb0bc5f13fe45722 + sha256sums = 228ac25e147adb9b872e1a562e522d2fd48809ccae89b765112009896a6d55a5 + +pkgname = intel-compiler-base + pkgdesc = Intel C/C++ compiler + install = intel-composer.install + +pkgname = intel-openmp + pkgdesc = Intel OpenMP Library + install = intel-composer.install + depends = intel-compiler-base + +pkgname = intel-fortran-compiler + pkgdesc = Intel Fortran compiler + install = intel-composer.install + depends = intel-compiler-base + +pkgname = intel-ipp + pkgdesc = Intel Integrated Performance Primitives + install = intel-composer.install + +pkgname = intel-mkl + pkgdesc = Intel Math Kernel Library (Intel® MKL) + install = intel-mkl.install + backup = etc/intel-mkl-th.conf + +pkgname = intel-sourcechecker + pkgdesc = Intel Source Checker + depends = intel-compiler-base + +pkgname = intel-vtune-amplifier-xe + pkgdesc = Performance profiler for serial and parallel performance analysis + depends = pangox-compat + +pkgname = intel-inspector-xe + pkgdesc = Memory and thread debugger + +pkgname = intel-advisor-xe + pkgdesc = Threading design and prototyping tool for software architects + diff --git a/EULA.txt b/EULA.txt new file mode 100644 index 000000000000..1fa84d514a60 --- /dev/null +++ b/EULA.txt @@ -0,0 +1,274 @@ +IMPORTANT - READ BEFORE COPYING, INSTALLING OR USING. +Do not copy, install, or use the Materials provided under this license agreement ("Agreement"), until you +have carefully read the following terms and conditions. + +By copying, installing, or otherwise using the Materials, you agree to be bound by the terms of this +Agreement. If you do not agree to the terms of this Agreement, do not copy, install, or use the Materials. + +End User License Agreement for the Intel(R) Software Development Products + +1. LICENSE DEFINITIONS: + +A. "Materials" are defined as the software, documentation, license key codes and other materials, +including any updates and upgrade thereto, for the applicable Intel Software Development Product +(which may be found at http://www.intel.com/software/products/), that are provided to you under this +Agreement. Materials also include the Redistributables as defined below. + +B. "Redistributables" are the files listed in the following text files that may be included in the Materials +for the applicable Intel Software Development Product: clredist.txt, credist.txt, fredist.txt, redist.txt.. + +C. "Cluster OpenMP Library", is comprised of the files listed in the "clredist.txt" file specified above, is +the Intel(R) Cluster OpenMP* Library add-on option to the Intel(R) C++ Compiler for Linux* and +Intel(R) Fortran Compiler for Linux* products ("Intel Compiler for Linux"). The use of the Cluster +OpenMP Library is conditioned on having a valid license from Intel for the Cluster OpenMP Library +and for either Intel Compiler for Linux, and further is governed by the terms and conditions of the +license agreement for applicable the Intel Compiler for Linux. + +D. "Source Code" is defined as the Materials provided in human readable format, whether unmodified +or modified by you. + +E. "Sample Source" is the Source Code file(s) that: (i) demonstrate certain limited functions included in +the binary libraries of the Intel(R) Integrated Performance Primitives ("Intel(R) IPPs"); (ii) are +identified as Intel IPP sample source code; and (iii) are obtained separately from Intel after you +register your copy of the Intel Integrated Performance Primitives product with Intel. + +F. "Microsoft Platforms" means any current and future Microsoft operating system products, Microsoft +run-time technologies (such as the .NET Framework), and Microsoft application platforms (such as +Microsoft Office or Microsoft Dynamics) that Microsoft offers. + +2. LICENSE GRANT: + +A. Subject to all of the terms and conditions of this Agreement, Intel Corporation ("Intel") grants to you +a non-exclusive, non-assignable, copyright license to use the Materials. + +B. Subject to all of the terms and conditions of this Agreement, Intel grants to you a non-exclusive, +non-assignable copyright license to modify the Materials, or any portions thereof, that are (i) +provided in Source Code form or, (ii) are defined as Redistributables and are provided in text form. + +C. Subject to all of the terms and conditions of this Agreement and any specific restrictions which may +appear in the Redistributables text files, Intel grants to you a non-exclusive, non-assignable, fully- +paid copyright license to distribute (except if you received the Materials under an Evaluation License +as specified below) the Redistributables, or any portions thereof, as part of the product or +application you developed using the Materials. If such application is a software development library, +then attribution, as specified in the product release notes of the corresponding Materials, shall be +displayed prominently in that application's product documentation and on the application's product +web site. + +3. LICENSE RESTRICTIONS: + +A. If you receive your first copy of the Materials electronically, and a second copy on media, then you +may use the second copy only in accordance with your applicable license stated in this Agreement, +or for backup or archival purposes. You may not provide the second copy to another user. + +B. You may NOT: (i) use or copy the Materials except as provided in this Agreement; (ii) rent or lease +the Materials to any third party; (iii) assign this Agreement or transfer the Materials without the +express written consent of Intel; (iv) modify, adapt, or translate the Materials in whole or in part +except as provided in this Agreement; (v) reverse engineer, decompile, or disassemble the +Materials; (vi) attempt to modify or tamper with the normal function of a license manager that +regulates usage of the Materials; (vii) distribute, sublicense or transfer the Source Code form of any +components of the Materials, Redistributables and Sample Source and derivatives thereof to any +third party except as provided in this Agreement; (viii) distribute Redistributables except as part of a +larger program that adds significant primary functionality different from that of the Redistributables; +(ix) distribute the Redistributables to run on a platform other than a Microsoft Platform if per the +accompanying user documentation the Materials are meant to execute on the Microsoft Platforms; +(x) modify or distribute the Source Code of any Redistributable so that any part of it becomes +subject to an Excluded License. An "Excluded License" is one that requires, as a condition of use, +modification, or distribution, that (a) the code be disclosed or distributed in source code form; or (b) +others have the right to modify it; or (xi) include the Redistributables in malicious, deceptive, or unlawful +programs. + +C. The scope and duration (time period) of your license depends on the type of license you obtained +from Intel. The variety of license types are set forth below, which may not be available for all +"Intel(R) Software Development Products" and therefore may not apply to the Materials. For more +information on the types of licenses, please contact Intel or your sales representative. + +i. EVALUATION LICENSE: If you are using the Materials under the control of an Evaluation +license, you as an individual may use the Materials only for internal evaluation purposes and +only for the term of the evaluation time period, which is controlled by the license key code for the +Materials. NOTWITHSTANDING ANYTHING TO THE CONTRARY ELSEWHERE IN THIS +AGREEMENT, YOU MAY NOT DISTRIBUTE ANY PORTION OF THE MATERIALS, AND THE +APPLICATION AND/OR PRODUCT DEVELOPED BY YOU MAY ONLY BE USED FOR +EVALUATION PURPOSES AND ONLY FOR THE TERM OF THE EVALUATION PERIOD. +You may install copies of the Materials on an unlimited number of computers provided that you +are the only individual using the Materials and only one copy of the Materials is in use at any +one time. A separate license is required for each additional use and/or individual user in all +other cases. Intel will provide you with a license code key that enables the Materials for an +Evaluation license. If you are an entity, Intel grants you the right to designate one individual +within your organization to have the sole right to use the Materials in the manner provided +above. + +ii. NONCOMMERCIAL-USE LICENSE: If you are using the Materials under the control of a +Noncommercial-Use license, you as an individual may use the Materials only for non-business +use where you receive no fee, salary or any other form of compensation. The Materials may not +be used for any other purpose, whether "for profit" or "not for profit." Any work performed or +produced as a result of use of the Materials cannot be performed or produced for the benefit of +other parties for a fee, compensation or any other reimbursement or remuneration. You may +install copies of the Materials on an unlimited number of computers provided that you are the +only individual using the Materials and only one copy of the Materials is in use at any one time. +A separate license is required for each additional use and/or individual user in all other cases. +Intel will provide you with a license code key that enables the Materials for a Noncommercial- +Use license. If you obtained a time-limited Noncommercial-Use license, the duration (time +period) of your license and your ability to use the Materials is limited to the time period of the +obtained license, which is controlled by the license key code for the Materials. If you are an +entity, Intel grants you the right to designate one individual within your organization to have the +sole right to use the Materials in the manner provided above. + +iii. SINGLE-USER LICENSE: If you are using the Materials under the control of a Single-User +license, you as an individual may install and use the Materials on an unlimited number of +computers provided that you are the only individual using the Materials and only one copy of the +Materials is in use at any one time. A separate license is required for each additional use and/or +individual user in all other cases. Intel will provide you with a license code key that enables the +Materials for a Single-User license. If you obtained a time-limited Single-User license, the +duration (time period) of your license and your ability to use the Materials is limited to the time +period of the obtained license, which is controlled by the license key code for the Materials. If +you are an entity, Intel grants you the right to designate one individual within your organization +to have the sole right to use the Materials in the manner provided above. + +iv. NODE-LOCKED LICENSE: If you are using the Materials under the control of a Node-Locked +license, you may use the Materials only on a single designated computer by no more than the +authorized number of concurrent users. A separate license is required for each additional +concurrent user and/or computer in all other cases. Intel will provide you with a license code +key that enables the Materials for a Node-Locked license up to the authorized number of +concurrent users. If you obtained a time-limited Node-Locked license, the duration (time period) +of your license and your ability to use the Materials is limited to the time period of the obtained +license, which is controlled by the license key code for the Materials. + +v. FLOATING LICENSE: If you are using the Materials under the control of a Floating license, you +may (a) install the Materials on an unlimited number of computers that are connected to the +designated network and (b) use the Material by no more than the authorized number of +concurrent users. A separate license is required for each additional concurrent user and/or +network on which the Materials are used. Intel will provide you with a license code key that +enables the Materials for a Floating license up to the authorized number of concurrent users. If +you obtained a time-limited Floating license, the duration (time period) of your license and your +ability to use the Materials is limited to the time period of the obtained license, which is +controlled by the license key code for the Materials. Intel Library Floating License: If the +Materials are the Intel(R) Math Kernel Library or the Intel(R) Integrated Performance Primitives +Library or the Intel(R) Threading Building Blocks (either "Intel Library"), then the Intel Library is +provided to you as an add-on option to either the Intel(R) C++ Compiler product or the Intel(R) +Fortran Compiler product (either "Intel Compiler") for which you have a Floating license, and as +such, in addition to the terms and conditions above, the Intel Library may only be used by the +authorized concurrent users of that Intel Compiler Floating license. + +D. DISTRIBUTION: Distribution of the Redistributables is also subject to the following limitations: You +(i) shall be solely responsible to your customers for any update or support obligation or other liability +which may arise from the distribution, (ii) shall not make any statement that your product is +"certified", or that its performance is guaranteed, by Intel, (iii) shall not use Intel's name or +trademarks to market your product without written permission, (iv) shall use a license agreement +that prohibits disassembly and reverse engineering of the Redistributables, (v) shall not publish +reviews of Materials designated as beta without written permission by Intel, and (vi) shall indemnify, +hold harmless, and defend Intel and its suppliers from and against any claims or lawsuits, including +attorney's fees, that arise or result from your distribution of any product. + +E. Intel(R) Integrated Performance Primitives (Intel IPP). The following terms and conditions apply +only to the Intel IPP. + +i. Notwithstanding anything in this Agreement to the contrary, if you implement the Sample +Sources in your application or if you use Intel IPP to implement algorithms that are protected by +others' licenses then you may need additional licenses from various entities. Should any such +additional licenses be required, you are solely responsible for obtaining any such licenses and +agree to obtain any such licenses at your own expense. + +ii. Notwithstanding anything herein to the contrary, a valid license to Intel IPP is a prerequisite to +any license for Sample Source, and possession of Sample Source does not grant any license to +Intel IPP (or any portion thereof). To access Sample Source, you must first register your +licensed copy of the Intel IPP with Intel. By downloading, installing or copying any Sample +Source file, you agree to be bound by terms of this Agreement. + +F. SOFTWARE TRANSFER: You may permanently transfer the Materials and all of your rights under +this Agreement to another party ("Recipient") only if you notify Intel of the transfer by sending a letter +to Intel certifying that you retain no copies of the Materials and that the Recipient has agreed in +writing to be bound by all of the terms and conditions of this Agreement. Please send such letter to: + +Intel Corporation +2111 NE 25th Avenue +Hillsboro, OR 97124 +Attn: DPD Contracts Management, JF1-15 + +4. COPYRIGHT: Title to the Materials and all copies thereof remain with Intel or its suppliers. The +Materials are copyrighted and are protected by United States copyright laws and international treaty +provisions. You will not remove any copyright notice from the Materials. You agree to prevent any +unauthorized copying of the Materials. Except as expressly provided herein, no license or right is +granted to you directly or by implication, inducement, estoppel or otherwise, specifically Intel does not +grant any express or implied right to you under Intel patents, copyrights, trademarks, or trade secret +information. + +5. NO WARRANTY AND LIMITED REPLACEMENT: THE MATERIALS AND INFORMATION ARE +PROVIDED "AS IS" WITH NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT +LIMITED TO ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR +PURPOSE, NON-INFRINGEMENT OF INTELLECTUAL PROPERTY RIGHTS, OR ANY WARRANTY +OTHERWISE ARISING OUT OF ANY PROPOSAL, SPECIFICATION, OR SAMPLE. If the media on +which the Materials are furnished are found to be defective in material or workmanship under normal +use for a period of ninety (90) days from the date of receipt, Intel's entire liability and your exclusive +remedy shall be the replacement of the media. This offer is void if the media defect results from +accident, abuse, or misapplication. + +6. LIMITATION OF LIABILITY: THE ABOVE REPLACEMENT PROVISION IS THE ONLY WARRANTY +OF ANY KIND. INTEL OFFERS NO OTHER WARRANTY EITHER EXPRESS OR IMPLIED +INCLUDING THOSE OF MERCHANTABILITY, NONINFRINGEMENT OF THIRD- PARTY +INTELLECTUAL PROPERTY OR FITNESS FOR A PARTICULAR PURPOSE. NEITHER INTEL NOR +ITS SUPPLIERS SHALL BE LIABLE FOR ANY DAMAGES WHATSOEVER (INCLUDING, WITHOUT +LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS +OF BUSINESS INFORMATION, OR OTHER LOSS) ARISING OUT OF THE USE OF OR INABILITY +TO USE THE SOFTWARE, EVEN IF INTEL HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. BECAUSE SOME JURISDICTIONS PROHIBIT THE EXCLUSION OR LIMITATION OF +LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES, THE ABOVE LIMITATION MAY NOT +APPLY TO YOU. + +7. UNAUTHORIZED USE: THE MATERIALS ARE NOT DESIGNED, INTENDED, OR AUTHORIZED +FOR USE IN ANY TYPE OF SYSTEM OR APPLICATION IN WHICH THE FAILURE OF THE +MATERIALS COULD CREATE A SITUATION WHERE PERSONAL INJURY OR DEATH MAY OCCUR +(E.G MEDICAL SYSTEMS, LIFE SUSTAINING OR LIFE SAVING SYSTEMS). Should the buyer +purchase or use the Materials for any such unintended or unauthorized use, the buyer shall indemnify +and hold Intel and its officers, subsidiaries and affiliates harmless against all claims, costs, damages, +and expenses, and reasonable attorney fees arising out of, directly or indirectly, any claim of product +liability, personal injury or death associated with such unintended or unauthorized use, even if such +claim alleges that Intel was negligent regarding the design or manufacture of the part. + +8. USER SUBMISSIONS: You agree that any material, information or other communication you transmit +or post to an Intel website or provide to Intel under this Agreement related to the features, functions, +performance or use of the Materials will be considered non-confidential and non-proprietary +("Communications"). Intel will have no obligations with respect to the Communications. You agree that +Intel and its designees will be free to copy, modify, create derivative works, publicly display, disclose, +distribute, license and sublicense through multiple tiers of distribution and licensees, incorporate and +otherwise use the Communications and all data, images, sounds, text, and other things embodied +therein, including derivative works thereto, for any and all commercial or non-commercial purposes. You +are prohibited from posting or transmitting to or from an Intel website or provide to Intel any unlawful, +threatening, libelous, defamatory, obscene, pornographic, or other material that would violate any law. If +you wish to provide Intel with your confidential information, Intel requires a non-disclosure agreement +("NDA") to receive such confidential information, so please contact your Intel representative to ensure +the proper NDA is in place. + +9. CONSENT. You agree that Intel, its subsidiaries or suppliers may collect and use technical and related +information, including but not limited to technical information about your computer, system and +application software, and peripherals, that is gathered periodically to facilitate the provision of software +updates, product support and other services to you (if any) related to the Materials, and to verify +compliance with the terms of this Agreement. Intel may use this information, as long as it is in a form +that does not personally identify you, to improve our products or to provide services or technologies to +you. + +10. TERMINATION OF THIS LICENSE: This Agreement becomes effective on the date you accept this +Agreement and will continue until terminated as provided for in this Agreement. If you are using the +Materials under the control of a time-limited license, for example an Evaluation License, this Agreement +terminates without notice on the last day of the time period, which is controlled by the license key code +for the Materials. Intel may terminate this license immediately if you are in breach of any of its terms +and conditions and such breach is not cured within thirty (30) days of written notice from Intel. Upon +termination, you will immediately return to Intel or destroy the Materials and all copies thereof. Any +distribution of the Redistributables conducted in accordance with the terms and conditions of this +Agreement shall survive termination of this Agreement. + +11. U.S. GOVERNMENT RESTRICTED RIGHTS: The Materials are provided with "RESTRICTED +RIGHTS". Use, duplication or disclosure by the Government is subject to restrictions set forth in +FAR52.227-14 and DFAR252.227-7013 et seq. or its successor. Use of the Materials by the +Government constitutes acknowledgment of Intel's rights in them. + +12. APPLICABLE LAWS: Any claim arising under or relating to this Agreement shall be governed by the +internal substantive laws of the State of Delaware, without regard to principles of conflict of laws. You +agree that the terms of the United Nations Convention on Contracts for the Sale of Goods do not apply to this +Agreement. You agree that your distribution and export/re-export of the Software and permitted modifications shall +be in compliance with the laws, regulations, orders or other restrictions of applicable export laws. + +13. THIRD PARTY PROGRAMS. The Materials may include third party programs or materials. The license +terms with those programs or materials apply to your use of them, and Intel is not liable for them. + +* Other names and brands may be claimed as the property of others + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..72f38d6af08c --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,906 @@ +# Maintainer: Mark Wells: mwellsa -at- gmail com +# Contributor: simone riva: siomone.rva -a- gmail com +# Intel Parallel Studio XE 2011 for Linux - ( Intel compiler icc suite ) +########################################################################## +# this PKGBUILD splits the main Parallel Studio XE packege in 8 sub-packages: +# +# intel-compiler-base: Intel C/C++ compiler and base libs +# intel-fortran-compiler: Intel fortran compiler and base libs" +# intel-openmp: Intel OpenMP Library +# intel-idb: Intel C/C++ debugger +# intel-ipp: Intel Integrated Performance Primitives +# intel-mkl: Intel Math Kernel Library (Intel® MKL) +# intel-sourcechecker: Intel Source Checker +# intel-tbb: Intel Threading Building Blocks (TBB) +########################################################################### + +# Parallel Studio XE +# Copyright (C) 2011 Simone Riva +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +# http://registrationcenter-download.intel.com/akdlm/irc_nas/4992/parallel_studio_xe_2015_update1.tgz + +pkgbase="intel-parallel-studio-xe" +#pkgname=('intel-compiler-base' 'intel-openmp' 'intel-fortran-compiler' 'intel-ipp' 'intel-mkl' 'intel-sourcechecker' 'intel-tbb' 'intel-vtune-amplifier-xe' 'intel-inspector-xe' 'intel-advisor-xe' ) +pkgname=('intel-compiler-base' 'intel-openmp' 'intel-fortran-compiler' 'intel-ipp' 'intel-mkl' 'intel-sourcechecker' 'intel-vtune-amplifier-xe' 'intel-inspector-xe' 'intel-advisor-xe' ) +#true && pkgname=('intel-compiler-base' 'intel-gdb' ) + +PKGEXT='.pkg.tar.gz' + +######################################## +#OPTIONS begin +# if you are using an AMD 64 cpu set this variable to true, leave it to false if you use an ia32, amd32 or intel64 +#_amd_64=false + +# set to true if you want to remove documentations and examples form the packages. +#_remove_docs=TRUE +_remove_docs=true + +######################################## +######################################## +# set to true if you want to remove the static objects from the libs. +#_remove_static_objects_mkl=true +_remove_static_objects_mkl=false +#_remove_static_objects_ipp=true +_remove_static_objects_ipp=false +######################################## + +_year='2015' +_v_a='3' +_v_b='187' + +_update='update3' + +pkgrel=3 + +_sp='' + +_icc_ver='15.0.3' # intel-ccompxe-${_v_b}-${_icc_ver}.noarch.rpm +_openmp_ver='15.0.3' # intel-openmp-${_v_b}-${_openmp_ver}.${arch}.rpm +_ipp_ver='8.2.2' # intel-ipp-ac-${_v_b}-${_ipp_ver}.${arch}.rpm +_mkl_ver='11.2.3' # intel-mkl-cluster-${_v_b}-${_mkl_ver}.${arch}.rpm +#_tbb_ver='4.3.5' # intel-tbb-${_v_b_}-${_tbb_ver}.noarch.rpm +_sourcechecker_ver='15.0.3' # intel-sourcechecker-common-${_v_b}-${_sourcechecker_ver}.noarch.rpm +_vtune_ver='15.3.403110' # intel-vtune-amplifier-xe-${year}-*-${_vtune_ver}.${arch}.rpm +_inspector_ver='15.1.379161' # intel-inspector-xe-${year}-*-${_inspector_ver}.${arch}.rpm +_advisor_ver='15.1.380555' # intel-advisor-xe-${year}-*-${_advisor_ver}.${arch}.rpm + +# for some reason these man paths are different versions +_advisor_man_ver='1.10.380555' +_inspector_man_ver='1.2.379161' +_vtune_man_ver='3.0.403110' + + + +pkgver=${_year}.${_icc_ver}.${_v_a}.${_v_b} + +_dir_nr='7538' + +options=(strip libtool staticlibs) + + +#if $_amd_64 ; then +# _not_arch_64='intel64' +#else +# _not_arch_64='ia64' +#fi + + +url="http://software.intel.com/en-us/articles/non-commercial-software-download/" +arch=('i686' 'x86_64') +license=('custom') +makedepends=('libarchive' 'sed' 'gzip') + +_parallel_studio_xe_dir="parallel_studio_xe${_year:+_${_year}}${_sp:+_${_sp}}${_update:+_${_update}}" + +source=( + "http://registrationcenter-download.intel.com/akdlm/irc_nas/${_dir_nr}/${_parallel_studio_xe_dir}.tgz" + 'intel_compilers.sh' + 'intel_vtune-amplifier-xe.sh' + 'intel_advisor-xe.sh' + 'intel_inspector-xe.sh' + 'intel-composer.install' + 'intel-compiler-base.conf' + 'intel-fortran.conf' + 'intel-openmp.conf' + 'intel-mkl.conf' + #'intel-gdb.conf' + 'intel-ipp.conf' + #'intel-tbb.conf' + 'intel-mkl.sh' + 'intel-mkl.install' + 'intel-mkl-th.conf' + #'intel-tbb.install' + 'EULA.txt' + ) + + +sha256sums=( + 'ab7169989c87bbb0fe66221cb7eb3a26b17c8b9ceff38f1926e5607834306896' # parallel_studio_xe_2015_update2.tgz + '338041f924d8f3ac31d349bca57f8ab66f094a5bb53d4f821f48fa710a112111' # intel_compilers.sh + '7da22140b9d8277d06d88f6bd37cb77ed17bc87d4f7ec5958587416639955991' # intel_vtune-amplifier-xe.sh + '292a9eea2c9a836ee9dc0d4ff28fc741d5548a3182e4f75aec7b93e1dd7b4f21' # intel_advisor-xe.sh + '6dc3992ac649f979328d13cb98ead95121752a34fbad07d41ee65b084cdf03cf' # intel_inspector-xe.sh + '3f96dec03111e69d16bb363acf4d0570e8a9526c09e5e542a7558f1b26d043ef' # intel-composer.install + '31ac4d0f30a93fe6393f48cb13761d7d1ce9719708c76a377193d96416bed884' # intel-compiler-base.conf + 'c165386ba33b25453d4f5486b7fefcdba7d31e156ad280cbdfa13ed924b01bef' # intel-fortran.conf + '99cc9683cc75934cc21bb5a09f6ad83365ee48712719bfd914de9444695eed13' # intel-openmp.conf + 'a856326362e9b80c19dc237cbf66bf3d96a69bd7ad1baff99ec9849f8208348c' # intel-mkl.conf + 'da6f41c2e002c9a793c75a18c8d1c85ef7ef5bf83a7a0a158ff144481491aac8' # intel-ipp.conf + #'aee2ae7f87f12f4af38d52423b40d547fd5bbe77e18694b9847e9f2a96d33c6e' # intel-tbb.conf + '5e68c529c65cac54218026c869e54b2ddb268179725fc1e6b56d920470dad999' # intel-mkl.sh + '11398c0ae2e2011902b1d6356d916d41bb8b54d39d090c6c83630f4b0e84e93a' # intel-mkl.install + 'e515cb28bf40cdb0db818db6a2688a0028575153a1b9d5acfb0bc5f13fe45722' # intel-mkl-th.conf + #'8c6a1f7b1b12d498e68b3085d8b2fcd050505209b7c0f2b870ba5f65ee135a90' # intel-tbb.install + '228ac25e147adb9b872e1a562e522d2fd48809ccae89b765112009896a6d55a5' # EULA.txt + ) + + +#_archive=l_ccompxe${_comp}_p_${pkgver} +if [ "$CARCH" = "i686" ]; then + _i_arch='ia32' + _i_arch2='i486' + + _not_arch='intel64' + _not_arch2='x86_64' +else + _i_arch='intel64' + _i_arch2='x86_64' + + _not_arch='ia32' + _not_arch2='i486' +fi + + + #_parallel_studio_xe_dir="parallel_studio_xe_${_year}_${_sp}_${_update}" +#source=("http://registrationcenter-download.intel.com/akdlm/irc_nas/${_dir_nr}/${_parallel_studio_xe_dir}.tgz" ${source[@]}) + + +extract_rpms() { + cd $2 + for rpm_file in ${rpm_dir}/$1 ; do + echo -e " Extracting: ${rpm_file}" + bsdtar -xf ${rpm_file} + done +} + +set_build_vars() { + _pkg_ver=${_year}.${_icc_ver}.${_v_a}.${_v_b} + _composer_xe_dir="composer_xe_${_year}.${_v_a}.${_v_b}" + rpm_dir=${srcdir}/${_parallel_studio_xe_dir}/rpm + xe_build_dir=${srcdir}/cxe_build + base_dir=${srcdir}/.. + _man_dir=${xe_build_dir}/usr/share/man/man1 +} + + +build() { + + set_build_vars + + echo -e "-----------------------------------------------------------------------------" + echo -e " This PKGBUILD splits the main \e[1mParallel Studio XE\e[0m package in 8 sub-packages:" + echo -e "" + echo -e " \e[1mintel-compiler-base:\e[0m Intel C/C++ compiler and base libs" + echo -e " \e[1mintel-fortran-compiler:\e[0m Intel fortran compiler and base libs" + echo -e " \e[1mintel-openmp:\e[0m Intel OpenMP Library" + echo -e " \e[1mintel-idb:\e[0m Intel C/C++ debugger" + echo -e " \e[1mintel-ipp:\e[0m Intel Integrated Performance Primitives" + echo -e " \e[1mintel-mkl:\e[0m Intel Math Kernel Library (Intel® MKL)" + echo -e " \e[1mintel-sourcechecker:\e[0m Intel Source Checker" + #echo -e " \e[1mintel-tbb:\e[0m Intel Threading Building Blocks (TBB)" + echo -e "-----------------------------------------------------------------------------" + echo -e "" + echo -e "-----------------------------------------------------------------------------" + echo -e "For having a minimal working environment you must install the packages:" + echo -e " intel-compiler-base intel-openmp " + echo -e "-----------------------------------------------------------------------------" + echo -e "" + echo -e "-----------------------------------------------------------------------------" + echo -e "\e[1mWIKI: \e[0m https://wiki.archlinux.org/index.php/Intel_C%2B%2B" + echo -e "-----------------------------------------------------------------------------" + echo -e "" + echo -e "-----------------------------------------------------------------------------" + echo -e "\e[1mGithub: \e[0m https://github.com/simon-r/intel-parallel-studio-xe" + echo -e "-----------------------------------------------------------------------------" + + echo ${xe_build_dir} + + # clean the builds dirs + if [ -d ${srcdir}/opt ] ; then + rm -rf ${srcdir}/opt + fi + + if [ -d ${srcdir}/etc ] ; then + rm -rf ${srcdir}/etc + fi + + if [ -d ${srcdir}/usr ] ; then + rm -rf ${srcdir}/usr + fi + + if [ -d ${xe_build_dir} ] ; then + rm -rf ${xe_build_dir} + fi + + echo ${srcdir} + + mkdir -p ${xe_build_dir} + + # START ! + cd ${xe_build_dir} + mkdir -p ${xe_build_dir}/etc/profile.d + + if [ "$CARCH" = "i686" ]; then + sed 's/<arch>/ia32/' < ${srcdir}/intel_compilers.sh > ${xe_build_dir}/etc/profile.d/intel_compilers.sh + else + sed 's/<arch>/intel64/' < ${srcdir}/intel_compilers.sh > ${xe_build_dir}/etc/profile.d/intel_compilers.sh + fi + + #sed -i 's/<tbb_arch>/cc4\.1\.0_libc2\.4_kernel2\.6\.16\.21/' ${xe_build_dir}/etc/profile.d/intel_compilers.sh + + chmod a+x ${xe_build_dir}/etc/profile.d/intel_compilers.sh + + mkdir -p ${xe_build_dir}/etc/ld.so.conf.d + + _cnt=0 + for files in ${base_dir}/*.lic ; do + _lic_file[_cnt]=${files} + _cnt=$(($_cnt+1)) + done + + + echo -e "" + echo -e "-----------------------------------------------------------------------------------" + mkdir -p ${xe_build_dir}/opt/intel/licenses + if [ -f "${_lic_file[0]}" ]; then + cp ${base_dir}/*.lic ${xe_build_dir}/opt/intel/licenses + echo -e "\e[1mFound license files in ${base_dir}." + echo -e "These will be installed into /opt/intel/licenses ...\e[0m" + else + echo -e "\e[1mNo license files found in ${base_dir}." + echo -e "Remember to place license files in one of these locations:" + echo -e " /opt/intel/licenses" + echo -e " ~/intel/licenses" + echo -e "Or the compiler will not work!\e[0m" + fi + echo -e "-----------------------------------------------------------------------------------" + echo -e "" + + cp ${srcdir}/${_parallel_studio_xe_dir}/license.txt ${xe_build_dir}/opt/intel/license.txt + + echo -e "" + echo -e "-----------------------------------------------------------------------------------" + echo -e "\e[1mIMPORTANT - READ BEFORE COPYING, INSTALLING, OR USING.\e[0m" + echo -e "" + echo -e "Do not copy, install, or use the \"Materials\" provided under this license agreement (\"Agreement\"), until you" + echo -e "have carefully read the following terms and conditions." + echo -e "" + echo -e "By copying, installing, or otherwise using the Materials, you agree to be bound by the terms of this" + echo -e "Agreement. If you do not agree to the terms of this Agreement, do not copy, install, or use the Materials." + echo -e " - A copy of the EULA has been copied in the PKGBUILD directory; plase read carefully the terms and " + echo -e " - conditions of the Intel license before installing the packages. " + echo -e "-----------------------------------------------------------------------------------" + echo -e "" + echo -e "-----------------------------------------------------------------------------------" + echo -e " ATTENTION: This PKGBUILD may need up to 20 minutes if you use XZ as a compressor!" + echo -e " - The build of the packages: intel-mkl and intel-ipp is particularly slow - " + echo -e "-----------------------------------------------------------------------------------" + echo -e "" + echo -e "" + echo -e "-----------------------------------------------------------------------------------" + echo -e " \e[1m\e[5mATTENTION: \e[0m \e[1m\e[31mThis PKGBUILD works with yaourt, " + echo -e "but consumes a lot of RAM! \e[0m " + echo -e " Using the makepkg command for building this package is recommended." + echo -e "-----------------------------------------------------------------------------------" + echo -e "" + echo -e "" + echo -e "-----------------------------------------------------------------------------------" + echo -e "\e[1m #################### \e[0m" + echo -e "\e[1m ##### Options: ##### \e[0m" + if ${_remove_docs} ; then + echo -e " Remove Documentation: YES " + else + echo -e " Remove Documentation: NO " + fi + + if ${_remove_static_objects_mkl} ; then + echo -e "" + echo -e "\e[1m Remove Static Objects from MKL: YES \e[0m \e[1m\e[5m\e[31m ATTENTION !!!! \e[0m " + echo -e "\e[1m If your software is based on the static objects edit the option at the line 50 of this PKGBUILD \e[0m " + else + echo -e " Remove Static Objects: NO " + fi + echo -e "-----------------------------------------------------------------------------------" + echo -e "" + if ${_remove_static_objects_ipp} ; then + echo -e "" + echo -e "\e[1m Remove Static Objects from IPP: YES \e[0m \e[1m\e[5m\e[31m ATTENTION !!!! \e[0m " + echo -e "\e[1m If your software is based on the static objects edit the option at the line 50 of this PKGBUILD \e[0m " + else + echo -e " Remove Static Objects: NO " + fi + echo -e "-----------------------------------------------------------------------------------" + echo -e "" + echo -e "" + + + cd ${xe_build_dir}/opt/intel + ln -s ./${_composer_xe_dir} composerxe-${_year} + ln -s ./composerxe-${_year} composerxe + + ln -s ./composerxe/bin/${_i_arch} bin + ln -s ./composerxe/bin pkg_bin + + ln -s ./composerxe/ipp/ ipp + ln -s ./composerxe/compiler/lib/${_i_arch} lib + ln -s ./composerxe/debugger/lib/${_i_arch} debugger_lib + ln -s ./composerxe/man/ man + ln -s ./composerxe/mkl/ mkl + ln -s ./composerxe/tbb/ tbb + + _current_dir=`pwd` + if [ -d ${pkgdir}/opt ] ; then + cd ${pkgdir} + rm -rf opt + cd $_current_dir + fi ; + + cd ${srcdir}/${_parallel_studio_xe_dir}/rpm + rm -v -f *.${_not_arch2}.rpm + cd $_current_dir +} + +package_intel-compiler-base() { + + set_build_vars + + pkgdesc="Intel C/C++ compiler" + pkgver=${_pkg_ver} + install=intel-composer.install + + echo -e " # intel_compiler-base: Start Building" + + mkdir -p ${xe_build_dir}/opt + mkdir -p ${xe_build_dir}/etc/profile.d + mkdir -p ${_man_dir} + + + cp ${srcdir}/intel-compiler-base.conf ${xe_build_dir}/etc/ld.so.conf.d + + cd ${xe_build_dir} + echo -e " # intel_compiler-base: Extracting RPMS" + + extract_rpms 'intel-compilerpro-*.rpm' $xe_build_dir + extract_rpms 'intel-compilerproc-*.rpm' $xe_build_dir + + echo -e " # intel_compiler-base: Editing variables" + cd ${xe_build_dir}/opt/intel/${_composer_xe_dir}/bin + + #rm uninstall.sh + rm *.csh + + for f in *.sh ; do + sed -i 's/<PRODDIR>/\/opt\/intel/g' $f + sed -i 's/<INSTALLDIR>/\/opt\/intel\/composerxe/g' $f + done + + cd $_i_arch + sed -i 's/<INSTALLDIR>/\/opt\/intel\/composerxe/g' loopprofileviewer.sh + chmod a+x loopprofileviewer.sh + rm loopprofileviewer.csh + + if $_remove_docs ; then + echo -e " # intel_compiler-base: Remove docs" + rm -rf ${xe_build_dir}/opt/intel/${_composer_xe_dir}/documentation + rm -rf ${xe_build_dir}/opt/intel/${_composer_xe_dir}/Documentation + rm -rf ${xe_build_dir}/opt/intel/${_composer_xe_dir}/Samples + fi + + echo -e " # intel_compiler-base: Coping man pages" + mv ${xe_build_dir}/opt/intel/${_composer_xe_dir}/man/en_US/man1/*.1 ${_man_dir} + + cd ${_man_dir} + for f in *.1 ; do + gzip $f + done + + cd ${xe_build_dir} + + echo -e " # intel_compiler-base: Move package" + mv ${xe_build_dir}/opt ${pkgdir} + mv ${xe_build_dir}/etc ${pkgdir} + mv ${xe_build_dir}/usr ${pkgdir} +} + + +package_intel-fortran-compiler() { + + set_build_vars + + pkgdesc="Intel Fortran compiler" + pkgver=${_pkg_ver} + depends=('intel-compiler-base') + install=intel-composer.install + + echo -e " # intel-fortran-compiler: Start Building" + + mkdir -p ${xe_build_dir}/opt + mkdir -p ${xe_build_dir}/etc/profile.d + mkdir -p ${xe_build_dir}/etc/ld.so.conf.d + mkdir -p ${_man_dir} + + if [ "$CARCH" = "i686" ]; then + sed 's/<arch>/ia32/' < ${srcdir}/intel-fortran.conf > ${xe_build_dir}/etc/ld.so.conf.d/intel-fortran.conf + else + sed 's/<arch>/intel64/' < ${srcdir}/intel-fortran.conf > ${xe_build_dir}/etc/ld.so.conf.d/intel-fortran.conf + fi + + cd ${xe_build_dir} + + echo -e " # intel-fortran-compiler: Extracting RPMS" + + extract_rpms 'intel-compilerprof-*.rpm' $xe_build_dir + + echo -e " # intel-fortran-compiler: Editing variables" + cd ${xe_build_dir}/opt/intel/${_composer_xe_dir}/bin + + rm *.csh + + #rm ${xe_build_dir}/opt/intel/${_composer_xe_dir}/Documentation/en_US/gs_resources/intel_f_logo.gif + #rm ${xe_build_dir}/opt/intel/${_composer_xe_dir}/compiler/lib/${_i_arch}/locale/ja_JP/diagspt.cat + #rm ${xe_build_dir}/opt/intel/${_composer_xe_dir}/compiler/lib/${_i_arch}/locale/ja_JP/flexnet.cat + #rm ${xe_build_dir}/opt/intel/${_composer_xe_dir}/compiler/lib/${_i_arch}/locale/ja_JP/helpxi.cat + + if $_remove_docs ; then + echo -e " # intel-fortran-compiler: Remove documentation" + rm -rf ${xe_build_dir}/opt/intel/${_composer_xe_dir}/documentation + rm -rf ${xe_build_dir}/opt/intel/${_composer_xe_dir}/Documentation + rm -rf ${xe_build_dir}/opt/intel/${_composer_xe_dir}/Samples + fi + + echo -e " # intel-fortran-compiler: Coping man pages" + mv ${xe_build_dir}/opt/intel/${_composer_xe_dir}/man/en_US/man1/*.1 ${_man_dir} + + cd ${_man_dir} + for f in *.1 ; do + gzip $f + done + + cd ${xe_build_dir} + + echo -e " # intel-fortran-compiler: Move package" + mv ${xe_build_dir}/opt ${pkgdir} + mv ${xe_build_dir}/etc ${pkgdir} + mv ${xe_build_dir}/usr ${pkgdir} +} + +package_intel-gdb() { + + set_build_vars + + pkgdesc="Intel C/C++ debugger" + pkgver=${_pkg_ver} + depends=('intel-compiler-base') + replaces=('intel-idb') + + install=intel-composer.install + echo -e " # intel-idb: Start Building" + + mkdir -p ${xe_build_dir}/opt + mkdir -p ${xe_build_dir}/etc/ld.so.conf.d + mkdir -p ${_man_dir} + + if [ "$CARCH" = "i686" ]; then + sed 's/<arch>/ia32/' < ${srcdir}/intel-idb.conf > ${xe_build_dir}/etc/ld.so.conf.d/intel-idb.conf + else + sed 's/<arch>/intel64/' < ${srcdir}/intel-idb.conf > ${xe_build_dir}/etc/ld.so.conf.d/intel-idb.conf + fi + + cd ${xe_build_dir} + + echo -e " # intel-gdb: Extracting RPS" + extract_rpms 'intel-gdb*.rpm' $xe_build_dir + + echo -e " # intel-gdb: Editing variables" + cd ${xe_build_dir}/opt/intel/${_composer_xe_dir}/bin + rm debuggervars.csh + sed -i 's/<INSTALLDIR>/\/opt\/intel\/composerxe/g' debuggervars.sh + + #cd $_i_arch + #rm debuggervars.csh + #sed -i 's/<INSTALLDIR>/\/opt\/intel\/composerxe/g' debuggervars.sh + #sed -i 's/<INSTALLDIR>/\/opt\/intel\/composerxe/g' gdb + #sed -i 's/<INSTALLDIR>/\/opt\/intel\/composerxe/g' gdbc + + if $_remove_docs ; then + echo -e " # intel-gdb: Remove documentation" + rm -rf ${xe_build_dir}/opt/intel/${_composer_xe_dir}/Documentation + fi + + echo -e " # intel-gdb: Coping man pages" + mv ${xe_build_dir}/opt/intel/${_composer_xe_dir}/debugger/gdb/${_i_arch}/share/man/man1/*.1 ${_man_dir} + + cd ${_man_dir} + for f in *.1 ; do + gzip $f + done + + cd ${xe_build_dir} + + echo -e " # intel-gdb: Move package" + + mv ${xe_build_dir}/opt ${pkgdir} + mv ${xe_build_dir}/etc ${pkgdir} + mv ${xe_build_dir}/usr ${pkgdir} +} + +package_intel-ipp() { + + set_build_vars + + pkgdesc="Intel Integrated Performance Primitives" + pkgver=${_year}.${_ipp_ver}.${_v_b} + #depends=('intel-compiler-base') + install=intel-composer.install + + echo -e " # intel-ipp: Start Building" + + mkdir -p ${xe_build_dir}/opt + + mkdir -p ${xe_build_dir}/etc/ld.so.conf.d + + if [ "$CARCH" = "i686" ]; then + sed 's/<arch>/ia32/' < ${srcdir}/intel-ipp.conf > ${xe_build_dir}/etc/ld.so.conf.d/intel-ipp.conf + else + sed 's/<arch>/intel64/' < ${srcdir}/intel-ipp.conf > ${xe_build_dir}/etc/ld.so.conf.d/intel-ipp.conf + fi + + cd ${xe_build_dir} + echo -e " # intel-ipp: Extracting RPMS" + + extract_rpms 'intel-ipp-*.rpm' $xe_build_dir + + echo -e " # intel-ipp: Editing variables" + cd ${xe_build_dir}/opt/intel/${_composer_xe_dir}/ipp/bin + rm ippvars.csh + sed -i 's/<INSTALLDIR>/\/opt\/intel\/composerxe/g' ippvars.sh + + cd $_i_arch + rm ippvars_${_i_arch}.csh + sed -i 's/<INSTALLDIR>/\/opt\/intel\/composerxe/g' ippvars_${_i_arch}.sh + + # remove the unneeded and problematic ipp_minigzip and ipp_gzip + for _z_dir_name in 'ipp_zlib' 'ipp_gzip' 'ipp_bzip2' ; do + rm -rf ${xe_build_dir}/opt/intel/${_composer_xe_dir}/ipp/interfaces/data-compression/${_z_dir_name}/bin/${_not_arch} + done + + if ${_remove_docs} ; then + echo -e " # intel-ipp: Remove documentation" + rm -rf ${xe_build_dir}/opt/intel/${_composer_xe_dir}/Documentation + fi + + if ${_remove_static_objects_ipp} ; then + echo -e " # intel-ipp: Remove static objects" + rm -f ${xe_build_dir}/opt/intel/${_composer_xe_dir}/ipp/lib/${_i_arch}/libipp*.a + rm -f ${xe_build_dir}/opt/intel/${_composer_xe_dir}/ipp/lib/${_i_arch}/nonpic/libipp*.a + rmdir ${xe_build_dir}/opt/intel/${_composer_xe_dir}/ipp/lib/${_i_arch}/nonpic/ + fi + + echo -e " # intel-ipp: Move package" + mv ${xe_build_dir}/opt ${pkgdir} + mv ${xe_build_dir}/etc ${pkgdir} +} + +package_intel-mkl() { + + set_build_vars + + pkgdesc="Intel Math Kernel Library (Intel® MKL) " + pkgver=${_year}.${_mkl_ver}.${_v_b} + #depends=('intel-compiler-base') + install=intel-mkl.install + backup=('etc/intel-mkl-th.conf') + + echo -e " # intel-mkl: Start Building" + + mkdir -p ${xe_build_dir}/opt + mkdir -p ${xe_build_dir}/etc/ld.so.conf.d + + mkdir -p ${xe_build_dir}/etc/profile.d + + cp ${srcdir}/intel-mkl.sh ${xe_build_dir}/etc/profile.d + chmod a+x ${xe_build_dir}/etc/profile.d/intel-mkl.sh + + cp ${srcdir}/intel-mkl-th.conf ${xe_build_dir}/etc/ + + if [ "$CARCH" = "i686" ]; then + sed 's/<arch>/ia32/' < ${srcdir}/intel-mkl.conf > ${xe_build_dir}/etc/ld.so.conf.d/intel-mkl.conf + else + sed 's/<arch>/intel64/' < ${srcdir}/intel-mkl.conf > ${xe_build_dir}/etc/ld.so.conf.d/intel-mkl.conf + fi + + cd ${xe_build_dir} + + echo -e " # intel-mkl: Extracting RPMS" + extract_rpms 'intel-mkl-*.rpm' $xe_build_dir + + echo -e " # intel-mkl: Editing variables" + cd ${xe_build_dir}/opt/intel/${_composer_xe_dir}/mkl/bin + rm mklvars.csh + sed -i 's/<INSTALLDIR>/\/opt\/intel\/composerxe/g' mklvars.sh + + rm -rf ./${_not_arch} + + cd $_i_arch + rm mklvars_${_i_arch}.csh + sed -i 's/<INSTALLDIR>/\/opt\/intel\/composerxe/g' mklvars_${_i_arch}.sh + + if ${_remove_docs} ; then + echo -e " # intel-mkl: remove documentation" + rm -rf ${xe_build_dir}/opt/intel/${_composer_xe_dir}/Documentation + rm -rf ${xe_build_dir}/opt/intel/${_composer_xe_dir}/mkl/examples + rm -rf ${xe_build_dir}/opt/intel/${_composer_xe_dir}/mkl/benchmarks + fi + + if ${_remove_static_objects_mkl} ; then + echo -e " # intel-mkl: remove static objects" + rm -f ${xe_build_dir}/opt/intel/${_composer_xe_dir}/mkl/lib/${_i_arch}/libmkl_*.a + rm -f ${xe_build_dir}/opt/intel/${_composer_xe_dir}/mkl/lib/mic/libmkl_*.a + fi + + echo -e " # intel-mkl: Move package" + mv ${xe_build_dir}/opt ${pkgdir} + mv ${xe_build_dir}/etc ${pkgdir} +} + +package_intel-openmp() { + + set_build_vars + + pkgdesc="Intel OpenMP Library" + pkgver=${_year}.${_openmp_ver}.${_v_b} + depends=('intel-compiler-base') + install=intel-composer.install + + echo -e " # intel-openmp: Start Building" + + mkdir -p ${xe_build_dir}/opt + + mkdir -p ${xe_build_dir}/etc/ld.so.conf.d + cp ${srcdir}/intel-openmp.conf ${xe_build_dir}/etc/ld.so.conf.d + + cd ${xe_build_dir} + + echo -e " # intel-openmp: Extracting RPMS" + + extract_rpms 'intel-openmp-*.rpm' $xe_build_dir + + echo -e " # intel-openmp: Move package" + mv ${xe_build_dir}/opt ${pkgdir} + mv ${xe_build_dir}/etc ${pkgdir} +} + +package_intel-sourcechecker() { + + set_build_vars + + pkgdesc="Intel Source Checker" + pkgver=${_year}.${_sourcechecker_ver}.${_v_b} + depends=('intel-compiler-base') + + echo -e " # intel-sourcechecker: Start building" + + mkdir -p ${xe_build_dir}/opt + + cd ${xe_build_dir} + + echo -e " # intel-sourcechecker: Extracting RPMS" + + extract_rpms 'intel-sourcechecker-*.rpm' $xe_build_dir + + + echo -e " # intel-sourcechecker: Move package" + mv ${xe_build_dir}/opt ${pkgdir} +} + +#package_intel-tbb() { +# +# set_build_vars +# +# pkgdesc="Intel Threading Building Blocks (TBB)" +# pkgver=${_year}.${_tbb_ver}.${_v_b} +# #depends=('intel-compiler-base') +# install=intel-tbb.install +# +# echo -e " # intel-tbb: Start Building " +# +# mkdir -p ${xe_build_dir}/opt +# mkdir -p ${xe_build_dir}/etc/ld.so.conf.d +# +# if [ "$CARCH" = "i686" ]; then +# sed 's/<arch>/ia32/' < ${srcdir}/intel-tbb.conf > ${xe_build_dir}/etc/ld.so.conf.d/intel-tbb.conf +# sed -i 's/<INSTALLDIR>/\/opt\/intel\/composerxe/g' ${xe_build_dir}/etc/ld.so.conf.d/intel-tbb.conf +# else +# sed 's/<arch>/intel64/' < ${srcdir}/intel-tbb.conf > ${xe_build_dir}/etc/ld.so.conf.d/intel-tbb.conf +# sed -i 's/<INSTALLDIR>/\/opt\/intel\/composerxe/g' ${xe_build_dir}/etc/ld.so.conf.d/intel-tbb.conf +# fi +# +# cd ${xe_build_dir} +# +# echo -e " # intel-tbb: Extracting RPMS " +# extract_rpms 'intel-tbb-*.rpm' $xe_build_dir +# +# +# echo -e " # intel-tbb: Editing variables " +# cd ${xe_build_dir}/opt/intel/${_composer_xe_dir}/tbb/bin +# rm tbbvars.csh +# +# sed -i 's/SUBSTITUTE_INSTALL_DIR_HERE/\/opt\/intel\/composerxe\/tbb/g' tbbvars.sh +# +# chmod a+x tbbvars.sh +# +# cd ${xe_build_dir}/opt/intel/${_composer_xe_dir}/tbb/bin +# #rm tbbvars.csh +# sed -i 's/SUBSTITUTE_INSTALL_DIR_HERE/\/opt\/intel\/composerxe\/tbb/g' tbbvars.sh +# chmod a+x tbbvars.sh +# +# echo -e " # intel-tbb: Remove unneeded libs and bin " +# rm -rf ${xe_build_dir}/opt/intel/${_composer_xe_dir}/tbb/bin/${_not_arch} +# rm -rf ${xe_build_dir}/opt/intel/${_composer_xe_dir}/tbb/lib/${_not_arch} +# +# if $_remove_docs ; then +# echo -e " # intel-tbb: remove documentation " +# rm -rf ${xe_build_dir}/opt/intel/${_composer_xe_dir}/Documentation +# rm -rf ${xe_build_dir}/opt/intel/${_composer_xe_dir}/tbb/examples +# fi +# +# echo -e " # intel-tbb: Move package " +# mv ${xe_build_dir}/opt ${pkgdir} +# mv ${xe_build_dir}/etc ${pkgdir} +#} + +package_intel-vtune-amplifier-xe() { + pkgdesc="Performance profiler for serial and parallel performance analysis" + pkgver=${_year}.${_vtune_ver}.${_v_b} + depends=('pangox-compat') + + echo -e " # intel-vtune-amplifier-xe: Start building" + mkdir -p ${xe_build_dir}/opt + mkdir -p ${xe_build_dir}/etc/ld.so.conf.d + mkdir -p ${_man_dir} + + echo -e " # intel-vtune-amplifier-xe: Editing variables " + if [ "$CARCH" = "i686" ]; then + sed -i 's/<arch>/bin32/g' ${srcdir}/intel_vtune-amplifier-xe.sh + else + sed -i 's/<arch>/bin64/g' ${srcdir}/intel_vtune-amplifier-xe.sh + fi + cp ${srcdir}/intel_vtune-amplifier-xe.sh ${xe_build_dir}/etc/ld.so.conf.d + chmod a+x ${xe_build_dir}/etc/ld.so.conf.d/intel_vtune-amplifier-xe.sh + + cd ${xe_build_dir} + echo -e " # intel-vtune-amplifier-xe: Extracting RPMS " + extract_rpms 'intel-vtune-amplifier-xe-*.rpm' $xe_build_dir + + echo -e " # intel-vtune-amplifier-xe: Coping man pages" + mv ${xe_build_dir}/opt/intel/vtune_amplifier_xe_${_year}.${_vtune_man_ver}/man/man1/*.1 ${_man_dir} + #mv ${xe_build_dir}/opt/intel/vtune_amplifier_xe_${_year}.${_vtune_ver}/man/man1/*.1 ${_man_dir} + + cd ${_man_dir} + for f in *.1 ; do + gzip $f + done + + if $_remove_docs ; then + echo -e " # intel-vtune-amplifier-xe: remove documentation " + rm -rf ${xe_build_dir}/opt/intel/vtune_amplifier_xe_${_year}.${_vtune_ver}/samples + rm -rf ${xe_build_dir}/opt/intel/vtune_amplifier_xe_${_year}.${_vtune_ver}/documentation + fi + + echo -e " # intel-vtune-amplifier-xe: Move package" + mv ${xe_build_dir}/opt ${pkgdir} + mv ${xe_build_dir}/etc ${pkgdir} + mv ${xe_build_dir}/usr ${pkgdir} +} + +package_intel-advisor-xe() { + pkgdesc="Threading design and prototyping tool for software architects" + pkgver=${_year}.${_advisor_ver}.${_v_b} + + echo -e " # intel-advisor-xe: Start building" + mkdir -p ${xe_build_dir}/opt + mkdir -p ${xe_build_dir}/etc/ld.so.conf.d + mkdir -p ${_man_dir} + + echo -e " # intel-advisor-xe: Editing variables " + if [ "$CARCH" = "i686" ]; then + sed -i 's/<arch>/bin32/g' ${srcdir}/intel_advisor-xe.sh + else + sed -i 's/<arch>/bin64/g' ${srcdir}/intel_advisor-xe.sh + fi + cp ${srcdir}/intel_advisor-xe.sh ${xe_build_dir}/etc/ld.so.conf.d + chmod a+x ${xe_build_dir}/etc/ld.so.conf.d/intel_advisor-xe.sh + + cd ${xe_build_dir} + echo -e " # intel-advisor-xe: Extracting RPMS " + extract_rpms 'intel-advisor-xe-*.rpm' $xe_build_dir + + echo -e " # intel-advisor-xe: Coping man pages" + #mv ${xe_build_dir}/opt/intel/advisor_xe_${_year}.${_advisor_ver}/man/man1/*.1 ${_man_dir} + mv ${xe_build_dir}/opt/intel/advisor_xe_${_year}.${_advisor_man_ver}/man/man1/*.1 ${_man_dir} + + cd ${_man_dir} + for f in *.1 ; do + gzip $f + done + + if $_remove_docs ; then + echo -e " # intel-vtune-amplifier-xe: remove documentation " + rm -rf ${xe_build_dir}/opt/intel/advisor_xe_${_year}.${_advisor_ver}/samples + rm -rf ${xe_build_dir}/opt/intel/advisor_xe_${_year}.${_advisor_ver}/documentation + fi + + echo -e " # intel-advisor-xe: Move package" + mv ${xe_build_dir}/opt ${pkgdir} + mv ${xe_build_dir}/etc ${pkgdir} + mv ${xe_build_dir}/usr ${pkgdir} +} + +package_intel-inspector-xe() { + pkgdesc="Memory and thread debugger" + pkgver=${_year}.${_inspector_ver}.${_v_b} + + echo -e " # intel-inspector-xe: Start building" + mkdir -p ${xe_build_dir}/opt + mkdir -p ${xe_build_dir}/etc/ld.so.conf.d + mkdir -p ${_man_dir} + + echo -e " # intel-inspector-xe: Editing variables " + if [ "$CARCH" = "i686" ]; then + sed -i 's/<arch>/bin32/g' ${srcdir}/intel_inspector-xe.sh + else + sed -i 's/<arch>/bin64/g' ${srcdir}/intel_inspector-xe.sh + fi + cp ${srcdir}/intel_inspector-xe.sh ${xe_build_dir}/etc/ld.so.conf.d + chmod a+x ${xe_build_dir}/etc/ld.so.conf.d/intel_inspector-xe.sh + + cd ${xe_build_dir} + echo -e " # intel-inspector-xe: Extracting RPMS " + extract_rpms 'intel-inspector-xe-*.rpm' $xe_build_dir + + echo -e " # intel-inspector-xe: Coping man pages" + #mv ${xe_build_dir}/opt/intel/inspector_xe_${_year}.${_inspector_ver}/man/man1/*.1 ${_man_dir} + mv ${xe_build_dir}/opt/intel/inspector_xe_${_year}.${_inspector_man_ver}/man/man1/*.1 ${_man_dir} + + cd ${_man_dir} + for f in *.1 ; do + gzip $f + done + + if $_remove_docs ; then + echo -e " # intel-vtune-amplifier-xe: remove documentation " + rm -rf ${xe_build_dir}/opt/intel/inspector_xe_${_year}.${_inspector_ver}/samples + rm -rf ${xe_build_dir}/opt/intel/inspector_xe_${_year}.${_inspector_ver}/documentation + fi + + echo -e " # intel-inspector-xe: Move package" + mv ${xe_build_dir}/opt ${pkgdir} + mv ${xe_build_dir}/etc ${pkgdir} + mv ${xe_build_dir}/usr ${pkgdir} +} + +pkgdesc="Intel C++ C and fortran compiler - Intel Parallel Studio XE - intel compiler - icc icpc ifort ipp mkl " +depends=('bash' 'gcc') diff --git a/intel-compiler-base.conf b/intel-compiler-base.conf new file mode 100644 index 000000000000..5f6aef45c5bd --- /dev/null +++ b/intel-compiler-base.conf @@ -0,0 +1,2 @@ +/opt/intel/lib + diff --git a/intel-composer.install b/intel-composer.install new file mode 100644 index 000000000000..00e2eeaf2a76 --- /dev/null +++ b/intel-composer.install @@ -0,0 +1,19 @@ + +## arg 1: the new package version +post_install() { + echo "Intel-Compiler-Base: Please remember to put your Intel license file in" + echo "/opt/intel/licenses/ (system-wide) or in ~/intel/licenses/ (user-specific)" + + ldconfig ; +} + +post_upgrade() { + ldconfig ; +} + +## arg 1: the old package version +post_remove() { + ldconfig ; +} + +# vim:set ts=2 sw=2 et: diff --git a/intel-fortran.conf b/intel-fortran.conf new file mode 100644 index 000000000000..2f7da69f212f --- /dev/null +++ b/intel-fortran.conf @@ -0,0 +1,2 @@ +/opt/intel/composerxe/compiler/lib/<arch> +/opt/intel/composerxe/mpirt/lib/<arch> diff --git a/intel-ipp.conf b/intel-ipp.conf new file mode 100644 index 000000000000..6567d613607f --- /dev/null +++ b/intel-ipp.conf @@ -0,0 +1,2 @@ +/opt/intel/ipp/lib/<arch> + diff --git a/intel-mkl-th.conf b/intel-mkl-th.conf new file mode 100644 index 000000000000..aabc06e7d3f4 --- /dev/null +++ b/intel-mkl-th.conf @@ -0,0 +1,14 @@ +# +# Confgure the MKL multithreading +# for more details visit: http://software.intel.com/sites/products/documentation/hpc/mkl/lin/MKL_UG_managing_performance/Using_Additional_Threading_Control.htm +# + +# Uncomment if you want to set a constant number o threads. +# export MKL_NUM_THREADS=4 + +# Uncomment and edit if you want to set the nr. of threads for every components. +# export MKL_DOMAIN_NUM_THREADS="MKL_ALL=4, MKL_BLAS=4" + +# If TRUE MKL set automatically the optimal number of threads +export MKL_DYNAMIC=TRUE + diff --git a/intel-mkl.conf b/intel-mkl.conf new file mode 100644 index 000000000000..bd0cd3c0816a --- /dev/null +++ b/intel-mkl.conf @@ -0,0 +1 @@ +/opt/intel/mkl/lib/<arch> diff --git a/intel-mkl.install b/intel-mkl.install new file mode 100644 index 000000000000..322317d6f483 --- /dev/null +++ b/intel-mkl.install @@ -0,0 +1,19 @@ + +## arg 1: the new package version +post_install() { + echo "Intel-MKL: To configure the mkl thread number edit: /etc/intel-mkl-th.conf" + echo "for more details visit: http://software.intel.com/sites/products/documentation/hpc/mkl/lin/MKL_UG_managing_performance/Using_Additional_Threading_Control.htm" + + ldconfig ; +} + +post_upgrade() { + post_install $1 +} + +## arg 1: the old package version +post_remove() { + ldconfig ; +} + +# vim:set ts=2 sw=2 et: diff --git a/intel-mkl.sh b/intel-mkl.sh new file mode 100755 index 000000000000..04176a041775 --- /dev/null +++ b/intel-mkl.sh @@ -0,0 +1,5 @@ + + +. /etc/intel-mkl-th.conf + + diff --git a/intel-openmp.conf b/intel-openmp.conf new file mode 100644 index 000000000000..57bae35bafdd --- /dev/null +++ b/intel-openmp.conf @@ -0,0 +1 @@ +/opt/intel/lib/irml diff --git a/intel_advisor-xe.sh b/intel_advisor-xe.sh new file mode 100644 index 000000000000..50ef52697811 --- /dev/null +++ b/intel_advisor-xe.sh @@ -0,0 +1,2 @@ +PATH=$PATH:/opt/intel/advisor_xe_2013/<arch> +export PATH
\ No newline at end of file diff --git a/intel_compilers.sh b/intel_compilers.sh new file mode 100755 index 000000000000..1867ffecd344 --- /dev/null +++ b/intel_compilers.sh @@ -0,0 +1,23 @@ +#/bin/bash + +TMP_LLP=$LD_LIBRARY_PATH +if [ -z $TMP_LLP ] ; then + LLP_NULL=true ; +else + LLP_NULL=false ; +fi + +. /opt/intel/composerxe/bin/compilervars.sh <arch> +#. /opt/intel/composerxe/bin/iccvars.sh <arch> + +PATH=$PATH:/opt/intel/bin +export PATH + +if [ $LLP_NULL ] ; then + unset LD_LIBRARY_PATH +else + LD_LIBRARY_PATH=$TMP_LLP + export LD_LIBRARY_PATH +fi + +export INTEL_LICENSE_FILE=/opt/intel/licenses diff --git a/intel_inspector-xe.sh b/intel_inspector-xe.sh new file mode 100644 index 000000000000..f4efdaea541d --- /dev/null +++ b/intel_inspector-xe.sh @@ -0,0 +1,2 @@ +PATH=$PATH:/opt/intel/inspector_xe_2013/<arch> +export PATH diff --git a/intel_vtune-amplifier-xe.sh b/intel_vtune-amplifier-xe.sh new file mode 100644 index 000000000000..367b2701378d --- /dev/null +++ b/intel_vtune-amplifier-xe.sh @@ -0,0 +1,2 @@ +PATH=$PATH:/opt/intel/vtune_amplifier_xe_2013/<arch> +export PATH
\ No newline at end of file |