Skip to content

Commit 73d81b8

Browse files
committed
Update shell.nix
1 parent 09d9008 commit 73d81b8

File tree

1 file changed

+60
-17
lines changed

1 file changed

+60
-17
lines changed

shell.nix

Lines changed: 60 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,26 @@
11
with import <nixpkgs> {};
22
let
3-
pkgs = import (builtins.fetchGit {
4-
# Descriptive name to make the store path easier to identify
5-
name = "cmake24-revision";
6-
url = "https://github.com/NixOS/nixpkgs/";
7-
ref = "refs/heads/nixpkgs-unstable";
8-
rev = "55070e598e0e03d1d116c49b9eff322ef07c6ac6";
9-
}) {};
10-
11-
cmake24 = pkgs.cmake;
3+
# pkgs = import (builtins.fetchGit {
4+
# # Descriptive name to make the store path easier to identify
5+
# name = "cmake24-revision";
6+
# url = "https://github.com/NixOS/nixpkgs/";
7+
# ref = "refs/heads/nixpkgs-unstable";
8+
# rev = "55070e598e0e03d1d116c49b9eff322ef07c6ac6";
9+
# }) {};
10+
#
11+
# cmake24 = pkgs.cmake;
1212
gccForLibs = stdenv.cc.cc;
13+
nativeCC = pkgsBuildBuild.targetPackages.stdenv.cc;
14+
nativeBintools = nativeCC.bintools.bintools;
1315
in stdenv.mkDerivation {
1416
name = "llvm-env";
1517
buildInputs = [
1618
bashInteractive
1719
python3
1820
ninja
19-
cmake24
21+
cmake
2022
llvmPackages_latest.llvm
23+
libbfd
2124
];
2225

2326
# where to find libgcc
@@ -26,27 +29,67 @@ in stdenv.mkDerivation {
2629
CFLAGS="-B${gccForLibs}/lib/gcc/${targetPlatform.config}/${gccForLibs.version} -B ${stdenv.cc.libc}/lib";
2730

2831
cmakeFlags = [
29-
"-DGCC_INSTALL_PREFIX=${gcc}"
32+
"-DCMAKE_C_COMPILER=${nativeCC}/bin/${nativeCC.targetPrefix}cc"
33+
"-DCMAKE_CXX_COMPILER=${nativeCC}/bin/${nativeCC.targetPrefix}c++"
34+
"-DCMAKE_AR=${nativeBintools}/bin/${nativeBintools.targetPrefix}ar"
35+
"-DCMAKE_STRIP=${nativeBintools}/bin/${nativeBintools.targetPrefix}strip"
36+
"-DCMAKE_RANLIB=${nativeBintools}/bin/${nativeBintools.targetPrefix}ranlib"
3037
"-DC_INCLUDE_DIRS=${stdenv.cc.libc.dev}/include"
38+
39+
"-DCMAKE_INSTALL_PREFIX=../inst"
40+
"-DCMAKE_INSTALL_BINDIR=$../inst/bin"
41+
"-DCMAKE_INSTALL_INCLUDEDIR=../inst/include"
42+
"-DCMAKE_INSTALL_LIBDIR=$../inst/lib"
43+
"-DCMAKE_INSTALL_LIBEXECDIR=$../inst/libexec"
44+
3145
"-GNinja"
3246
"-DCMAKE_BUILD_TYPE=Release"
3347
"-DCMAKE_EXPORT_COMPILE_COMMANDS=ON"
34-
"-DCMAKE_INSTALL_PREFIX=../inst"
3548
"-DLLVM_TARGETS_TO_BUILD=host"
49+
"-DLLVM_ENABLE_PROJECTS=\"clang;clang-tools-extra;lld;mlir;polly\""
50+
"-DLLVM_ENABLE_RUNTIMES=\"compiler-rt;libcxx;libcxxabi;libunwind\""
51+
52+
"-DLLVM_POLLY_LINK_INTO_TOOLS=ON"
53+
"-DLLVM_BUILD_EXTERNAL_COMPILER_RT=ON"
54+
"-DLLVM_LINK_LLVM_DYLIB=ON"
55+
"-DLLVM_ENABLE_EH=ON"
56+
"-DLLVM_ENABLE_RTTI=ON"
3657
"-DLLVM_ENABLE_FFI=ON"
58+
"-DLLVM_INCLUDE_DOCS=OFF"
59+
"-DLLVM_OPTIMIZED_TABLEGEN=ON"
60+
"-DLLVM_INCLUDE_TESTS=OFF"
61+
"-DLLVM_INSTALL_UTILS=ON"
62+
3763
"-DLLVM_ENABLE_DUMP=ON"
3864
"-DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF"
39-
"-DLLVM_ENABLE_PROJECTS=\"clang;clang-tools-extra;lld;libc;libclc;lldb\""
40-
"-DLLVM_ENABLE_RUNTIMES=\"compiler-rt;libcxx;libcxxabi;libunwind\""
41-
"-DLLVM_INSTALL_UTILS=ON"
4265
"-DCMAKE_POSITION_INDEPENDENT_CODE=ON"
66+
67+
"-DLLVM_ENABLE_LIBXML2=OFF"
68+
"-DLLVM_ENABLE_LIBCXX=OFF"
69+
"-DCLANG_DEFAULT_CXX_STDLIB=libstdc++"
70+
71+
"-DCLANG_FORCE_MATCHING_LIBCLANG_SOVERSION=OFF"
72+
73+
"-DLLVM_BINUTILS_INCDIR=${libbfd.dev}/include"
74+
75+
"-DLIBCXX_INSTALL_MODULES=ON"
4376
"-DLIBCXX_ENABLE_STATIC_ABI_LIBRARY=ON"
4477
"-DLIBCXX_STATICALLY_LINK_ABI_IN_SHARED_LIBRARY=OFF"
4578
"-DLIBCXX_STATICALLY_LINK_ABI_IN_STATIC_LIBRARY=ON"
4679
"-DLIBCXX_USE_COMPILER_RT=ON"
80+
"-DLIBCXX_HAS_ATOMIC_LIB=OFF"
81+
82+
"-DLIBCXXABI_ENABLE_STATIC_UNWINDER=ON"
83+
"-DLIBCXXABI_STATICALLY_LINK_UNWINDER_IN_SHARED_LIBRARY=OFF"
84+
"-DLIBCXXABI_STATICALLY_LINK_UNWINDER_IN_STATIC_LIBRARY=ON"
4785
"-DLIBCXXABI_USE_COMPILER_RT=ON"
4886
"-DLIBCXXABI_USE_LLVM_UNWINDER=ON"
49-
"-DLLVM_ENABLE_EH=ON"
50-
"-DLLVM_ENABLE_RTTI=ON"
87+
88+
"-DLIBUNWIND_USE_COMPILER_RT=ON"
89+
"-DCOMPILER_RT_USE_BUILTINS_LIBRARY=ON"
90+
"-DCOMPILER_RT_USE_LLVM_UNWINDER=ON"
91+
92+
"-DSANITIZER_CXX_ABI=libc++"
93+
"-DSANITIZER_TEST_CXX=libc++"
5194
];
5295
}

0 commit comments

Comments
 (0)