43 lines
1.5 KiB
Python
43 lines
1.5 KiB
Python
# Copyright 2013-2023 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.package import *
|
|
|
|
|
|
class Activeharmony(MakefilePackage):
|
|
"""Active Harmony: a framework for auto-tuning (the automated search for
|
|
values to improve the performance of a target application)."""
|
|
|
|
homepage = "https://www.dyninst.org/harmony"
|
|
url = "https://www.dyninst.org/sites/default/files/downloads/harmony/ah-4.5.tar.gz"
|
|
|
|
version("4.6.0", sha256="9ce5009cfd8e2f4cf5f3536e1fea9993414fc25920fc90d0a2cb56f044787dbb")
|
|
version("4.5", sha256="31d9990c8dd36724d336707d260aa4d976e11eaa899c4c7cc11f80a56cdac684")
|
|
|
|
patch(
|
|
"fix_logical_bug_in_slave_list_parsing.patch",
|
|
sha256="3e000616f84de80b262efcae7559d65eed0efcd53e915580dab63b0ffbbb8bf2",
|
|
when="@4.6.0",
|
|
)
|
|
|
|
cflags = ["-O3", "-fPIC"]
|
|
|
|
def setup_build_environment(self, spack_env):
|
|
spack_env.set("CFLAGS", " ".join(self.cflags))
|
|
|
|
@when("@:4.5")
|
|
def install(self, spec, prefix):
|
|
make("install", "PREFIX=%s" % prefix)
|
|
|
|
@when("@4.6.0:")
|
|
def install(self, spec, prefix):
|
|
make("install")
|
|
install_tree("./bin", prefix.bin)
|
|
install("./src/harmony.cfg", prefix.bin)
|
|
install_tree("./lib", prefix.lib)
|
|
install_tree("./libexec", prefix.libexec)
|
|
install_tree("./include", prefix.include)
|
|
install_tree("./doc", prefix.doc)
|