diff options
author | Vasu Penugonda <34339497+sompen@users.noreply.github.com> | 2018-06-21 03:25:39 +0530 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2018-06-21 00:55:39 +0300 |
commit | 7140afc0a86f2aae0689617fca985ef209a7c097 (patch) | |
tree | 90ea64438db91b8c29b2d70d5d1c5683fe0e86f1 /mesonbuild/compilers/c.py | |
parent | f3c01a3c4f973ad234ead327f696b5e7fb43e4f6 (diff) | |
download | meson-7140afc0a86f2aae0689617fca985ef209a7c097.zip meson-7140afc0a86f2aae0689617fca985ef209a7c097.tar.gz meson-7140afc0a86f2aae0689617fca985ef209a7c097.tar.bz2 |
Added ARMCLANG compiler support for C/C++ (#3717)
Diffstat (limited to 'mesonbuild/compilers/c.py')
-rw-r--r-- | mesonbuild/compilers/c.py | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/mesonbuild/compilers/c.py b/mesonbuild/compilers/c.py index cd3aad1..b63dce4 100644 --- a/mesonbuild/compilers/c.py +++ b/mesonbuild/compilers/c.py @@ -32,6 +32,7 @@ from .compilers import ( vs32_instruction_set_args, vs64_instruction_set_args, ArmCompiler, + ArmclangCompiler, ClangCompiler, Compiler, CompilerArgs, @@ -979,6 +980,34 @@ class ClangCCompiler(ClangCompiler, CCompiler): return basic +class ArmclangCCompiler(ArmclangCompiler, CCompiler): + def __init__(self, exelist, version, is_cross, exe_wrapper=None, **kwargs): + CCompiler.__init__(self, exelist, version, is_cross, exe_wrapper, **kwargs) + ArmclangCompiler.__init__(self) + default_warn_args = ['-Wall', '-Winvalid-pch'] + self.warn_args = {'1': default_warn_args, + '2': default_warn_args + ['-Wextra'], + '3': default_warn_args + ['-Wextra', '-Wpedantic']} + + def get_options(self): + opts = CCompiler.get_options(self) + opts.update({'c_std': coredata.UserComboOption('c_std', 'C language standard to use', + ['none', 'c90', 'c99', 'c11', + 'gnu90', 'gnu99', 'gnu11'], + 'none')}) + return opts + + def get_option_compile_args(self, options): + args = [] + std = options['c_std'] + if std.value != 'none': + args.append('-std=' + std.value) + return args + + def get_option_link_args(self, options): + return [] + + class GnuCCompiler(GnuCompiler, CCompiler): def __init__(self, exelist, version, gcc_type, is_cross, exe_wrapper=None, defines=None, **kwargs): CCompiler.__init__(self, exelist, version, is_cross, exe_wrapper, **kwargs) |