[PATCH 2/3] gnulib: enable a --build setup for sim [PR sim/30882]

Mike Frysinger vapier@gentoo.org
Sun Oct 15 17:17:27 GMT 2023


The sim tree has some build-time programs for generating source files
that are a bit complicated and expect a POSIX-compatible system.  Use
the existing gnulib project to provide missing APIs.
---
 Makefile.def |  2 ++
 Makefile.in  | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 configure    |  5 +++++
 configure.ac |  5 +++++
 4 files changed, 71 insertions(+)

diff --git a/Makefile.def b/Makefile.def
index 15c068e4ac40..3e477fe073e0 100644
--- a/Makefile.def
+++ b/Makefile.def
@@ -27,6 +27,7 @@ AutoGen definitions Makefile.tpl;
 build_modules= { module= libiberty; };
 build_modules= { module= bison; };
 build_modules= { module= flex; };
+build_modules= { module= gnulib; };
 build_modules= { module= m4; };
 build_modules= { module= texinfo; };
 build_modules= { module= fixincludes; };
@@ -585,6 +586,7 @@ dependencies = { module=install-strip-sid; on=install-strip-tcl; };
 dependencies = { module=install-sid; on=install-tk; };
 dependencies = { module=install-strip-sid; on=install-strip-tk; };
 
+dependencies = { module=configure-sim; on=all-build-gnulib; };
 dependencies = { module=configure-sim; on=all-gnulib; };
 dependencies = { module=configure-sim; on=configure-intl; };
 dependencies = { module=all-sim; on=all-intl; };
diff --git a/Makefile.in b/Makefile.in
index efe3565a6e5e..4f58b288a9c0 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1199,6 +1199,7 @@ all:
 all-build: maybe-all-build-libiberty
 all-build: maybe-all-build-bison
 all-build: maybe-all-build-flex
+all-build: maybe-all-build-gnulib
 all-build: maybe-all-build-m4
 all-build: maybe-all-build-texinfo
 all-build: maybe-all-build-fixincludes
@@ -3300,6 +3301,63 @@ all-build-flex: configure-build-flex
 
 
 
+.PHONY: configure-build-gnulib maybe-configure-build-gnulib
+maybe-configure-build-gnulib:
+@if gcc-bootstrap
+configure-build-gnulib: stage_current
+@endif gcc-bootstrap
+@if build-gnulib
+maybe-configure-build-gnulib: configure-build-gnulib
+configure-build-gnulib: 
+	@: $(MAKE); $(unstage)
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	test ! -f $(BUILD_SUBDIR)/gnulib/Makefile || exit 0; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(BUILD_SUBDIR)/gnulib; \
+	$(BUILD_EXPORTS)  \
+	echo Configuring in $(BUILD_SUBDIR)/gnulib; \
+	cd "$(BUILD_SUBDIR)/gnulib" || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(BUILD_SUBDIR)/gnulib/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=gnulib; \
+	rm -f no-such-file || : ; \
+	CONFIG_SITE=no-such-file $(SHELL) \
+	  $$s/$$module_srcdir/configure \
+	  --srcdir=$${topdir}/$$module_srcdir \
+	  $(BUILD_CONFIGARGS) --build=${build_alias} --host=${build_alias} \
+	  --target=${target_alias}  \
+	  || exit 1
+@endif build-gnulib
+
+
+
+
+
+.PHONY: all-build-gnulib maybe-all-build-gnulib
+maybe-all-build-gnulib:
+@if gcc-bootstrap
+all-build-gnulib: stage_current
+@endif gcc-bootstrap
+@if build-gnulib
+TARGET-build-gnulib=all
+maybe-all-build-gnulib: all-build-gnulib
+all-build-gnulib: configure-build-gnulib
+	@: $(MAKE); $(unstage)
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(BUILD_EXPORTS)  \
+	(cd $(BUILD_SUBDIR)/gnulib && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_BUILD_FLAGS)   \
+		$(TARGET-build-gnulib))
+@endif build-gnulib
+
+
+
+
+
 .PHONY: configure-build-m4 maybe-configure-build-m4
 maybe-configure-build-m4:
 @if gcc-bootstrap
@@ -66801,6 +66859,7 @@ install-sid: maybe-install-tcl
 install-strip-sid: maybe-install-strip-tcl
 install-sid: maybe-install-tk
 install-strip-sid: maybe-install-strip-tk
+configure-sim: maybe-all-build-gnulib
 configure-sim: maybe-all-gnulib
 configure-sim: maybe-all-readline
 all-fastjar: maybe-all-build-texinfo
diff --git a/configure.ac b/configure.ac
index 01cfd017273a..23290ddaa6fc 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3076,6 +3076,11 @@ case " ${configdirs} " in
     configdirs="${configdirs} gnulib"
     ;;
 esac
+case " ${configdirs} " in
+  *\ sim\ *)
+    build_configdirs="${build_configdirs} gnulib"
+    ;;
+esac
 
 # Strip out unwanted targets.
 
-- 
2.42.0



More information about the Gdb-patches mailing list