From 44321c5c2487c62e58f543455569804c95081cfa Mon Sep 17 00:00:00 2001
From: Jim Galarowicz <jeg@krellinst.org>
Date: Mon, 18 Apr 2016 16:46:15 -0700
Subject: Update the main Krell Institute and Argo Navis Tech. packages for MPI
 variant support, get source from github not sourceforge, tested external
 package usage, and general package clean-up

---
 .../builtin/packages/cbtf-argonavis/package.py     |  90 +++++--
 .../repos/builtin/packages/cbtf-krell/package.py   | 262 ++++++++++++++----
 .../repos/builtin/packages/cbtf-lanl/package.py    |  65 +++--
 var/spack/repos/builtin/packages/cbtf/package.py   |  88 ++++--
 .../builtin/packages/openspeedshop/package.py      | 300 ++++++++++++++++-----
 5 files changed, 631 insertions(+), 174 deletions(-)

(limited to 'var')

diff --git a/var/spack/repos/builtin/packages/cbtf-argonavis/package.py b/var/spack/repos/builtin/packages/cbtf-argonavis/package.py
index 7b07933911..90789a98f2 100644
--- a/var/spack/repos/builtin/packages/cbtf-argonavis/package.py
+++ b/var/spack/repos/builtin/packages/cbtf-argonavis/package.py
@@ -1,5 +1,5 @@
 ################################################################################
-# Copyright (c) 2015 Krell Institute. All Rights Reserved.
+# 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
@@ -24,43 +24,83 @@ class CbtfArgonavis(Package):
     homepage = "http://sourceforge.net/p/cbtf/wiki/Home/"
 
     # Mirror access template example
-    #url      = "file:/g/g24/jeg/cbtf-argonavis-1.5.tar.gz"
-    #version('1.5', '1f7f6512f55409ed2135cfceabe26b82')
+    #url      = "file:/home/jeg/OpenSpeedShop_ROOT/SOURCES/cbtf-argonavis-1.6.tar.gz"
+    #version('1.6', '0fafa0008478405c2c2319450f174ed4')
 
-    version('1.6', branch='master', git='http://git.code.sf.net/p/cbtf-argonavis/cbtf-argonavis')
+    version('1.6', branch='master', git='https://github.com/OpenSpeedShop/cbtf-argonavis.git')
 
-    depends_on("cmake@3.0.2:")
+    depends_on("cmake@3.0.2")
+    depends_on("boost@1.50.0:")
     depends_on("papi")
+    depends_on("mrnet@5.0.1:+lwthreads+krellpatch")
     depends_on("cbtf")
     depends_on("cbtf-krell")
-    depends_on("cuda")
+    depends_on("cuda@6.0.37")
+    #depends_on("cuda")
 
     parallel = False
 
+    def adjustBuildTypeParams_cmakeOptions(self, spec, cmakeOptions):
+        # 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
+        for word in cmakeOptions[:]:
+            if word.startswith('-DCMAKE_BUILD_TYPE'):
+                cmakeOptions.remove(word)
+            if word.startswith('-DCMAKE_CXX_FLAGS'):
+                cmakeOptions.remove(word)
+            if word.startswith('-DCMAKE_C_FLAGS'):
+                cmakeOptions.remove(word)
+            if word.startswith('-DCMAKE_VERBOSE_MAKEFILE'):
+                cmakeOptions.remove(word)
+        BuildTypeOptions.extend([
+                 '-DCMAKE_VERBOSE_MAKEFILE=ON',
+                 '-DCMAKE_BUILD_TYPE=None',
+                 '-DCMAKE_CXX_FLAGS=%s'         % compile_flags,
+                 '-DCMAKE_C_FLAGS=%s'           % compile_flags
+        ])
+
+        cmakeOptions.extend(BuildTypeOptions)
+
+
     def install(self, spec, prefix):
 
        # Look for package installation information in the cbtf and cbtf-krell prefixes
        cmake_prefix_path = join_path(spec['cbtf'].prefix) + ':' + join_path(spec['cbtf-krell'].prefix)
 
-       # FIXME, hard coded for testing purposes, we will alter when the external package feature is available
-       cuda_prefix_path = "/usr/local/cudatoolkit-6.0"
-       cupti_prefix_path = "/usr/local/cudatoolkit-6.0/extras/CUPTI"
-
-
        with working_dir('CUDA'):
          with working_dir('build', create=True):
-           cmake('..',
-                 '-DCMAKE_INSTALL_PREFIX=%s'	% prefix,
-                 '-DCMAKE_LIBRARY_PATH=%s'	% prefix.lib64,
-                 '-DCMAKE_PREFIX_PATH=%s'	% cmake_prefix_path,
-                 '-DCUDA_INSTALL_PATH=%s'	% cuda_prefix_path,
-                 '-DCUDA_ROOT=%s'		% cuda_prefix_path,
-                 '-DCUPTI_ROOT=%s'		% cupti_prefix_path,
-                 '-DCUDA_DIR=%s'                % cuda_prefix_path,
-                 '-DPAPI_ROOT=%s'		% spec['papi'].prefix,
-                 '-DCBTF_PREFIX=%s'		% spec['cbtf'].prefix,
-                 *std_cmake_args)
-           make("clean")
-           make()
-           make("install")
 
