4a52a7e9fb
This commit probably comes as a surprise to some, given that one of i3’s explicitly stated goals used to be “Do not use programs such as autoconf/automake for configuration and creating unreadable/broken makefiles”. I phrased this goal over 7 years ago, based largely on a grudge that I inherited, which — as I’ve realized in the meantime — was largely held against FOSS in general, and not actually nuanced criticism of autotools. In the meantime, I have come to realize that the knee-jerk reaction of “I could do this better!” (i.e. writing our own build system in this particular case) is usually misguided, and nowadays I strongly suggest trying hard to fix the existing system for the benefit of all existing and future users. Further, I recently got to experience the other side of the coin, as I packaged a new version of FreeRADIUS for Debian, which at the time of writing used autoconf in combination with boilermake, a custom make-based build system that only FreeRADIUS uses. Understanding the build system enough to fix issues and enable parallel compilation took me an entire day. That time is time which potentially every downstream maintainer needs to invest, and the resulting knowledge cannot be applied to any other project. Hence, I believe it’s a good idea switch i3 to autotools. Yes, it might be that particular features were easier to implement/understand in our custom Makefiles, and there might be individuals who have an easier time reading through our custom Makefiles than learning autotools. All of these considerations are outweighed by the benefits we get from using the same build system as literally thousands of other FOSS software packages. Aside from these somewhat philosophical considerations, there’s also practical improvements which this change brings us. See the “changes” section below. ┌──────────────────────────────────────────────────────────────────────────────┐ │ new workflow │ └──────────────────────────────────────────────────────────────────────────────┘ You can now build i3 like you build any other software package which uses autotools. Here’s a memory refresher: autoreconf -fi mkdir -p build && cd build ../configure make -j8 (The autoreconf -fi step is unnecessary if you are building from a release tarball, but shouldn’t hurt either.) ┌──────────────────────────────────────────────────────────────────────────────┐ │ recommended reading │ └──────────────────────────────────────────────────────────────────────────────┘ I very much recommend reading “A Practitioner's Guide to GNU Autoconf, Automake, and Libtool” by John Calcote (https://www.nostarch.com/autotools.htm). That book is from 2010 and, AFAICT, is the most up to date comprehensive description of autotools. Do not read older documentation. In particular, if a document you’re reading mentions configure.in (deprecated filename) or recursive make (now considered harmful), it’s likely outdated. ┌──────────────────────────────────────────────────────────────────────────────┐ │ changes │ └──────────────────────────────────────────────────────────────────────────────┘ This commit implements the following new functionality/changes in behavior: • We use the AX_ENABLE_BUILDDIR macro to enforce builds happening in a separate directory. This is a prerequisite for the AX_EXTEND_SRCDIR macro and building in a separate directory is common practice anyway. In case this causes any trouble when packaging i3 for your distribution, please let me know. • “make check” runs the i3 testsuite. You can still use ./testcases/complete-run.pl to get the interactive progress output. • “make distcheck” (runs testsuite on “make dist” result, tiny bit quicker feedback cycle than waiting for the travis build to catch the issue). • “make uninstall” (occasionally requested by users who compile from source) • “make” will build manpages/docs by default if the tools are installed. Conversely, manpages/docs are not tried to be built for users who don’t want to install all these dependencies to get started hacking on i3. • non-release builds will enable address sanitizer by default. Use the --disable-sanitizers configure option to turn off all sanitizers, and see --help for available sanitizers. • Support for pre-compiled headers (PCH) has been dropped for now in the interest of simplicitly. Maybe we can re-add it later. • coverage reports are now generated using “make check-code-coverage”, which requires specifying --enable-code-coverage when calling configure. ┌──────────────────────────────────────────────────────────────────────────────┐ │ build system feature parity/testing │ └──────────────────────────────────────────────────────────────────────────────┘ In addition to what’s described above, I tested the following features: • “make install” installs the same files (plus documentation and manpages) cd i3-old && make install PREFIX=/tmp/inst/old cd i3-new && ./configure --prefix=/tmp/inst/new cd /tmp/inst (cd old && for f in $(find); do [ -e "../new/$f" ] || echo "$f missing"; done) • make dist generates a tarball which includes the same files cd i3-old && make dist cd i3-new/x86_64-pc-linux-gnu && make dist colordiff -u <(tar tf i3-old/i3-4.12.tar.bz2 | sort) \ <(tar tf i3-new/x86_64-pc-linux-gnu/i3-4.12.tar.gz | sort) There are some expected differences: • Some files have been renamed (e.g. the new etc/ and share/ subdirectories) • Some files will now be generated at build-time, so only their corresponding .in file is shipped (e.g. testcases/complete-run.pl) • The generated parser files are shipped in the dist tarball (they only depend on the parser-specs/* files, not on the target system) • autotools infrastructure is shipped (e.g. “configure”, “missing”, etc.) • DLOG and ELOG statements still produce the same file name in logfiles • Listing source code in gdb still works. • gdb backtraces contain the i3-<version> path component • release.sh still works • version embedding 1. git checkout shows “4.12-136-gf720023 (2016-10-10, branch "autotools")” 2. tarball of a git version shows “4.12-non-git” 3. release tarball shows 4.13 • debug mode is enabled by default for non-release builds • enabling verbose builds via V=1 ┌──────────────────────────────────────────────────────────────────────────────┐ │ speed │ └──────────────────────────────────────────────────────────────────────────────┘ There is no noticeable difference in compilation speed itself (of binaries, documentation and manpages): i3-old $ time make all docs mans -j8 make all docs mans -j8 28.92s user 2.15s system 640% cpu 4.852 total i3-new $ time make -j8 make -j8 27.08s user 1.92s system 620% cpu 4.669 total In terms of one-time costs: configuring the build system (../configure) takes about 2.7s on my machine, generating the build system (autoreconf -fi) takes about 3.1s on my machine. ┌──────────────────────────────────────────────────────────────────────────────┐ │ m4 macros │ └──────────────────────────────────────────────────────────────────────────────┘ All files in m4/ have been copied from the autoconf-archive package in version b6aeb1988f4b6c78bf39d97b6c4f6e1d594d59b9 and should be updated whenever they change. This commit has been tested with autoconf 2.69 and automake 1.15.
303 lines
13 KiB
Plaintext
303 lines
13 KiB
Plaintext
# ===========================================================================
|
|
# http://www.gnu.org/software/autoconf-archive/ax_enable_builddir.html
|
|
# ===========================================================================
|
|
#
|
|
# SYNOPSIS
|
|
#
|
|
# AX_ENABLE_BUILDDIR [(dirstring-or-command [,Makefile.mk [,-all]])]
|
|
#
|
|
# DESCRIPTION
|
|
#
|
|
# If the current configure was run within the srcdir then we move all
|
|
# configure-files into a subdir and let the configure steps continue
|
|
# there. We provide an option --disable-builddir to suppress the move into
|
|
# a separate builddir.
|
|
#
|
|
# Defaults:
|
|
#
|
|
# $1 = $host (overridden with $HOST)
|
|
# $2 = Makefile.mk
|
|
# $3 = -all
|
|
#
|
|
# This macro must be called before AM_INIT_AUTOMAKE. It creates a default
|
|
# toplevel srcdir Makefile from the information found in the created
|
|
# toplevel builddir Makefile. It just copies the variables and
|
|
# rule-targets, each extended with a default rule-execution that recurses
|
|
# into the build directory of the current "HOST". You can override the
|
|
# auto-dection through `config.guess` and build-time of course, as in
|
|
#
|
|
# make HOST=i386-mingw-cross
|
|
#
|
|
# which can of course set at configure time as well using
|
|
#
|
|
# configure --host=i386-mingw-cross
|
|
#
|
|
# After the default has been created, additional rules can be appended
|
|
# that will not just recurse into the subdirectories and only ever exist
|
|
# in the srcdir toplevel makefile - these parts are read from the $2 =
|
|
# Makefile.mk file
|
|
#
|
|
# The automatic rules are usually scanning the toplevel Makefile for lines
|
|
# like '#### $host |$builddir' to recognize the place where to recurse
|
|
# into. Usually, the last one is the only one used. However, almost all
|
|
# targets have an additional "*-all" rule which makes the script to
|
|
# recurse into _all_ variants of the current HOST (!!) setting. The "-all"
|
|
# suffix can be overriden for the macro as well.
|
|
#
|
|
# a special rule is only given for things like "dist" that will copy the
|
|
# tarball from the builddir to the sourcedir (or $(PUB)) for reason of
|
|
# convenience.
|
|
#
|
|
# LICENSE
|
|
#
|
|
# Copyright (c) 2009 Guido U. Draheim <guidod@gmx.de>
|
|
# Copyright (c) 2009 Alan Jenkins <alan-jenkins@tuffmail.co.uk>
|
|
#
|
|
# This program is free software; you can redistribute it and/or modify it
|
|
# under the terms of the GNU General Public License as published by the
|
|
# Free Software Foundation; either version 3 of the License, or (at your
|
|
# option) any later version.
|
|
#
|
|
# This program is distributed in the hope that it will be useful, but
|
|
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
|
|
# Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License along
|
|
# with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
#
|
|
# As a special exception, the respective Autoconf Macro's copyright owner
|
|
# gives unlimited permission to copy, distribute and modify the configure
|
|
# scripts that are the output of Autoconf when processing the Macro. You
|
|
# need not follow the terms of the GNU General Public License when using
|
|
# or distributing such scripts, even though portions of the text of the
|
|
# Macro appear in them. The GNU General Public License (GPL) does govern
|
|
# all other use of the material that constitutes the Autoconf Macro.
|
|
#
|
|
# This special exception to the GPL applies to versions of the Autoconf
|
|
# Macro released by the Autoconf Archive. When you make and distribute a
|
|
# modified version of the Autoconf Macro, you may extend this special
|
|
# exception to the GPL to apply to your modified version as well.
|
|
|
|
#serial 25
|
|
|
|
AC_DEFUN([AX_ENABLE_BUILDDIR],[
|
|
AC_REQUIRE([AC_CANONICAL_HOST])[]dnl
|
|
AC_REQUIRE([AC_CANONICAL_TARGET])[]dnl
|
|
AC_REQUIRE([AX_CONFIGURE_ARGS])[]dnl
|
|
AC_REQUIRE([AM_AUX_DIR_EXPAND])[]dnl
|
|
AC_BEFORE([$0],[AM_INIT_AUTOMAKE])dnl
|
|
AS_VAR_PUSHDEF([SUB],[ax_enable_builddir])dnl
|
|
AS_VAR_PUSHDEF([AUX],[ax_enable_builddir_auxdir])dnl
|
|
AS_VAR_PUSHDEF([SED],[ax_enable_builddir_sed])dnl
|
|
SUB="."
|
|
AC_ARG_ENABLE([builddir], AS_HELP_STRING(
|
|
[--disable-builddir],[disable automatic build in subdir of sources])
|
|
,[SUB="$enableval"], [SUB="auto"])
|
|
if test ".$ac_srcdir_defaulted" != ".no" ; then
|
|
if test ".$srcdir" = ".." ; then
|
|
if test -f config.status ; then
|
|
AC_MSG_NOTICE(toplevel srcdir already configured... skipping subdir build)
|
|
else
|
|
test ".$SUB" = "." && SUB="."
|
|
test ".$SUB" = ".no" && SUB="."
|
|
test ".$TARGET" = "." && TARGET="$target"
|
|
test ".$SUB" = ".auto" && SUB="m4_ifval([$1], [$1],[$TARGET])"
|
|
if test ".$SUB" != ".." ; then # we know where to go and
|
|
AS_MKDIR_P([$SUB])
|
|
echo __.$SUB.__ > $SUB/conftest.tmp
|
|
cd $SUB
|
|
if grep __.$SUB.__ conftest.tmp >/dev/null 2>/dev/null ; then
|
|
rm conftest.tmp
|
|
AC_MSG_RESULT([continue configure in default builddir "./$SUB"])
|
|
else
|
|
AC_MSG_ERROR([could not change to default builddir "./$SUB"])
|
|
fi
|
|
srcdir=`echo "$SUB" |
|
|
sed -e 's,^\./,,;s,[[^/]]$,&/,;s,[[^/]]*/,../,g;s,[[/]]$,,;'`
|
|
# going to restart from subdirectory location
|
|
test -f $srcdir/config.log && mv $srcdir/config.log .
|
|
test -f $srcdir/confdefs.h && mv $srcdir/confdefs.h .
|
|
test -f $srcdir/conftest.log && mv $srcdir/conftest.log .
|
|
test -f $srcdir/$cache_file && mv $srcdir/$cache_file .
|
|
AC_MSG_RESULT(....exec $SHELL $srcdir/[$]0 "--srcdir=$srcdir" "--enable-builddir=$SUB" ${1+"[$]@"})
|
|
case "[$]0" in # restart
|
|
[[\\/]]* | ?:[[\\/]]*) # Asbolute name
|
|
eval $SHELL "'[$]0'" "'--srcdir=$srcdir'" "'--enable-builddir=$SUB'" $ac_configure_args ;;
|
|
*) eval $SHELL "'$srcdir/[$]0'" "'--srcdir=$srcdir'" "'--enable-builddir=$SUB'" $ac_configure_args ;;
|
|
esac ; exit $?
|
|
fi
|
|
fi
|
|
fi fi
|
|
test ".$SUB" = ".auto" && SUB="."
|
|
dnl ac_path_prog uses "set dummy" to override $@ which would defeat the "exec"
|
|
AC_PATH_PROG(SED,gsed sed, sed)
|
|
AUX="$am_aux_dir"
|
|
AS_VAR_POPDEF([SED])dnl
|
|
AS_VAR_POPDEF([AUX])dnl
|
|
AS_VAR_POPDEF([SUB])dnl
|
|
AC_CONFIG_COMMANDS([buildir],[dnl .............. config.status ..............
|
|
AS_VAR_PUSHDEF([SUB],[ax_enable_builddir])dnl
|
|
AS_VAR_PUSHDEF([TOP],[top_srcdir])dnl
|
|
AS_VAR_PUSHDEF([SRC],[ac_top_srcdir])dnl
|
|
AS_VAR_PUSHDEF([AUX],[ax_enable_builddir_auxdir])dnl
|
|
AS_VAR_PUSHDEF([SED],[ax_enable_builddir_sed])dnl
|
|
pushdef([END],[Makefile.mk])dnl
|
|
pushdef([_ALL],[ifelse([$3],,[-all],[$3])])dnl
|
|
SRC="$ax_enable_builddir_srcdir"
|
|
if test ".$SUB" = ".." ; then
|
|
if test -f "$TOP/Makefile" ; then
|
|
AC_MSG_NOTICE([skipping TOP/Makefile - left untouched])
|
|
else
|
|
AC_MSG_NOTICE([skipping TOP/Makefile - not created])
|
|
fi
|
|
else
|
|
if test -f "$SRC/Makefile" ; then
|
|
a=`grep "^VERSION " "$SRC/Makefile"` ; b=`grep "^VERSION " Makefile`
|
|
test "$a" != "$b" && rm "$SRC/Makefile"
|
|
fi
|
|
if test -f "$SRC/Makefile" ; then
|
|
echo "$SRC/Makefile : $SRC/Makefile.in" > $tmp/conftemp.mk
|
|
echo " []@ echo 'REMOVED,,,' >\$[]@" >> $tmp/conftemp.mk
|
|
eval "${MAKE-make} -f $tmp/conftemp.mk 2>/dev/null >/dev/null"
|
|
if grep '^REMOVED,,,' "$SRC/Makefile" >/dev/null
|
|
then rm $SRC/Makefile ; fi
|
|
cp $tmp/conftemp.mk $SRC/makefiles.mk~ ## DEBUGGING
|
|
fi
|
|
if test ! -f "$SRC/Makefile" ; then
|
|
AC_MSG_NOTICE([create TOP/Makefile guessed from local Makefile])
|
|
x='`' ; cat >$tmp/conftemp.sed <<_EOF
|
|
/^\$/n
|
|
x
|
|
/^\$/bS
|
|
x
|
|
/\\\\\$/{H;d;}
|
|
{H;s/.*//;x;}
|
|
bM
|
|
:S
|
|
x
|
|
/\\\\\$/{h;d;}
|
|
{h;s/.*//;x;}
|
|
:M
|
|
s/\\(\\n\\) /\\1 /g
|
|
/^ /d
|
|
/^[[ ]]*[[\\#]]/d
|
|
/^VPATH *=/d
|
|
s/^srcdir *=.*/srcdir = ./
|
|
s/^top_srcdir *=.*/top_srcdir = ./
|
|
/[[:=]]/!d
|
|
/^\\./d
|
|
dnl Now handle rules (i.e. lines containing ":" but not " = ").
|
|
/ = /b
|
|
/ .= /b
|
|
/:/!b
|
|
s/:.*/:/
|
|
s/ / /g
|
|
s/ \\([[a-z]][[a-z-]]*[[a-zA-Z0-9]]\\)\\([[ :]]\\)/ \\1 \\1[]_ALL\\2/g
|
|
s/^\\([[a-z]][[a-z-]]*[[a-zA-Z0-9]]\\)\\([[ :]]\\)/\\1 \\1[]_ALL\\2/
|
|
s/ / /g
|
|
/^all all[]_ALL[[ :]]/i\\
|
|
all-configured : all[]_ALL
|
|
dnl dist-all exists... and would make for dist-all-all
|
|
s/ [[a-zA-Z0-9-]]*[]_ALL [[a-zA-Z0-9-]]*[]_ALL[]_ALL//g
|
|
/[]_ALL[]_ALL/d
|
|
a\\
|
|
@ HOST="\$(HOST)\" \\\\\\
|
|
; test ".\$\$HOST" = "." && HOST=$x sh $AUX/config.guess $x \\\\\\
|
|
; BUILD=$x grep "^#### \$\$HOST " Makefile | sed -e 's/.*|//' $x \\\\\\
|
|
; use=$x basename "\$\@" _ALL $x; n=$x echo \$\$BUILD | wc -w $x \\\\\\
|
|
; echo "MAKE \$\$HOST : \$\$n * \$\@"; if test "\$\$n" -eq "0" ; then : \\\\\\
|
|
; BUILD=$x grep "^####.*|" Makefile |tail -1| sed -e 's/.*|//' $x ; fi \\\\\\
|
|
; test ".\$\$BUILD" = "." && BUILD="." \\\\\\
|
|
; test "\$\$use" = "\$\@" && BUILD=$x echo "\$\$BUILD" | tail -1 $x \\\\\\
|
|
; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
|
|
; (cd "\$\$i" && test ! -f configure && \$(MAKE) \$\$use) || exit; done
|
|
dnl special rule add-on: "dist" copies the tarball to $(PUB). (source tree)
|
|
/dist[]_ALL *:/a\\
|
|
@ HOST="\$(HOST)\" \\\\\\
|
|
; test ".\$\$HOST" = "." && HOST=$x sh $AUX/config.guess $x \\\\\\
|
|
; BUILD=$x grep "^#### \$\$HOST " Makefile | sed -e 's/.*|//' $x \\\\\\
|
|
; found=$x echo \$\$BUILD | wc -w $x \\\\\\
|
|
; echo "MAKE \$\$HOST : \$\$found \$(PACKAGE)-\$(VERSION).tar.*" \\\\\\
|
|
; if test "\$\$found" -eq "0" ; then : \\\\\\
|
|
; BUILD=$x grep "^#### .*|" Makefile |tail -1| sed -e 's/.*|//' $x \\\\\\
|
|
; fi ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
|
|
; for f in \$\$i/\$(PACKAGE)-\$(VERSION).tar.* \\\\\\
|
|
; do test -f "\$\$f" && mv "\$\$f" \$(PUB). ; done ; break ; done
|
|
dnl special rule add-on: "dist-foo" copies all the archives to $(PUB). (source tree)
|
|
/dist-[[a-zA-Z0-9]]*[]_ALL *:/a\\
|
|
@ HOST="\$(HOST)\" \\\\\\
|
|
; test ".\$\$HOST" = "." && HOST=$x sh ./config.guess $x \\\\\\
|
|
; BUILD=$x grep "^#### \$\$HOST " Makefile | sed -e 's/.*|//' $x \\\\\\
|
|
; found=$x echo \$\$BUILD | wc -w $x \\\\\\
|
|
; echo "MAKE \$\$HOST : \$\$found \$(PACKAGE)-\$(VERSION).*" \\\\\\
|
|
; if test "\$\$found" -eq "0" ; then : \\\\\\
|
|
; BUILD=$x grep "^#### .*|" Makefile |tail -1| sed -e 's/.*|//' $x \\\\\\
|
|
; fi ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
|
|
; for f in \$\$i/\$(PACKAGE)-\$(VERSION).* \\\\\\
|
|
; do test -f "\$\$f" && mv "\$\$f" \$(PUB). ; done ; break ; done
|
|
dnl special rule add-on: "distclean" removes all local builddirs completely
|
|
/distclean[]_ALL *:/a\\
|
|
@ HOST="\$(HOST)\" \\\\\\
|
|
; test ".\$\$HOST" = "." && HOST=$x sh $AUX/config.guess $x \\\\\\
|
|
; BUILD=$x grep "^#### .*|" Makefile | sed -e 's/.*|//' $x \\\\\\
|
|
; use=$x basename "\$\@" _ALL $x; n=$x echo \$\$BUILD | wc -w $x \\\\\\
|
|
; echo "MAKE \$\$HOST : \$\$n * \$\@ (all local builds)" \\\\\\
|
|
; test ".\$\$BUILD" = "." && BUILD="." \\\\\\
|
|
; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
|
|
; echo "# rm -r \$\$i"; done ; echo "# (sleep 3)" ; sleep 3 \\\\\\
|
|
; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
|
|
; echo "\$\$i" | grep "^/" > /dev/null && continue \\\\\\
|
|
; echo "\$\$i" | grep "^../" > /dev/null && continue \\\\\\
|
|
; echo "rm -r \$\$i"; (rm -r "\$\$i") ; done ; rm Makefile
|
|
_EOF
|
|
cp "$tmp/conftemp.sed" "$SRC/makefile.sed~" ## DEBUGGING
|
|
$SED -f $tmp/conftemp.sed Makefile >$SRC/Makefile
|
|
if test -f "$SRC/m4_ifval([$2],[$2],[END])" ; then
|
|
AC_MSG_NOTICE([extend TOP/Makefile with TOP/m4_ifval([$2],[$2],[END])])
|
|
cat $SRC/END >>$SRC/Makefile
|
|
fi ; xxxx="####"
|
|
echo "$xxxx CONFIGURATIONS FOR TOPLEVEL MAKEFILE: " >>$SRC/Makefile
|
|
# sanity check
|
|
if grep '^; echo "MAKE ' $SRC/Makefile >/dev/null ; then
|
|
AC_MSG_NOTICE([buggy sed found - it deletes tab in "a" text parts])
|
|
$SED -e '/^@ HOST=/s/^/ /' -e '/^; /s/^/ /' $SRC/Makefile \
|
|
>$SRC/Makefile~
|
|
(test -s $SRC/Makefile~ && mv $SRC/Makefile~ $SRC/Makefile) 2>/dev/null
|
|
fi
|
|
else
|
|
xxxx="\\#\\#\\#\\#"
|
|
# echo "/^$xxxx *$ax_enable_builddir_host /d" >$tmp/conftemp.sed
|
|
echo "s!^$xxxx [[^|]]* | *$SUB *\$!$xxxx ...... $SUB!" >$tmp/conftemp.sed
|
|
$SED -f "$tmp/conftemp.sed" "$SRC/Makefile" >$tmp/mkfile.tmp
|
|
cp "$tmp/conftemp.sed" "$SRC/makefiles.sed~" ## DEBUGGING
|
|
cp "$tmp/mkfile.tmp" "$SRC/makefiles.out~" ## DEBUGGING
|
|
if cmp -s "$SRC/Makefile" "$tmp/mkfile.tmp" 2>/dev/null ; then
|
|
AC_MSG_NOTICE([keeping TOP/Makefile from earlier configure])
|
|
rm "$tmp/mkfile.tmp"
|
|
else
|
|
AC_MSG_NOTICE([reusing TOP/Makefile from earlier configure])
|
|
mv "$tmp/mkfile.tmp" "$SRC/Makefile"
|
|
fi
|
|
fi
|
|
AC_MSG_NOTICE([build in $SUB (HOST=$ax_enable_builddir_host)])
|
|
xxxx="####"
|
|
echo "$xxxx" "$ax_enable_builddir_host" "|$SUB" >>$SRC/Makefile
|
|
fi
|
|
popdef([END])dnl
|
|
AS_VAR_POPDEF([SED])dnl
|
|
AS_VAR_POPDEF([AUX])dnl
|
|
AS_VAR_POPDEF([SRC])dnl
|
|
AS_VAR_POPDEF([TOP])dnl
|
|
AS_VAR_POPDEF([SUB])dnl
|
|
],[dnl
|
|
ax_enable_builddir_srcdir="$srcdir" # $srcdir
|
|
ax_enable_builddir_host="$HOST" # $HOST / $host
|
|
ax_enable_builddir_version="$VERSION" # $VERSION
|
|
ax_enable_builddir_package="$PACKAGE" # $PACKAGE
|
|
ax_enable_builddir_auxdir="$ax_enable_builddir_auxdir" # $AUX
|
|
ax_enable_builddir_sed="$ax_enable_builddir_sed" # $SED
|
|
ax_enable_builddir="$ax_enable_builddir" # $SUB
|
|
])dnl
|
|
])
|