diff options
author | GoaLitiuM <goalitium@kapsi.fi> | 2018-09-04 02:32:37 +0300 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2018-09-05 20:26:11 +0300 |
commit | 5240b26fb868fd91c912c0a6b1aca0b0638d137c (patch) | |
tree | dea126181ef6f8a8196cc6e3b745e11149b5a793 /mesonbuild | |
parent | b3a35f92b4955120e142e34f8a4f0afd348e2bcb (diff) | |
download | meson-5240b26fb868fd91c912c0a6b1aca0b0638d137c.zip meson-5240b26fb868fd91c912c0a6b1aca0b0638d137c.tar.gz meson-5240b26fb868fd91c912c0a6b1aca0b0638d137c.tar.bz2 |
D: Use the documented syntax for various arguments
Diffstat (limited to 'mesonbuild')
-rw-r--r-- | mesonbuild/compilers/d.py | 106 |
1 files changed, 41 insertions, 65 deletions
diff --git a/mesonbuild/compilers/d.py b/mesonbuild/compilers/d.py index 118a662..d4ddf15 100644 --- a/mesonbuild/compilers/d.py +++ b/mesonbuild/compilers/d.py @@ -101,6 +101,34 @@ class DCompiler(Compiler): def get_linker_exelist(self): return self.exelist[:] + def get_output_args(self, target): + return ['-of=' + target] + + def get_linker_output_args(self, target): + return ['-of=' + target] + + def get_include_args(self, path, is_system): + return ['-I=' + path] + + def get_warn_args(self, level): + return ['-wi'] + + def get_werror_args(self): + return ['-w'] + + def get_dependency_gen_args(self, outtarget, outfile): + # DMD and LDC does not currently return Makefile-compatible dependency info. + return [] + + def get_linker_search_args(self, dirname): + # -L is recognized as "add this to the search path" by the linker, + # while the compiler recognizes it as "pass to linker". So, the first + # -L is for the compiler, telling it to pass the second -L to the linker. + return ['-L=-L' + dirname] + + def get_coverage_args(self): + return ['-cov'] + def get_preprocess_only_args(self): return ['-E'] @@ -203,7 +231,7 @@ class DCompiler(Compiler): paths = padding else: paths = paths + ':' + padding - return ['-L-rpath={}'.format(paths)] + return ['-L=-rpath={}'.format(paths)] def _get_compiler_check_args(self, env, extra_args, dependencies, mode='compile'): if extra_args is None: @@ -266,12 +294,12 @@ class DCompiler(Compiler): for la in linkargs: if la.startswith('--out-implib='): # Import library name for MSVC targets - dcargs.append('-L/IMPLIB:' + la[13:].strip()) + dcargs.append('-L=/IMPLIB:' + la[13:].strip()) continue - dcargs.append('-L' + la.strip()) + dcargs.append('-L=' + la.strip()) continue elif arg.startswith('-install_name'): - dcargs.append('-L' + arg) + dcargs.append('-L=' + arg) continue elif arg.startswith('-link-defaultlib') or arg.startswith('-linker'): # these are special arguments to the LDC linker call, @@ -283,7 +311,7 @@ class DCompiler(Compiler): continue elif arg.startswith('-l'): # translate library link flag - dcargs.append('-L' + arg) + dcargs.append('-L=' + arg) continue elif arg.startswith('-L/') or arg.startswith('-L./'): # we need to handle cases where -L is set by e.g. a pkg-config @@ -293,12 +321,12 @@ class DCompiler(Compiler): # compiler (pass flag through to the linker) # Hence, we guess here whether the flag was intended to pass # a linker search path. - dcargs.append('-L' + arg) + dcargs.append('-L=' + arg) continue elif arg.startswith('/') or arg.startswith('./'): # absolute (or relative) paths passed to the linker may be static libraries # or other objects that we need to link. - dcargs.append('-L' + arg) + dcargs.append('-L=' + arg) continue elif arg.startswith('-mscrtlib='): mscrtlib = arg[10:].lower() @@ -307,12 +335,12 @@ class DCompiler(Compiler): # Default crt libraries for LDC2 must be excluded for other # selected crt options. if mscrtlib != 'libcmt': - dcargs.append('-L/NODEFAULTLIB:libcmt') - dcargs.append('-L/NODEFAULTLIB:libvcruntime') + dcargs.append('-L=/NODEFAULTLIB:libcmt') + dcargs.append('-L=/NODEFAULTLIB:libvcruntime') # Fixes missing definitions for printf-functions in VS2017 if mscrtlib.startswith('msvcrt'): - dcargs.append('-L/DEFAULTLIB:legacy_stdio_definitions.lib') + dcargs.append('-L=/DEFAULTLIB:legacy_stdio_definitions.lib') dcargs.append(arg) @@ -396,6 +424,9 @@ class GnuDCompiler(DCompiler): def get_linker_search_args(self, dirname): return ['-L' + dirname] + def get_coverage_args(self): + return [] + def get_buildtype_args(self, buildtype): return d_gdc_buildtype_args[buildtype] @@ -416,32 +447,12 @@ class LLVMDCompiler(DCompiler): return ['-enable-color'] return [] - def get_dependency_gen_args(self, outtarget, outfile): - # LDC using the -deps flag returns a non-Makefile dependency-info file, which - # the backends can not use. So we disable this feature for now. - return [] - - def get_output_args(self, target): - return ['-of', target] - - def get_linker_output_args(self, target): - return ['-of', target] - - def get_include_args(self, path, is_system): - return ['-I' + path] - def get_warn_args(self, level): if level == '2' or level == '3': return ['-wi', '-dw'] else: return ['-wi'] - def get_werror_args(self): - return ['-w'] - - def get_coverage_args(self): - return ['-cov'] - def get_buildtype_args(self, buildtype): if buildtype != 'plain': return self.get_target_arch_args() + d_ldc_buildtype_args[buildtype] @@ -450,12 +461,6 @@ class LLVMDCompiler(DCompiler): def get_pic_args(self): return ['-relocation-model=pic'] - def get_linker_search_args(self, dirname): - # -L is recognized as "add this to the search path" by the linker, - # while the compiler recognizes it as "pass to linker". So, the first - # -L is for the compiler, telling it to pass the second -L to the linker. - return ['-L-L' + dirname] - def get_crt_link_args(self, crt_val, buildtype): return self.get_crt_args(crt_val, buildtype) @@ -479,35 +484,6 @@ class DmdDCompiler(DCompiler): return ['-color=on'] return [] - def get_dependency_gen_args(self, outtarget, outfile): - # LDC using the -deps flag returns a non-Makefile dependency-info file, which - # the backends can not use. So we disable this feature for now. - return [] - - def get_output_args(self, target): - return ['-of' + target] - - def get_werror_args(self): - return ['-w'] - - def get_linker_output_args(self, target): - return ['-of' + target] - - def get_include_args(self, path, is_system): - return ['-I' + path] - - def get_warn_args(self, level): - return ['-wi'] - - def get_coverage_args(self): - return ['-cov'] - - def get_linker_search_args(self, dirname): - # -L is recognized as "add this to the search path" by the linker, - # while the compiler recognizes it as "pass to linker". So, the first - # -L is for the compiler, telling it to pass the second -L to the linker. - return ['-L-L' + dirname] - def get_buildtype_args(self, buildtype): if buildtype != 'plain': return self.get_target_arch_args() + d_dmd_buildtype_args[buildtype] |