From 348df2b817c13ebb240d7a30d875d0224eb57ff9 Mon Sep 17 00:00:00 2001 From: Rob Landley Date: Sat, 14 Dec 2019 21:04:01 -0600 Subject: Teach "make sh" to make the multiplexer and builtins, even though it's "single". --- scripts/single.sh | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) (limited to 'scripts') diff --git a/scripts/single.sh b/scripts/single.sh index 98a7af30..41d1e33e 100755 --- a/scripts/single.sh +++ b/scripts/single.sh @@ -33,16 +33,25 @@ do exit 1 fi + make allnoconfig > /dev/null || exit 1 + + DEPENDS= + MPDEL= + if [ "$i" == sh ] + then + DEPENDS="$(sed -n 's/USE_\([^(]*\)(NEWTOY([^,]*,.*TOYFLAG_MAYFORK.*/\1/p' toys/*/*.c)" + else + MPDEL="-e 's/CONFIG_TOYBOX=y/# CONFIG_TOYBOX is not set/;t'" + fi + # Enable stuff this command depends on - DEPENDS="$(sed -n "/^config *$i"'$/,/^$/{s/^[ \t]*depends on //;T;s/[!][A-Z0-9_]*//g;s/ *&& */|/g;p}' $TOYFILE | xargs | tr ' ' '|')" + DEPENDS="$({ echo $DEPENDS; sed -n "/^config *$i"'$/,/^$/{s/^[ \t]*depends on //;T;s/[!][A-Z0-9_]*//g;s/ *&& */|/g;p}' $TOYFILE ;}| xargs | tr ' ' '|')" NAME=$(echo $i | tr a-z- A-Z_) - make allnoconfig > /dev/null && - sed -ri -e '/CONFIG_TOYBOX/d' \ + sed -ri $MPDEL \ -e "s/# (CONFIG_($NAME|${NAME}_.*${DEPENDS:+|$DEPENDS})) is not set/\1=y/" \ "$KCONFIG_CONFIG" && - echo "# CONFIG_TOYBOX is not set" >> "$KCONFIG_CONFIG" && - grep "CONFIG_TOYBOX_" .config >> "$KCONFIG_CONFIG" && + grep "CONFIG_TOYBOX_" .config >> "$KCONFIG_CONFIG" || exit 1 export OUTNAME="$PREFIX$i" rm -f "$OUTNAME" && -- cgit v1.2.3