summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Redelings <benjamin.redelings@gmail.com>2017-12-31 13:24:42 -0800
committerBenjamin Redelings <benjamin.redelings@gmail.com>2018-01-01 22:42:49 -0800
commit62bec86aa6a0c8e33ef32e43cee0e61bdd110851 (patch)
tree4360044e6d12f098da6e2d0811d5aad70231f04d
parentce0b0d463f2870aa5372cb51b7b898cbc649fc4f (diff)
downloadmeson-62bec86aa6a0c8e33ef32e43cee0e61bdd110851.tar.gz
Handle header-only boost modules on Unix when BOOST_ROOT is not set.
-rw-r--r--mesonbuild/dependencies/misc.py117
1 files changed, 115 insertions, 2 deletions
diff --git a/mesonbuild/dependencies/misc.py b/mesonbuild/dependencies/misc.py
index 3e2f78031..cc0914c19 100644
--- a/mesonbuild/dependencies/misc.py
+++ b/mesonbuild/dependencies/misc.py
@@ -152,7 +152,7 @@ class BoostDependency(ExternalDependency):
# previous versions of meson allowed include dirs as modules
remove = []
for m in invalid_modules:
- if self.incdir and m in os.listdir(os.path.join(self.incdir, 'boost')):
+ if m in BOOST_DIRS:
mlog.warning('Requested boost library', mlog.bold(m), 'that doesn\'t exist. '
'This will be an error in the future')
remove.append(m)
@@ -161,7 +161,7 @@ class BoostDependency(ExternalDependency):
invalid_modules = [x for x in invalid_modules if x not in remove]
if invalid_modules:
- mlog.warning('Invalid Boost modules: ' + ', '.join(invalid_modules))
+ mlog.log(mlog.red('ERROR:'), 'Invalid Boost modules: ' + ', '.join(invalid_modules))
self.log_fail()
return
@@ -1018,3 +1018,116 @@ BOOST_LIBS = [
'boost_type_erasure',
'boost_wave'
]
+
+BOOST_DIRS = [
+ 'lambda',
+ 'optional',
+ 'convert',
+ 'system',
+ 'uuid',
+ 'archive',
+ 'align',
+ 'timer',
+ 'chrono',
+ 'gil',
+ 'logic',
+ 'signals',
+ 'predef',
+ 'tr1',
+ 'multi_index',
+ 'property_map',
+ 'multi_array',
+ 'context',
+ 'random',
+ 'endian',
+ 'circular_buffer',
+ 'proto',
+ 'assign',
+ 'format',
+ 'math',
+ 'phoenix',
+ 'graph',
+ 'locale',
+ 'mpl',
+ 'pool',
+ 'unordered',
+ 'core',
+ 'exception',
+ 'ptr_container',
+ 'flyweight',
+ 'range',
+ 'typeof',
+ 'thread',
+ 'move',
+ 'spirit',
+ 'dll',
+ 'compute',
+ 'serialization',
+ 'ratio',
+ 'msm',
+ 'config',
+ 'metaparse',
+ 'coroutine2',
+ 'qvm',
+ 'program_options',
+ 'concept',
+ 'detail',
+ 'hana',
+ 'concept_check',
+ 'compatibility',
+ 'variant',
+ 'type_erasure',
+ 'mpi',
+ 'test',
+ 'fusion',
+ 'log',
+ 'sort',
+ 'local_function',
+ 'units',
+ 'functional',
+ 'preprocessor',
+ 'integer',
+ 'container',
+ 'polygon',
+ 'interprocess',
+ 'numeric',
+ 'iterator',
+ 'wave',
+ 'lexical_cast',
+ 'multiprecision',
+ 'utility',
+ 'tti',
+ 'asio',
+ 'dynamic_bitset',
+ 'algorithm',
+ 'xpressive',
+ 'bimap',
+ 'signals2',
+ 'type_traits',
+ 'regex',
+ 'statechart',
+ 'parameter',
+ 'icl',
+ 'python',
+ 'lockfree',
+ 'intrusive',
+ 'io',
+ 'pending',
+ 'geometry',
+ 'tuple',
+ 'iostreams',
+ 'heap',
+ 'atomic',
+ 'filesystem',
+ 'smart_ptr',
+ 'function',
+ 'fiber',
+ 'type_index',
+ 'accumulators',
+ 'function_types',
+ 'coroutine',
+ 'vmd',
+ 'date_time',
+ 'property_tree',
+ 'bind'
+]