Merge pull request #86 from jgalarowicz/develop
Add support for Krell Institute related products.
This commit is contained in:
commit
4d982f5aca
52
var/spack/packages/binutils/binutilskrell-2.24.patch
Normal file
52
var/spack/packages/binutils/binutilskrell-2.24.patch
Normal file
@ -0,0 +1,52 @@
|
||||
--- binutils-2.24/libiberty/Makefile.in 2013-11-04 10:33:40.000000000 -0500
|
||||
+++ binutils-2.24-fixes/libiberty/Makefile.in 2014-10-17 16:22:31.413655000 -0400
|
||||
@@ -66,6 +66,7 @@
|
||||
MAKEOVERRIDES =
|
||||
|
||||
TARGETLIB = ./libiberty.a
|
||||
+TARGETLIBPIC = ./libiberty_pic.a
|
||||
TESTLIB = ./testlib.a
|
||||
|
||||
LIBOBJS = @LIBOBJS@
|
||||
@@ -355,27 +356,27 @@
|
||||
# since it will be passed the multilib flags.
|
||||
MULTIOSDIR = `$(CC) $(CFLAGS) -print-multi-os-directory`
|
||||
install_to_libdir: all
|
||||
- if test -n "${target_header_dir}"; then \
|
||||
- ${mkinstalldirs} $(DESTDIR)$(libdir)/$(MULTIOSDIR); \
|
||||
- $(INSTALL_DATA) $(TARGETLIB) $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n; \
|
||||
- ( cd $(DESTDIR)$(libdir)/$(MULTIOSDIR) ; chmod 644 $(TARGETLIB)n ;$(RANLIB) $(TARGETLIB)n ); \
|
||||
- mv -f $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB); \
|
||||
- case "${target_header_dir}" in \
|
||||
- /*) thd=${target_header_dir};; \
|
||||
- *) thd=${includedir}/${target_header_dir};; \
|
||||
- esac; \
|
||||
- ${mkinstalldirs} $(DESTDIR)$${thd}; \
|
||||
- for h in ${INSTALLED_HEADERS}; do \
|
||||
- ${INSTALL_DATA} $$h $(DESTDIR)$${thd}; \
|
||||
- done; \
|
||||
- fi
|
||||
+ ${mkinstalldirs} $(DESTDIR)$(libdir)/$(MULTIOSDIR); \
|
||||
+ $(INSTALL_DATA) $(TARGETLIB) $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n; \
|
||||
+ $(INSTALL_DATA) pic/$(TARGETLIB) $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIBPIC)n; \
|
||||
+ ( cd $(DESTDIR)$(libdir)/$(MULTIOSDIR) ; chmod 644 $(TARGETLIB)n ;$(RANLIB) $(TARGETLIB)n ); \
|
||||
+ ( cd $(DESTDIR)$(libdir)/$(MULTIOSDIR) ; chmod 644 $(TARGETLIBPIC)n ;$(RANLIB) $(TARGETLIBPIC)n ); \
|
||||
+ mv -f $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB); \
|
||||
+ mv -f $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIBPIC)n $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIBPIC); \
|
||||
+ ${mkinstalldirs} $(DESTDIR)$${includedir}; \
|
||||
+ for h in ${INSTALLED_HEADERS}; do \
|
||||
+ ${INSTALL_DATA} $$h $(DESTDIR)$${includedir}; \
|
||||
+ done;
|
||||
@$(MULTIDO) $(FLAGS_TO_PASS) multi-do DO=install
|
||||
|
||||
install_to_tooldir: all
|
||||
${mkinstalldirs} $(DESTDIR)$(tooldir)/lib/$(MULTIOSDIR)
|
||||
$(INSTALL_DATA) $(TARGETLIB) $(DESTDIR)$(tooldir)/lib/$(MULTIOSDIR)/$(TARGETLIB)n
|
||||
+ $(INSTALL_DATA) pic/$(TARGETLIB) $(DESTDIR)$(tooldir)/lib/$(MULTIOSDIR)/$(TARGETLIBPIC)n
|
||||
( cd $(DESTDIR)$(tooldir)/lib/$(MULTIOSDIR) ; chmod 644 $(TARGETLIB)n; $(RANLIB) $(TARGETLIB)n )
|
||||
+ ( cd $(DESTDIR)$(tooldir)/lib/$(MULTIOSDIR) ; chmod 644 $(TARGETLIBPIC)n; $(RANLIB) $(TARGETLIBPIC)n )
|
||||
mv -f $(DESTDIR)$(tooldir)/lib/$(MULTIOSDIR)/$(TARGETLIB)n $(DESTDIR)$(tooldir)/lib/$(MULTIOSDIR)/$(TARGETLIB)
|
||||
+ mv -f $(DESTDIR)$(tooldir)/lib/$(MULTIOSDIR)/$(TARGETLIBPIC)n $(DESTDIR)$(tooldir)/lib/$(MULTIOSDIR)/$(TARGETLIBPIC)
|
||||
@$(MULTIDO) $(FLAGS_TO_PASS) multi-do DO=install
|
||||
|
||||
# required-list was used when building a shared bfd/opcodes/libiberty
|
@ -3,12 +3,15 @@
|
||||
class Binutils(Package):
|
||||
"""GNU binutils, which contain the linker, assembler, objdump and others"""
|
||||
homepage = "http://www.gnu.org/software/binutils/"
|
||||
url = "ftp://ftp.gnu.org/gnu/binutils/binutils-2.25.tar.bz2"
|
||||
|
||||
version('2.25', 'd9f3303f802a5b6b0bb73a335ab89d66')
|
||||
version('2.24', 'e0f71a7b2ddab0f8612336ac81d9636b')
|
||||
version('2.23.2', '4f8fa651e35ef262edc01d60fb45702e')
|
||||
version('2.20.1', '2b9dc8f2b7dbd5ec5992c6e29de0b764')
|
||||
version('2.25', 'd9f3303f802a5b6b0bb73a335ab89d66',url="ftp://ftp.gnu.org/gnu/binutils/binutils-2.25.tar.bz2")
|
||||
version('2.24', 'e0f71a7b2ddab0f8612336ac81d9636b',url="ftp://ftp.gnu.org/gnu/binutils/binutils-2.24.tar.bz2")
|
||||
version('2.23.2', '4f8fa651e35ef262edc01d60fb45702e',url="ftp://ftp.gnu.org/gnu/binutils/binutils-2.23.2.tar.bz2")
|
||||
version('2.20.1', '2b9dc8f2b7dbd5ec5992c6e29de0b764',url="ftp://ftp.gnu.org/gnu/binutils/binutils-2.20.1.tar.bz2")
|
||||
|
||||
# Add a patch that creates binutils libiberty_pic.a which is preferred by OpenSpeedShop and cbtf-krell
|
||||
variant('krellpatch', default=False, description="build with openspeedshop based patch.")
|
||||
patch('binutilskrell-2.24.patch', when='@2.24+krellpatch')
|
||||
|
||||
variant('libiberty', default=False, description='Also install libiberty.')
|
||||
|
||||
|
66
var/spack/packages/cbtf-argonavis/package.py
Normal file
66
var/spack/packages/cbtf-argonavis/package.py
Normal file
@ -0,0 +1,66 @@
|
||||
################################################################################
|
||||
# Copyright (c) 2015 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 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.
|
||||
#
|
||||
# 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 *
|
||||
|
||||
class CbtfArgonavis(Package):
|
||||
"""CBTF Argo Navis project contains the CUDA collector and supporting
|
||||
libraries that was done as a result of a DOE SBIR grant."""
|
||||
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')
|
||||
|
||||
version('1.6', branch='master', git='http://git.code.sf.net/p/cbtf-argonavis/cbtf-argonavis')
|
||||
|
||||
depends_on("cmake@3.0.2:")
|
||||
depends_on("papi")
|
||||
depends_on("cbtf")
|
||||
depends_on("cbtf-krell")
|
||||
depends_on("cuda")
|
||||
|
||||
parallel = False
|
||||
|
||||
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")
|
||||
|
116
var/spack/packages/cbtf-krell/package.py
Normal file
116
var/spack/packages/cbtf-krell/package.py
Normal file
@ -0,0 +1,116 @@
|
||||
################################################################################
|
||||
# Copyright (c) 2015 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 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.
|
||||
#
|
||||
# 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 *
|
||||
|
||||
class CbtfKrell(Package):
|
||||
"""CBTF Krell project contains the Krell Institute contributions to the CBTF project.
|
||||
These contributions include many performance data collectors and support
|
||||
libraries as well as some example tools that drive the data collection at
|
||||
HPC levels of scale."""
|
||||
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')
|
||||
|
||||
version('1.6', branch='master', git='http://git.code.sf.net/p/cbtf-krell/cbtf-krell')
|
||||
|
||||
|
||||
# Dependencies for cbtf-krell
|
||||
|
||||
# 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("xerces-c@3.1.1:")
|
||||
depends_on("cbtf")
|
||||
|
||||
# for services and collectors
|
||||
depends_on("libmonitor+krellpatch")
|
||||
depends_on("libunwind")
|
||||
depends_on("papi")
|
||||
|
||||
# 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")
|
||||
|
||||
parallel = False
|
||||
|
||||
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,
|
||||
|
||||
# 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)
|
||||
|
||||
make("clean")
|
||||
make()
|
||||
make("install")
|
||||
|
60
var/spack/packages/cbtf-lanl/package.py
Normal file
60
var/spack/packages/cbtf-lanl/package.py
Normal file
@ -0,0 +1,60 @@
|
||||
################################################################################
|
||||
# Copyright (c) 2015 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 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.
|
||||
#
|
||||
# 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 *
|
||||
|
||||
class CbtfLanl(Package):
|
||||
"""CBTF LANL project contains a memory tool and data center type system command monitoring tool."""
|
||||
homepage = "http://sourceforge.net/p/cbtf/wiki/Home/"
|
||||
|
||||
|
||||
# Mirror access template example
|
||||
#url = "file:/g/g24/jeg/cbtf-lanl-1.5.tar.gz"
|
||||
#version('1.5', 'c3f78f967b0a42c6734ce4be0e602426')
|
||||
|
||||
version('1.6', branch='master', git='http://git.code.sf.net/p/cbtf-lanl/cbtf-lanl')
|
||||
|
||||
|
||||
# Dependencies for cbtf-krell
|
||||
depends_on("boost@1.50")
|
||||
depends_on("mrnet@4.1.0:+lwthreads")
|
||||
depends_on("xerces-c@3.1.1:")
|
||||
depends_on("cbtf")
|
||||
depends_on("cbtf-krell")
|
||||
|
||||
parallel = False
|
||||
|
||||
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")
|
||||
|
62
var/spack/packages/cbtf/package.py
Normal file
62
var/spack/packages/cbtf/package.py
Normal file
@ -0,0 +1,62 @@
|
||||
################################################################################
|
||||
# Copyright (c) 2015 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 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.
|
||||
#
|
||||
# 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 *
|
||||
|
||||
class Cbtf(Package):
|
||||
"""CBTF project contains the base code for CBTF that supports creating components,
|
||||
component networks and the support to connect these components and component
|
||||
networks into sequential and distributed network tools."""
|
||||
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')
|
||||
|
||||
# Use when the git repository is available
|
||||
version('1.6', branch='master', git='http://git.code.sf.net/p/cbtf/cbtf')
|
||||
|
||||
depends_on("cmake")
|
||||
#depends_on("boost@1.42.0:")
|
||||
depends_on("boost@1.50.0")
|
||||
depends_on("mrnet@4.1.0+lwthreads")
|
||||
depends_on("xerces-c@3.1.1:")
|
||||
depends_on("libxml2")
|
||||
|
||||
parallel = False
|
||||
|
||||
def install(self, spec, prefix):
|
||||
with working_dir('build', create=True):
|
||||
|
||||
# Boost_NO_SYSTEM_PATHS Set to TRUE to suppress searching
|
||||
# in system paths (or other locations outside of BOOST_ROOT
|
||||
# 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)
|
||||
|
||||
make("clean")
|
||||
make()
|
||||
make("install")
|
@ -49,14 +49,15 @@ def install(self, spec, prefix):
|
||||
|
||||
with working_dir('spack-build', create=True):
|
||||
cmake('..',
|
||||
'-DBoost_INCLUDE_DIR=%s' % spec['boost'].prefix.include,
|
||||
'-DBoost_LIBRARY_DIR=%s' % spec['boost'].prefix.lib,
|
||||
'-DBoost_INCLUDE_DIR=%s' % spec['boost'].prefix.include,
|
||||
'-DBoost_LIBRARY_DIR=%s' % spec['boost'].prefix.lib,
|
||||
'-DBoost_NO_SYSTEM_PATHS=TRUE',
|
||||
'-DLIBELF_INCLUDE_DIR=%s' % join_path(libelf.include, 'libelf'),
|
||||
'-DLIBELF_LIBRARIES=%s' % join_path(libelf.lib, 'libelf.so'),
|
||||
'-DLIBDWARF_INCLUDE_DIR=%s' % libdwarf.include,
|
||||
'-DLIBDWARF_LIBRARIES=%s' % join_path(libdwarf.lib, 'libdwarf.so'),
|
||||
*std_cmake_args)
|
||||
|
||||
make()
|
||||
make("install")
|
||||
|
||||
|
18
var/spack/packages/libmonitor/libmonitorkrell-0000.patch
Normal file
18
var/spack/packages/libmonitor/libmonitorkrell-0000.patch
Normal file
@ -0,0 +1,18 @@
|
||||
--- libmonitor-20130218/configure 2013-02-17 23:08:32.000000000 -0800
|
||||
+++ libmonitor-20130218-fixes/configure 2013-02-18 10:34:05.237918411 -0800
|
||||
@@ -3600,13 +3600,13 @@
|
||||
CFLAGS=$ac_save_CFLAGS
|
||||
elif test $ac_cv_prog_cc_g = yes; then
|
||||
if test "$GCC" = yes; then
|
||||
- CFLAGS="-g -O2"
|
||||
+ CFLAGS="-g -O0"
|
||||
else
|
||||
CFLAGS="-g"
|
||||
fi
|
||||
else
|
||||
if test "$GCC" = yes; then
|
||||
- CFLAGS="-O2"
|
||||
+ CFLAGS="-O0"
|
||||
else
|
||||
CFLAGS=
|
||||
fi
|
395
var/spack/packages/libmonitor/libmonitorkrell-0001.patch
Normal file
395
var/spack/packages/libmonitor/libmonitorkrell-0001.patch
Normal file
@ -0,0 +1,395 @@
|
||||
--- libmonitor-20130218/src/callback.c 2013-02-17 23:08:32.000000000 -0800
|
||||
+++ libmonitor-20130218-fixes/src/callback.c 2013-02-18 10:34:17.839842826 -0800
|
||||
@@ -173,3 +173,18 @@
|
||||
MONITOR_DEBUG1("(default callback)\n");
|
||||
return 0;
|
||||
}
|
||||
+
|
||||
+
|
||||
+void __attribute__ ((weak))
|
||||
+monitor_mpi_post_comm_rank(void)
|
||||
+{
|
||||
+ MONITOR_DEBUG1("(default callback)\n");
|
||||
+}
|
||||
+
|
||||
+void __attribute__ ((weak))
|
||||
+monitor_mpi_pcontrol(int level)
|
||||
+{
|
||||
+ MONITOR_DEBUG("(default callback) level = %d\n", level);
|
||||
+}
|
||||
+
|
||||
+
|
||||
--- libmonitor-20130218/src/main.c 2013-02-17 23:08:32.000000000 -0800
|
||||
+++ libmonitor-20130218-fixes/src/main.c 2013-02-18 10:34:17.839842826 -0800
|
||||
@@ -230,6 +230,44 @@
|
||||
monitor_fini_library_called = 1;
|
||||
}
|
||||
|
||||
+/*
|
||||
+ * Internal monitor functions.
|
||||
+ */
|
||||
+
|
||||
+struct monitor_thread_node * __attribute__ ((weak))
|
||||
+monitor_get_tn(void)
|
||||
+{
|
||||
+ return &monitor_main_tn;
|
||||
+}
|
||||
+
|
||||
+int __attribute__ ((weak))
|
||||
+monitor_get_thread_num(void)
|
||||
+{
|
||||
+ return (0);
|
||||
+}
|
||||
+
|
||||
+void __attribute__ ((weak))
|
||||
+monitor_reset_thread_list(struct monitor_thread_node *main_tn)
|
||||
+{
|
||||
+ MONITOR_DEBUG1("(weak)\n");
|
||||
+ return;
|
||||
+}
|
||||
+
|
||||
+void __attribute__ ((weak))
|
||||
+monitor_thread_release(void)
|
||||
+{
|
||||
+ MONITOR_DEBUG1("(weak)\n");
|
||||
+ return;
|
||||
+}
|
||||
+
|
||||
+void __attribute__ ((weak))
|
||||
+monitor_thread_shootdown(void)
|
||||
+{
|
||||
+ MONITOR_DEBUG1("(weak)\n");
|
||||
+ return;
|
||||
+}
|
||||
+
|
||||
+
|
||||
void
|
||||
monitor_begin_process_fcn(void *user_data, int is_fork)
|
||||
{
|
||||
@@ -625,12 +663,6 @@
|
||||
return (monitor_main_tn.tn_user_data);
|
||||
}
|
||||
|
||||
-int __attribute__ ((weak))
|
||||
-monitor_get_thread_num(void)
|
||||
-{
|
||||
- return (0);
|
||||
-}
|
||||
-
|
||||
void * __attribute__ ((weak))
|
||||
monitor_get_addr_thread_start(void)
|
||||
{
|
||||
@@ -691,33 +723,3 @@
|
||||
MONITOR_DEBUG1("(weak)\n");
|
||||
return (FALSE);
|
||||
}
|
||||
-
|
||||
-/*
|
||||
- * Internal monitor functions.
|
||||
- */
|
||||
-struct monitor_thread_node * __attribute__ ((weak))
|
||||
-monitor_get_tn(void)
|
||||
-{
|
||||
- return &monitor_main_tn;
|
||||
-}
|
||||
-
|
||||
-void __attribute__ ((weak))
|
||||
-monitor_reset_thread_list(struct monitor_thread_node *main_tn)
|
||||
-{
|
||||
- MONITOR_DEBUG1("(weak)\n");
|
||||
- return;
|
||||
-}
|
||||
-
|
||||
-void __attribute__ ((weak))
|
||||
-monitor_thread_release(void)
|
||||
-{
|
||||
- MONITOR_DEBUG1("(weak)\n");
|
||||
- return;
|
||||
-}
|
||||
-
|
||||
-void __attribute__ ((weak))
|
||||
-monitor_thread_shootdown(void)
|
||||
-{
|
||||
- MONITOR_DEBUG1("(weak)\n");
|
||||
- return;
|
||||
-}
|
||||
--- libmonitor-20130218/src/monitor.h 2013-02-17 23:08:32.000000000 -0800
|
||||
+++ libmonitor-20130218-fixes/src/monitor.h 2013-02-18 10:34:17.840842821 -0800
|
||||
@@ -73,6 +73,11 @@
|
||||
extern void monitor_fini_mpi(void);
|
||||
extern void monitor_mpi_post_fini(void);
|
||||
|
||||
+extern void monitor_mpi_post_comm_rank(void);
|
||||
+extern void monitor_mpi_pcontrol(int level);
|
||||
+
|
||||
+
|
||||
+
|
||||
/*
|
||||
* Monitor support functions.
|
||||
*/
|
||||
--- libmonitor-20130218/src/mpi_comm_c.c 2013-02-17 23:08:32.000000000 -0800
|
||||
+++ libmonitor-20130218-fixes/src/mpi_comm_c.c 2013-02-18 10:34:17.878842622 -0800
|
||||
@@ -36,5 +36,8 @@
|
||||
ret = (*real_mpi_comm_rank)(comm, rank);
|
||||
monitor_set_mpi_size_rank(size, *rank);
|
||||
|
||||
+ monitor_mpi_post_comm_rank();
|
||||
+
|
||||
+
|
||||
return (ret);
|
||||
}
|
||||
--- libmonitor-20130218/src/mpi_comm_f0.c 2013-02-17 23:08:32.000000000 -0800
|
||||
+++ libmonitor-20130218-fixes/src/mpi_comm_f0.c 2013-02-18 10:34:17.879842617 -0800
|
||||
@@ -34,4 +34,5 @@
|
||||
(*real_mpi_comm_size)(comm, &size, ierror);
|
||||
(*real_mpi_comm_rank)(comm, rank, ierror);
|
||||
monitor_set_mpi_size_rank(size, *rank);
|
||||
+ monitor_mpi_post_comm_rank();
|
||||
}
|
||||
--- libmonitor-20130218/src/mpi_comm_f1.c 2013-02-17 23:08:32.000000000 -0800
|
||||
+++ libmonitor-20130218-fixes/src/mpi_comm_f1.c 2013-02-18 10:34:17.880842612 -0800
|
||||
@@ -34,4 +34,5 @@
|
||||
(*real_mpi_comm_size)(comm, &size, ierror);
|
||||
(*real_mpi_comm_rank)(comm, rank, ierror);
|
||||
monitor_set_mpi_size_rank(size, *rank);
|
||||
+ monitor_mpi_post_comm_rank();
|
||||
}
|
||||
--- libmonitor-20130218/src/mpi_comm_f2.c 2013-02-17 23:08:32.000000000 -0800
|
||||
+++ libmonitor-20130218-fixes/src/mpi_comm_f2.c 2013-02-18 10:34:17.880842612 -0800
|
||||
@@ -34,4 +34,5 @@
|
||||
(*real_mpi_comm_size)(comm, &size, ierror);
|
||||
(*real_mpi_comm_rank)(comm, rank, ierror);
|
||||
monitor_set_mpi_size_rank(size, *rank);
|
||||
+ monitor_mpi_post_comm_rank();
|
||||
}
|
||||
--- libmonitor-20130218/src/pmpi.c 2013-02-17 23:08:32.000000000 -0800
|
||||
+++ libmonitor-20130218-fixes/src/pmpi.c 2013-02-18 10:34:17.881842607 -0800
|
||||
@@ -52,11 +52,15 @@
|
||||
typedef int mpi_init_thread_fcn_t(int *, char ***, int, int *);
|
||||
typedef int mpi_finalize_fcn_t(void);
|
||||
typedef int mpi_comm_fcn_t(void *, int *);
|
||||
+typedef int mpi_pcontrol_fcn_t(int );
|
||||
+
|
||||
|
||||
typedef void f_mpi_init_fcn_t(int *);
|
||||
typedef void f_mpi_init_thread_fcn_t(int *, int *, int *);
|
||||
typedef void f_mpi_finalize_fcn_t(int *);
|
||||
typedef void f_mpi_comm_fcn_t(int *, int *, int *);
|
||||
+typedef int f_mpi_pcontrol_fcn_t(int );
|
||||
+
|
||||
|
||||
static mpi_init_fcn_t *real_pmpi_init = NULL;
|
||||
static f_mpi_init_fcn_t *real_pmpi_init_f0 = NULL;
|
||||
@@ -83,6 +87,12 @@
|
||||
static f_mpi_comm_fcn_t *real_pmpi_comm_rank_f1 = NULL;
|
||||
static f_mpi_comm_fcn_t *real_pmpi_comm_rank_f2 = NULL;
|
||||
|
||||
+static mpi_pcontrol_fcn_t *real_pmpi_pcontrol = NULL;
|
||||
+static f_mpi_pcontrol_fcn_t *real_pmpi_pcontrol_f0 = NULL;
|
||||
+static f_mpi_pcontrol_fcn_t *real_pmpi_pcontrol_f1 = NULL;
|
||||
+static f_mpi_pcontrol_fcn_t *real_pmpi_pcontrol_f2 = NULL;
|
||||
+
|
||||
+
|
||||
/*
|
||||
*----------------------------------------------------------------------
|
||||
* PMPI_INIT OVERRIDE FUNCTIONS
|
||||
@@ -297,6 +307,7 @@
|
||||
ret = (*real_pmpi_comm_size)(comm, &size);
|
||||
ret = (*real_pmpi_comm_rank)(comm, rank);
|
||||
monitor_set_mpi_size_rank(size, *rank);
|
||||
+ monitor_mpi_post_comm_rank();
|
||||
|
||||
return (ret);
|
||||
}
|
||||
@@ -308,7 +319,9 @@
|
||||
MONITOR_GET_REAL_NAME_WRAP(rank_var, rank_fcn); \
|
||||
(*size_var)(comm, &size, ierror); \
|
||||
(*rank_var)(comm, rank, ierror); \
|
||||
- monitor_set_mpi_size_rank(size, *rank);
|
||||
+ monitor_set_mpi_size_rank(size, *rank); \
|
||||
+ monitor_mpi_post_comm_rank();
|
||||
+
|
||||
|
||||
/*
|
||||
* In Fortran, MPI_Comm is always int.
|
||||
@@ -333,3 +346,48 @@
|
||||
FORTRAN_COMM_RANK_BODY(real_pmpi_comm_size_f2, pmpi_comm_size__,
|
||||
real_pmpi_comm_rank_f2, pmpi_comm_rank__);
|
||||
}
|
||||
+
|
||||
+
|
||||
+/*
|
||||
+ *----------------------------------------------------------------------
|
||||
+ * PMPI_PCONTROL OVERRIDE FUNCTIONS
|
||||
+ *----------------------------------------------------------------------
|
||||
+ */
|
||||
+
|
||||
+int
|
||||
+MONITOR_WRAP_NAME(PMPI_Pcontrol)(int level)
|
||||
+{
|
||||
+ int ret;
|
||||
+
|
||||
+ MONITOR_DEBUG("level = %d\n", level); \
|
||||
+ MONITOR_GET_REAL_NAME_WRAP(real_pmpi_pcontrol, PMPI_Pcontrol);
|
||||
+ ret = (*real_pmpi_pcontrol) (level) ;
|
||||
+ monitor_mpi_pcontrol(level);
|
||||
+
|
||||
+ return (ret);
|
||||
+}
|
||||
+
|
||||
+#define FORTRAN_PCONTROL_BODY(var_name, fcn_name)\
|
||||
+ int ret; \
|
||||
+ MONITOR_DEBUG("level = %d\n", level); \
|
||||
+ MONITOR_GET_REAL_NAME_WRAP(var_name, fcn_name); \
|
||||
+ ret = (*var_name) (level) ; \
|
||||
+ monitor_mpi_pcontrol(level);
|
||||
+
|
||||
+int
|
||||
+MONITOR_WRAP_NAME(pmpi_pcontrol)(int level)
|
||||
+{
|
||||
+ FORTRAN_PCONTROL_BODY(real_pmpi_pcontrol_f0, pmpi_pcontrol);
|
||||
+}
|
||||
+
|
||||
+int
|
||||
+MONITOR_WRAP_NAME(pmpi_pcontrol_)(int level)
|
||||
+{
|
||||
+ FORTRAN_PCONTROL_BODY(real_pmpi_pcontrol_f1, pmpi_pcontrol_);
|
||||
+}
|
||||
+
|
||||
+int
|
||||
+MONITOR_WRAP_NAME(pmpi_pcontrol__)(int level)
|
||||
+{
|
||||
+ FORTRAN_PCONTROL_BODY(real_pmpi_pcontrol_f2, pmpi_pcontrol__);
|
||||
+}
|
||||
--- libmonitor-20130218/src/mpi_pcontrol_c.c 1969-12-31 16:00:00.000000000 -0800
|
||||
+++ libmonitor-20130218-fixes/src/mpi_pcontrol_c.c 2013-02-18 10:34:17.882842602 -0800
|
||||
@@ -0,0 +1,30 @@
|
||||
+/*
|
||||
+ * Override MPI_Pcontrol in C/C++.
|
||||
+ *
|
||||
+ *
|
||||
+ */
|
||||
+
|
||||
+#include "config.h"
|
||||
+#include "common.h"
|
||||
+#include "monitor.h"
|
||||
+
|
||||
+typedef int mpi_pcontrol_fcn_t(int level);
|
||||
+#ifdef MONITOR_STATIC
|
||||
+extern mpi_pcontrol_fcn_t __real_MPI_Pcontrol;
|
||||
+#endif
|
||||
+static mpi_pcontrol_fcn_t *real_mpi_pcontrol = NULL;
|
||||
+
|
||||
+int
|
||||
+MONITOR_WRAP_NAME(MPI_Pcontrol)(int level)
|
||||
+{
|
||||
+ int ret, count;
|
||||
+
|
||||
+ MONITOR_DEBUG("level = %d\n", level); \
|
||||
+
|
||||
+ MONITOR_GET_REAL_NAME_WRAP(real_mpi_pcontrol, MPI_Pcontrol);
|
||||
+ ret = (*real_mpi_pcontrol)(level);
|
||||
+ monitor_mpi_pcontrol(level);
|
||||
+
|
||||
+
|
||||
+ return (ret);
|
||||
+}
|
||||
--- libmonitor-20130218/src/mpi_pcontrol_f0.c 1969-12-31 16:00:00.000000000 -0800
|
||||
+++ libmonitor-20130218-fixes/src/mpi_pcontrol_f0.c 2013-02-18 10:34:17.882842602 -0800
|
||||
@@ -0,0 +1,24 @@
|
||||
+/*
|
||||
+ * Override mpi_pcontrol in Fortran.
|
||||
+ *
|
||||
+ */
|
||||
+
|
||||
+#include "config.h"
|
||||
+#include "common.h"
|
||||
+#include "monitor.h"
|
||||
+
|
||||
+typedef void mpi_pcontrol_fcn_t(int level);
|
||||
+#ifdef MONITOR_STATIC
|
||||
+extern mpi_pcontrol_fcn_t __real_mpi_pcontrol;
|
||||
+#endif
|
||||
+static mpi_pcontrol_fcn_t *real_mpi_pcontrol = NULL;
|
||||
+
|
||||
+int
|
||||
+MONITOR_WRAP_NAME(mpi_pcontrol)(int level)
|
||||
+{
|
||||
+ int count;
|
||||
+
|
||||
+ MONITOR_DEBUG1("\n");
|
||||
+ MONITOR_GET_REAL_NAME_WRAP(real_mpi_pcontrol, mpi_pcontrol);
|
||||
+ (*real_mpi_pcontrol)(level);
|
||||
+}
|
||||
--- libmonitor-20130218/src/mpi_pcontrol_f1.c 1969-12-31 16:00:00.000000000 -0800
|
||||
+++ libmonitor-20130218-fixes/src/mpi_pcontrol_f1.c 2013-02-18 10:34:17.883842597 -0800
|
||||
@@ -0,0 +1,24 @@
|
||||
+/*
|
||||
+ * Override mpi_pcontrol_ in Fortran.
|
||||
+ *
|
||||
+ */
|
||||
+
|
||||
+#include "config.h"
|
||||
+#include "common.h"
|
||||
+#include "monitor.h"
|
||||
+
|
||||
+typedef void mpi_pcontrol_fcn_t(int level);
|
||||
+#ifdef MONITOR_STATIC
|
||||
+extern mpi_pcontrol_fcn_t __real_mpi_pcontrol_;
|
||||
+#endif
|
||||
+static mpi_pcontrol_fcn_t *real_mpi_pcontrol = NULL;
|
||||
+
|
||||
+int
|
||||
+MONITOR_WRAP_NAME(mpi_pcontrol_)(int level)
|
||||
+{
|
||||
+ int count;
|
||||
+
|
||||
+ MONITOR_DEBUG1("\n");
|
||||
+ MONITOR_GET_REAL_NAME_WRAP(real_mpi_pcontrol, mpi_pcontrol_);
|
||||
+ (*real_mpi_pcontrol)(level);
|
||||
+}
|
||||
--- libmonitor-20130218/src/mpi_pcontrol_f2.c 1969-12-31 16:00:00.000000000 -0800
|
||||
+++ libmonitor-20130218-fixes/src/mpi_pcontrol_f2.c 2013-02-18 10:34:17.883842597 -0800
|
||||
@@ -0,0 +1,24 @@
|
||||
+/*
|
||||
+ * Override mpi_pcontrol__ in Fortran.
|
||||
+ *
|
||||
+ */
|
||||
+
|
||||
+#include "config.h"
|
||||
+#include "common.h"
|
||||
+#include "monitor.h"
|
||||
+
|
||||
+typedef void mpi_pcontrol_fcn_t(int level);
|
||||
+#ifdef MONITOR_STATIC
|
||||
+extern mpi_pcontrol_fcn_t __real_mpi_pcontrol__;
|
||||
+#endif
|
||||
+static mpi_pcontrol_fcn_t *real_mpi_pcontrol = NULL;
|
||||
+
|
||||
+int
|
||||
+MONITOR_WRAP_NAME(mpi_pcontrol__)(int level)
|
||||
+{
|
||||
+ int count;
|
||||
+
|
||||
+ MONITOR_DEBUG1("\n");
|
||||
+ MONITOR_GET_REAL_NAME_WRAP(real_mpi_pcontrol, mpi_pcontrol__);
|
||||
+ (*real_mpi_pcontrol)(level);
|
||||
+}
|
||||
--- libmonitor-20130218/src/Makefile.am 2013-02-17 23:08:32.000000000 -0800
|
||||
+++ libmonitor-20130218-fixes/src/Makefile.am 2013-02-18 10:34:17.931842343 -0800
|
||||
@@ -38,10 +38,11 @@
|
||||
MONITOR_THREAD_FILES = pthread.c
|
||||
MONITOR_SCRIPT_FILES = monitor-link monitor-run
|
||||
MONITOR_MPI_FILES = \
|
||||
- mpi_init_c.c mpi_init_thread_c.c mpi_final_c.c mpi_comm_c.c \
|
||||
- mpi_init_f0.c mpi_init_thread_f0.c mpi_final_f0.c mpi_comm_f0.c \
|
||||
- mpi_init_f1.c mpi_init_thread_f1.c mpi_final_f1.c mpi_comm_f1.c \
|
||||
- mpi_init_f2.c mpi_init_thread_f2.c mpi_final_f2.c mpi_comm_f2.c
|
||||
+ mpi_init_c.c mpi_init_thread_c.c mpi_final_c.c mpi_comm_c.c mpi_pcontrol_c.c \
|
||||
+ mpi_init_f0.c mpi_init_thread_f0.c mpi_final_f0.c mpi_comm_f0.c mpi_pcontrol_f0.c \
|
||||
+ mpi_init_f1.c mpi_init_thread_f1.c mpi_final_f1.c mpi_comm_f1.c mpi_pcontrol_f1.c \
|
||||
+ mpi_init_f2.c mpi_init_thread_f2.c mpi_final_f2.c mpi_comm_f2.c mpi_pcontrol_f2.c
|
||||
+
|
||||
|
||||
include_HEADERS = monitor.h
|
||||
bin_SCRIPTS =
|
106
var/spack/packages/libmonitor/libmonitorkrell-0002.patch
Normal file
106
var/spack/packages/libmonitor/libmonitorkrell-0002.patch
Normal file
@ -0,0 +1,106 @@
|
||||
--- libmonitor-20130218/src/pmpi.c 2013-02-18 11:34:17.000000000 -0700
|
||||
+++ libmonitor-20130218-fixed/src/pmpi.c 2013-04-11 10:03:59.300550393 -0600
|
||||
@@ -355,7 +355,7 @@
|
||||
*/
|
||||
|
||||
int
|
||||
-MONITOR_WRAP_NAME(PMPI_Pcontrol)(int level)
|
||||
+MONITOR_WRAP_NAME(PMPI_Pcontrol)(int level, int *ierror )
|
||||
{
|
||||
int ret;
|
||||
|
||||
@@ -375,19 +375,19 @@
|
||||
monitor_mpi_pcontrol(level);
|
||||
|
||||
int
|
||||
-MONITOR_WRAP_NAME(pmpi_pcontrol)(int level)
|
||||
+MONITOR_WRAP_NAME(pmpi_pcontrol)(int level, int *ierror )
|
||||
{
|
||||
FORTRAN_PCONTROL_BODY(real_pmpi_pcontrol_f0, pmpi_pcontrol);
|
||||
}
|
||||
|
||||
int
|
||||
-MONITOR_WRAP_NAME(pmpi_pcontrol_)(int level)
|
||||
+MONITOR_WRAP_NAME(pmpi_pcontrol_)(int level, int *ierror )
|
||||
{
|
||||
FORTRAN_PCONTROL_BODY(real_pmpi_pcontrol_f1, pmpi_pcontrol_);
|
||||
}
|
||||
|
||||
int
|
||||
-MONITOR_WRAP_NAME(pmpi_pcontrol__)(int level)
|
||||
+MONITOR_WRAP_NAME(pmpi_pcontrol__)(int level, int *ierror )
|
||||
{
|
||||
FORTRAN_PCONTROL_BODY(real_pmpi_pcontrol_f2, pmpi_pcontrol__);
|
||||
}
|
||||
--- libmonitor-20130218/src/mpi_pcontrol_f0.c 2013-02-18 11:34:17.000000000 -0700
|
||||
+++ libmonitor-20130218-fixed/src/mpi_pcontrol_f0.c 2013-04-11 10:13:47.783002000 -0600
|
||||
@@ -7,18 +7,18 @@
|
||||
#include "common.h"
|
||||
#include "monitor.h"
|
||||
|
||||
-typedef void mpi_pcontrol_fcn_t(int level);
|
||||
+typedef void mpi_pcontrol_fcn_t(int level, int *ierror);
|
||||
#ifdef MONITOR_STATIC
|
||||
extern mpi_pcontrol_fcn_t __real_mpi_pcontrol;
|
||||
#endif
|
||||
static mpi_pcontrol_fcn_t *real_mpi_pcontrol = NULL;
|
||||
|
||||
int
|
||||
-MONITOR_WRAP_NAME(mpi_pcontrol)(int level)
|
||||
+MONITOR_WRAP_NAME(mpi_pcontrol)(int level, int *ierror)
|
||||
{
|
||||
int count;
|
||||
|
||||
MONITOR_DEBUG1("\n");
|
||||
MONITOR_GET_REAL_NAME_WRAP(real_mpi_pcontrol, mpi_pcontrol);
|
||||
- (*real_mpi_pcontrol)(level);
|
||||
+ (*real_mpi_pcontrol)(level, ierror);
|
||||
}
|
||||
--- libmonitor-20130218/src/mpi_pcontrol_f1.c 2013-02-18 11:34:17.000000000 -0700
|
||||
+++ libmonitor-20130218-fixed/src/mpi_pcontrol_f1.c 2013-04-11 10:14:08.039214000 -0600
|
||||
@@ -7,18 +7,18 @@
|
||||
#include "common.h"
|
||||
#include "monitor.h"
|
||||
|
||||
-typedef void mpi_pcontrol_fcn_t(int level);
|
||||
+typedef void mpi_pcontrol_fcn_t(int level, int *ierror);
|
||||
#ifdef MONITOR_STATIC
|
||||
extern mpi_pcontrol_fcn_t __real_mpi_pcontrol_;
|
||||
#endif
|
||||
static mpi_pcontrol_fcn_t *real_mpi_pcontrol = NULL;
|
||||
|
||||
int
|
||||
-MONITOR_WRAP_NAME(mpi_pcontrol_)(int level)
|
||||
+MONITOR_WRAP_NAME(mpi_pcontrol_)(int level, int *ierror)
|
||||
{
|
||||
int count;
|
||||
|
||||
MONITOR_DEBUG1("\n");
|
||||
MONITOR_GET_REAL_NAME_WRAP(real_mpi_pcontrol, mpi_pcontrol_);
|
||||
- (*real_mpi_pcontrol)(level);
|
||||
+ (*real_mpi_pcontrol)(level, ierror);
|
||||
}
|
||||
--- libmonitor-20130218/src/mpi_pcontrol_f2.c 2013-02-18 11:34:17.000000000 -0700
|
||||
+++ libmonitor-20130218-fixed/src/mpi_pcontrol_f2.c 2013-04-11 10:14:19.000960000 -0600
|
||||
@@ -7,18 +7,18 @@
|
||||
#include "common.h"
|
||||
#include "monitor.h"
|
||||
|
||||
-typedef void mpi_pcontrol_fcn_t(int level);
|
||||
+typedef void mpi_pcontrol_fcn_t(int level, int *ierror);
|
||||
#ifdef MONITOR_STATIC
|
||||
extern mpi_pcontrol_fcn_t __real_mpi_pcontrol__;
|
||||
#endif
|
||||
static mpi_pcontrol_fcn_t *real_mpi_pcontrol = NULL;
|
||||
|
||||
int
|
||||
-MONITOR_WRAP_NAME(mpi_pcontrol__)(int level)
|
||||
+MONITOR_WRAP_NAME(mpi_pcontrol__)(int level, int *ierror)
|
||||
{
|
||||
int count;
|
||||
|
||||
MONITOR_DEBUG1("\n");
|
||||
MONITOR_GET_REAL_NAME_WRAP(real_mpi_pcontrol, mpi_pcontrol__);
|
||||
- (*real_mpi_pcontrol)(level);
|
||||
+ (*real_mpi_pcontrol)(level, ierror);
|
||||
}
|
@ -29,6 +29,13 @@ class Libmonitor(Package):
|
||||
homepage = "http://hpctoolkit.org"
|
||||
|
||||
version('20130218', svn='http://libmonitor.googlecode.com/svn/trunk/', revision=146)
|
||||
variant('krellpatch', default=False, description="build with openspeedshop based patch.")
|
||||
|
||||
|
||||
patch('libmonitorkrell-0000.patch', when='@20130218+krellpatch')
|
||||
patch('libmonitorkrell-0001.patch', when='@20130218+krellpatch')
|
||||
patch('libmonitorkrell-0002.patch', when='@20130218+krellpatch')
|
||||
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure("--prefix=" + prefix)
|
||||
|
@ -8,12 +8,17 @@ class Mrnet(Package):
|
||||
version('4.0.0', 'd00301c078cba57ef68613be32ceea2f')
|
||||
version('4.1.0', '5a248298b395b329e2371bf25366115c')
|
||||
|
||||
variant('lwthreads', default=False, description="Also build the MRNet LW threadsafe libraries")
|
||||
parallel = False
|
||||
|
||||
depends_on("boost")
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure("--prefix=%s" %prefix, "--enable-shared")
|
||||
# Build the MRNet LW thread safe libraries when the krelloptions variant is present
|
||||
if '+lwthreads' in spec:
|
||||
configure("--prefix=%s" %prefix, "--enable-shared", "--enable-ltwt-threadsafe")
|
||||
else:
|
||||
configure("--prefix=%s" %prefix, "--enable-shared")
|
||||
|
||||
make()
|
||||
make("install")
|
||||
|
216
var/spack/packages/openspeedshop/package.py
Normal file
216
var/spack/packages/openspeedshop/package.py
Normal file
@ -0,0 +1,216 @@
|
||||
################################################################################
|
||||
# Copyright (c) 2015 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 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.
|
||||
#
|
||||
# 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 *
|
||||
|
||||
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.
|
||||
"""
|
||||
|
||||
|
||||
homepage = "http://www.openspeedshop.org"
|
||||
url = "http://sourceforge.net/projects/openss/files/openss/openspeedshop-2.2/openspeedshop-2.2.tar.gz/download"
|
||||
version('2.2', '16cb051179c2038de4e8a845edf1d573')
|
||||
|
||||
#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')
|
||||
|
||||
|
||||
|
||||
parallel = False
|
||||
|
||||
variant('offline', default=True, description="build with offline instrumentor enabled.")
|
||||
variant('cbtf', default=False, 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.")
|
||||
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.")
|
||||
|
||||
# Dependencies for openspeedshop that are common to all the variants of the OpenSpeedShop build
|
||||
depends_on("bison")
|
||||
depends_on("flex")
|
||||
depends_on("binutils@2.24+krellpatch")
|
||||
depends_on("libelf")
|
||||
depends_on("libdwarf")
|
||||
depends_on("sqlite")
|
||||
depends_on("boost@1.50.0")
|
||||
depends_on("dyninst@8.2.1")
|
||||
depends_on("python")
|
||||
depends_on("qt@3.3.8b+krellpatch")
|
||||
|
||||
# Dependencies only for the openspeedshop offline 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')
|
||||
|
||||
# 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')
|
||||
|
||||
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,
|
||||
|
||||
# FIXME: How do we make this dynamic in spack? 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"
|
||||
|
||||
if '+offline' in spec:
|
||||
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)
|
||||
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,
|
||||
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)
|
||||
make("clean")
|
||||
make()
|
||||
make("install")
|
||||
|
||||
elif '+cbtf' in spec:
|
||||
instrumentor_setting = "cbtf"
|
||||
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)
|
||||
make("clean")
|
||||
make()
|
||||
make("install")
|
||||
|
||||
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)
|
||||
make("clean")
|
||||
make()
|
||||
make("install")
|
||||
|
||||
#if '+frontend' in spec:
|
||||
# with working_dir('build_frontend', create=True):
|
||||
# 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
|
@ -11,8 +11,8 @@ class Papi(Package):
|
||||
components that expose performance measurement opportunites
|
||||
across the hardware and software stack."""
|
||||
homepage = "http://icl.cs.utk.edu/papi/index.html"
|
||||
url = "http://icl.cs.utk.edu/projects/papi/downloads/papi-5.3.0.tar.gz"
|
||||
|
||||
url = "http://icl.cs.utk.edu/projects/papi/downloads/papi-5.4.1.tar.gz"
|
||||
version('5.4.1', '9134a99219c79767a11463a76b0b01a2')
|
||||
version('5.3.0', '367961dd0ab426e5ae367c2713924ffb')
|
||||
|
||||
|
@ -10,14 +10,23 @@ class Qt(Package):
|
||||
|
||||
version('5.4.0', 'e8654e4b37dd98039ba20da7a53877e6',
|
||||
url='http://download.qt-project.org/official_releases/qt/5.4/5.4.0/single/qt-everywhere-opensource-src-5.4.0.tar.gz')
|
||||
|
||||
version('5.3.2', 'febb001129927a70174467ecb508a682',
|
||||
url='http://download.qt.io/archive/qt/5.3/5.3.2/single/qt-everywhere-opensource-src-5.3.2.tar.gz')
|
||||
|
||||
version('5.2.1', 'a78408c887c04c34ce615da690e0b4c8',
|
||||
url='http://download.qt.io/archive/qt/5.2/5.2.1/single/qt-everywhere-opensource-src-5.2.1.tar.gz')
|
||||
|
||||
version('4.8.6', '2edbe4d6c2eff33ef91732602f3518eb',
|
||||
url="http://download.qt-project.org/official_releases/qt/4.8/4.8.6/qt-everywhere-opensource-src-4.8.6.tar.gz")
|
||||
|
||||
version('3.3.8b', '9f05b4125cfe477cc52c9742c3c09009',
|
||||
url="http://download.qt.io/archive/qt/3/qt-x11-free-3.3.8b.tar.gz")
|
||||
|
||||
# Add patch for compile issues with qt3 found with use in the OpenSpeedShop project
|
||||
variant('krellpatch', default=False, description="build with openspeedshop based patch.")
|
||||
patch('qt3krell.patch', when='@3.3.8b+krellpatch')
|
||||
|
||||
# Use system openssl for security.
|
||||
#depends_on("openssl")
|
||||
|
||||
@ -25,7 +34,7 @@ class Qt(Package):
|
||||
depends_on("gtkplus")
|
||||
depends_on("libxml2")
|
||||
depends_on("zlib")
|
||||
depends_on("dbus")
|
||||
depends_on("dbus", when='@4:')
|
||||
depends_on("libtiff")
|
||||
depends_on("libpng")
|
||||
depends_on("libmng")
|
||||
@ -39,7 +48,7 @@ class Qt(Package):
|
||||
# depends_on("icu4c")
|
||||
|
||||
# OpenGL hardware acceleration
|
||||
depends_on("mesa")
|
||||
depends_on("mesa", when='@4:')
|
||||
depends_on("libxcb")
|
||||
|
||||
|
||||
@ -85,6 +94,15 @@ def common_config_args(self):
|
||||
# Don't disable all the database drivers, but should
|
||||
# really get them into spack at some point.
|
||||
|
||||
@when('@3')
|
||||
def configure(self):
|
||||
configure('-prefix', self.prefix,
|
||||
'-v',
|
||||
'-thread',
|
||||
'-shared',
|
||||
'-release',
|
||||
'-fast'
|
||||
)
|
||||
|
||||
@when('@4')
|
||||
def configure(self):
|
||||
|
68
var/spack/packages/qt/qt3krell.patch
Normal file
68
var/spack/packages/qt/qt3krell.patch
Normal file
@ -0,0 +1,68 @@
|
||||
--- qt-x11-free-3.3.8b/src/tools/qmap.h 2008-01-15 13:09:13.000000000 -0600
|
||||
+++ qt-x11-free-3.3.8b-fixes/src/tools/qmap.h 2015-07-08 15:47:34.757565247 -0500
|
||||
@@ -52,6 +52,7 @@
|
||||
#ifndef QT_NO_STL
|
||||
#include <iterator>
|
||||
#include <map>
|
||||
+#include <cstddef>
|
||||
#endif
|
||||
|
||||
//#define QT_CHECK_MAP_RANGE
|
||||
--- qt-x11-free-3.3.8b/src/tools/qvaluelist.h 2008-01-15 13:09:13.000000000 -0600
|
||||
+++ qt-x11-free-3.3.8b-fixes/src/tools/qvaluelist.h 2015-07-08 15:47:34.758565247 -0500
|
||||
@@ -50,6 +50,7 @@
|
||||
#ifndef QT_NO_STL
|
||||
#include <iterator>
|
||||
#include <list>
|
||||
+#include <cstddef>
|
||||
#endif
|
||||
|
||||
//#define QT_CHECK_VALUELIST_RANGE
|
||||
--- qt-x11-free-3.3.8b/src/tools/qvaluevector.h 2008-01-15 13:09:13.000000000 -0600
|
||||
+++ qt-x11-free-3.3.8b-fixes/src/tools/qvaluevector.h 2015-07-08 15:47:34.758565247 -0500
|
||||
@@ -47,6 +47,7 @@
|
||||
|
||||
#ifndef QT_NO_STL
|
||||
#include <vector>
|
||||
+#include <cstddef>
|
||||
#endif
|
||||
|
||||
template <class T>
|
||||
--- qt-x11-free-3.3.8b/configure 2008-01-15 13:09:15.000000000 -0600
|
||||
+++ qt-x11-free-3.3.8b-fixes/configure 2015-07-08 15:49:03.379560633 -0500
|
||||
@@ -2339,7 +2339,7 @@
|
||||
else
|
||||
echo "Do you accept the terms of the $TheLicense? \c"
|
||||
fi
|
||||
- read acceptance
|
||||
+ acceptance=yes
|
||||
echo
|
||||
if [ "$acceptance" = yes ]; then
|
||||
break
|
||||
@@ -2397,7 +2397,7 @@
|
||||
else
|
||||
echo "Do you accept the terms of $affix license? \c"
|
||||
fi
|
||||
- read acceptance
|
||||
+ acceptance=yes
|
||||
echo
|
||||
if [ "$acceptance" = "yes" ]; then
|
||||
break
|
||||
@@ -2443,7 +2443,7 @@
|
||||
else
|
||||
echo "Do you accept the terms of the license? \c"
|
||||
fi
|
||||
- read acceptance
|
||||
+ acceptance=yes
|
||||
echo
|
||||
if [ "$acceptance" = "yes" ]; then
|
||||
break
|
||||
@@ -2524,7 +2524,7 @@
|
||||
else
|
||||
echo "Do you accept the terms of the $Platform License? \c"
|
||||
fi
|
||||
- read acceptance
|
||||
+ acceptance=yes
|
||||
echo
|
||||
if [ "$acceptance" = "yes" ]; then
|
||||
break
|
36
var/spack/packages/xerces-c/package.py
Normal file
36
var/spack/packages/xerces-c/package.py
Normal file
@ -0,0 +1,36 @@
|
||||
# FIXME:
|
||||
# This is a template package file for Spack. We've conveniently
|
||||
# put "FIXME" labels next to all the things you'll want to change.
|
||||
#
|
||||
# Once you've edited all the FIXME's, delete this whole message,
|
||||
# save this file, and test out your package like this:
|
||||
#
|
||||
# spack install xerces-c
|
||||
#
|
||||
# You can always get back here to change things with:
|
||||
#
|
||||
# spack edit xerces-c
|
||||
#
|
||||
# See the spack documentation for more information on building
|
||||
# packages.
|
||||
#
|
||||
from spack import *
|
||||
|
||||
class XercesC(Package):
|
||||
""" Xerces-C++ is a validating XML parser written in a portable subset of C++.
|
||||
Xerces-C++ makes it easy to give your application the ability to read and
|
||||
write XML data. A shared library is provided for parsing, generating,
|
||||
manipulating, and validating XML documents using the DOM, SAX, and SAX2 APIs.
|
||||
"""
|
||||
|
||||
homepage = "https://xerces.apache.org/xerces-c"
|
||||
url = "https://www.apache.org/dist/xerces/c/3/sources/xerces-c-3.1.2.tar.gz"
|
||||
version('3.1.2', '9eb1048939e88d6a7232c67569b23985')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure("--prefix=%s" % prefix,
|
||||
"--disable-network")
|
||||
make("clean")
|
||||
make()
|
||||
make("install")
|
||||
|
Loading…
Reference in New Issue
Block a user