diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2016-02-22 21:07:03 +0200 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2016-02-22 21:28:34 +0200 |
commit | d88223bd615ebce49cc662a3b48461de9c4780bc (patch) | |
tree | a1d0014977f5efac17e896b71f1c9e1865dc19c0 /mesonbuild/environment.py | |
parent | 6a90d5d58781734149c637eb46dda5d90ddc03f7 (diff) | |
download | meson-d88223bd615ebce49cc662a3b48461de9c4780bc.zip meson-d88223bd615ebce49cc662a3b48461de9c4780bc.tar.gz meson-d88223bd615ebce49cc662a3b48461de9c4780bc.tar.bz2 |
Do delayed argument setting properly this time.
Diffstat (limited to 'mesonbuild/environment.py')
-rw-r--r-- | mesonbuild/environment.py | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py index c43c5e1..369ca20 100644 --- a/mesonbuild/environment.py +++ b/mesonbuild/environment.py @@ -58,7 +58,7 @@ class Environment(): log_dir = 'meson-logs' coredata_file = os.path.join(private_dir, 'coredata.dat') version_regex = '\d+(\.\d+)+(-[a-zA-Z0-9]+)?' - def __init__(self, source_dir, build_dir, main_script_file, options): + def __init__(self, source_dir, build_dir, main_script_file, options, original_cmd_line_args): assert(os.path.isabs(main_script_file)) assert(not os.path.islink(main_script_file)) self.source_dir = source_dir @@ -80,6 +80,7 @@ class Environment(): else: self.cross_info = None self.cmd_line_options = options + self.original_cmd_line_args = original_cmd_line_args # List of potential compilers. if mesonlib.is_windows(): @@ -153,6 +154,18 @@ class Environment(): def is_library(self, fname): return is_library(fname) + def had_argument_for(self, option): + trial1 = '--' + option + trial2 = '-D' + option + previous_is_plaind = False + for i in self.original_cmd_line_args: + if i.startswith(trial1) or i.startswith(trial2): + return True + if previous_is_plaind and i.startswith(option): + return True + previous_is_plaind = i == '-D' + return False + def merge_options(self, options): for (name, value) in options.items(): if name not in self.coredata.user_options: |