diff options
author | Dylan Baker <dylan@pnwbakers.com> | 2019-07-02 10:52:25 -0700 |
---|---|---|
committer | Dylan Baker <dylan@pnwbakers.com> | 2019-07-15 10:59:22 -0700 |
commit | 4d5c745bdc402d7fe77026631237d9f5447e1a67 (patch) | |
tree | 857d442635fba67b166261ad2d3273809b34aaef /mesonbuild/compilers/compilers.py | |
parent | d483da46a97216a15588c4413694c73e53ab9659 (diff) | |
download | meson-4d5c745bdc402d7fe77026631237d9f5447e1a67.zip meson-4d5c745bdc402d7fe77026631237d9f5447e1a67.tar.gz meson-4d5c745bdc402d7fe77026631237d9f5447e1a67.tar.bz2 |
compilers: move ccrx compiler abstraction into mixins
Diffstat (limited to 'mesonbuild/compilers/compilers.py')
-rw-r--r-- | mesonbuild/compilers/compilers.py | 130 |
1 files changed, 1 insertions, 129 deletions
diff --git a/mesonbuild/compilers/compilers.py b/mesonbuild/compilers/compilers.py index 8800923..edff756 100644 --- a/mesonbuild/compilers/compilers.py +++ b/mesonbuild/compilers/compilers.py @@ -1,4 +1,4 @@ -# Copyright 2012-2017 The Meson development team +# Copyright 2012-2019 The Meson development team # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -169,14 +169,6 @@ arm_buildtype_args = {'plain': [], 'custom': [], } -ccrx_buildtype_args = {'plain': [], - 'debug': [], - 'debugoptimized': [], - 'release': [], - 'minsize': [], - 'custom': [], - } - msvc_buildtype_args = {'plain': [], 'debug': ["/ZI", "/Ob0", "/Od", "/RTC1"], 'debugoptimized': ["/Zi", "/Ob1"], @@ -216,13 +208,6 @@ arm_buildtype_linker_args = {'plain': [], 'custom': [], } -ccrx_buildtype_linker_args = {'plain': [], - 'debug': [], - 'debugoptimized': [], - 'release': [], - 'minsize': [], - 'custom': [], - } pgi_buildtype_linker_args = {'plain': [], 'debug': [], 'debugoptimized': [], @@ -347,14 +332,6 @@ gnu_optimization_args = {'0': [], 's': ['-Os'], } -ccrx_optimization_args = {'0': ['-optimize=0'], - 'g': ['-optimize=0'], - '1': ['-optimize=1'], - '2': ['-optimize=2'], - '3': ['-optimize=max'], - 's': ['-optimize=2', '-size'] - } - msvc_optimization_args = {'0': [], 'g': ['/O0'], '1': ['/O1'], @@ -380,9 +357,6 @@ clike_debug_args = {False: [], msvc_debug_args = {False: [], True: []} # Fixme! -ccrx_debug_args = {False: [], - True: ['-debug']} - base_options = {'b_pch': coredata.UserBooleanOption('Use precompiled headers', True), 'b_lto': coredata.UserBooleanOption('Use link time optimization', False), 'b_sanitize': coredata.UserComboOption('Code sanitizer to use', @@ -2536,105 +2510,3 @@ class ArmCompiler: parameter_list[idx] = i[:2] + os.path.normpath(os.path.join(build_dir, i[2:])) return parameter_list - -class CcrxCompiler: - def __init__(self, compiler_type): - if not self.is_cross: - raise EnvironmentException('ccrx supports only cross-compilation.') - # Check whether 'rlink.exe' is available in path - self.linker_exe = 'rlink.exe' - args = '--version' - try: - p, stdo, stderr = Popen_safe(self.linker_exe, args) - except OSError as e: - err_msg = 'Unknown linker\nRunning "{0}" gave \n"{1}"'.format(' '.join([self.linker_exe] + [args]), e) - raise EnvironmentException(err_msg) - self.id = 'ccrx' - self.compiler_type = compiler_type - # Assembly - self.can_compile_suffixes.update('s') - default_warn_args = [] - self.warn_args = {'0': [], - '1': default_warn_args, - '2': default_warn_args + [], - '3': default_warn_args + []} - - def can_linker_accept_rsp(self): - return False - - def get_pic_args(self): - # PIC support is not enabled by default for CCRX, - # if users want to use it, they need to add the required arguments explicitly - return [] - - def get_buildtype_args(self, buildtype): - return ccrx_buildtype_args[buildtype] - - def get_buildtype_linker_args(self, buildtype): - return ccrx_buildtype_linker_args[buildtype] - - # Override CCompiler.get_std_shared_lib_link_args - def get_std_shared_lib_link_args(self): - return [] - - def get_pch_suffix(self): - return 'pch' - - def get_pch_use_args(self, pch_dir, header): - return [] - - # Override CCompiler.get_dependency_gen_args - def get_dependency_gen_args(self, outtarget, outfile): - return [] - - # Override CCompiler.build_rpath_args - def build_rpath_args(self, build_dir, from_dir, rpath_paths, build_rpath, install_rpath): - return [] - - def thread_flags(self, env): - return [] - - def thread_link_flags(self, env): - return [] - - def get_linker_exelist(self): - return [self.linker_exe] - - def get_linker_lib_prefix(self): - return '-lib=' - - def get_coverage_args(self): - return [] - - def get_coverage_link_args(self): - return [] - - def get_optimization_args(self, optimization_level): - return ccrx_optimization_args[optimization_level] - - def get_debug_args(self, is_debug): - return ccrx_debug_args[is_debug] - - @classmethod - def unix_args_to_native(cls, args): - result = [] - for i in args: - if i.startswith('-D'): - i = '-define=' + i[2:] - if i.startswith('-I'): - i = '-include=' + i[2:] - if i.startswith('-Wl,-rpath='): - continue - elif i == '--print-search-dirs': - continue - elif i.startswith('-L'): - continue - result.append(i) - return result - - def compute_parameters_with_absolute_paths(self, parameter_list, build_dir): - for idx, i in enumerate(parameter_list): - if i[:9] == '-include=': - parameter_list[idx] = i[:9] + os.path.normpath(os.path.join(build_dir, i[9:])) - - return parameter_list |