+             cmakeOptions = []
+             cmakeOptions.extend(['-DCMAKE_INSTALL_PREFIX=%s'   % prefix,
+                                  '-DCMAKE_PREFIX_PATH=%s'	% cmake_prefix_path,
+                                  '-DCUDA_DIR=%s'               % spec['cuda'].prefix,
+                                  '-DCUDA_INSTALL_PATH=%s'      % spec['cuda'].prefix,
+                                  '-DCUDA_TOOLKIT_ROOT_DIR=%s'  % spec['cuda'].prefix,
+                                  '-DCUPTI_DIR=%s'		% join_path(spec['cuda'].prefix + '/extras/CUPTI'),
+                                  '-DCUPTI_ROOT=%s'		% join_path(spec['cuda'].prefix + '/extras/CUPTI'),
+                                  '-DPAPI_ROOT=%s'		% spec['papi'].prefix,
+                                  '-DCBTF_DIR=%s'		% spec['cbtf'].prefix,
+                                  '-DCBTF_KRELL_DIR=%s'		% spec['cbtf-krell'].prefix,
+                                  '-DBOOST_ROOT=%s'             % spec['boost'].prefix,
+                                  '-DBoost_DIR=%s'		% spec['boost'].prefix,
+                                  '-DBOOST_LIBRARYDIR=%s'	% spec['boost'].prefix.lib,
+                                  '-DMRNET_DIR=%s'		% spec['mrnet'].prefix,
+                                  '-DBoost_NO_SYSTEM_PATHS=ON'
+                                 ])
+
+             # Add in the standard cmake arguments
+             cmakeOptions.extend(std_cmake_args)
+
+             # Adjust the standard cmake arguments to what we want the build type, etc to be
+             self.adjustBuildTypeParams_cmakeOptions(spec, cmakeOptions)
+             
+             # Invoke cmake
+             cmake('..', *cmakeOptions)
+
+             make("clean")
+             make()
+             make("install")
diff --git a/var/spack/repos/builtin/packages/cbtf-krell/package.py b/var/spack/repos/builtin/packages/cbtf-krell/package.py
index 9458ac113c..e6050cb4a9 100644
--- a/var/spack/repos/builtin/packages/cbtf-krell/package.py
+++ b/var/spack/repos/builtin/packages/cbtf-krell/package.py
@@ -1,5 +1,5 @@
 ################################################################################
-# Copyright (c) 2015 Krell Institute. All Rights Reserved.
+# 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
@@ -26,21 +26,30 @@ class CbtfKrell(Package):
     homepage = "http://sourceforge.net/p/cbtf/wiki/Home/"
 
     # optional mirror access template
-    #url      = "file:/g/g24/jeg/cbtf-krell-1.5.tar.gz"
-    #version('1.5', 'b13f6df6a93c44149d977773dd776d2f')
+    #url      = "file:/home/jeg/cbtf-krell-1.6.tar.gz"
+    #version('1.6', 'edeb61cd488f16e7b124f77db9ce762d')
 
-    version('1.6', branch='master', git='http://git.code.sf.net/p/cbtf-krell/cbtf-krell')
+    version('1.6', branch='master', git='https://github.com/OpenSpeedShop/cbtf-krell.git')
 
+    # MPI variants
+    variant('openmpi', default=False, description="Build mpi experiment collector for openmpi MPI when this variant is enabled.")
+    variant('mpt', default=False, description="Build mpi experiment collector for SGI MPT MPI when this variant is enabled.")
+    variant('mvapich2', default=False, description="Build mpi experiment collector for mvapich2 MPI when this variant is enabled.")
+    variant('mvapich', default=False, description="Build mpi experiment collector for mvapich MPI when this variant is enabled.")
+    variant('mpich2', default=False, description="Build mpi experiment collector for mpich2 MPI when this variant is enabled.")
+    variant('mpich', default=False, description="Build mpi experiment collector for mpich MPI when this variant is enabled.")
 
     # Dependencies for cbtf-krell
+    depends_on("cmake@3.0.2")
 
     # For binutils service
     depends_on("binutils@2.24+krellpatch")
 
     # collectionTool
-    depends_on("boost@1.50.0")
-    depends_on("dyninst@8.2.1")
-    depends_on("mrnet@4.1.0:+lwthreads")
+    depends_on("boost@1.50.0:")
+    depends_on("dyninst@8.2.1:")
+    depends_on("mrnet@5.0.1:+lwthreads+krellpatch")
+
     depends_on("xerces-c@3.1.1:")
     depends_on("cbtf")
 
@@ -51,66 +60,207 @@ class CbtfKrell(Package):
 
     # MPI Installations
     # These have not worked either for build or execution, commenting out for now
-    #depends_on("openmpi")
-    #depends_on("mvapich2@2.0")
-    #depends_on("mpich")
+    depends_on("openmpi", when='+openmpi')
+    depends_on("mpich", when='+mpich')
+    depends_on("mpich2", when='+mpich2')
+    depends_on("mvapich2", when='+mvapich2')
+    depends_on("mvapich", when='+mvapich')
+    depends_on("mpt", when='+mpt')
 
     parallel = False
 
