| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Without AC_CANONICAL_TARGET, I get the following error when running
./configure:
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
mkdir: cannot create directory '': No such file or directory
mkdir: cannot create directory '': No such file or directory
./configure: line 2470: /conftest.tmp: Permission denied
configure: error: could not change to default builddir "./"
With AC_CANONICAL_TARGET (either called explicitly in configure.ac, or
required in AX_ENABLE_BUILDDIR), ./configure works as expected:
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
continue configure in default builddir "./x86_64-unknown-linux-gnu"
....exec /nix/store/nyj6xd7s1n1w8c0xdwk5ddhi7bjcyi9x-bash-4.3-p46/bin/bash .././configure "--srcdir=.." "--enable-builddir=x86_64-unknown-linux-gnu" "linux
gnu"
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
checking for gsed... sed
[…]
|
| |
|
|
|
|
| |
Further details are available at <http://savannah.gnu.org/patch/?7619>.
|
| |
|
|
|
|
| |
minor cosmetic issues.
|
|
|
|
|
| |
git grep -l '\[ .*\]' \
| xargs perl -pi -e 's/\[ \t([^]]*\])/[\t $1/g'
|
|
|
|
| |
http://www.gnu.org/software/autoconf-archive/MACRO-NAME.html
|
| |
|
|
|
|
|
|
|
| |
The serial number corresponds to the number of commits that have
modified the macro in the Archive's Git repository. Refer to
http://www.gnu.org/software/libtool//manual/automake/Serials.html to
find out why these numbers are useful.
|
|
|
|
|
|
|
|
|
|
|
| |
The top-level Makefile is generated by mangling rules, "a: b". We
already avoid mangling "a := b". But we should also exclude "a = :".
Apparently this was causing unbalanced parenthesis errors on some
systems.
Reported-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Alan Jenkins <alan-jenkins@tuffmail.co.uk>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* Consistently refer to this project as Autoconf Archive.
* Removed the LAST MODIFICATION section, because that information is redundant
in the presence of Git.
* COPYLEFT has been renamed to LICENSE: some licenses, like all-permissive,
are no copylefts.
|
|
|
|
|
|
|
|
| |
The last-modified-date of these macros didn't match their respective
last-modified-date in the GIT repository. A version bump remedies this
inconsistency. In hindsight, these dates should have bumped when the
distribution format changed; all macros had to be touched at this point
anyway.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
We already get a special toplevel Makefile rule for "dist", which
copies the tarball from the build directory to the source directory.
Many projects publish tarballs compressed using Bzip2 to save a bit
more bandwidth. Automake provides a "dist-bzip2" rule for this
purpose, and many others for different compression methods.
Unfortunately the rules don't all match the file extensions (dist-bzip
makes .bz2). So for dist-foo rules, just copy *all* the tarballs.
Ugly, but useful.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
$ ./configure; make
...
MAKE i686-pc-linux-gnu : 0 * distclean
make[1]: Entering directory `/home/alan/bootup/src/module-init-tools/build'
rm -f doc/*.tmp manpage.refs manpage.links
make[1]: Leaving directory `/home/alan/bootup/src/module-init-tools/build'
MAKE i686-pc-linux-gnu : 0 * distclean (all local builds)
# rm -r .
# (sleep 3)
rm -r .
rm: cannot remove directory `.'
The problem is the method used to determine which builddirs are local,
and therefore should removed by "make distclean". It relies on them
starting with "./", but they don't :-). Instead, we can assume that
non-local directories will start with "/" or "../".
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
$ ./configure; make
...
Makefile:852: target `dist-all' given more than once in the same rule.
The macro generates additional X-all targets, meaning "make target X in
all build directories". My source Makefile includes a rule like this:
dist dist-all: ...
It gets converted to
dist dist-all dist-all:
When what we really want is this
dist dist-all:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The sed script which generates the top-level Makefile from the Makefile
in the build directory is flawed. It treats an assignment of the form
"TESTSUITE := ..." as a makefile rule - because it contains ":".
$ make
...
MAKE : 1 * TESTSUITE
make[1]: Entering directory `/home/alan/bootup/src/module-init-tools/build'
make[1]: *** No rule to make target `TESTSUITE'. Stop.
Fix the sed script to skip the rule-related commands for lines which
contain ":=". As a cleanup, we can also skip the rule-related commands
for lines which do not contain ":". That simplifies those commands,
because they don't need to test for ":" themselves.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I would like to be able to bypass ENABLE_BUILDDIR and configure a
subdirectory myself, without generating a toplevel Makefile.
(This is for an unusual automated testsuite which tests behaviour
with different configure options, and compiles with -DJUST_TESTING
to build a testable version of the program).
$ mkdir build; cd build; ../configure
...
config.status: executing buildir commands
config.status: create top_srcdir/Makefile guessed from local Makefile
config.status: build in yes (HOST=)
...
$ cd ..; make
MAKE i686-pc-linux-gnu : 0 * all-all
/bin/bash: line 9: cd: yes: No such file or directory
make: *** [all-all] Error 1
Also:
./configure --disable-builddir
...
config.status: executing buildir commands
config.status: keeping top_srcdir/Makefile from earlier configure
...
Which should really be:
config.status: executing buildir commands
config.status: leaving top_srcdir/Makefile untouched
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Using this macro, I get a warning that config.guess can't be found.
It doesn't cause a problem for me because I'm not cross-compiling
for multiple hosts, but it is annoying.
$ ./configure
...
$ make
sh: Can't open ../config.guess
...
Reason: ".." is "$AUX".
The top-level makefile is generated *after* the configure script reruns
itself in the build directory. At that point, AUX is equal to "..".
Solution: use AM_AUX_DIR_EXPAND to generate an absolute version of
ac_aux_dir.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The markup format distributed by the Autoconf Macro Archive underwent
the following changes:
* All archive entries use '#' comment delimiters, rather than 'dnl',
because we would like those comments to go into the generated
configure script. It should be simple for everyone to determine
where the macro came from originally, who wrote it, and where the
latest version can be retrieved. To achieve this, every macro used
to start with a distinguished line that shows the URL of its
respective home page, i.e.:
| ##### http://autoconf-archive.cryp.to/ax_prog_acme.html
As it happens, the aclocal utility distributed with Automake
ignores all comment lines that start with a double hash '##', thus
those home page URLs will not make it into any automatically
generated aclocal.m4 file. Duh. To remedy the situation, the
following markup is now used instead:
| # =================================================================
| # http://autoconf-archive.cryp.to/ax_prog_acme.html
| # =================================================================
* The 2.x versions of the GNU GPL and LGPL contain the following
clause:
| You should have received a copy of the <GNU LICENSE NAME> along
| with this program; if not, write to the Free Software Foundation,
| Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
Version 3.x, however, smartly refers the reader to the Web:
| You should have received a copy of the GNU General Public License
| along with this program. If not, see <http://www.gnu.org/licenses/>.
This patch changes all GPL2 and LGPL2 macros to do the same, i.e.
to refer to the GNU web site for the full text of the respective
license.
* Since all m4 files had to be changed in this commit anyway, the
opportunity was used to increase the auto-fill column for
documentation from 65 to 75 characters per line. It's a trivial
change, but it just looks nicer.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Further discussion on the Autoconf mailing list has reached the
following consensus: although BUILD is the right choice in most
cases, in case of cross-compilation it is not. Cross-compilation
needs HOST to be set, so the original version of this macro is
the safer choice. This patch reverts commit
41da8f494cd209a9836ebeae8f211cb84dde9153.
An unpleasant property of HOST is that most shell environments
define that variable to the local hostname. When configure uses
$HOST as a default setting, however, that is not what it expects
to find -- HOST is supposed to be config.guess tripple. Thus, the
user is forced to specify HOST explicitly or to undefine $HOST in
the shell before calling configure. That's a bit of mess. Bright
ideas and patches are welcome.
|
|
|
|
|
|
|
|
|
| |
The patch universally replaces "host" with "build" and "HOST"
with "BUILD". The rationale is that typically the user wishes to
segregate builds based upon the BUILD target rather than the
configuration HOST type. Now that these host and build variables
are treated as more fully distinct in Autoconf, it makes sense to
honor this distinction.
|
|
|