aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXavier Claessens <xavier.claessens@collabora.com>2018-05-13 10:36:58 -0400
committerNirbheek Chauhan <nirbheek.chauhan@gmail.com>2018-06-06 20:02:37 +0000
commit218ed2de89c3729e9d8d6a5d8e80e0a9461714ca (patch)
tree4e0dc6b09a7ac30144ae587337d5f52fbfcf4437
parentaa879b7f0cd3ed36e87ee7699e060c48d66f6b67 (diff)
downloadmeson-218ed2de89c3729e9d8d6a5d8e80e0a9461714ca.zip
meson-218ed2de89c3729e9d8d6a5d8e80e0a9461714ca.tar.gz
meson-218ed2de89c3729e9d8d6a5d8e80e0a9461714ca.tar.bz2
optinterpreter: Remove duplicated list of languages
It is important to keep the list of languages up to date in optinterpreter, otherwise we could have conflicting options when adding new languages.
-rw-r--r--mesonbuild/compilers/__init__.py2
-rw-r--r--mesonbuild/compilers/compilers.py1
-rw-r--r--mesonbuild/optinterpreter.py15
3 files changed, 5 insertions, 13 deletions
diff --git a/mesonbuild/compilers/__init__.py b/mesonbuild/compilers/__init__.py
index 6b31cca..849e229 100644
--- a/mesonbuild/compilers/__init__.py
+++ b/mesonbuild/compilers/__init__.py
@@ -25,6 +25,7 @@ __all__ = [
'ICC_STANDARD',
'ICC_WIN',
+ 'all_languages',
'base_options',
'clike_langs',
'c_suffixes',
@@ -99,6 +100,7 @@ from .compilers import (
ICC_OSX,
ICC_WIN,
ICC_STANDARD,
+ all_languages,
base_options,
clike_langs,
c_suffixes,
diff --git a/mesonbuild/compilers/compilers.py b/mesonbuild/compilers/compilers.py
index b61398f..a9ab29e 100644
--- a/mesonbuild/compilers/compilers.py
+++ b/mesonbuild/compilers/compilers.py
@@ -45,6 +45,7 @@ lang_suffixes = {
'swift': ('swift',),
'java': ('java',),
}
+all_languages = lang_suffixes.keys()
cpp_suffixes = lang_suffixes['cpp'] + ('h',)
c_suffixes = lang_suffixes['c'] + ('h',)
# List of languages that can be linked with C code directly by the linker
diff --git a/mesonbuild/optinterpreter.py b/mesonbuild/optinterpreter.py
index 3da5dad..7455c48 100644
--- a/mesonbuild/optinterpreter.py
+++ b/mesonbuild/optinterpreter.py
@@ -20,21 +20,10 @@ from . import mparser
from . import coredata
from . import mesonlib
from .interpreterbase import FeatureNew
+from . import compilers
forbidden_option_names = coredata.get_builtin_options()
-forbidden_prefixes = {'c_',
- 'cpp_',
- 'd_',
- 'rust_',
- 'fortran_',
- 'objc_',
- 'objcpp_',
- 'vala_',
- 'csharp_',
- 'swift_',
- 'b_',
- 'backend_',
- }
+forbidden_prefixes = [lang + '_' for lang in compilers.all_languages] + ['b_', 'backend_']
def is_invalid_name(name):
if name in forbidden_option_names: