diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2013-11-17 22:25:17 +0200 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2013-11-17 22:25:17 +0200 |
commit | af4e3b6671618d468da0fdaae769a904ad448810 (patch) | |
tree | 861aafdba41bccfb2a88dd0d8125ab1a7c64b1e7 | |
parent | 17b5920aa8f2b23a78dbd501be255f68fd5bd868 (diff) | |
download | meson-af4e3b6671618d468da0fdaae769a904ad448810.zip meson-af4e3b6671618d468da0fdaae769a904ad448810.tar.gz meson-af4e3b6671618d468da0fdaae769a904ad448810.tar.bz2 |
Can now specify custom Boost root dir.
-rw-r--r-- | dependencies.py | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/dependencies.py b/dependencies.py index 3734b12..c6d526e 100644 --- a/dependencies.py +++ b/dependencies.py @@ -177,7 +177,16 @@ class BoostDependency(Dependency): def __init__(self, kwargs): Dependency.__init__(self) self.name = 'boost' - self.incdir = '/usr/include/boost' + try: + self.boost_root = os.environ['BOOST_ROOT'] + if not os.path.isabs(self.boost_root): + raise DependencyException('BOOST_ROOT must be an absolute path.') + except KeyError: + self.boost_root = None + if self.boost_root is None: + self.incdir = '/usr/include/boost' + else: + self.incdir = os.path.join(self.boost_root, 'include') self.src_modules = {} self.lib_modules = {} self.lib_modules_mt = {} @@ -188,7 +197,12 @@ class BoostDependency(Dependency): self.detect_src_modules() self.detect_lib_modules() self.validate_requested() - mlog.log('Dependency Boost (%s) found:' % module_str, mlog.green('YES'), '(' + self.version + ')') + if self.boost_root is not None: + info = self.version + ', root:' + self.boost_root + else: + info = self.version + mlog.log('Dependency Boost (%s) found:' % module_str, mlog.green('YES'), + '(' + info + ')') else: mlog.log("Dependency Boost (%s) found:" % module_str, mlog.red('NO')) @@ -240,7 +254,10 @@ class BoostDependency(Dependency): def detect_lib_modules(self): globber = 'libboost_*.so' # FIXME, make platform independent. - libdirs = environment.get_library_dirs() + if self.boost_root is None: + libdirs = environment.get_library_dirs() + else: + libdirs = [os.path.join(self.boost_root, 'lib')] for libdir in libdirs: for entry in glob.glob(os.path.join(libdir, globber)): lib = os.path.basename(entry) |