aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2016-01-25 15:49:31 +0000
committerFelix Fietkau <nbd@openwrt.org>2016-01-25 15:49:31 +0000
commitb3845f2e8ba944e257d8866791e5bf4d93bbb792 (patch)
treefcbcfaba99eb1d7851105f6dc62cf0ee8dc39028
parent87a16d41a30390bc34404a069c47ea1bebe63ead (diff)
downloadmaster-187ad058-b3845f2e8ba944e257d8866791e5bf4d93bbb792.tar.gz
master-187ad058-b3845f2e8ba944e257d8866791e5bf4d93bbb792.tar.bz2
master-187ad058-b3845f2e8ba944e257d8866791e5bf4d93bbb792.zip
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 <nbd@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@48489 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r--include/package.mk5
-rw-r--r--rules.mk4
2 files changed, 9 insertions, 0 deletions
diff --git a/include/package.mk b/include/package.mk
index 1dfbd68d33..ca315b59ac 100644
--- a/include/package.mk
+++ b/include/package.mk
@@ -14,6 +14,7 @@ PKG_INSTALL_DIR ?= $(PKG_BUILD_DIR)/ipkg-install
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 @@ ifdef CONFIG_USE_MIPS16
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
diff --git a/rules.mk b/rules.mk
index 11ed80950a..b4bdc0dd6e 100644
--- a/rules.mk
+++ b/rules.mk
@@ -118,6 +118,10 @@ else
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)