aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@nbd.name>2016-08-23 10:58:34 +0200
committerFelix Fietkau <nbd@nbd.name>2016-08-23 11:56:13 +0200
commit88b16da8c48231058682b5c0348c8e8eb0468c0c (patch)
treeff070a109ff2d1a1b79d8526051f9ce9e973224b
parent4170267f5a794eb3fa6bb1718a665e3395077434 (diff)
downloadupstream-88b16da8c48231058682b5c0348c8e8eb0468c0c.tar.gz
upstream-88b16da8c48231058682b5c0348c8e8eb0468c0c.tar.bz2
upstream-88b16da8c48231058682b5c0348c8e8eb0468c0c.zip
tools: build GNU date from coreutils on non-Linux systems
Required for reproducible builds in the kernel build system Signed-off-by: Felix Fietkau <nbd@nbd.name>
-rw-r--r--tools/Makefile3
-rw-r--r--tools/coreutils/Makefile36
2 files changed, 39 insertions, 0 deletions
diff --git a/tools/Makefile b/tools/Makefile
index abf5b043eb..f7a731619b 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -84,6 +84,9 @@ tools-y += libressl
$(curdir)/mkimage/compile += $(curdir)/libressl/install
$(curdir)/firmware-utils/compile += $(curdir)/libressl/install
endif
+ifneq ($(HOST_OS),Linux)
+ tools-y += coreutils
+endif
ifneq ($(CONFIG_CCACHE)$(CONFIG_SDK),)
$(foreach tool, $(filter-out patch,$(tools-y)), $(eval $(curdir)/$(tool)/compile += $(curdir)/ccache/install))
diff --git a/tools/coreutils/Makefile b/tools/coreutils/Makefile
new file mode 100644
index 0000000000..8e0585044c
--- /dev/null
+++ b/tools/coreutils/Makefile
@@ -0,0 +1,36 @@
+#
+# Copyright (C) 2015 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=coreutils
+PKG_VERSION:=8.25
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
+PKG_SOURCE_URL:=@GNU/coreutils
+PKG_MD5SUM:=070e43ba7f618d747414ef56ab248a48
+
+HOST_BUILD_PARALLEL := 1
+
+BUILD_PROGRAMS = date
+
+include $(INCLUDE_DIR)/host-build.mk
+
+BUILD_BINS = $(patsubst %,src/%,$(BUILD_PROGRAMS))
+
+HOST_CONFIGURE_ARGS += \
+ --enable-install-program=date
+
+HOST_MAKE_FLAGS += \
+ PROGRAMS="$(BUILD_BINS)" \
+ LIBRARIES= MANS= SUBDIRS=.
+
+define Host/Install
+ $(INSTALL_DIR) $(1)/bin
+ $(CP) $(patsubst %,$(HOST_BUILD_DIR)/%,$(BUILD_BINS)) $(1)/bin/
+endef
+
+$(eval $(call HostBuild))