+    def adjustBuildTypeParams_cmakeOptions(self, spec, cmakeOptions):
+        # 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
+        for word in cmakeOptions[:]:
+            if word.startswith('-DCMAKE_BUILD_TYPE'):
+                cmakeOptions.remove(word)
+            if word.startswith('-DCMAKE_CXX_FLAGS'):
+                cmakeOptions.remove(word)
+            if word.startswith('-DCMAKE_C_FLAGS'):
+                cmakeOptions.remove(word)
+            if word.startswith('-DCMAKE_VERBOSE_MAKEFILE'):
+                cmakeOptions.remove(word)
+        BuildTypeOptions.extend([
+                 '-DCMAKE_VERBOSE_MAKEFILE=ON',
+                 '-DCMAKE_BUILD_TYPE=None',
+                 '-DCMAKE_CXX_FLAGS=%s'         % compile_flags,
+                 '-DCMAKE_C_FLAGS=%s'           % compile_flags
+        ])
+
+        cmakeOptions.extend(BuildTypeOptions)
+
+
+
+    def set_mpi_cmakeOptions(self, spec, cmakeOptions):
+        # 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
+            ])
+        # mpich
+        if '+mpich' in spec:
+            MPIOptions.extend([
+                 '-DMPICH_DIR=%s' % spec['mpich'].prefix
+            ])
+        # mpich2
+        if '+mpich2' in spec:
+            MPIOptions.extend([
+                 '-DMPICH2_DIR=%s' % spec['mpich2'].prefix
+            ])
+        # mvapich
+        if '+mvapich' in spec:
+            MPIOptions.extend([
+                 '-DMVAPICH_DIR=%s' % spec['mvapich'].prefix
+            ])
+        # mvapich2
+        if '+mvapich2' in spec:
+            MPIOptions.extend([
+                 '-DMVAPICH2_DIR=%s' % spec['mvapich2'].prefix
+            ])
+        # mpt
+        if '+mpt' in spec:
+            MPIOptions.extend([
+                 '-DMPT_DIR=%s' % spec['mpt'].prefix
+            ])
+
+        cmakeOptions.extend(MPIOptions)
+
     def install(self, spec, prefix):
 
         # Add in paths for finding package config files that tell us where to find these packages
-        cmake_prefix_path = join_path(spec['cbtf'].prefix) + ':' + join_path(spec['dyninst'].prefix)
-
-        # FIXME - hard code path until external package support is available
-        # Need to change this path and/or add additional paths for MPI experiment support on different platforms
-        #openmpi_prefix_path = "/opt/openmpi-1.8.2"
-        #mvapich_prefix_path = "/usr/local/tools/mvapich-gnu"
-
-        # Other possibilities, they will need a -DMVAPICH_DIR=, etc clause in the cmake command to be recognized
-        # mvapich_prefix_path = "<mvapich install path>"
-        # mvapich2_prefix_path = "<mvapich2 install path>"
-        # mpich2_prefix_path = "<mpich2 install path>"
-        # mpich_prefix_path = "<mpich install path>"
-        # mpt_prefix_path = "<mpt install path>"
-
-        # Add in paths for cuda if requested via the cuda variant
-        # FIXME - hard code path until external package support is available
-        #if '+cuda' in spec:
-        #    cuda_prefix_path = "/usr/local/cuda-6.0"
-        #    cupti_prefix_path = "/usr/local/cuda-6.0/extras/CUPTI"
-        #else:
-        #    cuda_prefix_path = ""
-        #    cupti_prefix_path = ""
-
-        #'-DMVAPICH2_DIR=%s'           % spec['mvapich2'].prefix,
-        #'-DOPENMPI_DIR=%s'            % spec['openmpi'].prefix,
-        #'-DMPICH_DIR=%s'              % spec['mpich'].prefix,
-        #'-DCMAKE_LIBRARY_PATH=%s'	% prefix.lib64,
-        #'-DOPENMPI_DIR=%s'            % openmpi_prefix_path,
-        #'-DMVAPICH_DIR=%s'            % mvapich_prefix_path,
-        #'-DLIB_SUFFIX=64',
-        #'-DCUDA_DIR=%s'               % cuda_prefix_path,
-        #'-DCUPTI_DIR=%s'              % cupti_prefix_path,
+        #cmake_prefix_path = join_path(spec['cbtf'].prefix) + ':' + join_path(spec['dyninst'].prefix)
+                                 #'-DCMAKE_PREFIX_PATH=%s'	% cmake_prefix_path
 
         # Build cbtf-krell with cmake 
         with working_dir('build_cbtf_krell', create=True):
