diff options
-rwxr-xr-x | configure | 6 | ||||
-rwxr-xr-x | scripts/make.sh | 4 |
2 files changed, 7 insertions, 3 deletions
@@ -22,7 +22,11 @@ CFLAGS="$CFLAGS -funsigned-char" [ -z "$OPTIMIZE" ] && OPTIMIZE="-Os -ffunction-sections -fdata-sections -fno-asynchronous-unwind-tables -fno-strict-aliasing" # We accept LDFLAGS, but by default don't have anything in it -[ -z "$LDOPTIMIZE" ] && LDOPTIMIZE="-Wl,--gc-sections" +if [ "$(uname)" != "Darwin" ] +then + [ -z "$LDOPTIMIZE" ] && LDOPTIMIZE="-Wl,--gc-sections" + LDASNEEDED="-Wl,--as-needed" +fi # The makefile provides defaults for these, so this only gets used if # you call scripts/make.sh and friends directly. diff --git a/scripts/make.sh b/scripts/make.sh index 306a7cda..640dcbed 100755 --- a/scripts/make.sh +++ b/scripts/make.sh @@ -115,7 +115,7 @@ then for i in util crypt m resolv selinux smack attr rt crypto z log do echo "int main(int argc, char *argv[]) {return 0;}" | \ - ${CROSS_COMPILE}${CC} $CFLAGS $LDFLAGS -xc - -o generated/libprobe -Wl,--as-needed -l$i > /dev/null 2>/dev/null && + ${CROSS_COMPILE}${CC} $CFLAGS $LDFLAGS -xc - -o generated/libprobe $LDASNEEDED -l$i > /dev/null 2>/dev/null && echo -l$i >> generated/optlibs.dat echo -n . done @@ -125,7 +125,7 @@ fi # LINK needs optlibs.dat, above -LINK="$(echo $LDOPTIMIZE $LDFLAGS -o "$UNSTRIPPED" -Wl,--as-needed $(cat generated/optlibs.dat))" +LINK="$(echo $LDOPTIMIZE $LDFLAGS -o "$UNSTRIPPED" $LDASNEEDED $(cat generated/optlibs.dat))" genbuildsh > generated/build.sh && chmod +x generated/build.sh || exit 1 #TODO: "make $SED && make" doesn't regenerate config.h because diff .config |