llvm-config is a tool to output compile and linker flags, when compiling against llvm. The tool however outputs static library names despite libllvm is build as shared library on nixos. This was fixed for llvm 3.4, 3.5 and 3.7. For llvm 3.8 and 3.9 it printed the library extension twice (.so.so). This was fixed in 4.0 and the patch is backported to 3.8 and 3.9 in this pull request. ``` $ for i in 34 35 37 38 39; do echo "\nllvm-$i"; nix-shell -p llvmPackages_$i.llvm --run 'llvm-config --libnames'; done llvm-34 libLLVMInstrumentation.so libLLVMIRReader.so libLLVMAsmParser.so ... llvm-35 libLLVMLTO.so libLLVMObjCARCOpts.so libLLVMLinker.so libLLVMipo.so ... llvm-37 libLLVMLTO.so libLLVMObjCARCOpts.so libLLVMLinker.so libLLVMBitWriter.so ... llvm-38 libLLVM-3.8.1.so llvm-39 libLLVM-3.9.so ``` fixes #26713
		
			
				
	
	
		
			14 lines
		
	
	
		
			637 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			14 lines
		
	
	
		
			637 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
diff --git a/utils/llvm-build/llvmbuild/main.py b/utils/llvm-build/llvmbuild/main.py
 | 
						|
index eacefdf60bf..40d25f5cef8 100644
 | 
						|
--- a/utils/llvm-build/llvmbuild/main.py
 | 
						|
+++ b/utils/llvm-build/llvmbuild/main.py
 | 
						|
@@ -412,7 +412,7 @@ subdirectories = %s
 | 
						|
             if library_name is None:
 | 
						|
                 library_name_as_cstr = '0'
 | 
						|
             else:
 | 
						|
-                library_name_as_cstr = '"lib%s.a"' % library_name
 | 
						|
+                library_name_as_cstr = '"lib%s.so"' % library_name
 | 
						|
             f.write('  { "%s", %s, %d, { %s } },\n' % (
 | 
						|
                 name, library_name_as_cstr, is_installed,
 | 
						|
                 ', '.join('"%s"' % dep
 |