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:
		 Mark Olesen
					Mark Olesen
				
			
				
					committed by
					
						 Adam J. Stewart
						Adam J. Stewart
					
				
			
			
				
	
			
			
			 Adam J. Stewart
						Adam J. Stewart
					
				
			
						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' | ||||
|   | ||||
		Reference in New Issue
	
	Block a user