summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorJim Galarowicz <jeg@krellinst.org>2016-10-17 01:18:30 -0700
committerTodd Gamblin <tgamblin@llnl.gov>2016-10-17 01:18:30 -0700
commit87adcfeea85b3b1fa51d0d5067541f88d4edcca8 (patch)
treec7071bb9beb269b3fb0d40a6e69dc6fe0ac07498 /var
parentb5e20018b5e7ff4b7e790a1248e702dc0ed62d67 (diff)
downloadspack-87adcfeea85b3b1fa51d0d5067541f88d4edcca8.tar.gz
spack-87adcfeea85b3b1fa51d0d5067541f88d4edcca8.tar.bz2
spack-87adcfeea85b3b1fa51d0d5067541f88d4edcca8.tar.xz
spack-87adcfeea85b3b1fa51d0d5067541f88d4edcca8.zip
Update the Krell Institute products to use the latest features of spa… (#1984)
* Update the krell institute products to use the latest features of spack for building on cluster platforms. * Address travis error messages and resubmit the pull request. * Update the contents of openspeedshop package.py so it passes the flake8 tests. * Fix flake8 error-whitespack issue in mrnet package.py file. * Add updates based on spack reviewer feedback. * More fixes based on comments from reviewers. Switch using extend to using append, remove additional setting of PATH and LD_LIBRARY_PATH that should not be required due to RPATH. * More review related changes. Update MPIOption.append lines and take out xercesc references. * Create a base options function for common openspeedshop base cmake options to reduce redundencies.
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/cbtf-argonavis/package.py7
-rw-r--r--var/spack/repos/builtin/packages/cbtf-krell/package.py28
-rw-r--r--var/spack/repos/builtin/packages/cbtf-lanl/package.py4
-rw-r--r--var/spack/repos/builtin/packages/cbtf/package.py4
-rw-r--r--var/spack/repos/builtin/packages/mrnet/package.py11
-rw-r--r--var/spack/repos/builtin/packages/openspeedshop/package.py515
6 files changed, 253 insertions, 316 deletions
diff --git a/var/spack/repos/builtin/packages/cbtf-argonavis/package.py b/var/spack/repos/builtin/packages/cbtf-argonavis/package.py
index cbf36c3b61..06e752d199 100644
--- a/var/spack/repos/builtin/packages/cbtf-argonavis/package.py
+++ b/var/spack/repos/builtin/packages/cbtf-argonavis/package.py
@@ -57,14 +57,13 @@ class CbtfArgonavis(Package):
version('1.6', branch='master',
git='https://github.com/OpenSpeedShop/cbtf-argonavis.git')
- depends_on("cmake@3.0.2", type='build')
+ depends_on("cmake@3.0.2:", type='build')
depends_on("boost@1.50.0:")
depends_on("papi")
- depends_on("mrnet@5.0.1:+lwthreads+krellpatch")
+ depends_on("mrnet@5.0.1:+lwthreads")
depends_on("cbtf")
depends_on("cbtf-krell")
- depends_on("cuda@6.0.37")
- # depends_on("cuda")
+ depends_on("cuda")
parallel = False
diff --git a/var/spack/repos/builtin/packages/cbtf-krell/package.py b/var/spack/repos/builtin/packages/cbtf-krell/package.py
index 6f15c3f835..efcd7200d8 100644
--- a/var/spack/repos/builtin/packages/cbtf-krell/package.py
+++ b/var/spack/repos/builtin/packages/cbtf-krell/package.py
@@ -74,7 +74,7 @@ class CbtfKrell(Package):
description="Build mpi experiment collector for mpich MPI.")
# Dependencies for cbtf-krell
- depends_on("cmake@3.0.2", type='build')
+ depends_on("cmake@3.0.2:", type='build')
# For binutils service
depends_on("binutils@2.24+krellpatch")
@@ -82,7 +82,7 @@ class CbtfKrell(Package):
# collectionTool
depends_on("boost@1.50.0:")
depends_on("dyninst@8.2.1:")
- depends_on("mrnet@5.0.1:+lwthreads+krellpatch")
+ depends_on("mrnet@5.0.1:+lwthreads")
depends_on("xerces-c@3.1.1:")
depends_on("cbtf")
@@ -138,34 +138,22 @@ class CbtfKrell(Package):
# openmpi
if '+openmpi' in spec:
- MPIOptions.extend([
- '-DOPENMPI_DIR=%s' % spec['openmpi'].prefix
- ])
+ MPIOptions.append('-DOPENMPI_DIR=%s' % spec['openmpi'].prefix)
# mpich
if '+mpich' in spec:
- MPIOptions.extend([
- '-DMPICH_DIR=%s' % spec['mpich'].prefix
- ])
+ MPIOptions.append('-DMPICH_DIR=%s' % spec['mpich'].prefix)
# mpich2
if '+mpich2' in spec:
- MPIOptions.extend([
- '-DMPICH2_DIR=%s' % spec['mpich2'].prefix
- ])
+ MPIOptions.append('-DMPICH2_DIR=%s' % spec['mpich2'].prefix)
# mvapich
if '+mvapich' in spec:
- MPIOptions.extend([
- '-DMVAPICH_DIR=%s' % spec['mvapich'].prefix
- ])
+ MPIOptions.append('-DMVAPICH_DIR=%s' % spec['mvapich'].prefix)
# mvapich2
if '+mvapich2' in spec:
- MPIOptions.extend([
- '-DMVAPICH2_DIR=%s' % spec['mvapich2'].prefix
- ])
+ MPIOptions.append('-DMVAPICH2_DIR=%s' % spec['mvapich2'].prefix)
# mpt
if '+mpt' in spec:
- MPIOptions.extend([
- '-DMPT_DIR=%s' % spec['mpt'].prefix
- ])
+ MPIOptions.append('-DMPT_DIR=%s' % spec['mpt'].prefix)
cmakeOptions.extend(MPIOptions)
diff --git a/var/spack/repos/builtin/packages/cbtf-lanl/package.py b/var/spack/repos/builtin/packages/cbtf-lanl/package.py
index b614a325f9..2b4e887325 100644
--- a/var/spack/repos/builtin/packages/cbtf-lanl/package.py
+++ b/var/spack/repos/builtin/packages/cbtf-lanl/package.py
@@ -55,9 +55,9 @@ class CbtfLanl(Package):
version('1.6', branch='master',
git='http://git.code.sf.net/p/cbtf-lanl/cbtf-lanl')
- depends_on("cmake@3.0.2", type='build')
+ depends_on("cmake@3.0.2:", type='build')
# Dependencies for cbtf-krell
- depends_on("mrnet@5.0.1:+lwthreads+krellpatch")
+ depends_on("mrnet@5.0.1:+lwthreads")
depends_on("xerces-c@3.1.1:")
depends_on("cbtf")
depends_on("cbtf-krell")
diff --git a/var/spack/repos/builtin/packages/cbtf/package.py b/var/spack/repos/builtin/packages/cbtf/package.py
index bc3116bf2a..a711a918ca 100644
--- a/var/spack/repos/builtin/packages/cbtf/package.py
+++ b/var/spack/repos/builtin/packages/cbtf/package.py
@@ -63,9 +63,9 @@ class Cbtf(Package):
variant('runtime', default=False,
description="build only the runtime libraries and collectors.")
- depends_on("cmake@3.0.2", type='build')
+ depends_on("cmake@3.0.2:", type='build')
depends_on("boost@1.50.0:")
- depends_on("mrnet@5.0.1:+lwthreads+krellpatch")
+ depends_on("mrnet@5.0.1:+lwthreads")
depends_on("xerces-c@3.1.1:")
# Work around for spack libxml2 package bug, take off python when fixed
depends_on("libxml2+python")
diff --git a/var/spack/repos/builtin/packages/mrnet/package.py b/var/spack/repos/builtin/packages/mrnet/package.py
index 490e99dd83..9da9e29a2e 100644
--- a/var/spack/repos/builtin/packages/mrnet/package.py
+++ b/var/spack/repos/builtin/packages/mrnet/package.py
@@ -37,13 +37,6 @@ class Mrnet(Package):
version('4.1.0', '5a248298b395b329e2371bf25366115c')
version('4.0.0', 'd00301c078cba57ef68613be32ceea2f')
- # Add a patch that brings mrnet-5.0.1 up to date with the current
- # development tree The development tree contains fixes needed for the
- # krell based tools
- variant('krellpatch', default=False,
- description="Build MRNet with krell openspeedshop based patch.")
- patch('krell-5.0.1.patch', when='@5.0.1+krellpatch')
-
variant('lwthreads', default=False,
description="Also build the MRNet LW threadsafe libraries")
parallel = False
@@ -51,8 +44,8 @@ class Mrnet(Package):
depends_on("boost")
def install(self, spec, prefix):
- # Build the MRNet LW thread safe libraries when the krelloptions
- # variant is present
+ # Build the MRNet LW thread safe libraries when the
+ # lwthreads variant is present
if '+lwthreads' in spec:
configure("--prefix=%s" % prefix, "--enable-shared",
"--enable-ltwt-threadsafe")
diff --git a/var/spack/repos/builtin/packages/openspeedshop/package.py b/var/spack/repos/builtin/packages/openspeedshop/package.py
index 270a4e68d8..3c725f957e 100644
--- a/var/spack/repos/builtin/packages/openspeedshop/package.py
+++ b/var/spack/repos/builtin/packages/openspeedshop/package.py
@@ -22,88 +22,96 @@
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
-##########################################################################
+##############################################################################
# Copyright (c) 2015-2016 Krell Institute. All Rights Reserved.
#
-# 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 2 of the License, or (at your option) any later
-# version.
+# 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 2 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.
+# 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, write to the Free Software Foundation, Inc., 59 Temple
# Place, Suite 330, Boston, MA 02111-1307 USA
-##########################################################################
+##############################################################################
from spack import *
+import os
+import os.path
class Openspeedshop(Package):
"""OpenSpeedShop is a community effort by The Krell Institute with
- current direct funding from DOEs NNSA. It builds on top of a broad
- list of community infrastructures, most notably Dyninst and MRNet
- from UW, libmonitor from Rice, and PAPI from UTK. OpenSpeedShop is an
- open source multi platform Linux performance tool which is targeted
- to support performance analysis of applications running on both
- single node and large scale IA64, IA32, EM64T, AMD64, PPC, ARM, Blue
- Gene and Cray platforms. OpenSpeedShop development is hosted by the
- Krell Institute. The infrastructure and base components of
- OpenSpeedShop are released as open source code primarily under LGPL.
-
+ current direct funding from DOEs NNSA. It builds on top of a
+ broad list of community infrastructures, most notably Dyninst
+ and MRNet from UW, libmonitor from Rice, and PAPI from UTK.
+ OpenSpeedShop is an open source multi platform Linux performance
+ tool which is targeted to support performance analysis of
+ applications running on both single node and large scale IA64,
+ IA32, EM64T, AMD64, PPC, ARM, Power8, Intel Phi, Blue Gene and
+ Cray platforms. OpenSpeedShop development is hosted by the Krell
+ Institute. The infrastructure and base components of OpenSpeedShop
+ are released as open source code primarily under LGPL.
"""
homepage = "http://www.openspeedshop.org"
- url = "https://github.com/OpenSpeedShop"
+ url = "https://github.com/OpenSpeedShop"
version('2.2', '16cb051179c2038de4e8a845edf1d573')
# Use when the git repository is available
version('2.2', branch='master',
git='https://github.com/OpenSpeedShop/openspeedshop.git')
# Optional mirror template
- # url="file:/home/jeg/OpenSpeedShop_ROOT/SOURCES/openspeedshop-2.2.tar.gz"
- # version('2.2', '643337740dc6c2faca60f42d3620b0e1')
+ # url = "file:/home/jeg/OpenSpeedShop_ROOT/SOURCES/openspeedshop-2.2.tar.gz"
+ # version('2.2', '517a7798507241ad8abd8b0626a4d2cf')
parallel = False
- variant('offline', default=True,
+ variant('offline', default=False,
description="build with offline instrumentor enabled.")
- variant('cbtf', default=False,
+ variant('cbtf', default=True,
description="build with cbtf instrumentor enabled.")
variant('runtime', default=False,
description="build only the runtime libraries and collectors.")
variant('frontend', default=False,
- description="build only the front-end tool using the runtime_dir "
- "to point to the target build.")
+ description="build only the FE tool using the runtime_dir \
+ to point to target build.")
variant('cuda', default=False,
description="build with cuda packages included.")
variant('ptgf', default=False,
description="build with the PTGF based gui package enabled.")
variant('rtfe', default=False,
- description="build for generic cluster platforms that have "
- "different processors on the fe and be nodes.")
+ description="build for clusters heterogeneous processors \
+ on fe/be nodes.")
# MPI variants
variant('openmpi', default=False,
- description="Build mpi experiment collector for openmpi MPI.")
+ description="Build mpi collector for openmpi \
+ MPI when variant is enabled.")
variant('mpt', default=False,
- description="Build mpi experiment collector for SGI MPT MPI.")
+ description="Build mpi collector for SGI \
+ MPT MPI when variant is enabled.")
variant('mvapich2', default=False,
- description="Build mpi experiment collector for mvapich2 MPI.")
+ description="Build mpi collector for mvapich2\
+ MPI when variant is enabled.")
variant('mvapich', default=False,
- description="Build mpi experiment collector for mvapich MPI.")
+ description="Build mpi collector for mvapich\
+ MPI when variant is enabled.")
variant('mpich2', default=False,
- description="Build mpi experiment collector for mpich2 MPI.")
+ description="Build mpi collector for mpich2\
+ MPI when variant is enabled.")
variant('mpich', default=False,
- description="Build mpi experiment collector for mpich MPI.")
+ description="Build mpi collector for mpich\
+ MPI when variant is enabled.")
- depends_on("cmake@3.0.2", type='build')
- # Dependencies for openspeedshop that are common to all the variants of
- # the OpenSpeedShop build
+ depends_on("cmake@3.0.2:", type='build')
+ # Dependencies for openspeedshop that are common to all
+ # the variants of the OpenSpeedShop build
depends_on("bison", type='build')
depends_on("flex", type='build')
depends_on("binutils@2.24+krellpatch", type='build')
@@ -111,7 +119,7 @@ class Openspeedshop(Package):
depends_on("libdwarf")
depends_on("sqlite")
depends_on("boost@1.50.0:")
- depends_on("dyninst@9.1.0")
+ depends_on("dyninst@9.1.0:")
depends_on("python")
depends_on("qt@3.3.8b+krellpatch")
@@ -130,16 +138,16 @@ class Openspeedshop(Package):
depends_on("cbtf", when='+cbtf')
depends_on("cbtf-krell", when='+cbtf')
depends_on("cbtf-argonavis", when='+cbtf+cuda')
- depends_on("mrnet@5.0.1:+lwthreads+krellpatch", when='+cbtf')
+ depends_on("mrnet@5.0.1:+lwthreads", when='+cbtf')
def adjustBuildTypeParams_cmakeOptions(self, spec, cmakeOptions):
- # Sets build type parameters into cmakeOptions the options that will
- # enable the cbtf-krell built type settings
+ # Sets build type parameters into cmakeOptions the
+ # options that will enable the cbtf-krell built type settings
compile_flags = "-O2 -g"
BuildTypeOptions = []
- # Set CMAKE_BUILD_TYPE to what cbtf-krell wants it to be, not the
- # stdcmakeargs
+ # Set CMAKE_BUILD_TYPE to what cbtf-krell wants it
+ # to be, not the stdcmakeargs
for word in cmakeOptions[:]:
if word.startswith('-DCMAKE_BUILD_TYPE'):
cmakeOptions.remove(word)
@@ -147,67 +155,130 @@ class Openspeedshop(Package):
cmakeOptions.remove(word)
if word.startswith('-DCMAKE_C_FLAGS'):
cmakeOptions.remove(word)
- BuildTypeOptions.extend([
- '-DCMAKE_BUILD_TYPE=None',
- '-DCMAKE_CXX_FLAGS=%s' % compile_flags,
- '-DCMAKE_C_FLAGS=%s' % compile_flags
- ])
+ BuildTypeOptions.extend(['-DCMAKE_BUILD_TYPE=None',
+ '-DCMAKE_CXX_FLAGS=%s' % compile_flags,
+ '-DCMAKE_C_FLAGS=%s' % compile_flags])
cmakeOptions.extend(BuildTypeOptions)
+ def set_defaultbase_cmakeOptions(self, spec, cmakeOptions):
+ # Appends to cmakeOptions the options that will enable
+ # the appropriate base level options to the openspeedshop
+ # cmake build.
+ python_vers = format(spec['python'].version.up_to(2))
+ python_pv = '/python' + python_vers
+ python_pvs = '/libpython' + python_vers + '.' + format(dso_suffix)
+
+ BaseOptions = []
+
+ BaseOptions.append('-DBINUTILS_DIR=%s' % spec['binutils'].prefix)
+ BaseOptions.append('-DLIBELF_DIR=%s' % spec['libelf'].prefix)
+ BaseOptions.append('-DLIBDWARF_DIR=%s' % spec['libdwarf'].prefix)
+ BaseOptions.append(
+ '-DPYTHON_EXECUTABLE=%s'
+ % join_path(spec['python'].prefix + '/bin/python'))
+ BaseOptions.append(
+ '-DPYTHON_INCLUDE_DIR=%s'
+ % join_path(spec['python'].prefix.include) + python_pv)
+ BaseOptions.append(
+ '-DPYTHON_LIBRARY=%s'
+ % join_path(spec['python'].prefix.lib) + python_pvs)
+ BaseOptions.append('-DBoost_NO_SYSTEM_PATHS=TRUE')
+ BaseOptions.append('-DBoost_NO_BOOST_CMAKE=TRUE')
+ BaseOptions.append('-DBOOST_ROOT=%s' % spec['boost'].prefix)
+ BaseOptions.append('-DBoost_DIR=%s' % spec['boost'].prefix)
+ BaseOptions.append('-DBOOST_LIBRARYDIR=%s' % spec['boost'].prefix.lib)
+ BaseOptions.append('-DDYNINST_DIR=%s' % spec['dyninst'].prefix)
+
+ cmakeOptions.extend(BaseOptions)
+
def set_mpi_cmakeOptions(self, spec, cmakeOptions):
- # Appends to cmakeOptions the options that will enable the appropriate
- # MPI implementations
+ # Appends to cmakeOptions the options that will enable
+ # the appropriate MPI implementations
MPIOptions = []
# openmpi
if '+openmpi' in spec:
- MPIOptions.extend([
- '-DOPENMPI_DIR=%s' % spec['openmpi'].prefix
- ])
+ MPIOptions.append('-DOPENMPI_DIR=%s' % spec['openmpi'].prefix)
# mpich
if '+mpich' in spec:
- MPIOptions.extend([
- '-DMPICH_DIR=%s' % spec['mpich'].prefix
- ])
+ MPIOptions.append('-DMPICH_DIR=%s' % spec['mpich'].prefix)
# mpich2
if '+mpich2' in spec:
- MPIOptions.extend([
- '-DMPICH2_DIR=%s' % spec['mpich2'].prefix
- ])
+ MPIOptions.append('-DMPICH2_DIR=%s' % spec['mpich2'].prefix)
# mvapich
if '+mvapich' in spec:
- MPIOptions.extend([
- '-DMVAPICH_DIR=%s' % spec['mvapich'].prefix
- ])
+ MPIOptions.append('-DMVAPICH_DIR=%s' % spec['mvapich'].prefix)
# mvapich2
if '+mvapich2' in spec:
- MPIOptions.extend([
- '-DMVAPICH2_DIR=%s' % spec['mvapich2'].prefix
- ])
+ MPIOptions.append('-DMVAPICH2_DIR=%s' % spec['mvapich2'].prefix)
# mpt
if '+mpt' in spec:
- MPIOptions.extend([
- '-DMPT_DIR=%s' % spec['mpt'].prefix
- ])
+ MPIOptions.append('-DMPT_DIR=%s' % spec['mpt'].prefix)
cmakeOptions.extend(MPIOptions)
- def install(self, spec, prefix):
-
- # openmpi_prefix_path = "/opt/openmpi-1.8.2"
- # mvapich_prefix_path = "/usr/local/tools/mvapich-gnu"
- # '-DOPENMPI_DIR=%s' % spec['openmpi'].prefix,
- # '-DOPENMPI_DIR=%s' % openmpi_prefix_path,
- # '-DMVAPICH_DIR=%s' % mvapich_prefix_path,
+ def setup_environment(self, spack_env, run_env):
+ """Set up the compile and runtime environments for a package."""
+
+ # Common settings to both offline and cbtf versions
+ # of OpenSpeedShop
+ run_env.prepend_path('PATH', self.prefix.bin)
+
+ # Find Dyninst library path, this is needed to
+ # set the DYNINSTAPI_RT_LIB library which is
+ # required for OpenSpeedShop to find loop level
+ # performance information
+ dyninst_libdir = find_libraries(['libdyninstAPI_RT'],
+ root=self.spec['dyninst'].prefix,
+ shared=True, recurse=True)
+
+ # Set Dyninst RT library path to support OSS loop resolution code
+ run_env.set('DYNINSTAPI_RT_LIB', dyninst_libdir)
+
+ # Find openspeedshop library path
+ oss_libdir = find_libraries(['libopenss-framework'],
+ root=self.spec['openspeedshop'].prefix,
+ shared=True, recurse=True)
+ run_env.prepend_path('LD_LIBRARY_PATH',
+ os.path.dirname(oss_libdir.joined()))
+
+ # Settings specific to the version, checking here
+ # for the cbtf instrumentor
+ if '+cbtf' in self.spec:
+ cbtf_mc = '/sbin/cbtf_mrnet_commnode'
+ cbtf_lmb = '/sbin/cbtf_libcbtf_mrnet_backend'
+ run_env.set('XPLAT_RSH', 'ssh')
+ run_env.set('MRNET_COMM_PATH',
+ join_path(self.spec['cbtf-krell'].prefix + cbtf_mc))
+
+ run_env.set('CBTF_MRNET_BACKEND_PATH',
+ join_path(self.spec['cbtf-krell'].prefix + cbtf_lmb))
+
+ run_env.prepend_path('PATH', self.spec['mrnet'].prefix.bin)
+ run_env.prepend_path('PATH', self.spec['cbtf-krell'].prefix.bin)
+ run_env.prepend_path('PATH', self.spec['cbtf-krell'].prefix.sbin)
+
+ elif '+offline' in self.spec:
+ # Had to use this form of syntax self.prefix.lib and
+ # self.prefix.lib64 returned None all the time
+ run_env.set('OPENSS_RAWDATA_DIR', '.')
+ run_env.set('OPENSS_PLUGIN_PATH',
+ join_path(oss_libdir + '/openspeedshop'))
+ run_env.prepend_path('PATH', self.spec['papi'].prefix.bin)
+ run_env.prepend_path('PATH', self.spec['libdwarf'].prefix.bin)
+
+ if '+mpich' in self.spec:
+ run_env.set('OPENSS_MPI_IMPLEMENTATION', 'mpich')
+ if '+mpich2' in self.spec:
+ run_env.set('OPENSS_MPI_IMPLEMENTATION', 'mpich2')
+ if '+mvapich2' in self.spec:
+ run_env.set('OPENSS_MPI_IMPLEMENTATION', 'mvapich2')
+ if '+openmpi' in self.spec:
+ run_env.set('OPENSS_MPI_IMPLEMENTATION', 'openmpi')
- # FIXME: How do we make this dynamic in spack?
- # FIXME: That is, can we specify the paths to cuda dynamically?
- # WAITING for external package support.
- # if '+cuda' in spec:
- # cuda_prefix_path = "/usr/local/cuda-6.0"
- # cupti_prefix_path = "/usr/local/cuda-6.0/extras/CUPTI"
+ def install(self, spec, prefix):
if '+offline' in spec:
instrumentor_setting = "offline"
@@ -217,18 +288,17 @@ class Openspeedshop(Package):
cmakeOptions = []
cmakeOptions.extend([
'-DCMAKE_INSTALL_PREFIX=%s' % prefix,
- '-DCMAKE_LIBRARY_PATH=%s' % prefix.lib64,
- '-DINSTRUMENTOR=%s' % instrumentor_setting,
- '-DLIBMONITOR_DIR=%s' % spec['libmonitor'].prefix,
- '-DLIBUNWIND_DIR=%s' % spec['libunwind'].prefix,
- '-DPAPI_DIR=%s' % spec['papi'].prefix])
+ '-DINSTRUMENTOR=%s' % instrumentor_setting,
+ '-DLIBMONITOR_DIR=%s' % spec['libmonitor'].prefix,
+ '-DLIBUNWIND_DIR=%s' % spec['libunwind'].prefix,
+ '-DPAPI_DIR=%s' % spec['papi'].prefix])
# Add any MPI implementations coming from variant settings
self.set_mpi_cmakeOptions(spec, cmakeOptions)
cmakeOptions.extend(std_cmake_args)
- # Adjust the build options to the favored ones for this
- # build
+ # Adjust the build options to the favored
+ # ones for this build
self.adjustBuildTypeParams_cmakeOptions(spec, cmakeOptions)
cmake('..', *cmakeOptions)
@@ -239,50 +309,35 @@ class Openspeedshop(Package):
else:
cmake_prefix_path = join_path(spec['dyninst'].prefix)
with working_dir('build', create=True):
-
- # python_vers=join_path(spec['python'].version[:2])
- # '-DOPENMPI_DIR=%s' % openmpi_prefix_path,
- # '-DMVAPICH_DIR=%s' % mvapich_prefix_path,
- # '-DMPICH_DIR=%s' % spec['mpich'].prefix,
- # '-DMPICH2_DIR=%s' % spec['mpich2'].prefix,
- # '-DBoost_NO_SYSTEM_PATHS=TRUE',
- # '-DBOOST_ROOT=%s' % spec['boost'].prefix,
- # '-DOPENMPI_DIR=%s' % spec['openmpi'].prefix,
-
- python_vers = '%d.%d' % spec['python'].version[:2]
-
cmakeOptions = []
- cmakeOptions.extend([
- '-DCMAKE_INSTALL_PREFIX=%s' % prefix,
- '-DCMAKE_LIBRARY_PATH=%s' % prefix.lib64,
- '-DCMAKE_PREFIX_PATH=%s' % cmake_prefix_path,
- '-DINSTRUMENTOR=%s' % instrumentor_setting,
- '-DBINUTILS_DIR=%s' % spec['binutils'].prefix,
- '-DLIBELF_DIR=%s' % spec['libelf'].prefix,
- '-DLIBDWARF_DIR=%s' % spec['libdwarf'].prefix,
- '-DLIBMONITOR_DIR=%s' % spec['libmonitor'].prefix,
- '-DLIBUNWIND_DIR=%s' % spec['libunwind'].prefix,
- '-DPAPI_DIR=%s' % spec['papi'].prefix,
- '-DSQLITE3_DIR=%s' % spec['sqlite'].prefix,
- '-DQTLIB_DIR=%s' % spec['qt'].prefix,
- '-DPYTHON_EXECUTABLE=%s' % join_path(
- spec['python'].prefix, '/bin/python'),
- '-DPYTHON_INCLUDE_DIR=%s' % join_path(
- spec['python'].prefix.include,
- 'python' + python_vers),
- '-DPYTHON_LIBRARY=%s' % join_path(
- spec['python'].prefix.lib,
- 'libpython' + python_vers + '.so'),
- '-DBoost_NO_SYSTEM_PATHS=TRUE',
- '-DBOOST_ROOT=%s' % spec['boost'].prefix,
- '-DDYNINST_DIR=%s' % spec['dyninst'].prefix])
+
+ # Appends base options to cmakeOptions
+ self.set_defaultbase_cmakeOptions(spec, cmakeOptions)
+
+ cmakeOptions.extend(
+ ['-DCMAKE_INSTALL_PREFIX=%s'
+ % prefix,
+ '-DCMAKE_PREFIX_PATH=%s'
+ % cmake_prefix_path,
+ '-DINSTRUMENTOR=%s'
+ % instrumentor_setting,
+ '-DLIBMONITOR_DIR=%s'
+ % spec['libmonitor'].prefix,
+ '-DLIBUNWIND_DIR=%s'
+ % spec['libunwind'].prefix,
+ '-DPAPI_DIR=%s'
+ % spec['papi'].prefix,
+ '-DSQLITE3_DIR=%s'
+ % spec['sqlite'].prefix,
+ '-DQTLIB_DIR=%s'
+ % spec['qt'].prefix])
# Add any MPI implementations coming from variant settings
self.set_mpi_cmakeOptions(spec, cmakeOptions)
cmakeOptions.extend(std_cmake_args)
- # Adjust the build options to the favored ones for this
- # build
+ # Adjust the build options to the favored
+ # ones for this build
self.adjustBuildTypeParams_cmakeOptions(spec, cmakeOptions)
cmake('..', *cmakeOptions)
@@ -293,74 +348,37 @@ class Openspeedshop(Package):
elif '+cbtf' in spec:
instrumentor_setting = "cbtf"
- cmake_prefix_path = ':'.join(spec['cbtf'].prefix,
- spec['cbtf-krell'].prefix,
- spec['dyninst'].prefix)
-
# resolve_symbols = "symtabapi"
- # runtime_platform_cray = "cray"
- # if '+cray' in spec:
- # if '+runtime' in spec:
- # #-DCBTF_KRELL_CN_RUNTIME_DIR=${CBTF_KRELL_CN_INSTALL_DIR} \
- # with working_dir('build_cbtf_cray_runtime', create=True):
- # python_vers='%d.%d' % spec['python'].version[:2]
- # cmake('..',
- # '-DCMAKE_INSTALL_PREFIX=%s' % prefix,
- # '-DCMAKE_LIBRARY_PATH=%s' % prefix.lib64,
- # '-DRUNTIME_PLATFORM=%s' % runtime_platform_cray,
- # '-DCMAKE_PREFIX_PATH=%s' % cmake_prefix_path,
- # '-DRESOLVE_SYMBOLS=%s' % resolve_symbols,
- # '-DINSTRUMENTOR=%s' % instrumentor_setting,
- # '-DCBTF_DIR=%s' % spec['cbtf'].prefix,
- # '-DCBTF_KRELL_DIR=%s' % spec['cbtf-krell'].prefix,
- # '-DCBTF_KRELL_CN_RUNTIME_DIR=%s' % spec['cbtf-krell'].prefix,
- # '-DBINUTILS_DIR=%s' % spec['binutils'].prefix,
- # '-DLIBELF_DIR=%s' % spec['libelf'].prefix,
- # '-DLIBDWARF_DIR=%s' % spec['libdwarf'].prefix,
- # '-DLIBUNWIND_DIR=%s' % spec['libunwind'].prefix,
- # '-DPAPI_DIR=%s' % spec['papi'].prefix,
- # '-DDYNINST_DIR=%s' % spec['dyninst'].prefix,
- # '-DXERCESC_DIR=%s' % spec['xerces-c'].prefix,
- # '-DMRNET_DIR=%s' % spec['mrnet'].prefix,
- # '-DBoost_NO_SYSTEM_PATHS=TRUE',
- # '-DBOOST_ROOT=%s' % spec['boost'].prefix,
- # *std_cmake_args)
-
- # make("clean")
- # make()
- # make("install")
-
- # elif '+mic' in spec:
- # comment out else and shift over the default case below
- # until arch detection is in else:
+ cmake_prefix_path = join_path(spec['cbtf'].prefix) \
+ + ':' + join_path(spec['cbtf-krell'].prefix)\
+ + ':' + join_path(spec['dyninst'].prefix)
if '+runtime' in spec:
with working_dir('build_cbtf_runtime', create=True):
- python_vers = '%d.%d' % spec['python'].version[:2]
- cmake(
- '..',
- '-DCMAKE_INSTALL_PREFIX=%s' % prefix,
- '-DCMAKE_LIBRARY_PATH=%s' % prefix.lib64,
- '-DCMAKE_PREFIX_PATH=%s' % cmake_prefix_path,
- '-DINSTRUMENTOR=%s' % instrumentor_setting,
- '-DBINUTILS_DIR=%s' % spec['binutils'].prefix,
- '-DLIBELF_DIR=%s' % spec['libelf'].prefix,
- '-DLIBDWARF_DIR=%s' % spec['libdwarf'].prefix,
- '-DCBTF_DIR=%s' % spec['cbtf'].prefix,
- '-DCBTF_KRELL_DIR=%s' % spec['cbtf-krell'].prefix,
- '-DPYTHON_EXECUTABLE=%s' % join_path(
- spec['python'].prefix, 'bin', 'python'),
- '-DPYTHON_INCLUDE_DIR=%s' % join_path(
- spec['python'].prefix.include,
- 'python' + python_vers),
- '-DPYTHON_LIBRARY=%s' % join_path(
- spec['python'].prefix.lib,
- 'libpython' + python_vers + '.so'),
- '-DBoost_NO_SYSTEM_PATHS=TRUE',
- '-DBOOST_ROOT=%s' % spec['boost'].prefix,
- '-DDYNINST_DIR=%s' % spec['dyninst'].prefix,
- '-DMRNET_DIR=%s' % spec['mrnet'].prefix,
- *std_cmake_args)
+ cmakeOptions = []
+
+ # Appends base options to cmakeOptions
+ self.set_defaultbase_cmakeOptions(spec, cmakeOptions)
+
+ cmakeOptions.extend(
+ ['-DCMAKE_INSTALL_PREFIX=%s'
+ % prefix,
+ '-DCMAKE_PREFIX_PATH=%s'
+ % cmake_prefix_path,
+ '-DINSTRUMENTOR=%s'
+ % instrumentor_setting,
+ '-DCBTF_DIR=%s'
+ % spec['cbtf'].prefix,
+ '-DCBTF_KRELL_DIR=%s'
+ % spec['cbtf-krell'].prefix,
+ '-DMRNET_DIR=%s'
+ % spec['mrnet'].prefix])
+
+ # Adjust the build options to the
+ # favored ones for this build
+ self.adjustBuildTypeParams_cmakeOptions(spec, cmakeOptions)
+
+ cmake('..', *cmakeOptions)
make("clean")
make()
@@ -368,96 +386,35 @@ class Openspeedshop(Package):
else:
with working_dir('build_cbtf', create=True):
- python_vers = '%d.%d' % spec['python'].version[:2]
- # python_vers=join_path(spec['python'].version[:2])
- cmake(
- '..',
- '-DCMAKE_INSTALL_PREFIX=%s' % prefix,
- '-DCMAKE_LIBRARY_PATH=%s' % prefix.lib64,
- '-DCMAKE_PREFIX_PATH=%s' % cmake_prefix_path,
- '-DINSTRUMENTOR=%s' % instrumentor_setting,
- '-DBINUTILS_DIR=%s' % spec['binutils'].prefix,
- '-DLIBELF_DIR=%s' % spec['libelf'].prefix,
- '-DLIBDWARF_DIR=%s' % spec['libdwarf'].prefix,
- '-DSQLITE3_DIR=%s' % spec['sqlite'].prefix,
- '-DCBTF_DIR=%s' % spec['cbtf'].prefix,
- '-DCBTF_KRELL_DIR=%s' % spec['cbtf-krell'].prefix,
- '-DQTLIB_DIR=%s' % spec['qt'].prefix,
- '-DPYTHON_EXECUTABLE=%s' % join_path(
- spec['python'].prefix, 'bin', 'python'),
- '-DPYTHON_INCLUDE_DIR=%s' % join_path(
- spec['python'].prefix.include,
- 'python' + python_vers),
- '-DPYTHON_LIBRARY=%s' % join_path(
- spec['python'].prefix.lib,
- 'libpython' + python_vers + '.so'),
- '-DBoost_NO_SYSTEM_PATHS=TRUE',
- '-DBOOST_ROOT=%s' % spec['boost'].prefix,
- '-DDYNINST_DIR=%s' % spec['dyninst'].prefix,
- '-DMRNET_DIR=%s' % spec['mrnet'].prefix,
- *std_cmake_args)
+ cmakeOptions = []
+
+ # Appends base options to cmakeOptions
+ self.set_defaultbase_cmakeOptions(spec, cmakeOptions)
+
+ cmakeOptions.extend(
+ ['-DCMAKE_INSTALL_PREFIX=%s'
+ % prefix,
+ '-DCMAKE_PREFIX_PATH=%s'
+ % cmake_prefix_path,
+ '-DINSTRUMENTOR=%s'
+ % instrumentor_setting,
+ '-DSQLITE3_DIR=%s'
+ % spec['sqlite'].prefix,
+ '-DCBTF_DIR=%s'
+ % spec['cbtf'].prefix,
+ '-DCBTF_KRELL_DIR=%s'
+ % spec['cbtf-krell'].prefix,
+ '-DQTLIB_DIR=%s'
+ % spec['qt'].prefix,
+ '-DMRNET_DIR=%s'
+ % spec['mrnet'].prefix])
+
+ # Adjust the build options to the favored
+ # ones for this build
+ self.adjustBuildTypeParams_cmakeOptions(spec, cmakeOptions)
+
+ cmake('..', *cmakeOptions)
make("clean")
make()
make("install")
-
-# if '+frontend' in spec:
-# with working_dir('build_frontend', create=True):
-# tbd
-
-# if '+cbtf' in spec:
-# if cray build type detected:
-# if '+runtime' in spec:
-# with working_dir('build_cray_cbtf_compute', create=True):
-# tbd
-# else:
-# with working_dir('build_cray_cbtf_frontend', create=True):
-# tbd
-# with working_dir('build_cray_osscbtf_frontend', create=True):
-# tbd
-# fi
-# elif '+intelmic' in spec:
-# if '+runtime' in spec:
-# with working_dir('build_intelmic_cbtf_compute', create=True):
-# tbd
-# else:
-# with working_dir('build_intelmic_cbtf_frontend', create=True):
-# tbd
-# with working_dir('build_intelmic_osscbtf_frontend', create=True):
-# fi
-# else
-# with working_dir('build_cluster_cbtf', create=True):
-# tbd
-# with working_dir('build_cluster osscbtf', create=True):
-# tbd
-# fi
-# elif '+offline' in spec:
-# if cray build type detected:
-# if '+runtime' in spec:
-# with working_dir('build_cray_ossoff_compute', create=True):
-# tbd
-# else:
-# with working_dir('build_cray_ossoff_frontend', create=True):
-# tbd
-# fi
-# elif '+intelmic' in spec:
-# if '+runtime' in spec:
-# with working_dir('build_intelmic_ossoff_compute', create=True):
-# tbd
-# else:
-# with working_dir('build_intelmic_ossoff_frontend', create=True):
-# tbd
-# fi
-# elif bgq build type detected:
-# if '+runtime' in spec:
-# with working_dir('build_bgq_ossoff_compute', create=True):
-# tbd
-# else:
-# with working_dir('build_bgq_ossoff_frontend', create=True):
-# tbd
-# fi
-# else
-# with working_dir('build_cluster ossoff', create=True):
-# tbd
-# fi
-# fi