Allow stripping binaries when copying to image containers
Currently only needed for boot floppy on some platforms. Disabled for now. Note we do not have a mean of knowing which file is a binary or not so we just try to strip, and silently continue when strip fails (like on the kernel settings file). Also note strip actually replaces the file, which means it looses both the resources and attributes, which shouldn't be a problem for the boot floppy drivers archive, but is not wanted for other images, so it's not usable elsewhere as such. Patch wanted.
This commit is contained in:
@@ -41,6 +41,8 @@ HAIKU_INSTALL_TARGETS_VAR on $(HAIKU_FLOPPY_BOOT_IMAGE_CONTAINER_NAME)
|
|||||||
= HAIKU_FLOPPY_BOOT_IMAGE_INSTALL_TARGETS ;
|
= HAIKU_FLOPPY_BOOT_IMAGE_INSTALL_TARGETS ;
|
||||||
HAIKU_CONTAINER_SYSTEM_DIR_TOKENS on $(HAIKU_FLOPPY_BOOT_IMAGE_CONTAINER_NAME)
|
HAIKU_CONTAINER_SYSTEM_DIR_TOKENS on $(HAIKU_FLOPPY_BOOT_IMAGE_CONTAINER_NAME)
|
||||||
= system ;
|
= system ;
|
||||||
|
#HAIKU_CONTAINER_STRIP_BINARIES on $(HAIKU_FLOPPY_BOOT_IMAGE_CONTAINER_NAME)
|
||||||
|
# = 1 ;
|
||||||
|
|
||||||
# boot CD image
|
# boot CD image
|
||||||
HAIKU_CD_BOOT_IMAGE_CONTAINER_NAME = haiku-boot-cd-container ;
|
HAIKU_CD_BOOT_IMAGE_CONTAINER_NAME = haiku-boot-cd-container ;
|
||||||
|
|||||||
@@ -692,6 +692,8 @@ rule CreateContainerCopyFilesScript container : script
|
|||||||
local dummyTarget = $(script)-dummy-$(dir:G=)-$(target) ;
|
local dummyTarget = $(script)-dummy-$(dir:G=)-$(target) ;
|
||||||
NotFile $(dummyTarget) ;
|
NotFile $(dummyTarget) ;
|
||||||
TARGET_DIR on $(dummyTarget) = $(dir:G=) ;
|
TARGET_DIR on $(dummyTarget) = $(dir:G=) ;
|
||||||
|
DO_STRIP on $(dummyTarget) = [ on $(container)
|
||||||
|
return $(HAIKU_CONTAINER_STRIP_BINARIES) ] ;
|
||||||
|
|
||||||
local nameFunction
|
local nameFunction
|
||||||
= [ on $(destTarget) return $(NAME_FUNCTION) ] ;
|
= [ on $(destTarget) return $(NAME_FUNCTION) ] ;
|
||||||
@@ -721,6 +723,8 @@ rule CreateContainerCopyFilesScript container : script
|
|||||||
local dummyTarget = $(script)-dummy-$(dir:G=) ;
|
local dummyTarget = $(script)-dummy-$(dir:G=) ;
|
||||||
NotFile $(dummyTarget) ;
|
NotFile $(dummyTarget) ;
|
||||||
TARGET_DIR on $(dummyTarget) = $(dir:G=) ;
|
TARGET_DIR on $(dummyTarget) = $(dir:G=) ;
|
||||||
|
DO_STRIP on $(dummyTarget) = [ on $(container)
|
||||||
|
return $(HAIKU_CONTAINER_STRIP_BINARIES) ] ;
|
||||||
|
|
||||||
Depends $(dummyTarget) : $(initScript) $(targets)
|
Depends $(dummyTarget) : $(initScript) $(targets)
|
||||||
$(serializationDependency) ;
|
$(serializationDependency) ;
|
||||||
@@ -763,6 +767,11 @@ actions piecemeal AppendToContainerCopyFilesScript bind OUTPUT_SCRIPT
|
|||||||
{
|
{
|
||||||
echo \$cp "\"\${sPrefix}$(2)\"" "\"\${tPrefix}$(TARGET_DIR)\"" \
|
echo \$cp "\"\${sPrefix}$(2)\"" "\"\${tPrefix}$(TARGET_DIR)\"" \
|
||||||
>> $(OUTPUT_SCRIPT)
|
>> $(OUTPUT_SCRIPT)
|
||||||
|
|
||||||
|
if [ -n "$(DO_STRIP:E)" ]; then
|
||||||
|
echo \$strip "\"\${tPrefix}$(TARGET_DIR)/$(2:BS)\"" "2>/dev/null" \
|
||||||
|
"|| true" >> $(OUTPUT_SCRIPT)
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -775,6 +784,11 @@ actions AppendToContainerCopyFilesScriptSingleFile
|
|||||||
|
|
||||||
echo \$cp "\"\${sPrefix}$(2[2])\"" \
|
echo \$cp "\"\${sPrefix}$(2[2])\"" \
|
||||||
"\"\${tPrefix}$(TARGET_DIR)/$(INSTALL_TARGET_NAME)\"" >> $(2[1])
|
"\"\${tPrefix}$(TARGET_DIR)/$(INSTALL_TARGET_NAME)\"" >> $(2[1])
|
||||||
|
|
||||||
|
if [ -n "$(DO_STRIP:E)" ]; then
|
||||||
|
echo \$strip "\"\${tPrefix}$(TARGET_DIR)/$(INSTALL_TARGET_NAME)\"" \
|
||||||
|
"2>/dev/null" "|| true" >> $(2[1])
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -183,6 +183,7 @@ AddVariableToScript $(script) : tmpDir : $(HAIKU_TMP_DIR) ;
|
|||||||
AddVariableToScript $(script) : addBuildCompatibilityLibDir
|
AddVariableToScript $(script) : addBuildCompatibilityLibDir
|
||||||
: $(HOST_ADD_BUILD_COMPATIBILITY_LIB_DIR) ;
|
: $(HOST_ADD_BUILD_COMPATIBILITY_LIB_DIR) ;
|
||||||
AddTargetVariableToScript $(script) : <build>copyattr ;
|
AddTargetVariableToScript $(script) : <build>copyattr ;
|
||||||
|
AddTargetVariableToScript $(script) : $(HAIKU_STRIP_$(TARGET_ARCH)) : strip ;
|
||||||
|
|
||||||
# create the other scripts
|
# create the other scripts
|
||||||
local makeDirsScript = <FloppyBootArchive>haiku-floppyboot-make-dirs ;
|
local makeDirsScript = <FloppyBootArchive>haiku-floppyboot-make-dirs ;
|
||||||
|
|||||||
Reference in New Issue
Block a user