diff options
author | Rob Landley <rob@landley.net> | 2015-02-28 12:39:16 -0600 |
---|---|---|
committer | Rob Landley <rob@landley.net> | 2015-02-28 12:39:16 -0600 |
commit | 57f93c8badf944b5b3ed712e2887b3db33147efb (patch) | |
tree | d601b7eb3c04c032cd819f8fc682bc356a6223dc | |
parent | ab5cbfcb8bdbf8802d793520ec7b81c5eb392b5f (diff) | |
download | toybox-57f93c8badf944b5b3ed712e2887b3db33147efb.tar.gz |
Add LDFLAGS and STRIP=no support.
-rw-r--r-- | configure | 12 | ||||
-rwxr-xr-x | scripts/make.sh | 9 |
2 files changed, 16 insertions, 5 deletions
@@ -4,14 +4,20 @@ # A synonym. [ -z "$CROSS_COMPILE" ] && CROSS_COMPILE="$CROSS" + +# CFLAGS and OPTIMIZE are different so you can add extra CFLAGS without +# disabling default optimizations [ -z "$CFLAGS" ] && CFLAGS="-Wall -Wundef -Wno-char-subscripts" # Required for our expected ABI. we're 8-bit clean thus "char" must be unsigned. CFLAGS="$CFLAGS -funsigned-char" - [ -z "$OPTIMIZE" ] && OPTIMIZE="-Os -ffunction-sections -fdata-sections -fno-asynchronous-unwind-tables" + +# We accept LDFLAGS, but by default don't have anything in it [ -z "$LDOPTIMIZE" ] && LDOPTIMIZE="-Wl,--gc-sections" + [ -z "$CC" ] && CC=cc -[ -z "$STRIP" ] && STRIP=strip +[ -z "$STRIP" ] && STRIP=strip # set STRIP=no to skip stripping entirely -# If HOSTCC needs CFLAGS, add them to the variable ala HOSTCC="blah-cc --static" +# If HOSTCC needs CFLAGS or LDFLAGS, just add them to the variable +# ala HOSTCC="blah-cc --static" [ -z "$HOSTCC" ] && HOSTCC=gcc diff --git a/scripts/make.sh b/scripts/make.sh index 207a0827..9e4b83e9 100755 --- a/scripts/make.sh +++ b/scripts/make.sh @@ -102,7 +102,7 @@ fi # LINK needs optlibs.dat, above -LINK="$(echo $LDOPTIMIZE -o toybox_unstripped -Wl,--as-needed $(cat generated/optlibs.dat))" +LINK="$(echo $LDOPTIMIZE $LDFLAGS -o toybox_unstripped -Wl,--as-needed $(cat generated/optlibs.dat))" genbuildsh > generated/build.sh && chmod +x generated/build.sh || exit 1 echo "Make generated/config.h from $KCONFIG_CONFIG." @@ -268,7 +268,12 @@ done [ $DONE -ne 0 ] && exit 1 do_loudly $BUILD $LFILES $LINK || exit 1 -do_loudly ${CROSS_COMPILE}${STRIP} toybox_unstripped -o toybox || exit 1 +if [ "$STRIP" == no ] +then + mv toybox_unstripped toybox +else + do_loudly ${CROSS_COMPILE}${STRIP} toybox_unstripped -o toybox || exit 1 +fi # gcc 4.4's strip command is buggy, and doesn't set the executable bit on # its output the way SUSv4 suggests it do so. do_loudly chmod +x toybox || exit 1 |