diff options
author | Mathieu Duponchelle <mathieu@centricular.com> | 2018-08-30 01:38:11 +0200 |
---|---|---|
committer | Nirbheek Chauhan <nirbheek.chauhan@gmail.com> | 2018-08-31 08:09:28 -0700 |
commit | b2f92ea6894b00e1e8095d37b7d06e7da34462de (patch) | |
tree | 0ff2aeda2e6a6d680e67c2d4f5cec3811e7b49b0 | |
parent | bead8287a5c047f31e6efe5c49039278341ae46c (diff) | |
download | meson-b2f92ea6894b00e1e8095d37b7d06e7da34462de.zip meson-b2f92ea6894b00e1e8095d37b7d06e7da34462de.tar.gz meson-b2f92ea6894b00e1e8095d37b7d06e7da34462de.tar.bz2 |
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`
-rw-r--r-- | mesonbuild/modules/gnome.py | 2 | ||||
-rwxr-xr-x | run_unittests.py | 8 |
2 files changed, 9 insertions, 1 deletions
diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py index c5897c0..3d39950 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 f17b7ae..94c1aba 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 |