busybox: Modernize and fix cross

This commit is contained in:
John Ericson 2017-06-02 17:35:13 -04:00 committed by John Ericson
parent 8b22e497f2
commit 05b3c87d9d

View File

@ -1,8 +1,9 @@
{ stdenv, lib, fetchurl, glibc, musl { stdenv, lib, buildPackages, fetchurl
, enableStatic ? false , enableStatic ? false
, enableMinimal ? false , enableMinimal ? false
, useMusl ? false , useMusl ? false, musl
, extraConfig ? "" , extraConfig ? ""
, buildPlatform, hostPlatform
}: }:
let let
@ -71,21 +72,17 @@ stdenv.mkDerivation rec {
''; '';
postConfigure = lib.optionalString useMusl '' postConfigure = lib.optionalString useMusl ''
makeFlagsArray+=("CC=gcc -isystem ${musl}/include -B${musl}/lib -L${musl}/lib") makeFlagsArray+=("CC=${stdenv.cc.prefix}gcc -isystem ${musl}/include -B${musl}/lib -L${musl}/lib")
''; '';
nativeBuildInputs = lib.optional (hostPlatform != buildPlatform) buildPackages.stdenv.cc;
buildInputs = lib.optionals (enableStatic && !useMusl) [ stdenv.cc.libc stdenv.cc.libc.static ]; buildInputs = lib.optionals (enableStatic && !useMusl) [ stdenv.cc.libc stdenv.cc.libc.static ];
crossAttrs = { extraCrossConfig = if hostPlatform == buildPlatform then null else ''
extraCrossConfig = '' CONFIG_CROSS_COMPILER_PREFIX "${stdenv.cc.prefix}"
CONFIG_CROSS_COMPILER_PREFIX "${stdenv.cross.config}-"
''; '';
postConfigure = stdenv.lib.optionalString useMusl ''
makeFlagsArray+=("CC=$crossConfig-gcc -isystem ${musl.crossDrv}/include -B${musl.crossDrv}/lib -L${musl.crossDrv}/lib")
'';
};
enableParallelBuilding = true; enableParallelBuilding = true;
meta = with stdenv.lib; { meta = with stdenv.lib; {