-            cmake('..',
-                  '-DCMAKE_BUILD_TYPE=Debug',
-                  '-DCMAKE_INSTALL_PREFIX=%s'	% prefix,
-                  '-DCBTF_DIR=%s'		% spec['cbtf'].prefix,
-                  '-DBINUTILS_DIR=%s'           % spec['binutils'].prefix,
-                  '-DLIBMONITOR_DIR=%s'         % spec['libmonitor'].prefix,
-                  '-DLIBUNWIND_DIR=%s'          % spec['libunwind'].prefix,
-                  '-DPAPI_DIR=%s'               % spec['papi'].prefix,
-                  '-DBOOST_DIR=%s'              % spec['boost'].prefix,
-                  '-DMRNET_DIR=%s'              % spec['mrnet'].prefix,
-                  '-DDYNINST_DIR=%s'		% spec['dyninst'].prefix,
-                  '-DXERCESC_DIR=%s'            % spec['xerces-c'].prefix,
-                  '-DCMAKE_PREFIX_PATH=%s'	% cmake_prefix_path,
-                  *std_cmake_args)
+            cmakeOptions = []
+            cmakeOptions.extend(['-DCMAKE_INSTALL_PREFIX=%s'	% prefix,
+                                 '-DCBTF_DIR=%s' 		% spec['cbtf'].prefix,
+                                 '-DBINUTILS_DIR=%s'		% spec['binutils'].prefix,
+                                 '-DLIBMONITOR_DIR=%s'		% spec['libmonitor'].prefix,
+                                 '-DLIBUNWIND_DIR=%s'		% spec['libunwind'].prefix,
+                                 '-DPAPI_DIR=%s'		% spec['papi'].prefix,
+                                 '-DBOOST_DIR=%s'		% spec['boost'].prefix,
+                                 '-DMRNET_DIR=%s'		% spec['mrnet'].prefix,
+                                 '-DDYNINST_DIR=%s'		% spec['dyninst'].prefix,
+                                 '-DXERCESC_DIR=%s'		% spec['xerces-c'].prefix
+                                ])
+
+
+            # Add any MPI implementations coming from variant settings
+            self.set_mpi_cmakeOptions(spec, cmakeOptions)
+
+            # Add in the standard cmake arguments
+            cmakeOptions.extend(std_cmake_args)
+
+            # Adjust the standard cmake arguments to what we want the build type, etc to be
+            self.adjustBuildTypeParams_cmakeOptions(spec, cmakeOptions)
+             
+            # Invoke cmake
+            cmake('..', *cmakeOptions)
 
             make("clean")
             make()
             make("install")
 
