|
|
|
@ -63,6 +63,7 @@ from .base import (DependencyException, ExternalDependency) |
|
|
|
|
# Win / Cygwin: libboost_<module>.dll.a (location = /usr/lib) |
|
|
|
|
# libboost_<module>.a |
|
|
|
|
# cygboost_<module>_1_64.dll (location = /usr/bin) |
|
|
|
|
# Win / VS: boost_<module>-vc<ver>-mt[-gd]-<arch>-1_67.dll (location = C:/local/boost_1_67_0) |
|
|
|
|
# Mac / homebrew: libboost_<module>.dylib + libboost_<module>-mt.dylib (location = /usr/local/lib) |
|
|
|
|
# Mac / macports: libboost_<module>.dylib + libboost_<module>-mt.dylib (location = /opt/local/lib) |
|
|
|
|
# |
|
|
|
@ -269,7 +270,6 @@ class BoostDependency(ExternalDependency): |
|
|
|
|
|
|
|
|
|
def detect_lib_modules(self): |
|
|
|
|
self.lib_modules = {} |
|
|
|
|
|
|
|
|
|
# 1. Try to find modules using compiler.find_library( ) |
|
|
|
|
if self.find_libraries_with_abi_tags(self.abi_tags()): |
|
|
|
|
pass |
|
|
|
@ -328,8 +328,22 @@ class BoostDependency(ExternalDependency): |
|
|
|
|
def debug_tag(self): |
|
|
|
|
return '-gd' if self.is_debug else '' |
|
|
|
|
|
|
|
|
|
def arch_tag(self): |
|
|
|
|
# currently only applies to windows msvc installed binaries |
|
|
|
|
if self.env.detect_cpp_compiler(self.want_cross).get_id() != 'msvc': |
|
|
|
|
return '' |
|
|
|
|
# pre-compiled binaries only added arch tag for versions > 1.64 |
|
|
|
|
if float(self.version) < 1.65: |
|
|
|
|
return '' |
|
|
|
|
arch = detect_cpu_family(self.env.coredata.compilers) |
|
|
|
|
if arch == 'x86': |
|
|
|
|
return '-x32' |
|
|
|
|
elif arch == 'x86_64': |
|
|
|
|
return '-x64' |
|
|
|
|
return '' |
|
|
|
|
|
|
|
|
|
def versioned_abi_tag(self): |
|
|
|
|
return self.compiler_tag() + self.threading_tag() + self.debug_tag() + self.version_tag() |
|
|
|
|
return self.compiler_tag() + self.threading_tag() + self.debug_tag() + self.arch_tag() + self.version_tag() |
|
|
|
|
|
|
|
|
|
# FIXME - how to handle different distributions, e.g. for Mac? Currently we handle homebrew and macports, but not fink. |
|
|
|
|
def abi_tags(self): |
|
|
|
|