X-Git-Url: http://git.ipfire.org/?p=ipfire-2.x.git;a=blobdiff_plain;f=lfs%2Fstrip;h=08aaee7c4b10390fac938206491bcb13cd1809f4;hp=a3572dc7b9ebd9f3cae5276e6b9f0301baa4f38b;hb=d5b7f82a40b69a57d6d849c2e6da583c6772fc9a;hpb=70df830214c97a68fcb7e89ae0d7df58c35590be diff --git a/lfs/strip b/lfs/strip index a3572dc7b9..08aaee7c4b 100644 --- a/lfs/strip +++ b/lfs/strip @@ -1,7 +1,7 @@ ############################################################################### # # # IPFire.org - A linux based firewall # -# Copyright (C) 2007 Michael Tremer & Christian Schmidt # +# Copyright (C) 2007-2018 IPFire Team # # # # This program is free software: you can redistribute it and/or modify # # it under the terms of the GNU General Public License as published by # @@ -29,6 +29,16 @@ VER = ipfire THISAPP = strip TARGET = $(DIR_INFO)/$(THISAPP) +ifeq "$(TOOLCHAIN)" "1" + SHELL = /bin/bash + STRIP = /usr/bin/strip + ROOT = $(TOOLS_DIR) +else + SHELL = $(TOOLS_DIR)/bin/bash + STRIP = $(TOOLS_DIR)/bin/strip + ROOT = / +endif + ############################################################################### # Top-level Rules ############################################################################### @@ -46,25 +56,9 @@ md5 : ############################################################################### $(TARGET) : - -ifeq "$(LFS_PASS)" "toolchain" - -find $(TOOLS_DIR)/lib -type f -exec $(TOOLS_DIR)/bin/strip --strip-debug '{}' ';' - -find $(TOOLS_DIR)/{bin,sbin,libexec} -type f -exec $(TOOLS_DIR)/bin/strip --strip-all '{}' ';' - rm -rf $(TOOLS_DIR)/{,share/}{doc,info,man} -endif - -ifeq "$(LFS_PASS)" "install" - # Add -ls before -exec if you want to verify what files are in the path to be stripped - # A running binary can't be stripped, so use the version from /tools - # It may fail (signal 11) under circonstance not identified by me (Gilles), - # to strip libc again so ignore the error now. Probably need a static strip for libc - # Don't use --strip-all on libraries, or they'll be destroyed. Don't use --strip-unneeded, either. - -/tools/bin/find /lib /usr/lib /usr/share/rrdtool-* /install/initrd/lib \ - -type f \( -name '*.so' -o -name '*.so[\.0-9]*' \) \ - -exec /tools/bin/strip --strip-debug {} \; 2>/dev/null - - -/tools/bin/strip --strip-all /{,usr/}{,local/}{bin,sbin}/* /install/{initrd,misc}/bin/* 2>/dev/null - -/tools/bin/strip --strip-all /usr/lib/awk/{grcat,pwcat} 2>/dev/null - -/tools/bin/strip --strip-all /usr/lib/gcc/*-linux-gnu/4.0.3/{cc1*,collect2} 2>/dev/null -endif - + # Don't strip VDR binaries, because they use a weird plugin system + # which does not work when unneeded symbols get stripped from + # /usr/sbin/vdr. + STRIP=$(STRIP) $(SHELL) $(DIR_SRC)/src/stripper $(ROOT) \ + --exclude=/usr/src --exclude=$(TOOLS_DIR) \ + --exclude=/usr/sbin/vdr --exclude=/usr/lib/vdr