+
+
+        #if '+cray' in spec:
+	#if 'cray' in self.spec.architecture:
+        #    if '+runtime' in spec:
+        #        with working_dir('build_cbtf_cray_runtime', create=True):
+        #            python_vers='%d.%d' % spec['python'].version[:2]
+        #            cmake .. \
+        #                    -DCMAKE_BUILD_TYPE=Debug \
+        #                    -DTARGET_OS="cray" \
+        #                    -DRUNTIME_ONLY="true" \
+        #                    -DCMAKE_INSTALL_PREFIX=${CBTF_KRELL_PREFIX} \
+        #                    -DCMAKE_PREFIX_PATH=${CBTF_ROOT} \
+        #                    -DCBTF_DIR=${CBTF_ROOT} \
+        #                    -DBOOST_ROOT=${BOOST_INSTALL_PREFIX} \
+        #                    -DXERCESC_DIR=${XERCESC_INSTALL_PREFIX} \
+        #                    -DBINUTILS_DIR=${KRELL_ROOT} \
+        #                    -DLIBMONITOR_DIR=${KRELL_ROOT_COMPUTE} \
+        #                    -DLIBUNWIND_DIR=${KRELL_ROOT_COMPUTE} \
+        #                    -DPAPI_DIR=${PAPI_ROOT} \
+        #                    -DDYNINST_DIR=${DYNINST_CN_ROOT} \
+        #                    -DMRNET_DIR=${MRNET_INSTALL_PREFIX} \
+        #                    -DMPICH2_DIR=/opt/cray/mpt/7.0.1/gni/mpich2-gnu/48
+        #    else:
+        #        with working_dir('build_cbtf_cray_frontend', create=True):
+        #            python_vers='%d.%d' % spec['python'].version[:2]
+        #            cmake .. \
+        #                    -DCMAKE_BUILD_TYPE=Debug \
+        #                    -DCMAKE_INSTALL_PREFIX=${CBTF_KRELL_PREFIX} \
+        #                    -DCMAKE_PREFIX_PATH=${CBTF_ROOT} \
+        #                    -DCBTF_DIR=${CBTF_ROOT} \
+        #                    -DRUNTIME_TARGET_OS="cray" \
+        #                    -DCBTF_KRELL_CN_RUNTIME_DIR=${CBTF_KRELL_CN_RUNTIME_ROOT} \
+        #                    -DCBTF_CN_RUNTIME_DIR=${CBTF_CN_RUNTIME_ROOT} \
+        #                    -DLIBMONITOR_CN_RUNTIME_DIR=${LIBMONITOR_CN_ROOT} \
+        #                    -DLIBUNWIND_CN_RUNTIME_DIR=${LIBUNWIND_CN_ROOT} \
+        #                    -DPAPI_CN_RUNTIME_DIR=${PAPI_CN_ROOT} \
+        #                    -DXERCESC_CN_RUNTIME_DIR=/${XERCESC_CN_ROOT} \
+        #                    -DMRNET_CN_RUNTIME_DIR=${MRNET_CN_ROOT} \
+        #                    -DBOOST_CN_RUNTIME_DIR=${BOOST_CN_ROOT} \
+        #                    -DDYNINST_CN_RUNTIME_DIR=${DYNINST_CN_ROOT} \
+        #                    -DBOOST_ROOT=/${KRELL_ROOT} \
+        #                    -DXERCESC_DIR=/${KRELL_ROOT} \
+        #                    -DBINUTILS_DIR=/${KRELL_ROOT} \
+        #                    -DLIBMONITOR_DIR=${KRELL_ROOT} \
+        #                    -DLIBUNWIND_DIR=${KRELL_ROOT} \
+        #                    -DPAPI_DIR=${PAPI_ROOT} \
+        #                    -DDYNINST_DIR=${KRELL_ROOT} \
+        #                    -DMRNET_DIR=${KRELL_ROOT} \
+        #                    -DMPICH2_DIR=/opt/cray/mpt/7.0.1/gni/mpich2-gnu/48
+        #    fi
+#
+#                    make("clean")
+#                    make()
+#                    make("install")
+#
+#        elif '+mic' in spec:
+#            if '+runtime' in spec:
+#                with working_dir('build_cbtf_mic_runtime', create=True):
+#                    python_vers='%d.%d' % spec['python'].version[:2]
+#                    cmake .. \
+#
+#            else:
+#                with working_dir('build_cbtf_cray_frontend', create=True):
+#                    python_vers='%d.%d' % spec['python'].version[:2]
+#                    cmake .. \
+#            fi
+#
+#        else:
+#            # Build cbtf-krell with cmake 
+#            with working_dir('build_cbtf_krell', create=True):
+#                cmake('..',
+#                      '-DCMAKE_BUILD_TYPE=Debug',
+#                      '-DCMAKE_INSTALL_PREFIX=%s'	% prefix,
+#                      '-DCBTF_DIR=%s' 			% spec['cbtf'].prefix,
+#                      '-DBINUTILS_DIR=%s'		% spec['binutils'].prefix,
+#                      '-DLIBMONITOR_DIR=%s'		% spec['libmonitor'].prefix,
+#                      '-DLIBUNWIND_DIR=%s'		% spec['libunwind'].prefix,
+#                      '-DPAPI_DIR=%s'			% spec['papi'].prefix,
+#                      '-DBOOST_DIR=%s'			% spec['boost'].prefix,
+#                      '-DMRNET_DIR=%s'			% spec['mrnet'].prefix,
+#                      '-DDYNINST_DIR=%s'		% spec['dyninst'].prefix,
+#                      '-DXERCESC_DIR=%s'		% spec['xerces-c'].prefix,
+#                      '-DOPENMPI_DIR=%s'		% openmpi_prefix_path,
+#                      '-DCMAKE_PREFIX_PATH=%s'		% cmake_prefix_path,
+#                      *std_cmake_args)
+#
+#                make("clean")
+#                make()
+#                make("install")
+#
+#        fi
+#
diff --git a/var/spack/repos/builtin/packages/cbtf-lanl/package.py b/var/spack/repos/builtin/packages/cbtf-lanl/package.py
index 2da9e8a1f7..5ca88601f3 100644
--- a/var/spack/repos/builtin/packages/cbtf-lanl/package.py
+++ b/var/spack/repos/builtin/packages/cbtf-lanl/package.py
@@ -1,5 +1,5 @@
 ################################################################################
-# Copyright (c) 2015 Krell Institute. All Rights Reserved.
+# 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
@@ -29,32 +29,65 @@ 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")
     # Dependencies for cbtf-krell
-    depends_on("boost@1.50")
-    depends_on("mrnet@4.1.0:+lwthreads")
+    depends_on("mrnet@5.0.1:+lwthreads+krellpatch")
     depends_on("xerces-c@3.1.1:")
     depends_on("cbtf")
     depends_on("cbtf-krell")
 
     parallel = False
 
+    def adjustBuildTypeParams_cmakeOptions(self, spec, cmakeOptions):
+        # 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
+        for word in cmakeOptions[:]:
+            if word.startswith('-DCMAKE_BUILD_TYPE'):
+                cmakeOptions.remove(word)
+            if word.startswith('-DCMAKE_CXX_FLAGS'):
+                cmakeOptions.remove(word)
+            if word.startswith('-DCMAKE_C_FLAGS'):
+                cmakeOptions.remove(word)
+            if word.startswith('-DCMAKE_VERBOSE_MAKEFILE'):
+                cmakeOptions.remove(word)
+        BuildTypeOptions.extend([
+                 '-DCMAKE_VERBOSE_MAKEFILE=ON',
+                 '-DCMAKE_BUILD_TYPE=None',
+                 '-DCMAKE_CXX_FLAGS=%s'         % compile_flags,
+                 '-DCMAKE_C_FLAGS=%s'           % compile_flags
+        ])
+
+        cmakeOptions.extend(BuildTypeOptions)
+
     def install(self, spec, prefix):
 
      # Add in paths for finding package config files that tell us where to find these packages
      cmake_prefix_path = join_path(spec['cbtf'].prefix) + ':' + join_path(spec['cbtf-krell'].prefix)
 
      with working_dir('build', create=True):
