From dfc849d78aaa5dcb694fc32ff9c9eece4f8b0f88 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 23 Jun 2019 17:20:20 +0000 Subject: buildinfo compiler names and options; reautoconf git-svn-id: svn://tug.org/texlive/trunk@51428 c570f23f-e606-0410-a88d-b1316a301751 --- Build/source/Build | 58 ++++++++++++++++--------------------------- Build/source/ChangeLog | 7 ++++++ Build/source/Makefile.am | 2 +- Build/source/Makefile.in | 2 +- Build/source/doc/buildinfo.sh | 11 ++++++++ Build/source/libs/configure | 4 +-- Build/source/texk/configure | 4 +-- Build/source/utils/configure | 4 +-- 8 files changed, 47 insertions(+), 45 deletions(-) (limited to 'Build') diff --git a/Build/source/Build b/Build/source/Build index d0854dd74c5..b80219e8269 100755 --- a/Build/source/Build +++ b/Build/source/Build @@ -16,7 +16,8 @@ LANG=C; export LANG mydir=`dirname $0` cd $mydir || exit 1 -: ${TL_WORKDIR=Work} +# We export the TL_* variables so that they can be dumped to buildenv.log. +: ${TL_WORKDIR=Work}; export TL_WORKDIR # allow override of install destination. if test -z "$TL_INSTALL_DEST"; then @@ -24,6 +25,7 @@ if test -z "$TL_INSTALL_DEST"; then test -d inst || mkdir -p inst/texmf # avoid configure warnings TL_INSTALL_DEST=$H/inst fi +export TL_INSTALL_DEST # allow override of the make program. # The idea is to use TL_MAKE if that is defined (and set MAKE), @@ -39,14 +41,14 @@ else TL_MAKE=make MAKE=make fi -export MAKE +export MAKE; export TL_MAKE # make flags -: ${TL_MAKE_FLAGS=} -: ${TL_MAKE_VERBOSE=VERBOSE=1} +: ${TL_MAKE_FLAGS=}; export TL_MAKE_FLAGS +: ${TL_MAKE_VERBOSE=VERBOSE=1}; export TL_MAKE_VERBOSE # allow override of make target. -: ${TL_TARGET=world} +: ${TL_TARGET=world}; export TL_TARGTE if test "x$1" = x--no-clean; then shift @@ -56,7 +58,7 @@ else fi # allow adding environment setting for build. -: ${TL_BUILD_ENV=} +: ${TL_BUILD_ENV=}; export TL_BUILD_ENV if test "x$1" = x--debug || test "x$1" = x-g; then shift # The idea is that with Build -g, you can set TL_COMPILER_GFLAGS in @@ -64,7 +66,7 @@ if test "x$1" = x--debug || test "x$1" = x-g; then # not necessarily anything to do with debugging, e.g., -mcpu=sparvc9. # Or you can set TL_{C,CXX,OBJCXX}FLAGS for per-language flags, # notably TL_CFLAGS=-Wdeclaration-after-statement. - : ${TL_COMPILER_GFLAGS=-g} + : ${TL_COMPILER_GFLAGS=-g}; export TL_COMPILER_CFLAGS c="CFLAGS='$TL_COMPILER_GFLAGS $TL_CFLAGS'" cxx="CXXFLAGS='$TL_COMPILER_GFLAGS $TL_CXXFLAGS'" objcxx="OBJCXXFLAGS='$TL_COMPILER_GFLAGS $TL_OBJCXXFLAGS'" # only for macs @@ -73,33 +75,34 @@ fi # allow for changing the banner identification, e.g., # --with-banner-add='/SomeDistro'; see the build doc. -: ${TL_CONF_BANNER=} +: ${TL_CONF_BANNER=}; export TL_CONF_BANNER # default to supporting large files as much as possible; # see comments at --disable-largefile in README.config. -: ${TL_CONF_LARGEFILE=--enable-largefile} +: ${TL_CONF_LARGEFILE=--enable-largefile}; export TL_CONF_LARGEFILE # default to terminate if requested programs or features must be disabled. -: ${TL_CONF_MISSING=--disable-missing} +: ${TL_CONF_MISSING=--disable-missing}; export TL_CONF_MISSING # default to static linking. -: ${TL_CONF_SHARED=--disable-shared} +: ${TL_CONF_SHARED=--disable-shared}; export TL_CONF_SHARED # allow override of xdvi toolkit, default to standard xaw. : ${TL_CONF_XDVI_TOOLKIT=--with-xdvi-x-toolkit=xaw} +export TL_CONF_XDVI_TOOLKIT # allow override of configure location. -: ${TL_CONFIGURE=../configure} +: ${TL_CONFIGURE=../configure}; export TL_CONFIGURE # allow adding arbitrary other configure args, after all the others. -: ${TL_CONFIGURE_ARGS=} +: ${TL_CONFIGURE_ARGS=}; export TL_CONFIGURE_ARGS # allow for doing stuff betwen configure and make. -: ${TL_POSTCONFIGURE=true} +: ${TL_POSTCONFIGURE=true}; export TL_POSTCONFIGURE # Kpathsea is not going to be able to find its cnf files during the # build, so omit the warning about it. -: ${KPATHSEA_WARNING=0} +: ${KPATHSEA_WARNING=0}; export KPATHSEA_WARNING # make our working directory. test -d $TL_WORKDIR || mkdir $TL_WORKDIR @@ -114,29 +117,10 @@ cd $TL_WORKDIR || exit 1 # # output system info (will also be done by make, to buildinfo.log). $mydir/doc/buildinfo.sh --no-config-status + env | sort >buildenv.log echo "See also buildenv.log and buildinfo.log in `pwd`" echo # - # Export the interesting TL_* variables that might be set, - # so they can be dumped to buildenv.log. - test -z "$TL_BUILD_ENV" || export TL_BUILD_ENV - test -z "$TL_COMPILER_GFLAGS" || export TL_COMPILER_GFLAGS - test -z "$TL_CONF_BANNER" || export TL_CONF_BANNER - test -z "$TL_CONF_LARGEFILE" || export TL_CONF_LARGEFILE - test -z "$TL_CONF_MISSING" || export TL_CONF_MISSING - test -z "$TL_CONF_SHARED" || export TL_CONF_SHARED - test -z "$TL_CONF_XDVI_TOOLKIT" || export TL_CONF_XDVI_TOOLKIT - test -z "$TL_CONFIGURE" || export TL_CONFIGURE - test -z "$TL_CONFIGURE_ARGS" || export TL_CONFIGURE_ARGS - test -z "$TL_INSTALL_DEST" || export TL_INSTALL_DEST - test -z "$TL_MAKE" || export TL_MAKE - test -z "$TL_MAKE_FLAGS" || export TL_MAKE_FLAGS - test -z "$TL_MAKE_VERBOSE" || export TL_MAKE_VERBOSE - test -z "$TL_POSTCONFIGURE" || export TL_POSTCONFIGURE - test -z "$TL_TARGET" || export TL_TARGET - test -z "$TL_WORKDIR" || export TL_WORKDIR - env | sort >buildenv.log - # set -vx # show the configure and make commands in the log. eval $TL_BUILD_ENV $TL_CONFIGURE \ @@ -152,7 +136,7 @@ cd $TL_WORKDIR || exit 1 && eval $TL_POSTCONFIGURE \ && eval $TL_BUILD_ENV $TL_MAKE $TL_MAKE_FLAGS $TL_MAKE_VERBOSE $TL_TARGET - # Too arcane to try to propagate the exit status through a pipeline. + # Too arcane to propagate the exit status through a pipeline. # Just use a temp file. echo $? >exitstatus.txt } 2>&1 | tee build.log @@ -167,7 +151,7 @@ if test -d "$bindir"; then echo "$0: $count executables in $bindir." else echo "$0: Build failed, no executables under $bindir." - echo "$0: Full log in `pwd`/build.log." + echo "$0: Full log in: `pwd`/build.log" exit 1 fi | tee -a build.log # if no bindir, perhaps they specified --prefix; don't worry. diff --git a/Build/source/ChangeLog b/Build/source/ChangeLog index 285a826080b..806699b0a65 100644 --- a/Build/source/ChangeLog +++ b/Build/source/ChangeLog @@ -1,3 +1,10 @@ +2019-06-23 Karl Berry + + * doc/buildinfo.sh: output the compiler/other names + that we pass from the buildinfo target. + * Makefile.am (buildinfo): pass OBJCXX, not OBJC. + * Build: more maintainable exports of TL_*. + 2019-06-22 Karl Berry * doc/buildinfo.sh: rename from build-info.sh; diff --git a/Build/source/Makefile.am b/Build/source/Makefile.am index 353dcecfc14..c8f521b368e 100644 --- a/Build/source/Makefile.am +++ b/Build/source/Makefile.am @@ -67,7 +67,7 @@ buildinfo: -env MAKE="$(MAKE)" LDFLAGS="$(LDFLAGS)" \ CC="$(CC)" CFLAGS="$(CFLAGS)" \ CXX="$(CXX)" CXXFLAGS="$(CXXFLAGS)" \ - OBJC="$(OBJC)" OBJCXXFLAGS="$(OBJCXXFLAGS)" \ + OBJCXX="$(OBJCXX)" OBJCXXFLAGS="$(OBJCXXFLAGS)" \ $(srcdir)/doc/buildinfo.sh >buildinfo.log # should be harmless to run it, but just in case: diff --git a/Build/source/Makefile.in b/Build/source/Makefile.in index 879bf06f86f..607de413241 100644 --- a/Build/source/Makefile.in +++ b/Build/source/Makefile.in @@ -1053,7 +1053,7 @@ buildinfo: -env MAKE="$(MAKE)" LDFLAGS="$(LDFLAGS)" \ CC="$(CC)" CFLAGS="$(CFLAGS)" \ CXX="$(CXX)" CXXFLAGS="$(CXXFLAGS)" \ - OBJC="$(OBJC)" OBJCXXFLAGS="$(OBJCXXFLAGS)" \ + OBJCXX="$(OBJCXX)" OBJCXXFLAGS="$(OBJCXXFLAGS)" \ $(srcdir)/doc/buildinfo.sh >buildinfo.log # run buildinfo first. diff --git a/Build/source/doc/buildinfo.sh b/Build/source/doc/buildinfo.sh index be141e1b71b..7784ae5061c 100755 --- a/Build/source/doc/buildinfo.sh +++ b/Build/source/doc/buildinfo.sh @@ -14,13 +14,24 @@ printf 'UNAME\t"%s"\n' "`uname -a`" # /etc/issue often contains only placeholders, so don't bother. +printf 'MAKE\t"%s"\n' "${MAKE-make}" printf 'MAKE-v\t"%s"\n' "`${MAKE-make} -v 2>&1 | sed 1q`" # BSD make does not give version info with -v, but the # first line of the usage message is sort of an identifier. # our configure defaults to using gcc and g++. +printf 'CC\t"%s"\n' "${CC-gcc}" +printf 'CFLAGS\t"%s"\n' "${CFLAGS}" printf 'CC-v\t"%s"\n' "`${CC-gcc} --version 2>&1 | sed 1q`" +# +printf 'CXX\t"%s"\n' "${CXX-g++}" +printf 'CXXFLAGS\t"%s"\n' "${CXXFLAGS}" printf 'CXX-v\t"%s"\n' "`${CXX-g++} --version 2>&1 | sed 1q`" +# +printf 'OBJCXX\t"%s"\n' "${OBJCXX-cc}" +printf 'OBJCXXFLAGS\t"%s"\n' "${OBJCXXFLAGS}" +# +printf 'LDFLAGS\t"%s"\n' "${LDFLAGS}" # Some Linux-based systems provide this, but don't worry if not there. # Let's hope that other systems are sufficiently identified by uname, diff --git a/Build/source/libs/configure b/Build/source/libs/configure index ff593faeed0..114dc9f4776 100755 --- a/Build/source/libs/configure +++ b/Build/source/libs/configure @@ -1626,8 +1626,8 @@ Optional Packages: --with-mf-x-toolkit use X toolkit for METAFONT --with-gs=/PATH/TO/gs Hard-wire the location of GhostScript --with-xdvi-x-toolkit=KIT - Use toolkit KIT (motif/xaw/xaw3d/neXtaw) for xdvi - [default: Motif if available, else Xaw] + Use toolkit KIT (xaw/motif/xaw3d/neXtaw) for xdvi + [default: Xaw] --with-system-harfbuzz use installed harfbuzz headers and library (requires pkg-config) --with-system-icu use installed ICU headers and libraries (requires diff --git a/Build/source/texk/configure b/Build/source/texk/configure index 8ceff7f123b..803c0ba4805 100755 --- a/Build/source/texk/configure +++ b/Build/source/texk/configure @@ -1626,8 +1626,8 @@ Optional Packages: --with-mf-x-toolkit use X toolkit for METAFONT --with-gs=/PATH/TO/gs Hard-wire the location of GhostScript --with-xdvi-x-toolkit=KIT - Use toolkit KIT (motif/xaw/xaw3d/neXtaw) for xdvi - [default: Motif if available, else Xaw] + Use toolkit KIT (xaw/motif/xaw3d/neXtaw) for xdvi + [default: Xaw] --with-system-harfbuzz use installed harfbuzz headers and library (requires pkg-config) --with-system-icu use installed ICU headers and libraries (requires diff --git a/Build/source/utils/configure b/Build/source/utils/configure index 6b744228478..49807fc0a13 100755 --- a/Build/source/utils/configure +++ b/Build/source/utils/configure @@ -1626,8 +1626,8 @@ Optional Packages: --with-mf-x-toolkit use X toolkit for METAFONT --with-gs=/PATH/TO/gs Hard-wire the location of GhostScript --with-xdvi-x-toolkit=KIT - Use toolkit KIT (motif/xaw/xaw3d/neXtaw) for xdvi - [default: Motif if available, else Xaw] + Use toolkit KIT (xaw/motif/xaw3d/neXtaw) for xdvi + [default: Xaw] --with-system-harfbuzz use installed harfbuzz headers and library (requires pkg-config) --with-system-icu use installed ICU headers and libraries (requires -- cgit v1.2.3