summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenis Davydov <davydden@gmail.com>2016-03-24 21:22:58 +0100
committerDenis Davydov <davydden@gmail.com>2016-03-24 21:24:03 +0100
commit0d4d201b70c57359f041807df0a2f58b47be78d6 (patch)
tree878b553ee4809871fe95f267209cab809e95bca8
parent7fb463abb9b912f9a5bcb6e810b733f0b8bc1672 (diff)
downloadspack-0d4d201b70c57359f041807df0a2f58b47be78d6.tar.gz
spack-0d4d201b70c57359f041807df0a2f58b47be78d6.tar.bz2
spack-0d4d201b70c57359f041807df0a2f58b47be78d6.tar.xz
spack-0d4d201b70c57359f041807df0a2f58b47be78d6.zip
patch parmetis to use external GKlib
-rw-r--r--var/spack/repos/builtin/packages/parmetis/enable_external_metis.patch48
-rw-r--r--var/spack/repos/builtin/packages/parmetis/package.py2
2 files changed, 46 insertions, 4 deletions
diff --git a/var/spack/repos/builtin/packages/parmetis/enable_external_metis.patch b/var/spack/repos/builtin/packages/parmetis/enable_external_metis.patch
index 514781b8b8..8b05ecc872 100644
--- a/var/spack/repos/builtin/packages/parmetis/enable_external_metis.patch
+++ b/var/spack/repos/builtin/packages/parmetis/enable_external_metis.patch
@@ -1,13 +1,55 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
-index ca945dd..1bf94e9 100644
+index ca945dd..5995e42 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
+@@ -23,7 +23,7 @@ else()
+ set(ParMETIS_LIBRARY_TYPE STATIC)
+ endif()
+
+-include(${GKLIB_PATH}/GKlibSystem.cmake)
++include_directories(${GKLIB_PATH})
+
+ # List of paths that the compiler will search for header files.
+ # i.e., the -I equivalent
@@ -33,7 +33,7 @@ include_directories(${GKLIB_PATH})
include_directories(${METIS_PATH}/include)
-
+
# List of directories that cmake will look for CMakeLists.txt
-add_subdirectory(${METIS_PATH}/libmetis ${CMAKE_BINARY_DIR}/libmetis)
-+#add_subdirectory(${METIS_PATH}/libmetis ${CMAKE_BINARY_DIR}/libmetis)
++# add_subdirectory(${METIS_PATH}/libmetis ${CMAKE_BINARY_DIR}/libmetis)
add_subdirectory(include)
add_subdirectory(libparmetis)
add_subdirectory(programs)
+diff --git a/libparmetis/parmetislib.h b/libparmetis/parmetislib.h
+index c1daeeb..07511f6 100644
+--- a/libparmetis/parmetislib.h
++++ b/libparmetis/parmetislib.h
+@@ -20,13 +20,12 @@
+
+ #include <parmetis.h>
+
+-#include "../metis/libmetis/gklib_defs.h"
++#include <gklib_defs.h>
+
+-#include <mpi.h>
++#include <mpi.h>
+
+ #include <rename.h>
+ #include <defs.h>
+ #include <struct.h>
+ #include <macros.h>
+ #include <proto.h>
+-
+diff --git a/programs/parmetisbin.h b/programs/parmetisbin.h
+index e26cd2d..d156480 100644
+--- a/programs/parmetisbin.h
++++ b/programs/parmetisbin.h
+@@ -19,7 +19,7 @@
+ #include <GKlib.h>
+ #include <parmetis.h>
+
+-#include "../metis/libmetis/gklib_defs.h"
++#include <gklib_defs.h>
+ #include "../libparmetis/rename.h"
+ #include "../libparmetis/defs.h"
+ #include "../libparmetis/struct.h"
diff --git a/var/spack/repos/builtin/packages/parmetis/package.py b/var/spack/repos/builtin/packages/parmetis/package.py
index bc71fb7299..5c97a836f9 100644
--- a/var/spack/repos/builtin/packages/parmetis/package.py
+++ b/var/spack/repos/builtin/packages/parmetis/package.py
@@ -66,7 +66,7 @@ class Parmetis(Package):
# FIXME : Once a contract is defined, MPI compilers should be retrieved indirectly via spec['mpi'] in case
# FIXME : they use a non-standard name
- options.extend(['-DGKLIB_PATH:PATH={metis_source}/GKlib'.format(metis_source=metis_source), # still need headers from METIS source, and they are not installed with METIS. shame...
+ options.extend(['-DGKLIB_PATH:PATH={metis_source}/GKlib'.format(metis_source=spec['metis'].prefix.include),
'-DMETIS_PATH:PATH={metis_source}'.format(metis_source=spec['metis'].prefix),
'-DCMAKE_C_COMPILER:STRING=mpicc',
'-DCMAKE_CXX_COMPILER:STRING=mpicxx'])