diff --git a/toolkit/mozapps/installer/packager.mk b/toolkit/mozapps/installer/packager.mk index 6d98ea2ff127..51b02c414121 100644 --- a/toolkit/mozapps/installer/packager.mk +++ b/toolkit/mozapps/installer/packager.mk @@ -701,6 +701,9 @@ make-sdk: (cd $(DIST)/sdk/lib && $(TAR) $(TAR_CREATE_FLAGS) - .) | \ (cd $(DIST)/$(MOZ_APP_NAME)-sdk/lib && tar -xf -) $(NSINSTALL) -D $(DIST)/$(SDK_PATH) +ifndef PKG_SKIP_STRIP + USE_ELF_HACK= $(PYTHON) toolkit/mozapps/installer/strip.py $(DIST)/$(MOZ_APP_NAME)-sdk +endif cd $(DIST) && $(MAKE_SDK) ifeq ($(OS_TARGET), WINNT) diff --git a/toolkit/mozapps/installer/strip.py b/toolkit/mozapps/installer/strip.py new file mode 100644 index 000000000000..bb83025da552 --- /dev/null +++ b/toolkit/mozapps/installer/strip.py @@ -0,0 +1,23 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +''' +Strip all files that can be stripped in the given directory. +''' + +import sys +from mozpack.files import FileFinder +from mozpack.copier import FileCopier + +def strip(dir): + copier = FileCopier() + # The FileFinder will give use ExecutableFile instances for files + # that can be stripped, and copying ExecutableFiles defaults to + # stripping them unless buildconfig.substs['PKG_SKIP_STRIP'] is set. + for p, f in FileFinder(dir): + copier.add(p, f) + copier.copy(dir) + +if __name__ == '__main__': + strip(sys.argv[1])