From bf53e171b5d03e0fc3d84965b73836201ddc35e4 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Sun, 15 Oct 2023 22:30:32 +0545 Subject: [PATCH] gnulib: enable a --build setup for sim [PR sim/30882] 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 662e50fdc18..719163f486b 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; }; @@ -600,6 +601,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-gettext; }; dependencies = { module=all-sim; on=all-gettext; }; diff --git a/Makefile.in b/Makefile.in index 48320bb549e..7d3c73d8d20 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 @@ -66659,6 +66717,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 b/configure index be73a3daee9..5dcfd0b9377 100755 --- a/configure +++ b/configure @@ -9957,6 +9957,11 @@ case " ${configdirs} " in configdirs="${configdirs} gnulib" ;; esac +case " ${configdirs} " in + *\ sim\ *) + build_configdirs="${build_configdirs} gnulib" + ;; +esac # Strip out unwanted targets. diff --git a/configure.ac b/configure.ac index 76d36e7b358..ee0415856e6 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.47.2