 947c26972b
			
		
	
	
		947c26972b
		
	
	
	
	
		
			
			* All projects are available under NCSA license, other than dragonegg. * "Runtime" projects are dual-licensed under both NCSA and MIT: libc++, libc++abi, compiler-rt * I don't mention MIT for compiler-rt as we only build it as part of LLVM.
		
			
				
	
	
		
			48 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
| { stdenv, cmake, fetch, libcxx, libunwind, llvm, version }:
 | |
| 
 | |
| stdenv.mkDerivation {
 | |
|   name = "libc++abi-${version}";
 | |
| 
 | |
|   src = fetch "libcxxabi" "1qfs2iis1i0ppv11jndc98cvd7s25pj46pq2sfyldmzswdxmzdg1";
 | |
| 
 | |
|   buildInputs = [ cmake ] ++ stdenv.lib.optional (!stdenv.isDarwin && !stdenv.isFreeBSD) libunwind;
 | |
| 
 | |
|   postUnpack = ''
 | |
|     unpackFile ${libcxx.src}
 | |
|     unpackFile ${llvm.src}
 | |
|     export NIX_CFLAGS_COMPILE+=" -I$PWD/include"
 | |
|     export cmakeFlags="-DLLVM_PATH=$PWD/$(ls -d llvm-*) -DLIBCXXABI_LIBCXX_INCLUDES=$PWD/$(ls -d libcxx-*)/include"
 | |
|   '' + stdenv.lib.optionalString stdenv.isDarwin ''
 | |
|     export TRIPLE=x86_64-apple-darwin
 | |
|   '';
 | |
| 
 | |
|   installPhase = if stdenv.isDarwin
 | |
|     then ''
 | |
|       for file in lib/*.dylib; do
 | |
|         # this should be done in CMake, but having trouble figuring out
 | |
|         # the magic combination of necessary CMake variables
 | |
|         # if you fancy a try, take a look at
 | |
|         # http://www.cmake.org/Wiki/CMake_RPATH_handling
 | |
|         install_name_tool -id $out/$file $file
 | |
|       done
 | |
|       make install
 | |
|       install -d 755 $out/include
 | |
|       install -m 644 ../include/*.h $out/include
 | |
|     ''
 | |
|     else ''
 | |
|       install -d -m 755 $out/include $out/lib
 | |
|       install -m 644 lib/libc++abi.so.1.0 $out/lib
 | |
|       install -m 644 ../include/cxxabi.h $out/include
 | |
|       ln -s libc++abi.so.1.0 $out/lib/libc++abi.so
 | |
|       ln -s libc++abi.so.1.0 $out/lib/libc++abi.so.1
 | |
|     '';
 | |
| 
 | |
|   meta = {
 | |
|     homepage = http://libcxxabi.llvm.org/;
 | |
|     description = "A new implementation of low level support for a standard C++ library";
 | |
|     license = with stdenv.lib.licenses; [ ncsa mit ];
 | |
|     maintainers = with stdenv.lib.maintainers; [ vlstill ];
 | |
|     platforms = stdenv.lib.platforms.unix;
 | |
|   };
 | |
| }
 |