AOCC: add v4.0.0 (#33833)
This commit is contained in:
parent
36d87a4783
commit
3a4b96e61c
@ -3,36 +3,41 @@
|
|||||||
#
|
#
|
||||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||||
|
|
||||||
|
from llnl.util import tty
|
||||||
|
|
||||||
from spack.package import *
|
from spack.package import *
|
||||||
|
|
||||||
|
|
||||||
class Aocc(Package):
|
class Aocc(Package):
|
||||||
"""
|
"""
|
||||||
The AOCC compiler system is a high performance,
|
The AOCC compiler system is a high performance, production quality code
|
||||||
production quality code generation tool.
|
generation tool. The AOCC environment provides various options to developers
|
||||||
The AOCC environment provides various options to developers when
|
when building and optimizing C, C++, and Fortran applications targeting 32-bit
|
||||||
building and optimizing C, C++, and Fortran applications
|
and 64-bit Linux platforms. The AOCC compiler system offers a high level of
|
||||||
targeting 32-bit and 64-bit Linux platforms.
|
advanced optimizations, multi-threading and processor support that includes
|
||||||
The AOCC compiler system offers a high level of advanced optimizations,
|
global optimization, vectorization, inter-procedural analyses, loop
|
||||||
multi-threading and processor support that includes global optimization,
|
transformations, and code generation. AMD also provides highly optimized
|
||||||
vectorization, inter-procedural analyses, loop transformations,
|
libraries, which extract the optimal performance from each x86 processor core
|
||||||
and code generation.
|
when utilized. The AOCC Compiler Suite simplifies and accelerates development
|
||||||
AMD also provides highly optimized libraries,
|
and tuning for x86 applications.
|
||||||
which extract the optimal performance from
|
|
||||||
each x86 processor core when utilized.
|
Installation requires acceptance of the EULA by setting the +license-agreed variant.
|
||||||
The AOCC Compiler Suite simplifies and accelerates development and
|
https://developer.amd.com/wordpress/media/files/AOCC_EULA.pdf
|
||||||
tuning for x86 applications.
|
|
||||||
Please install only if you agree to terms and conditions depicted
|
|
||||||
under : https://developer.amd.com/wordpress/media/files/AOCC_EULA.pdf
|
|
||||||
Example for installation: \'spack install aocc +license-agreed\'
|
Example for installation: \'spack install aocc +license-agreed\'
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
_name = "aocc"
|
||||||
family = "compiler"
|
family = "compiler"
|
||||||
homepage = "https://developer.amd.com/amd-aocc/"
|
homepage = "https://developer.amd.com/amd-aocc/"
|
||||||
|
|
||||||
maintainers = ["amd-toolchain-support"]
|
maintainers = ["amd-toolchain-support"]
|
||||||
|
|
||||||
|
version(
|
||||||
|
ver="4.0.0",
|
||||||
|
sha256="2729ec524cbc927618e479994330eeb72df5947e90cfcc49434009eee29bf7d4",
|
||||||
|
url="https://developer.amd.com/wordpress/media/files/aocc-compiler-4.0.0.tar",
|
||||||
|
)
|
||||||
version(
|
version(
|
||||||
ver="3.2.0",
|
ver="3.2.0",
|
||||||
sha256="8493525b3df77f48ee16f3395a68ad4c42e18233a44b4d9282b25dbb95b113ec",
|
sha256="8493525b3df77f48ee16f3395a68ad4c42e18233a44b4d9282b25dbb95b113ec",
|
||||||
@ -60,11 +65,7 @@ class Aocc(Package):
|
|||||||
)
|
)
|
||||||
|
|
||||||
# Licensing
|
# Licensing
|
||||||
license_required = True
|
|
||||||
license_comment = "#"
|
|
||||||
license_files = ["AOCC_EULA.pdf"]
|
|
||||||
license_url = "https://developer.amd.com/wordpress/media/files/AOCC_EULA.pdf"
|
license_url = "https://developer.amd.com/wordpress/media/files/AOCC_EULA.pdf"
|
||||||
install_example = "spack install aocc +license-agreed"
|
|
||||||
|
|
||||||
depends_on("libxml2")
|
depends_on("libxml2")
|
||||||
depends_on("zlib")
|
depends_on("zlib")
|
||||||
@ -75,22 +76,32 @@ class Aocc(Package):
|
|||||||
variant(
|
variant(
|
||||||
"license-agreed",
|
"license-agreed",
|
||||||
default=False,
|
default=False,
|
||||||
description="Agree to terms and conditions depicted under : {0}".format(license_url),
|
sticky=True,
|
||||||
|
description="Confirm acceptance of the EULA ({0})".format(license_url),
|
||||||
|
)
|
||||||
|
|
||||||
|
conflicts(
|
||||||
|
"~license-agreed",
|
||||||
|
msg=(
|
||||||
|
"Installation of {0} requires acceptance of the EULA (found at {1}). Set the "
|
||||||
|
"+license-agreed variant to confirm acceptance of the EULA"
|
||||||
|
).format(_name, license_url),
|
||||||
)
|
)
|
||||||
|
|
||||||
@run_before("install")
|
@run_before("install")
|
||||||
def abort_without_license_agreed(self):
|
def license_reminder(self):
|
||||||
license_url = "https://developer.amd.com/wordpress/media/files/AOCC_EULA.pdf"
|
if "+license-agreed" in self.spec:
|
||||||
install_example = "spack install aocc +license-agreed"
|
tty.msg(
|
||||||
if not self.spec.variants["license-agreed"].value:
|
"Reminder: by setting +license-agreed you are confirming you agree to the terms "
|
||||||
raise InstallError(
|
"of the {0} EULA (found at {1})".format(self.spec.name, self.license_url)
|
||||||
"\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)
|
|
||||||
)
|
)
|
||||||
|
else:
|
||||||
|
# Conflict means we should never get here...
|
||||||
|
msg = (
|
||||||
|
"Installation of {0} requires acceptance of the EULA (found at {1}). Set the "
|
||||||
|
"+license-agreed variant to confirm acceptance of the EULA"
|
||||||
|
).format(self.spec.name, self.license_url)
|
||||||
|
raise InstallError(msg)
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
def install(self, spec, prefix):
|
||||||
print("Installing AOCC Compiler ... ")
|
print("Installing AOCC Compiler ... ")
|
||||||
|
Loading…
Reference in New Issue
Block a user