diff --git a/packages/hxtorch/package.py b/packages/hxtorch/package.py index 26930de5553a8d90f05a58c0ee32834ad1b06b9a..240e09ee79631d84463b0b472a3a8bc513dc2dbf 100644 --- a/packages/hxtorch/package.py +++ b/packages/hxtorch/package.py @@ -61,6 +61,7 @@ class Hxtorch(WafPackage): configuration.""" include = [] + include_exclude_dirs = set(['/usr/include']) for dep in self.spec.traverse(deptype='build'): query = self.spec[dep.name] try: @@ -70,30 +71,24 @@ class Hxtorch(WafPackage): if os.path.exists(d): env.remove_path('SPACK_INCLUDE_DIRS', d) continue - include.extend(query.headers.directories) - print('headers (', dep.name, '):', query.headers.directories, "\n") + assert(isinstance(query.headers.directories, list)) + include_dirs = set(query.headers.directories) + include_dirs -= include_exclude_dirs + print('headers (', dep.name, '):', include_dirs, "\n") + include.extend(list(include_dirs)) except: pass library = [] + library_exclude_dirs = set(['/lib', '/lib64', '/usr/lib', '/usr/lib64']) for dep in self.spec.traverse(deptype=('link', 'run')): query = self.spec[dep.name] - # we probably should skip/remove the entries for the same - # dependencies as above; however, ".libs" relies on the package - # name being the same as the library name (e.g. approx. - # libPACKAGE.so) so we are just moving googletest to the front - if dep.name == 'googletest': - for d in [self.spec['googletest'].prefix.lib64, self.spec['googletest'].prefix.lib]: - if os.path.exists(d): - print('moving to front of SPACK_{LINK,RPATH}_DIRS\n', d) - env.remove_path('SPACK_LINK_DIRS', d) - env.prepend_path('SPACK_LINK_DIRS', d) - env.remove_path('SPACK_RPATH_DIRS', d) - env.prepend_path('SPACK_RPATH_DIRS', d) try: - print('libs (', dep.name, '):', query.libs.directories, "\n") - # extend at front - library = query.libs.directories + library + assert(isinstance(query.libs.directories, list)) + library_dirs = set(query.libs.directories) + library_dirs -= library_exclude_dirs + print('libs (', dep.name, '):', library_dirs, "\n") + library.extend(list(library_dirs)) except: pass diff --git a/packages/pynn-brainscales/package.py b/packages/pynn-brainscales/package.py index 2f61e734378f136b732f27da83b65265f54a02b4..d90a7e37c49fcd672bb0797d4237215efa153d6a 100644 --- a/packages/pynn-brainscales/package.py +++ b/packages/pynn-brainscales/package.py @@ -60,20 +60,28 @@ class PynnBrainscales(WafPackage): configuration.""" include = [] + include_exclude_dirs = set(['/usr/include']) for dep in self.spec.traverse(deptype='build'): query = self.spec[dep.name] try: - include.extend(query.headers.directories) - print('headers:', query.headers.directories, "\n") + assert(isinstance(query.headers.directories, list)) + include_dirs = set(query.headers.directories) + include_dirs -= include_exclude_dirs + print('headers (', dep.name, '):', include_dirs, "\n") + include.extend(list(include_dirs)) except: pass library = [] + library_exclude_dirs = set(['/lib', '/lib64', '/usr/lib', '/usr/lib64']) for dep in self.spec.traverse(deptype=('link', 'run')): query = self.spec[dep.name] try: - library.extend(query.libs.directories) - print('libs:', query.libs.directories, "\n") + assert(isinstance(query.libs.directories, list)) + library_dirs = set(query.libs.directories) + library_dirs -= library_exclude_dirs + print('libs (', dep.name, '):', library_dirs, "\n") + library.extend(list(library_dirs)) except: pass @@ -82,7 +90,7 @@ class PynnBrainscales(WafPackage): query = self.spec[dep.name] try: path.append(query.prefix.bin) - print('bin:', query.prefix.bin, "\n") + print('bin (', dep.name, '):', query.prefix.bin, "\n") except: pass