diff options
author | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2014-09-23 11:27:53 +0200 |
---|---|---|
committer | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2014-09-23 11:27:53 +0200 |
commit | cd71f7a2e660440cbcf634ba97eaae310084d11a (patch) | |
tree | a40196e3795a4f18ff8fcc9d0f93af0fc1afa3cb /pkgs/build-support | |
parent | c1cf0b7dd5fccb16c8c470d8c766a050fd7a4a36 (diff) | |
parent | 25b395bc8d8b1590723dc42edd97561611f8db68 (diff) | |
download | nixlib-cd71f7a2e660440cbcf634ba97eaae310084d11a.tar nixlib-cd71f7a2e660440cbcf634ba97eaae310084d11a.tar.gz nixlib-cd71f7a2e660440cbcf634ba97eaae310084d11a.tar.bz2 nixlib-cd71f7a2e660440cbcf634ba97eaae310084d11a.tar.lz nixlib-cd71f7a2e660440cbcf634ba97eaae310084d11a.tar.xz nixlib-cd71f7a2e660440cbcf634ba97eaae310084d11a.tar.zst nixlib-cd71f7a2e660440cbcf634ba97eaae310084d11a.zip |
Merge branch 'darwin-stdenv' of github.com:joelteon/nixpkgs into staging
Conflicts: pkgs/development/interpreters/ruby/ruby-19.nix pkgs/development/libraries/libc++/default.nix pkgs/development/libraries/libc++abi/default.nix pkgs/tools/text/sgml/opensp/default.nix
Diffstat (limited to 'pkgs/build-support')
-rw-r--r-- | pkgs/build-support/cabal/default.nix | 5 | ||||
-rw-r--r-- | pkgs/build-support/clang-wrapper/builder.sh | 40 | ||||
-rw-r--r-- | pkgs/build-support/clang-wrapper/default.nix | 2 |
3 files changed, 35 insertions, 12 deletions
diff --git a/pkgs/build-support/cabal/default.nix b/pkgs/build-support/cabal/default.nix index d73b4a1f364c..bf91de0bd505 100644 --- a/pkgs/build-support/cabal/default.nix +++ b/pkgs/build-support/cabal/default.nix @@ -214,6 +214,10 @@ assert !enableStaticLibraries -> versionOlder "7.7" ghc.version; configureFlags+=" --ghc-option=-j$NIX_BUILD_CORES" ''} + ${optionalString self.stdenv.isDarwin '' + configureFlags+=" --with-gcc=clang" + ''} + echo "configure flags: $extraConfigureFlags $configureFlags" ./Setup configure --verbose --prefix="$out" --libdir='$prefix/lib/$compiler' \ --libsubdir='$pkgid' $extraConfigureFlags $configureFlags 2>&1 \ @@ -236,6 +240,7 @@ assert !enableStaticLibraries -> versionOlder "7.7" ghc.version; export GHC_PACKAGE_PATH=$(${ghc.GHCPackages}) test -n "$noHaddock" || ./Setup haddock --html --hoogle \ + --ghc-options=-optP-P \ ${optionalString self.hyperlinkSource "--hyperlink-source"} eval "$postBuild" diff --git a/pkgs/build-support/clang-wrapper/builder.sh b/pkgs/build-support/clang-wrapper/builder.sh index 0cdb2b96135e..2dec6c59933b 100644 --- a/pkgs/build-support/clang-wrapper/builder.sh +++ b/pkgs/build-support/clang-wrapper/builder.sh @@ -28,20 +28,32 @@ if test -z "$nativeLibc"; then fi if test -n "$nativeTools"; then - clangPath="$nativePrefix/bin" + if [ -n "$isDarwin" ]; then + clangPath="$clang/bin" + else + clangPath="$nativePrefix/bin" + fi ldPath="$nativePrefix/bin" else - basePath=`echo $gcc/lib/*/*/*` - # Need libgcc until the llvm compiler-rt library is complete - clangLDFlags="$clangLDFlags -L$basePath" - if test -e "$gcc/lib64"; then - clangLDFlags="$clangLDFlags -L$gcc/lib64" - else - clangLDFlags="$clangLDFlags -L$gcc/lib" + clangLDFlags="" + if test -d "$gcc/lib"; then + basePath=`echo $gcc/lib/*/*/*` + # Need libgcc until the llvm compiler-rt library is complete + clangLDFlags="$clangLDFlags -L$basePath" + if test -e "$gcc/lib64"; then + clangLDFlags="$clangLDFlags -L$gcc/lib64" + else + clangLDFlags="$clangLDFlags -L$gcc/lib" + fi fi - clangLDFlags="$clangLDFlags -L$clang/lib" - echo "$clangLDFlags" > $out/nix-support/clang-ldflags + if test -d "$clang/lib"; then + clangLDFlags="$clangLDFlags -L$clang/lib" + fi + + if [ -n "$clangLDFlags" ]; then + echo "$clangLDFlags" > $out/nix-support/clang-ldflags + fi # Need files like crtbegin.o from gcc # It's unclear if these will ever be provided by an LLVM project @@ -49,9 +61,9 @@ else clangCFlags="$clangCFlags -isystem$clang/lib/clang/$clangVersion/include" echo "$clangCFlags" > $out/nix-support/clang-cflags - - clangPath="$clang/bin" + ldPath="$binutils/bin" + clangPath="$clang/bin" fi @@ -125,6 +137,10 @@ test -n "$libc" && echo $libc > $out/nix-support/orig-libc doSubstitute "$addFlags" "$out/nix-support/add-flags.sh" doSubstitute "$setupHook" "$out/nix-support/setup-hook" +cat >> "$out/nix-support/setup-hook" << EOF +export CC=clang +export CXX=clang++ +EOF cp -p $utils $out/nix-support/utils.sh diff --git a/pkgs/build-support/clang-wrapper/default.nix b/pkgs/build-support/clang-wrapper/default.nix index 7a5d87127d90..e61c07ca9d23 100644 --- a/pkgs/build-support/clang-wrapper/default.nix +++ b/pkgs/build-support/clang-wrapper/default.nix @@ -26,6 +26,8 @@ stdenv.mkDerivation { (if name != "" then name else clangName + "-wrapper") + (if clang != null && clangVersion != "" then "-" + clangVersion else ""); + isDarwin = stdenv.isDarwin; + builder = ./builder.sh; setupHook = ./setup-hook.sh; clangWrapper = ./clang-wrapper.sh; |