You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							45 lines
						
					
					
						
							1.7 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							45 lines
						
					
					
						
							1.7 KiB
						
					
					
				
								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
							 | 
						|
								
							 | 
						|
								
							 |