ENH: add int64 variant to scotch (as per metis +int64) (#3536)
BUG: provide patch for scotch 6.0.4 if building non-threaded - corresponds to issue #20179 from the scotch issue trackter
This commit is contained in:
parent
dd79630464
commit
1c73f9d92f
@ -0,0 +1,11 @@
|
||||
--- scotch_6.0.4.orig/src/libscotch/common.h 2015-03-01 10:14:02.000000000 +0100
|
||||
+++ scotch_6.0.4/src/libscotch/common.h 2017-03-27 13:07:18.644221999 +0200
|
||||
@@ -306,6 +306,8 @@
|
||||
ThreadLaunchStartFunc stafptr; /*+ Pointer to start routine +*/
|
||||
ThreadLaunchJoinFunc joifptr; /*+ Pointer to join routine +*/
|
||||
ThreadBarrier barrdat; /*+ Barrier data structure +*/
|
||||
+#else
|
||||
+ int thrdnbr; /* dummy for non-threaded */
|
||||
#endif /* ((defined COMMON_PTHREAD) || (defined SCOTCH_PTHREAD)) */
|
||||
} ThreadGroupHeader;
|
||||
|
@ -31,7 +31,7 @@ class Scotch(Package):
|
||||
partitioning, graph clustering, and sparse matrix ordering."""
|
||||
|
||||
homepage = "http://www.labri.fr/perso/pelegrin/scotch/"
|
||||
url = "http://gforge.inria.fr/frs/download.php/latestfile/298/scotch_6.0.3.tar.gz"
|
||||
url = "http://gforge.inria.fr/frs/download.php/latestfile/298/scotch_6.0.3.tar.gz" # noqa: E501
|
||||
base_url = "http://gforge.inria.fr/frs/download.php/latestfile/298"
|
||||
list_url = "http://gforge.inria.fr/frs/?group_id=248"
|
||||
|
||||
@ -50,12 +50,17 @@ class Scotch(Package):
|
||||
description='Build a shared version of the library')
|
||||
variant('metis', default=True,
|
||||
description='Build metis and parmetis wrapper libraries')
|
||||
variant('int64', default=False,
|
||||
description='Use int64_t for SCOTCH_Num typedef')
|
||||
|
||||
depends_on('flex@:2.6.1', type='build')
|
||||
depends_on('bison', type='build')
|
||||
depends_on('mpi', when='+mpi')
|
||||
depends_on('zlib', when='+compression')
|
||||
|
||||
# Version-specific patches
|
||||
patch('nonthreaded-6.0.4.patch', when='@6.0.4')
|
||||
|
||||
# NOTE: In cross-compiling environment parallel build
|
||||
# produces weird linker errors.
|
||||
parallel = False
|
||||
@ -87,9 +92,13 @@ def configure(self):
|
||||
'-DCOMMON_RANDOM_FIXED_SEED',
|
||||
'-DSCOTCH_DETERMINISTIC',
|
||||
'-DSCOTCH_RENAME',
|
||||
'-DIDXSIZE64'
|
||||
'-DIDXSIZE64', # SCOTCH_Idx typedef: indices for addressing
|
||||
]
|
||||
|
||||
# SCOTCH_Num typedef: size of integers in arguments
|
||||
if '+int64' in self.spec:
|
||||
cflags.append('-DINTSIZE64')
|
||||
|
||||
if self.spec.satisfies('platform=darwin'):
|
||||
cflags.extend([
|
||||
'-Drestrict=__restrict'
|
||||
|
Loading…
Reference in New Issue
Block a user