diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2015-10-04 04:02:17 +0300 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2015-10-04 04:02:17 +0300 |
commit | b197d9e2796874420e7ffc6f5dd66ac8b08bc56c (patch) | |
tree | 1e933b5bea09b0accebc4e41b2683032f64f5ef9 /optinterpreter.py | |
parent | 50663144c37af5e0f411902eb3b799641daffa45 (diff) | |
download | meson-b197d9e2796874420e7ffc6f5dd66ac8b08bc56c.zip meson-b197d9e2796874420e7ffc6f5dd66ac8b08bc56c.tar.gz meson-b197d9e2796874420e7ffc6f5dd66ac8b08bc56c.tar.bz2 |
Can set compiler options with mesonconf.
Diffstat (limited to 'optinterpreter.py')
-rw-r--r-- | optinterpreter.py | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/optinterpreter.py b/optinterpreter.py index e61707a..d66aa1f 100644 --- a/optinterpreter.py +++ b/optinterpreter.py @@ -17,6 +17,22 @@ import coredata, mesonlib import os, re forbidden_option_names = coredata.builtin_options +forbidden_prefixes = {'c_': True, + 'cpp_': True, + 'rust_': True, + 'fortran_': True, + 'objc_': True, + 'objcpp_': True, + 'vala_': True, + 'csharp_': True + } + +def is_invalid_name(name): + if name in forbidden_option_names: + return True + if name in forbidden_prefixes: + return True + return False class OptionException(coredata.MesonException): pass @@ -120,7 +136,7 @@ class OptionInterpreter: raise OptionException('Positional argument must be a string.') if optname_regex.search(opt_name) is not None: raise OptionException('Option names can only contain letters, numbers or dashes.') - if opt_name in forbidden_option_names: + if is_invalid_name(opt_name): raise OptionException('Option name %s is reserved.' % opt_name) if self.subproject != '': opt_name = self.subproject + ':' + opt_name |