From b2f92ea6894b00e1e8095d37b7d06e7da34462de Mon Sep 17 00:00:00 2001 From: Mathieu Duponchelle Date: Thu, 30 Aug 2018 01:38:11 +0200 Subject: [PATCH] gnome: fix generate_gir when linking with libasan The regression was introduced in my recent refactoring of that method (8377ea4). This commit simply restores the ordering of the generated scan_command, ensuring `-lasan` and other internal linker flags come before `--library` or `--program` --- mesonbuild/modules/gnome.py | 2 +- run_unittests.py | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py index c5897c0c5..3d3995021 100644 --- a/mesonbuild/modules/gnome.py +++ b/mesonbuild/modules/gnome.py @@ -774,9 +774,9 @@ class GnomeModule(ExtensionModule): scan_command += ['--cflags-end'] scan_command += get_include_args(inc_dirs) scan_command += get_include_args(list(gi_includes) + gir_inc_dirs + inc_dirs, prefix='--add-include-path=') + scan_command += list(internal_ldflags) scan_command += self._scan_gir_targets(state, girtargets) scan_command += self._scan_langs(state, [lc[0] for lc in langs_compilers]) - scan_command += list(internal_ldflags) scan_command += list(external_ldflags) scan_target = self._make_gir_target(state, girfile, scan_command, depends, kwargs) diff --git a/run_unittests.py b/run_unittests.py index f17b7aee5..94c1abaa9 100755 --- a/run_unittests.py +++ b/run_unittests.py @@ -3236,6 +3236,14 @@ class LinuxlikeTests(BasePlatformTests): self.assertRegex('\n'.join(mesonlog), r'Dependency qt5 \(modules: Core\) found: YES .*, `pkg-config`\n') + def test_generate_gir_with_address_sanitizer(self): + if is_cygwin(): + raise unittest.SkipTest('asan not available on Cygwin') + + testdir = os.path.join(self.framework_test_dir, '7 gnome') + self.init(testdir, ['-Db_sanitize=address', '-Db_lundef=false']) + self.build() + def test_qt5dependency_qmake_detection(self): ''' Test that qt5 detection with qmake works. This can't be an ordinary