diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/gcc')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/gcc/libgcc/default.nix | 154 | ||||
-rw-r--r-- | nixpkgs/pkgs/development/libraries/gcc/libstdc++/5.nix | 2 |
2 files changed, 2 insertions, 154 deletions
diff --git a/nixpkgs/pkgs/development/libraries/gcc/libgcc/default.nix b/nixpkgs/pkgs/development/libraries/gcc/libgcc/default.nix deleted file mode 100644 index 094bb7e7a1d3..000000000000 --- a/nixpkgs/pkgs/development/libraries/gcc/libgcc/default.nix +++ /dev/null @@ -1,154 +0,0 @@ -{ lib, stdenvNoLibs, buildPackages -, gcc, glibc -, libiberty -}: - -stdenvNoLibs.mkDerivation rec { - pname = "libgcc"; - inherit (gcc.cc) src version; - - outputs = [ "out" "dev" ]; - - strictDeps = true; - depsBuildBuild = [ buildPackages.stdenv.cc ]; - nativeBuildInputs = [ libiberty ]; - - postUnpack = '' - mkdir -p ./build - buildRoot=$(readlink -e "./build") - ''; - - postPatch = '' - sourceRoot=$(readlink -e "./libgcc") - ''; - - hardeningDisable = [ "pie" ]; - - preConfigure = '' - cd "$buildRoot" - '' - - # Drop in libiberty, as external builds are not expected - + '' - ( - mkdir -p build-${stdenvNoLibs.buildPlatform.config}/libiberty/ - cd build-${stdenvNoLibs.buildPlatform.config}/libiberty/ - ln -s ${buildPackages.libiberty}/lib/libiberty.a ./ - ) - '' - # A few misc bits of gcc need to be built. - # - # - We "shift" the tools over to fake platforms perspective from the previous - # stage. - # - # - We define GENERATOR_FILE so nothing bothers looking for GNU GMP. - # - # - We remove the `libgcc.mvar` deps so that the bootstrap xgcc isn't built. - + '' - mkdir -p "$buildRoot/gcc" - cd "$buildRoot/gcc" - ( - export AS_FOR_BUILD=${buildPackages.stdenv.cc}/bin/$AS_FOR_BUILD - export CC_FOR_BUILD=${buildPackages.stdenv.cc}/bin/$CC_FOR_BUILD - export CPP_FOR_BUILD=${buildPackages.stdenv.cc}/bin/$CPP_FOR_BUILD - export CXX_FOR_BUILD=${buildPackages.stdenv.cc}/bin/$CXX_FOR_BUILD - export LD_FOR_BUILD=${buildPackages.stdenv.cc.bintools}/bin/$LD_FOR_BUILD - - export AS=$AS_FOR_BUILD - export CC=$CC_FOR_BUILD - export CPP=$CPP_FOR_BUILD - export CXX=$CXX_FOR_BUILD - export LD=$LD_FOR_BUILD - - export AS_FOR_TARGET=${stdenvNoLibs.cc}/bin/$AS - export CC_FOR_TARGET=${stdenvNoLibs.cc}/bin/$CC - export CPP_FOR_TARGET=${stdenvNoLibs.cc}/bin/$CPP - export LD_FOR_TARGET=${stdenvNoLibs.cc.bintools}/bin/$LD - - export NIX_CFLAGS_COMPILE_FOR_BUILD+=' -DGENERATOR_FILE=1' - - "$sourceRoot/../gcc/configure" $gccConfigureFlags - - sed -e 's,libgcc.mvars:.*$,libgcc.mvars:,' -i Makefile - - make \ - config.h \ - libgcc.mvars \ - tconfig.h \ - tm.h \ - options.h \ - insn-constants.h \ - insn-modes.h \ - gcov-iov.h - ) - mkdir -p "$buildRoot/gcc/include" - '' - # Preparing to configure + build libgcc itself - + '' - mkdir -p "$buildRoot/gcc/${stdenvNoLibs.hostPlatform.config}/libgcc" - cd "$buildRoot/gcc/${stdenvNoLibs.hostPlatform.config}/libgcc" - configureScript=$sourceRoot/configure - chmod +x "$configureScript" - - export AS_FOR_BUILD=${buildPackages.stdenv.cc}/bin/$AS_FOR_BUILD - export CC_FOR_BUILD=${buildPackages.stdenv.cc}/bin/$CC_FOR_BUILD - export CPP_FOR_BUILD=${buildPackages.stdenv.cc}/bin/$CPP_FOR_BUILD - export CXX_FOR_BUILD=${buildPackages.stdenv.cc}/bin/$CXX_FOR_BUILD - export LD_FOR_BUILD=${buildPackages.stdenv.cc.bintools}/bin/$LD_FOR_BUILD - - export AS=${stdenvNoLibs.cc}/bin/$AS - export CC=${stdenvNoLibs.cc}/bin/$CC - export CPP=${stdenvNoLibs.cc}/bin/$CPP - export CXX=${stdenvNoLibs.cc}/bin/$CXX - export LD=${stdenvNoLibs.cc.bintools}/bin/$LD - - export AS_FOR_TARGET=${stdenvNoLibs.cc}/bin/$AS_FOR_TARGET - export CC_FOR_TARGET=${stdenvNoLibs.cc}/bin/$CC_FOR_TARGET - export CPP_FOR_TARGET=${stdenvNoLibs.cc}/bin/$CPP_FOR_TARGET - export LD_FOR_TARGET=${stdenvNoLibs.cc.bintools}/bin/$LD_FOR_TARGET - ''; - - gccConfigureFlags = [ - "--build=${stdenvNoLibs.buildPlatform.config}" - "--host=${stdenvNoLibs.buildPlatform.config}" - "--target=${stdenvNoLibs.hostPlatform.config}" - - "--disable-bootstrap" - "--disable-multilib" "--with-multilib-list=" - "--enable-languages=c" - - "--disable-fixincludes" - "--disable-intl" - "--disable-lto" - "--disable-libatomic" - "--disable-libbacktrace" - "--disable-libcpp" - "--disable-libssp" - "--disable-libquadmath" - "--disable-libgomp" - "--disable-libvtv" - "--disable-vtable-verify" - - "--with-system-zlib" - ] ++ lib.optional (stdenvNoLibs.hostPlatform.libc == "glibc") - "--with-glibc-version=${glibc.version}"; - - configurePlatforms = [ "build" "host" ]; - configureFlags = [ - "--disable-dependency-tracking" - # $CC cannot link binaries, let alone run then - "cross_compiling=true" - # Do not have dynamic linker without libc - "--enable-static" - "--disable-shared" - ]; - - makeFlags = [ "MULTIBUILDTOP:=../" ]; - - postInstall = '' - moveToOutput "lib/gcc/${stdenvNoLibs.hostPlatform.config}/${version}/include" "$dev" - mkdir -p "$out/lib" "$dev/include" - ln -s "$out/lib/gcc/${stdenvNoLibs.hostPlatform.config}/${version}"/* "$out/lib" - ln -s "$dev/lib/gcc/${stdenvNoLibs.hostPlatform.config}/${version}/include"/* "$dev/include/" - ''; -} diff --git a/nixpkgs/pkgs/development/libraries/gcc/libstdc++/5.nix b/nixpkgs/pkgs/development/libraries/gcc/libstdc++/5.nix index 41c22da67b3c..48a034aebceb 100644 --- a/nixpkgs/pkgs/development/libraries/gcc/libstdc++/5.nix +++ b/nixpkgs/pkgs/development/libraries/gcc/libstdc++/5.nix @@ -113,5 +113,7 @@ stdenv.mkDerivation rec { description = "GNU Compiler Collection, version ${version} -- C++ standard library"; platforms = platforms.linux; maintainers = with maintainers; [ abbradar ]; + # never built on aarch64-linux since first introduction in nixpkgs + broken = stdenv.isLinux && stdenv.isAarch64; }; } |