diff options
Diffstat (limited to 'mesonbuild/compilers/compilers.py')
-rw-r--r-- | mesonbuild/compilers/compilers.py | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/mesonbuild/compilers/compilers.py b/mesonbuild/compilers/compilers.py index 95f937d..352c49e 100644 --- a/mesonbuild/compilers/compilers.py +++ b/mesonbuild/compilers/compilers.py @@ -196,22 +196,22 @@ rust_buildtype_args = {'plain': [], d_gdc_buildtype_args = {'plain': [], 'debug': [], - 'debugoptimized': ['-O'], - 'release': ['-O3', '-frelease'], + 'debugoptimized': ['-finline-functions'], + 'release': ['-frelease', '-finline-functions'], 'minsize': [], } d_ldc_buildtype_args = {'plain': [], 'debug': [], - 'debugoptimized': ['-O'], - 'release': ['-O3', '-release'], + 'debugoptimized': ['-enable-inlining', '-Hkeep-all-bodies'], + 'release': ['-release', '-enable-inlining', '-Hkeep-all-bodies'], 'minsize': [], } d_dmd_buildtype_args = {'plain': [], 'debug': [], - 'debugoptimized': ['-O'], - 'release': ['-O', '-release'], + 'debugoptimized': ['-inline'], + 'release': ['-release', '-inline'], 'minsize': [], } @@ -459,6 +459,15 @@ def get_base_link_args(options, linker, is_shared_module): elif as_needed: # -Wl,-dead_strip_dylibs is incompatible with bitcode args.append(linker.get_asneeded_args()) + try: + crt_val = options['b_vscrt'].value + buildtype = options['buildtype'].value + try: + args += linker.get_crt_link_args(crt_val, buildtype) + except AttributeError: + pass + except KeyError: + pass return args class CrossNoRunException(MesonException): |