mirror of
https://github.com/motioneye-project/motioneyeos.git
synced 2025-07-29 06:06:32 +00:00
build: add option to exclude executables/dirs from being stripped
Sometimes it may be desirable to keep debug symbols for some binaries and libraries on the target. This commit introduces the config option BR2_STRIP_EXCLUDE_FILES, which is interpreted as a list of such binaries and libraries, and the option BR2_STRIP_EXCLUDE_DIRS, which indicates directories excluded from stripping entirely. These exclusions are passed to the find command in the target-finalize step. Signed-off-by: Sven Neumann <s.neumann@raumfeld.com> Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
This commit is contained in:
parent
75f18de67e
commit
2a97045d5d
19
Config.in
19
Config.in
@ -283,6 +283,25 @@ config BR2_STRIP_none
|
|||||||
filesystem.
|
filesystem.
|
||||||
endchoice
|
endchoice
|
||||||
|
|
||||||
|
config BR2_STRIP_EXCLUDE_FILES
|
||||||
|
string "executables that should not be stripped"
|
||||||
|
depends on !BR2_STRIP_none
|
||||||
|
default ""
|
||||||
|
help
|
||||||
|
You may specify a space-separated list of binaries and libraries
|
||||||
|
here that should not be stripped on the target.
|
||||||
|
|
||||||
|
config BR2_STRIP_EXCLUDE_DIRS
|
||||||
|
string "directories that should be skipped when stripping"
|
||||||
|
depends on !BR2_STRIP_none
|
||||||
|
default ""
|
||||||
|
help
|
||||||
|
You may specify a space-separated list of directories that should
|
||||||
|
be skipped when stripping. Binaries and libraries in these
|
||||||
|
directories will not be touched.
|
||||||
|
The directories should be specified relative to the target directory,
|
||||||
|
without leading slash.
|
||||||
|
|
||||||
choice
|
choice
|
||||||
prompt "gcc optimization level"
|
prompt "gcc optimization level"
|
||||||
default BR2_OPTIMIZE_S
|
default BR2_OPTIMIZE_S
|
||||||
|
10
Makefile
10
Makefile
@ -386,6 +386,13 @@ $(BUILD_DIR)/.root:
|
|||||||
|
|
||||||
$(TARGET_DIR): $(BUILD_DIR)/.root
|
$(TARGET_DIR): $(BUILD_DIR)/.root
|
||||||
|
|
||||||
|
STRIP_FIND_CMD = find $(TARGET_DIR)
|
||||||
|
ifneq (,$(call qstrip,$(BR2_STRIP_EXCLUDE_DIRS)))
|
||||||
|
STRIP_FIND_CMD += \( $(call finddirclauses,$(TARGET_DIR),$(call qstrip,$(BR2_STRIP_EXCLUDE_DIRS))) \) -prune -o
|
||||||
|
endif
|
||||||
|
STRIP_FIND_CMD += -type f -perm +111
|
||||||
|
STRIP_FIND_CMD += -not \( $(call findfileclauses,libthread_db*.so* $(call qstrip,$(BR2_STRIP_EXCLUDE_FILES))) \) -print
|
||||||
|
|
||||||
target-finalize:
|
target-finalize:
|
||||||
ifeq ($(BR2_HAVE_DEVFILES),y)
|
ifeq ($(BR2_HAVE_DEVFILES),y)
|
||||||
( support/scripts/copy.sh $(STAGING_DIR) $(TARGET_DIR) )
|
( support/scripts/copy.sh $(STAGING_DIR) $(TARGET_DIR) )
|
||||||
@ -410,8 +417,7 @@ endif
|
|||||||
ifeq ($(BR2_PACKAGE_PYTHON_PYC_ONLY),y)
|
ifeq ($(BR2_PACKAGE_PYTHON_PYC_ONLY),y)
|
||||||
find $(TARGET_DIR)/usr/lib/ -name '*.py' -print0 | xargs -0 rm -f
|
find $(TARGET_DIR)/usr/lib/ -name '*.py' -print0 | xargs -0 rm -f
|
||||||
endif
|
endif
|
||||||
find $(TARGET_DIR) -type f -perm +111 '!' -name 'libthread_db*.so*' | \
|
$(STRIP_FIND_CMD) | xargs $(STRIPCMD) 2>/dev/null || true
|
||||||
xargs $(STRIPCMD) 2>/dev/null || true
|
|
||||||
find $(TARGET_DIR)/lib/modules -type f -name '*.ko' | \
|
find $(TARGET_DIR)/lib/modules -type f -name '*.ko' | \
|
||||||
xargs -r $(KSTRIPCMD) || true
|
xargs -r $(KSTRIPCMD) || true
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user