summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--var/spack/packages/otf2/package.py46
1 files changed, 38 insertions, 8 deletions
diff --git a/var/spack/packages/otf2/package.py b/var/spack/packages/otf2/package.py
index 7e28414623..6f4ab997af 100644
--- a/var/spack/packages/otf2/package.py
+++ b/var/spack/packages/otf2/package.py
@@ -1,6 +1,7 @@
# FIXME: Add copyright
from spack import *
+from contextlib import closing
import os
class Otf2(Package):
@@ -17,28 +18,57 @@ class Otf2(Package):
version('1.2.1', '8fb3e11fb7489896596ae2c7c83d7fc8',
url="http://www.vi-hps.org/upload/packages/otf2/otf2-1.2.1.tar.gz")
+ backend_user_provided = """\
+CC=cc
+CXX=c++
+F77=f77
+FC=f90
+CFLAGS=-fPIC
+CXXFLAGS=-fPIC
+"""
+ frontend_user_provided = """\
+CC_FOR_BUILD=cc
+CXX_FOR_BUILD=c++
+F77_FOR_BUILD=f70
+FC_FOR_BUILD=f90
+CFLAGS_FOR_BUILD=-fPIC
+CXXFLAGS_FOR_BUILD=-fPIC
+"""
+ mpi_user_provided = """\
+MPICC=cc
+MPICXX=c++
+MPIF77=f77
+MPIFC=f90
+MPI_CFLAGS=-fPIC
+MPI_CXXFLAGS=-fPIC
+"""
@when('@:1.2')
- def version_specific_args(self, args):
+ def version_specific_args(self):
return ["--with-platform=disabled"]
@when('@1.3:')
- def version_specific_args(self, args):
+ def version_specific_args(self):
# TODO: figure out what scorep's build does as of otf2 1.3
- return []
-
+ return ["--with-custom-compilers"]
def install(self, spec, prefix):
- # FIXME: Modify the configure line to suit your build system here.
- cc = os.environ["SPACK_CC"]
+ # Use a custom compiler configuration, otherwise the score-p
+ # build system messes with spack's compiler settings.
+ # Create these three files in the build directory
+ with closing(open("platform-backend-user-provided", "w")) as backend_file:
+ backend_file.write(self.backend_user_provided)
+ with closing(open("platform-frontend-user-provided", "w")) as frontend_file:
+ frontend_file.write(self.frontend_user_provided)
+ with closing(open("platform-mpi-user-provided", "w")) as mpi_file:
+ mpi_file.write(self.mpi_user_provided)
configure_args=["--prefix=%s" % prefix,
- "--enable-shared"])
+ "--enable-shared"]
configure_args.extend(self.version_specific_args())
configure(*configure_args)
- # FIXME: Add logic to build and install here
make()
make("install")