aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/compilers/compilers.py
diff options
context:
space:
mode:
Diffstat (limited to 'mesonbuild/compilers/compilers.py')
-rw-r--r--mesonbuild/compilers/compilers.py21
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):