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."""
|
partitioning, graph clustering, and sparse matrix ordering."""
|
||||||
|
|
||||||
homepage = "http://www.labri.fr/perso/pelegrin/scotch/"
|
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"
|
base_url = "http://gforge.inria.fr/frs/download.php/latestfile/298"
|
||||||
list_url = "http://gforge.inria.fr/frs/?group_id=248"
|
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')
|
description='Build a shared version of the library')
|
||||||
variant('metis', default=True,
|
variant('metis', default=True,
|
||||||
description='Build metis and parmetis wrapper libraries')
|
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('flex@:2.6.1', type='build')
|
||||||
depends_on('bison', type='build')
|
depends_on('bison', type='build')
|
||||||
depends_on('mpi', when='+mpi')
|
depends_on('mpi', when='+mpi')
|
||||||
depends_on('zlib', when='+compression')
|
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
|
# NOTE: In cross-compiling environment parallel build
|
||||||
# produces weird linker errors.
|
# produces weird linker errors.
|
||||||
parallel = False
|
parallel = False
|
||||||
@ -87,9 +92,13 @@ def configure(self):
|
|||||||
'-DCOMMON_RANDOM_FIXED_SEED',
|
'-DCOMMON_RANDOM_FIXED_SEED',
|
||||||
'-DSCOTCH_DETERMINISTIC',
|
'-DSCOTCH_DETERMINISTIC',
|
||||||
'-DSCOTCH_RENAME',
|
'-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'):
|
if self.spec.satisfies('platform=darwin'):
|
||||||
cflags.extend([
|
cflags.extend([
|
||||||
'-Drestrict=__restrict'
|
'-Drestrict=__restrict'
|
||||||
|
Loading…
Reference in New Issue
Block a user