-          cmake('..',
-                '-DCBTF_DIR=%s'            % spec['cbtf'].prefix,
-                '-DCBTF_KRELL_DIR=%s'      % spec['cbtf-krell'].prefix,
-                '-DMRNET_DIR=%s'           % spec['mrnet'].prefix,
-                '-DXERCESC_DIR=%s'         % spec['xerces-c'].prefix,
-                '-DCMAKE_PREFIX_PATH=%s'   % cmake_prefix_path,
-                '-DCMAKE_MODULE_PATH=%s'   % join_path(prefix.share,'KrellInstitute','cmake'),
-                *std_cmake_args)
-
-          make("clean")
-          make()
-          make("install")
+         cmakeOptions = []
+         cmakeOptions.extend(['-DCMAKE_INSTALL_PREFIX=%s'   % prefix,
+                              '-DCBTF_DIR=%s'               % spec['cbtf'].prefix,
+                              '-DCBTF_KRELL_DIR=%s'         % spec['cbtf-krell'].prefix,
+                              '-DMRNET_DIR=%s'              % spec['mrnet'].prefix,
+                              '-DXERCESC_DIR=%s'            % spec['xerces-c'].prefix,
+                              '-DCMAKE_PREFIX_PATH=%s'      % cmake_prefix_path,
+                              '-DCMAKE_MODULE_PATH=%s'      % join_path(prefix.share,'KrellInstitute','cmake')
+                             ])
+
+         # Add in the standard cmake arguments
+         cmakeOptions.extend(std_cmake_args)
+
+         # Adjust the standard cmake arguments to what we want the build type, etc to be
+         self.adjustBuildTypeParams_cmakeOptions(spec, cmakeOptions)
+             
+         # Invoke cmake
+         cmake('..', *cmakeOptions)
+
+         make("clean")
+         make()
+         make("install")
 
diff --git a/var/spack/repos/builtin/packages/cbtf/package.py b/var/spack/repos/builtin/packages/cbtf/package.py
index 52e6a07020..7ce1cd382b 100644
--- a/var/spack/repos/builtin/packages/cbtf/package.py
+++ b/var/spack/repos/builtin/packages/cbtf/package.py
@@ -1,5 +1,5 @@
 ################################################################################
-# Copyright (c) 2015 Krell Institute. All Rights Reserved.
+# 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
@@ -25,21 +25,44 @@ class Cbtf(Package):
     homepage = "http://sourceforge.net/p/cbtf/wiki/Home"
 
     # Mirror access template example
-    #url      = "file:/g/g24/jeg/cbtf-1.5.tar.gz"
-    #version('1.6', '1ca88a8834759c4c74452cb97fe7b70a')
+    #url      = "file:/home/jeg/cbtf-1.6.tar.gz"
+    #version('1.6', 'c1ef4e5aa4e470dffb042abdba0b9987')
 
     # Use when the git repository is available
-    version('1.6', branch='master', git='http://git.code.sf.net/p/cbtf/cbtf')
+    version('1.6', branch='master', git='https://github.com/OpenSpeedShop/cbtf.git')
 
-    depends_on("cmake")
-    #depends_on("boost@1.42.0:")
-    depends_on("boost@1.50.0")
-    depends_on("mrnet@4.1.0+lwthreads")
+    variant('runtime', default=False, description="build only the runtime libraries and collectors.")
+
+    depends_on("cmake@3.0.2")
+    depends_on("boost@1.50.0:")
+    depends_on("mrnet@5.0.1:+lwthreads+krellpatch")
     depends_on("xerces-c@3.1.1:")
-    depends_on("libxml2")
+    # Work around for spack libxml2 package bug, take off python when fixed
+    depends_on("libxml2+python")
 
     parallel = False
 
+    def adjustBuildTypeParams_cmakeOptions(self, spec, cmakeOptions):
+        # 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
+        for word in cmakeOptions[:]:
+            if word.startswith('-DCMAKE_BUILD_TYPE'):
+                cmakeOptions.remove(word)
+            if word.startswith('-DCMAKE_CXX_FLAGS'):
+                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
+        ])
+
+        cmakeOptions.extend(BuildTypeOptions)
+
     def install(self, spec, prefix):
       with working_dir('build', create=True):
 
@@ -48,14 +71,45 @@ class Cbtf(Package):
           # or BOOST_INCLUDEDIR).  Useful when specifying BOOST_ROOT. 
           # Defaults to OFF.
 
