diff options
author | Michael Pratt <mcpratt@pm.me> | 2023-03-23 03:49:01 -0400 |
---|---|---|
committer | Christian Marangi <ansuelsmth@gmail.com> | 2023-05-04 06:07:30 +0200 |
commit | 09f8f21ae33402201c14a125a37b64746415642d (patch) | |
tree | cd53d8bfdd5a9bae8c865aa62b2bde2408f1bc15 /tools/coreutils/Makefile | |
parent | 87e902fcdcce0e3d1287deb901f934aabf7ec183 (diff) | |
download | openwrt-09f8f21ae33402201c14a125a37b64746415642d.tar.gz openwrt-09f8f21ae33402201c14a125a37b64746415642d.tar.bz2 openwrt-09f8f21ae33402201c14a125a37b64746415642d.zip |
tools/coreutils: bootstrap to local gnulib source
Using the local gnulib source during bootstrap
allows for fine-grained control over the macros
and source files for use with coreutils
but part of gnulib instead of coreutils,
without having to wait for a release
or deal with gnulib as a git submodule.
In this case, the execution of autotools
must be skipped by force.
Autoconf and Automake during bootstrap on coreutils
only works right when using directly checked-out source.
There is a symbol in gnulib, @GNULIB_TIME@
that is not yet defined in coreutils source,
so we use the backup of lib/time.in.h instead
of the one provided by gnulib source.
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Diffstat (limited to 'tools/coreutils/Makefile')
-rw-r--r-- | tools/coreutils/Makefile | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/tools/coreutils/Makefile b/tools/coreutils/Makefile index f799e83c5b..233ab1585d 100644 --- a/tools/coreutils/Makefile +++ b/tools/coreutils/Makefile @@ -20,15 +20,42 @@ BUILD_PROGRAMS = date readlink touch ln chown ginstall include $(INCLUDE_DIR)/host-build.mk +export GNULIB_SRCDIR:=$(HOST_GNULIB_SRCDIR) + BUILD_BINS = $(patsubst %,src/%,$(BUILD_PROGRAMS)) HOST_CONFIGURE_ARGS += \ --enable-install-program=$(subst $(space),$(comma),$(strip $(BUILD_PROGRAMS))) HOST_MAKE_FLAGS += \ + $(AM_TOOL_PATHS_FAKE) \ PROGRAMS="$(BUILD_BINS)" \ LIBRARIES= MANS= SUBDIRS=. +define Host/Bootstrap + ( \ + cd $(HOST_BUILD_DIR); \ + $(AM_TOOL_PATHS_FAKE) \ + ./bootstrap \ + --bootstrap-sync \ + --force \ + --no-git \ + --skip-po \ + --gnulib-srcdir=$(GNULIB_SRCDIR) \ + ) +endef + +define Host/Prepare + $(call Host/Prepare/Default) + $(if $(QUILT),,$(call Host/Bootstrap)) +endef + +define Host/Configure + $(if $(QUILT),$(call Host/Bootstrap)) + -$(CP) $(HOST_BUILD_DIR)/lib/time.in.h~ $(HOST_BUILD_DIR)/lib/time.in.h # @GNULIB_TIME@ not defined + $(call Host/Configure/Default) +endef + define Host/Install $(INSTALL_DIR) $(1)/bin $(INSTALL_BIN) $(patsubst %,$(HOST_BUILD_DIR)/%,$(BUILD_BINS)) $(1)/bin/ |