aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMathieu Duponchelle <mathieu@centricular.com>2018-08-30 01:38:11 +0200
committerNirbheek Chauhan <nirbheek.chauhan@gmail.com>2018-08-31 08:09:28 -0700
commitb2f92ea6894b00e1e8095d37b7d06e7da34462de (patch)
tree0ff2aeda2e6a6d680e67c2d4f5cec3811e7b49b0
parentbead8287a5c047f31e6efe5c49039278341ae46c (diff)
downloadmeson-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.py2
-rwxr-xr-xrun_unittests.py8
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