summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorGaneshPrasadMA <72124920+GaneshPrasadMA@users.noreply.github.com>2020-10-20 21:20:09 +0530
committerGitHub <noreply@github.com>2020-10-20 10:50:09 -0500
commit0253f0af29b97f107715d74f5b694f53ca4b7476 (patch)
treef6299c7ceae3ac7e527fac8c66c5511901d2780f /var
parentf68287afe97623b0a0e09c8625fcb79148b64f33 (diff)
downloadspack-0253f0af29b97f107715d74f5b694f53ca4b7476.tar.gz
spack-0253f0af29b97f107715d74f5b694f53ca4b7476.tar.bz2
spack-0253f0af29b97f107715d74f5b694f53ca4b7476.tar.xz
spack-0253f0af29b97f107715d74f5b694f53ca4b7476.zip
Adding AOCC compiler to SPACK community (#19345)
* Adding AOCC compiler to SPACK community The AOCC compiler system offers a high level of advanced optimizations, multi-threading and processor support that includes global optimization, vectorization, inter-procedural analyses, loop transformations, and code generation. AMD also provides highly optimized libraries, which extract the optimal performance from each x86 processor core when utilized. The AOCC Compiler Suite simplifies and accelerates development and tuning for x86 applications. * Added unit tests for detection and flags for AOCC * Addressed reviewers comments w.r.t version checks and url,checksum related line lengths Co-authored-by: Test User <spack@example.com>
Diffstat (limited to 'var')
-rwxr-xr-xvar/spack/repos/builtin/packages/aocc/package.py66
1 files changed, 66 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/aocc/package.py b/var/spack/repos/builtin/packages/aocc/package.py
new file mode 100755
index 0000000000..74649db620
--- /dev/null
+++ b/var/spack/repos/builtin/packages/aocc/package.py
@@ -0,0 +1,66 @@
+# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+
+from spack import *
+
+
+class Aocc(Package):
+ '''
+ The AOCC compiler system is a high performance,
+ production quality code generation tool.
+ The AOCC environment provides various options to developers when
+ building and optimizing C, C++, and Fortran applications
+ targeting 32-bit and 64-bit Linux platforms.
+ The AOCC compiler system offers a high level of advanced optimizations,
+ multi-threading and processor support that includes global optimization,
+ vectorization, inter-procedural analyses, loop transformations,
+ and code generation.
+ AMD also provides highly optimized libraries,
+ which extract the optimal performance from
+ each x86 processor core when utilized.
+ The AOCC Compiler Suite simplifies and accelerates development and
+ tuning for x86 applications.
+ Please install only if you agree to terms and conditions depicted
+ under : http://developer.amd.com/wordpress/media/files/AOCC_EULA.pdf
+ Example for installation: \'spack install aocc +license-agreed\'
+ '''
+ family = 'compiler'
+ homepage = "https://developer.amd.com/amd-aocc/"
+ version(ver="2.2.0", sha256='500940ce36c19297dfba3aa56dcef33b6145867a1f34890945172ac2be83b286',
+ url='http://developer.amd.com/wordpress/media/files/aocc-compiler-2.2.0.tar')
+
+ # Licensing
+ license_required = True
+ license_comment = '#'
+ license_files = ['AOCC_EULA.pdf']
+ license_url = 'http://developer.amd.com/wordpress/media/files/AOCC_EULA.pdf'
+ install_example = "spack install aocc +license-agreed"
+
+ depends_on('libxml2')
+ depends_on('zlib')
+ depends_on('ncurses')
+ depends_on('libtool')
+ depends_on('texinfo')
+
+ variant('license-agreed', default=False,
+ description='Agree to terms and conditions depicted under : {0}'
+ .format(license_url))
+
+ @run_before('install')
+ def abort_without_license_agreed(self):
+ license_url = 'http://developer.amd.com/wordpress/media/files/AOCC_EULA.pdf'
+ install_example = "spack install aocc +license-agreed"
+ if not self.spec.variants['license-agreed'].value:
+ raise InstallError("\n\n\nNOTE:\nUse +license-agreed " +
+ "during installation " +
+ "to accept terms and conditions " +
+ "depicted under following link \n" +
+ " {0}\n".format(license_url) +
+ "Example: \'{0}\' \n".format(install_example))
+
+ def install(self, spec, prefix):
+ print("Installing AOCC Compiler ... ")
+ install_tree('.', prefix)