-          cmake('..',
-                '--debug-output',
-                '-DBoost_NO_SYSTEM_PATHS=TRUE',
-                '-DXERCESC_DIR=%s'         % spec['xerces-c'].prefix,
-                '-DBOOST_ROOT=%s'          % spec['boost'].prefix,
-                '-DMRNET_DIR=%s'           % spec['mrnet'].prefix,
-                '-DCMAKE_MODULE_PATH=%s'   % join_path(prefix.share,'KrellInstitute','cmake'),
-                *std_cmake_args)
+          if '+runtime' in spec:
+              # Install message tag include file for use in Intel MIC cbtf-krell build
+              # FIXME
+              cmakeOptions = []
+              cmakeOptions.extend(['-DCMAKE_INSTALL_PREFIX=%s'	% prefix,
+                                   '-DBoost_NO_SYSTEM_PATHS=TRUE',
+                                   '-DXERCESC_DIR=%s'         % spec['xerces-c'].prefix,
+                                   '-DBOOST_ROOT=%s'          % spec['boost'].prefix,
+                                   '-DMRNET_DIR=%s'           % spec['mrnet'].prefix,
+                                   '-DCMAKE_MODULE_PATH=%s'   % join_path(prefix.share,'KrellInstitute','cmake')
+                                  ])
+
+              # Add in the standard cmake arguments
+              cmakeOptions.extend(std_cmake_args)
+
+              # Adjust the standard cmake arguments to what we want the build type, etc to be
+              self.adjustBuildTypeParams_cmakeOptions(spec, cmakeOptions)
+             
+              # Invoke cmake
+              cmake('..', *cmakeOptions)
+
+          else:
+              cmakeOptions = []
+              cmakeOptions.extend(['-DCMAKE_INSTALL_PREFIX=%s'	% prefix,
+                                   '-DBoost_NO_SYSTEM_PATHS=TRUE',
+                                   '-DXERCESC_DIR=%s'         % spec['xerces-c'].prefix,
+                                   '-DBOOST_ROOT=%s'          % spec['boost'].prefix,
+                                   '-DMRNET_DIR=%s'           % spec['mrnet'].prefix,
+                                   '-DCMAKE_MODULE_PATH=%s'   % join_path(prefix.share,'KrellInstitute','cmake')
+                                  ])
+
+              # Add in the standard cmake arguments
+              cmakeOptions.extend(std_cmake_args)
+
+              # Adjust the standard cmake arguments to what we want the build type, etc to be
+              self.adjustBuildTypeParams_cmakeOptions(spec, cmakeOptions)
+             
+              # Invoke cmake
+              cmake('..', *cmakeOptions)
 
           make("clean")
           make()
diff --git a/var/spack/repos/builtin/packages/openspeedshop/package.py b/var/spack/repos/builtin/packages/openspeedshop/package.py
index 8c71bcb7c3..bcd77351aa 100644
--- a/var/spack/repos/builtin/packages/openspeedshop/package.py
+++ b/var/spack/repos/builtin/packages/openspeedshop/package.py
@@ -1,5 +1,5 @@
 ################################################################################
