diff options
-rw-r--r-- | mesonbuild/build.py | 3 | ||||
-rwxr-xr-x | run_unittests.py | 3 | ||||
-rw-r--r-- | test cases/common/232 link language/lib.cpp | 5 | ||||
-rw-r--r-- | test cases/common/232 link language/meson.build | 6 |
4 files changed, 15 insertions, 2 deletions
diff --git a/mesonbuild/build.py b/mesonbuild/build.py index 4a8e9cc..aff1d5f 100644 --- a/mesonbuild/build.py +++ b/mesonbuild/build.py @@ -82,6 +82,7 @@ buildtarget_kwargs = set([ 'override_options', 'sources', 'gnu_symbol_visibility', + 'link_language', ]) known_build_target_kwargs = ( @@ -92,7 +93,7 @@ known_build_target_kwargs = ( rust_kwargs | cs_kwargs) -known_exe_kwargs = known_build_target_kwargs | {'implib', 'export_dynamic', 'link_language', 'pie'} +known_exe_kwargs = known_build_target_kwargs | {'implib', 'export_dynamic', 'pie'} known_shlib_kwargs = known_build_target_kwargs | {'version', 'soversion', 'vs_module_defs', 'darwin_versions'} known_shmod_kwargs = known_build_target_kwargs | {'vs_module_defs'} known_stlib_kwargs = known_build_target_kwargs | {'pic'} diff --git a/run_unittests.py b/run_unittests.py index 35f5f9c..c77c9c0 100755 --- a/run_unittests.py +++ b/run_unittests.py @@ -4647,7 +4647,7 @@ recommended as it is not supported on some platforms''') if self.backend is not Backend.ninja: raise unittest.SkipTest('This test reads the ninja file') - testdir = os.path.join(self.common_test_dir, '230 link language') + testdir = os.path.join(self.common_test_dir, '232 link language') self.init(testdir) build_ninja = os.path.join(self.builddir, 'build.ninja') @@ -4655,6 +4655,7 @@ recommended as it is not supported on some platforms''') contents = f.read() self.assertRegex(contents, r'build main(\.exe)?.*: c_LINKER') + self.assertRegex(contents, r'build (lib|cyg)?mylib.*: c_LINKER') class FailureTests(BasePlatformTests): diff --git a/test cases/common/232 link language/lib.cpp b/test cases/common/232 link language/lib.cpp new file mode 100644 index 0000000..ab43828 --- /dev/null +++ b/test cases/common/232 link language/lib.cpp @@ -0,0 +1,5 @@ +extern "C" { + int makeInt(void) { + return 1; + } +} diff --git a/test cases/common/232 link language/meson.build b/test cases/common/232 link language/meson.build index fdb3deb..f9af6cd 100644 --- a/test cases/common/232 link language/meson.build +++ b/test cases/common/232 link language/meson.build @@ -9,4 +9,10 @@ exe = executable( link_language : 'c', ) +lib = library( + 'mylib', + ['lib.cpp'], + link_language : 'c', +) + test('main', exe) |