busybox: Enable building a minimal configuration
This starts with "make allnoconfig" rather than "make defconfig", making it easier to turn on only the needed features. Also, fix broken .config generation (the presence of "#" lines confused parseconfig).
This commit is contained in:
parent
dc0d68ffc3
commit
423e923182
@ -1,4 +1,4 @@
|
||||
{stdenv, fetchurl, enableStatic ? false, extraConfig ? ""}:
|
||||
{ stdenv, fetchurl, enableStatic ? false, enableMinimal ? false, extraConfig ? "" }:
|
||||
|
||||
let
|
||||
configParser = ''
|
||||
@ -7,14 +7,7 @@ let
|
||||
NAME=`echo "$LINE" | cut -d \ -f 1`
|
||||
OPTION=`echo "$LINE" | cut -d \ -f 2`
|
||||
|
||||
if test -z "$NAME"; then
|
||||
continue
|
||||
fi
|
||||
|
||||
if test "$NAME" == "CLEAR"; then
|
||||
echo "parseconfig: CLEAR"
|
||||
echo > .config
|
||||
fi
|
||||
if ! [[ "$NAME" =~ ^CONFIG_ ]]; then continue; fi
|
||||
|
||||
echo "parseconfig: removing $NAME"
|
||||
sed -i /$NAME'\(=\| \)'/d .config
|
||||
@ -25,19 +18,6 @@ let
|
||||
}
|
||||
'';
|
||||
|
||||
nixConfig = ''
|
||||
CONFIG_PREFIX "$out"
|
||||
CONFIG_INSTALL_NO_USR y
|
||||
|
||||
# Use the external mount.cifs program.
|
||||
CONFIG_FEATURE_MOUNT_CIFS n
|
||||
CONFIG_FEATURE_MOUNT_HELPERS y
|
||||
'';
|
||||
|
||||
staticConfig = stdenv.lib.optionalString enableStatic ''
|
||||
CONFIG_STATIC y
|
||||
'';
|
||||
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
@ -50,14 +30,27 @@ stdenv.mkDerivation rec {
|
||||
|
||||
configurePhase = ''
|
||||
export KCONFIG_NOTIMESTAMP=1
|
||||
make defconfig
|
||||
make ${if enableMinimal then "allnoconfig" else "defconfig"}
|
||||
|
||||
${configParser}
|
||||
|
||||
cat << EOF | parseconfig
|
||||
${staticConfig}
|
||||
${nixConfig}
|
||||
|
||||
CONFIG_PREFIX "$out"
|
||||
CONFIG_INSTALL_NO_USR y
|
||||
|
||||
${stdenv.lib.optionalString enableStatic ''
|
||||
CONFIG_STATIC y
|
||||
''}
|
||||
|
||||
# Use the external mount.cifs program.
|
||||
CONFIG_FEATURE_MOUNT_CIFS n
|
||||
CONFIG_FEATURE_MOUNT_HELPERS y
|
||||
|
||||
${extraConfig}
|
||||
$extraCrossConfig
|
||||
EOF
|
||||
|
||||
make oldconfig
|
||||
'';
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user