aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2013-11-17 22:25:17 +0200
committerJussi Pakkanen <jpakkane@gmail.com>2013-11-17 22:25:17 +0200
commitaf4e3b6671618d468da0fdaae769a904ad448810 (patch)
tree861aafdba41bccfb2a88dd0d8125ab1a7c64b1e7
parent17b5920aa8f2b23a78dbd501be255f68fd5bd868 (diff)
downloadmeson-af4e3b6671618d468da0fdaae769a904ad448810.zip
meson-af4e3b6671618d468da0fdaae769a904ad448810.tar.gz
meson-af4e3b6671618d468da0fdaae769a904ad448810.tar.bz2
Can now specify custom Boost root dir.
-rw-r--r--dependencies.py23
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)