* Add support for the creation of shared libraries to `compileC', `link', and `makeLibrary'. * Enable the ATerm library to be made into a shared library.
		
			
				
	
	
		
			21 lines
		
	
	
	
		
			414 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			21 lines
		
	
	
	
		
			414 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
. $stdenv/setup
 | 
						|
 | 
						|
shopt -s nullglob
 | 
						|
 | 
						|
objs=
 | 
						|
for i in $objects; do
 | 
						|
    obj=$(echo $i/*.o)
 | 
						|
    objs="$objs $obj"
 | 
						|
done
 | 
						|
 | 
						|
libs=
 | 
						|
for i in $libraries; do
 | 
						|
    lib=$(echo $i/*.a; echo $i/*.so)
 | 
						|
    name=$(echo $(basename $lib) | sed -e 's/^lib//' -e 's/.a$//' -e 's/.so$//')
 | 
						|
    libs="$libs -L$(dirname $lib) -l$name" 
 | 
						|
done
 | 
						|
 | 
						|
echo "linking object files into \`$programName'..."
 | 
						|
 | 
						|
mkdir $out
 | 
						|
gcc -o $out/$programName $objs $libs
 |