Author: nbd
Date: 2016-01-25 16:49:31 +0100 (Mon, 25 Jan 2016)
New Revision: 48489

Modified:
   trunk/include/package.mk
   trunk/rules.mk
Log:
build: use -iremap feature to replace __FILE__ absolute path names in packages 
with ones relative to $(BUILD_DIR)

improves reproducible builds

Signed-off-by: Felix Fietkau <[email protected]>

Modified: trunk/include/package.mk
===================================================================
--- trunk/include/package.mk    2016-01-25 15:04:29 UTC (rev 48488)
+++ trunk/include/package.mk    2016-01-25 15:49:31 UTC (rev 48489)
@@ -14,6 +14,7 @@
 PKG_MD5SUM ?= unknown
 PKG_BUILD_PARALLEL ?=
 PKG_USE_MIPS16 ?= 1
+PKG_IREMAP ?= 1
 
 ifneq ($(CONFIG_PKG_BUILD_USE_JOBSERVER),)
   MAKE_J:=$(if $(MAKE_JOBSERVER),$(MAKE_JOBSERVER) -j)
@@ -33,6 +34,10 @@
     TARGET_CFLAGS += -mips16 -minterlink-mips16
   endif
 endif
+ifeq ($(strip $(PKG_IREMAP)),1)
+  IREMAP_CFLAGS = $(call iremap,$(PKG_BUILD_DIR),$(notdir $(PKG_BUILD_DIR)))
+  TARGET_CFLAGS += $(IREMAP_CFLAGS)
+endif
 
 include $(INCLUDE_DIR)/hardening.mk
 include $(INCLUDE_DIR)/prereq.mk

Modified: trunk/rules.mk
===================================================================
--- trunk/rules.mk      2016-01-25 15:04:29 UTC (rev 48488)
+++ trunk/rules.mk      2016-01-25 15:49:31 UTC (rev 48489)
@@ -118,6 +118,10 @@
   TOOLCHAIN_DIR_NAME:=toolchain-$(GNU_TARGET_NAME)
 endif
 
+ifeq ($(or $(CONFIG_EXTERNAL_TOOLCHAIN),$(CONFIG_GCC_VERSION_4_8)),)
+  iremap = -iremap $(1):$(2)
+endif
+
 PACKAGE_DIR:=$(BIN_DIR)/packages
 BUILD_DIR:=$(BUILD_DIR_BASE)/$(TARGET_DIR_NAME)
 STAGING_DIR:=$(TOPDIR)/staging_dir/$(TARGET_DIR_NAME)
_______________________________________________
openwrt-commits mailing list
[email protected]
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-commits

Reply via email to