-# Copyright (c) 2015 Krell Institute. All Rights Reserved.
+# 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
@@ -28,20 +28,15 @@ class Openspeedshop(Package):
     as open source code primarily under LGPL.
     """
 
-
     homepage = "http://www.openspeedshop.org"
-    url      = "http://sourceforge.net/projects/openss/files/openss/openspeedshop-2.2/openspeedshop-2.2.tar.gz/download"
+    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')
 
-    #homepage = "http://www.openspeedshop.org"
-    #url      = "http://sourceforge.net/projects/openss/files/openss/openspeedshop-2.1/openspeedshop-2.1.tar.gz/download"
-    #version('2.1', 'bdaa57c1a0db9d0c3e0303fd8496c507')
-
-    # optional mirror template
-    #url      = "file:/g/g24/jeg/openspeedshop-2.1.tar.gz"
-    #version('2.1', '64ee17166519838c7b94a1adc138e94f')
-
-
+    # Optional mirror template
+    #url = "file:/home/jeg/OpenSpeedShop_ROOT/SOURCES/openspeedshop-2.2.tar.gz"
+    #version('2.2', '643337740dc6c2faca60f42d3620b0e1')
 
     parallel = False
 
@@ -51,11 +46,17 @@ class Openspeedshop(Package):
     variant('frontend', default=False, description="build only the front-end tool using the runtime_dir to point to the 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('intelmic', default=False, description="build for the Intel MIC platform.")
-    variant('cray', default=False, description="build for Cray platforms.")
-    variant('bluegene', default=False, description="build for Cray platforms.")
     variant('rtfe', default=False, description="build for generic cluster platforms that have different processors on the fe and be nodes.")
 
+    # MPI variants
+    variant('openmpi', default=False, description="Build mpi experiment collector for openmpi MPI when this variant is enabled.")
+    variant('mpt', default=False, description="Build mpi experiment collector for SGI MPT MPI when this variant is enabled.")
+    variant('mvapich2', default=False, description="Build mpi experiment collector for mvapich2 MPI when this variant is enabled.")
+    variant('mvapich', default=False, description="Build mpi experiment collector for mvapich MPI when this variant is enabled.")
+    variant('mpich2', default=False, description="Build mpi experiment collector for mpich2 MPI when this variant is enabled.")
+    variant('mpich', default=False, description="Build mpi experiment collector for mpich MPI when this variant is enabled.")
+
+    depends_on("cmake@3.0.2")
     # Dependencies for openspeedshop that are common to all the variants of the OpenSpeedShop build
     depends_on("bison")
     depends_on("flex")
@@ -63,8 +64,8 @@ class Openspeedshop(Package):
     depends_on("libelf")
     depends_on("libdwarf")
     depends_on("sqlite")
-    depends_on("boost@1.50.0")
-    depends_on("dyninst@8.2.1")
+    depends_on("boost@1.50.0:")
+    depends_on("dyninst@9.1.0")
     depends_on("python")
     depends_on("qt@3.3.8b+krellpatch")
 
@@ -72,15 +73,78 @@ class Openspeedshop(Package):
     depends_on("libunwind", when='+offline')
     depends_on("papi", when='+offline')
     depends_on("libmonitor+krellpatch", when='+offline')
-    #depends_on("openmpi+krelloptions", when='+offline')
-    #depends_on("openmpi", when='+offline')
-    #depends_on("mpich", when='+offline')
+    depends_on("openmpi", when='+offline+openmpi')
+    depends_on("mpich", when='+offline+mpich')
+    depends_on("mpich2", when='+offline+mpich2')
+    depends_on("mvapich2", when='+offline+mvapich2')
+    depends_on("mvapich", when='+offline+mvapich')
+    depends_on("mpt", when='+offline+mpt')
 
     # Dependencies only for the openspeedshop cbtf package.
     depends_on("cbtf", when='+cbtf')
     depends_on("cbtf-krell", when='+cbtf')
-    depends_on("cbtf-argonavis", when='+cbtf')
-    depends_on("mrnet@4.1.0:+lwthreads", when='+cbtf')
+    depends_on("cbtf-argonavis", when='+cbtf+cuda')
+    depends_on("mrnet@5.0.1:+lwthreads+krellpatch", 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
+
+        compile_flags="-O2 -g"
+        BuildTypeOptions = []
+        # 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)
+            if word.startswith('-DCMAKE_CXX_FLAGS'):
+                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
+        ])
+
+        cmakeOptions.extend(BuildTypeOptions)
+
+    def set_mpi_cmakeOptions(self, spec, cmakeOptions):
+        # 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
+            ])
+        # mpich
+        if '+mpich' in spec:
+            MPIOptions.extend([
+                 '-DMPICH_DIR=%s' % spec['mpich'].prefix
+            ])
+        # mpich2
+        if '+mpich2' in spec:
+            MPIOptions.extend([
+                 '-DMPICH2_DIR=%s' % spec['mpich2'].prefix
+            ])
+        # mvapich
+        if '+mvapich' in spec:
+            MPIOptions.extend([
+                 '-DMVAPICH_DIR=%s' % spec['mvapich'].prefix
+            ])
+        # mvapich2
+        if '+mvapich2' in spec:
+            MPIOptions.extend([
+                 '-DMVAPICH2_DIR=%s' % spec['mvapich2'].prefix
+            ])
+        # mpt
+        if '+mpt' in spec:
+            MPIOptions.extend([
+                 '-DMPT_DIR=%s' % spec['mpt'].prefix
+            ])
+
+        cmakeOptions.extend(MPIOptions)
+
 
     def install(self, spec, prefix):
 
@@ -100,51 +164,118 @@ class Openspeedshop(Package):
             instrumentor_setting = "offline"
             if '+runtime' in spec:
                 with working_dir('build_runtime', create=True):
-                    cmake('..',
-                          '-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,
-                          *std_cmake_args)
+
+                    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 
+                                        ])
+ 
+                    # 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
+                    self.adjustBuildTypeParams_cmakeOptions(spec, cmakeOptions)
+
+                    cmake('..', *cmakeOptions)
+
                     make("clean")
                     make()
                     make("install")
             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]
-                    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,
-                          '-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,
-                          *std_cmake_args)
+
+                    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
+                                        ])
+
+                    # 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
+                    self.adjustBuildTypeParams_cmakeOptions(spec, cmakeOptions)
+
+                    cmake('..', *cmakeOptions)
+
                     make("clean")
                     make()
                     make("install")
 
         elif '+cbtf' in spec:
             instrumentor_setting = "cbtf"
+            resolve_symbols = "symtabapi"
             cmake_prefix_path = join_path(spec['cbtf'].prefix) + ':' + join_path(spec['cbtf-krell'].prefix) + ':' + join_path(spec['dyninst'].prefix)
+            #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:
+
             if '+runtime' in spec:
                 with working_dir('build_cbtf_runtime', create=True):
                     python_vers='%d.%d' % spec['python'].version[:2]
@@ -203,14 +334,63 @@ class Openspeedshop(Package):
         #         tbd
 
 
-        #if '+intelmic' in spec:
-        #    with working_dir('build_intelmic_compute', create=True):
-        #         tbd
-        #    with working_dir('build_intelmic_frontend', create=True):
-        #         tbd
 
-        #if '+cray' in spec:
-        #    with working_dir('build_cray_compute', create=True):
-        #         tbd
-        #    with working_dir('build_cray_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
+
+
+
-- 
cgit v1.2.3-70-g09d2