aboutsummaryrefslogtreecommitdiff
path: root/optinterpreter.py
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2015-10-04 04:02:17 +0300
committerJussi Pakkanen <jpakkane@gmail.com>2015-10-04 04:02:17 +0300
commitb197d9e2796874420e7ffc6f5dd66ac8b08bc56c (patch)
tree1e933b5bea09b0accebc4e41b2683032f64f5ef9 /optinterpreter.py
parent50663144c37af5e0f411902eb3b799641daffa45 (diff)
downloadmeson-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.py18
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