diff options
author | Xavier Claessens <xavier.claessens@collabora.com> | 2018-05-13 10:36:58 -0400 |
---|---|---|
committer | Nirbheek Chauhan <nirbheek.chauhan@gmail.com> | 2018-06-06 20:02:37 +0000 |
commit | b7d442150dd8575f0756e3bc9e953d0f198e16c6 (patch) | |
tree | ea286310111e3e1103db39908cdb8295a3b337f0 /mesonbuild/compilers/compilers.py | |
parent | 58a9555ddf49d851a7eb56874df1d0b3f498e53e (diff) | |
download | meson-b7d442150dd8575f0756e3bc9e953d0f198e16c6.zip meson-b7d442150dd8575f0756e3bc9e953d0f198e16c6.tar.gz meson-b7d442150dd8575f0756e3bc9e953d0f198e16c6.tar.bz2 |
Move <lang>_args to coredata.compiler_options
Diffstat (limited to 'mesonbuild/compilers/compilers.py')
-rw-r--r-- | mesonbuild/compilers/compilers.py | 31 |
1 files changed, 25 insertions, 6 deletions
diff --git a/mesonbuild/compilers/compilers.py b/mesonbuild/compilers/compilers.py index 7ac0753..fcb658b 100644 --- a/mesonbuild/compilers/compilers.py +++ b/mesonbuild/compilers/compilers.py @@ -725,6 +725,11 @@ class Compiler: """ return [] + def get_preproc_flags(self): + if self.get_language() in ('c', 'cpp', 'objc', 'objcpp'): + return os.environ.get('CPPFLAGS', '') + return '' + def get_args_from_envvars(self): """ Returns a tuple of (compile_flags, link_flags) for the specified language @@ -740,7 +745,7 @@ class Compiler: compiler_is_linker = (self.get_exelist() == self.get_linker_exelist()) if lang not in cflags_mapping: - return [], [], [] + return [], [] compile_flags = os.environ.get(cflags_mapping[lang], '') log_var(cflags_mapping[lang], compile_flags) @@ -758,17 +763,31 @@ class Compiler: link_flags = compile_flags + link_flags # Pre-processor flags (not for fortran or D) - preproc_flags = '' - if lang in ('c', 'cpp', 'objc', 'objcpp'): - preproc_flags = os.environ.get('CPPFLAGS', '') + preproc_flags = self.get_preproc_flags() log_var('CPPFLAGS', preproc_flags) preproc_flags = shlex.split(preproc_flags) compile_flags += preproc_flags - return preproc_flags, compile_flags, link_flags + return compile_flags, link_flags def get_options(self): - return {} # build afresh every time + opts = {} # build afresh every time + + # Take default values from env variables. + compile_args, link_args = self.get_args_from_envvars() + description = 'Extra arguments passed to the {}'.format(self.get_display_language()) + opts.update({ + self.language + '_args': coredata.UserArrayOption( + self.language + '_args', + description + ' compiler', + compile_args, shlex_split=True, user_input=True), + self.language + '_link_args': coredata.UserArrayOption( + self.language + '_link_args', + description + ' linker', + link_args, shlex_split=True, user_input=True), + }) + + return opts def get_option_compile_args(self, options): return [] |