]> git.ipfire.org Git - thirdparty/coreutils.git/commitdiff
build: provide way to bootstrap with python gnulib-tool
authorPádraig Brady <P@draigBrady.com>
Sat, 20 Apr 2024 09:40:06 +0000 (10:40 +0100)
committerPádraig Brady <P@draigBrady.com>
Tue, 23 Apr 2024 11:33:06 +0000 (12:33 +0100)
* cfg.mk: Add a new "world" default target so that one
can bootstrap (using the python implementation), configure,
and make, by using `make -f cfg.mk`.
* gnulib: Update to latest primarily to test the
bootstrap python implementation which is now in beta test.
* README-hacking: Document the `make -f cfg.mk` shortcut.

README-hacking
cfg.mk
gnulib

index 6f375b4efcef7b6fede75a09f8527532d294c61b..dd6b48a36815940ae2ab8a31a894fb41472fc9a0 100644 (file)
@@ -45,16 +45,17 @@ time and file system space requirements:
 
         $ export GNULIB_SRCDIR=/path/to/gnulib
 
-The next step is to get and check other files needed to build,
-which are extracted from other source packages:
+The next steps are to get and check other files needed to build,
+and complete the build:
 
-        $ ./bootstrap
+        $ make -f cfg.mk
 
-And there you are!  Just
+For reference the above command runs the following steps,
+which can be done individually if required to give more control:
 
+        $ ./bootstrap
         $ ./configure --quiet #[--disable-gcc-warnings] [*]
-        $ make
-        $ make check
+        $ make #[check]
 
 At this point, there should be no difference between your local copy,
 and the Git master copy:
diff --git a/cfg.mk b/cfg.mk
index 6141cc1edbbb9d472176686cc2c2cb0c2023a35c..fc292eabe5563aafc5e5751afaea0373585c60c5 100644 (file)
--- a/cfg.mk
+++ b/cfg.mk
@@ -57,6 +57,11 @@ _makefile_at_at_check_exceptions = \
 # Our help-version script is in a slightly different location.
 _hv_file ?= $(srcdir)/tests/misc/help-version
 
+world:
+       GNULIB_TOOL_IMPL=py ./bootstrap && \
+       ./configure --quiet && \
+       $(MAKE) $(AM_MAKEFLAGS) -j $$(nproc 2>/dev/null || echo 1)
+
 # Ensure that the list of O_ symbols used to compute O_FULLBLOCK is complete.
 dd = $(srcdir)/src/dd.c
 sc_dd_O_FLAGS:
diff --git a/gnulib b/gnulib
index 83a61464bd251ccd031ca3188d8be151f6591470..237cbf1c7639ebf06117b21381e463dedbb474b8 160000 (submodule)
--- a/gnulib
+++ b/gnulib
@@ -1 +1 @@
-Subproject commit 83a61464bd251ccd031ca3188d8be151f6591470
+Subproject commit 237cbf1c7639ebf06117b21381e463dedbb474b8