This patch changes metabat so that (1) it is not build statically, (2) it uses shared libraries rather than static libraries where possible. diff --git a/SConstruct b/SConstruct index 69cdc0a..ac99bcb 100644 --- a/SConstruct +++ b/SConstruct @@ -26,8 +26,6 @@ debug = ARGUMENTS.get('DEBUG', None) build_flags = ['-Wall', '-g', '-std=c++11', '-fopenmp'] link_flags = ['-lstdc++', '-lm', '-fopenmp'] -if platform.platform(True, True).find('Darwin') == -1: - link_flags.extend(['-static', '-static-libgcc', '-static-libstdc++']) if debug is None: build_flags.extend(['-O3', '-DNDEBUG', '-Wno-unknown-pragmas', '-Wno-deprecated-declarations', '-Wno-overflow', '-Wno-unused-variable']) @@ -110,17 +108,17 @@ def findStaticOrShared( lib, testPaths, static_source_list, link_flag_list, stat for path in testPaths: if not os.path.isdir(path): continue + for testfile in ('%s/lib%s.so' % (path, lib), '%s/lib%s.dylib' % (path, lib)): + if os.path.isfile(testfile): + print "Found shared library %s as %s" % (lib, testfile) + link_flag_list.extend( ["-L%s" % (path), "-l%s" % (lib) ] ) + return for suffix in staticSuffixes: testfile = '%s/lib%s%s' % (path, lib, suffix) if os.path.isfile(testfile): static_source_list.append(testfile) print "Found static library %s as %s" % (lib, testfile) return - for testfile in ('%s/lib%s.so' % (path, lib), '%s/lib%s.dylib' % (path, lib)): - if os.path.isfile(testfile): - print "Found shared library %s as %s" % (lib, testfile) - link_flag_list.extend( ["-L%s" % (path), "-l%s" % (lib) ] ) - return print "Could not find library for %s!!! Looked in %s" % (lib, testPaths) return