From b208cbda8163513787f669743f2c8877a330aaf1 Mon Sep 17 00:00:00 2001 From: GoaLitiuM Date: Sat, 18 Aug 2018 14:30:53 +0300 Subject: Remove optimization related arguments from buildtype args, inline release builds Dub enables inlining by default for release builds, so meson should do it as well. --- mesonbuild/compilers/compilers.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'mesonbuild/compilers/compilers.py') diff --git a/mesonbuild/compilers/compilers.py b/mesonbuild/compilers/compilers.py index b8ae399..9acb93c 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': [], } -- cgit v1.1 From fd2c3b4c77ac1977d254301876525f8e631a940a Mon Sep 17 00:00:00 2001 From: GoaLitiuM Date: Sat, 18 Aug 2018 14:44:55 +0300 Subject: Handle proper linking of MSVC runtime libraries DMD expects mscrtlib arguments while compiling, whereas LDC2 expects these while linking. --- mesonbuild/compilers/compilers.py | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'mesonbuild/compilers/compilers.py') diff --git a/mesonbuild/compilers/compilers.py b/mesonbuild/compilers/compilers.py index 9acb93c..47c222d 100644 --- a/mesonbuild/compilers/compilers.py +++ b/mesonbuild/compilers/compilers.py @@ -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): -- cgit v1.1