123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- From ea85465e608178080c3b4d51af9765a8c7c0dae3 Mon Sep 17 00:00:00 2001
- From: Matt Weber <matthew.weber@rockwellcollins.com>
- Date: Sat, 26 Oct 2019 09:17:29 -0500
- Subject: [PATCH] Prefer ext static libs when --default-library=static
- This patch adds a case in the library pattern logic to prefer static
- libraries when the Meson Core option for "default_library" is set to
- solely static.
- The existing library search order makes sense for cases of shared and
- shared / static mixed. However if using a prebuilt cross-toolchain,
- they usually provide both a static and shared version of sysroot
- libraries. This presents a problem in a complete static build where
- there won't be shared libraries at runtime and during build time there
- are failures like "ld: attempted static link of dynamic object".
- Bug:
- https://github.com/mesonbuild/meson/issues/6108
- Fixes:
- http://autobuild.buildroot.net/results/db1740b4777f436324218c52bc7b08e5c21b667d/
- http://autobuild.buildroot.net/results/c17/c17bbb12d9deadd64a441b36e324cfbbe8aba5be/
- Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com>
- ---
- mesonbuild/compilers/mixins/clike.py | 3 +++
- 1 file changed, 3 insertions(+)
- diff --git a/mesonbuild/compilers/mixins/clike.py b/mesonbuild/compilers/mixins/clike.py
- index 47e97d261..729c98acc 100644
- --- a/mesonbuild/compilers/mixins/clike.py
- +++ b/mesonbuild/compilers/mixins/clike.py
- @@ -940,6 +940,9 @@ class CLikeCompiler:
- elif env.machines[self.for_machine].is_cygwin():
- shlibext = ['dll', 'dll.a']
- prefixes = ['cyg'] + prefixes
- + elif env.coredata.get_builtin_option('default_library') == 'static':
- + # Linux/BSDs
- + shlibext = ['a']
- else:
- # Linux/BSDs
- shlibext = ['so']
- --
- 2.25.1
|