Commit graph

26 commits

Author SHA1 Message Date
H. Peter Anvin
fefaa2cc5c autoconf: modernize and modularize
Use my modular m4 library used for other things as well; update
autoconf macros to 2.71 standard.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2024-06-10 18:24:53 -07:00
H. Peter Anvin
e83d71d394 autoconf: rename configure.in to configure.ac
Rename configure.in to configure.ac in accordance with current
practice.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2024-05-29 15:03:40 -07:00
Ron Lee
ff819b108a Make configure an order-only prerequisite of aconfig.h.in
On filesystems with subsecond resolution, like ext4, we can't trust the
timestamp of aconfig.h.in since autoheader leaves it truncated to second
resolution (apparently touch -r and cp -p can do this at the very least)
while configure has full subsecond resolution, so it can look newer even
when it was cleanly created first, leading to the build system looping
trying to recreate all of that again ...

So in the initial stage of a clean build we can get something like this:

$ make spotless
$ make autoconf
rm -rf MCONFIG configure config.log aconfig.h *.cache
autoconf
rm -f aconfig.h.in aconfig.h
autoheader

$ stat configure aconfig.h.in
  File: ‘configure’
Device: 807h/2055d	Inode: 9443466     Links: 1
Access: 2014-07-31 03:27:27.599293442 +0930
Modify: 2014-07-31 03:27:27.711290270 +0930
Change: 2014-07-31 03:27:27.711290270 +0930

  File: ‘aconfig.h.in’
Device: 807h/2055d	Inode: 9443467     Links: 1
Access: 2014-07-31 03:27:27.000000000 +0930
Modify: 2014-07-31 03:27:27.000000000 +0930
Change: 2014-07-31 03:27:27.903284841 +0930

And with a parallel build, that can then leave 'make all' racing to
remove and recreate aconfig.h (and possibly more things), while it
begins to build the first targets.  Which then fail horribly like
we see here:

https://buildd.debian.org/status/fetch.php?pkg=tftp-hpa&arch=i386&ver=5.2%2B20140608-1&stamp=1406736363

Possibly we also need to move the actual build job into the rule for
the 'all' target, so that the build system update prerequisites are
guaranteed to be completed before it runs (as opposed to running in
parallel with them), but this change might be enough for now.

Signed-off-by: Ron Lee <ron@debian.org>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
2014-07-31 16:25:41 -07:00
Mike Frysinger
6124dcbe2d [patch] fix parallel building of tftp-hpa
if you try to build tftp-hpa in parallel, it may fail as the tftp and tftpd
subdirs may try to link before the libcommon.a has a chance to be generated
in the common subdir

trivial patch attached to address this
-mike
2007-01-13 10:24:27 -08:00
H. Peter Anvin
40133b212b Move common code to a common/ subdirectory 2006-10-04 10:19:06 -07:00
hpa
1405c06bab Add spec file for rpm -ta 2004-09-14 22:48:36 +00:00
hpa
d05bd6fa96 Makefile/configure cleanups; prepare for release 2004-01-08 20:48:51 +00:00
hpa
b38a61cf70 Fixes to help tru64 2004-01-05 19:41:42 +00:00
hpa
d849153191 Fix macro substitution bug; some Makefile issues 2002-03-08 04:08:05 +00:00
hpa
2116104641 Make sure version.h is deleted for "make distclean" 2001-12-14 22:38:33 +00:00
hpa
4f739767f2 Make the version number automatically included in the man page footer 2001-11-17 00:16:53 +00:00
hpa
01acb3dc7f Allow "readline" to be used even if "history" is unavailable... 2001-11-14 20:51:09 +00:00
hpa
5ec55f35e9 Move feature test macros into configure.in -> CFLAGS so we don't
end up with mismatch between "configure" and compile time
2001-11-14 02:54:25 +00:00
hpa
6c7ace232d clean up the various cleaning targets 2001-11-14 00:20:02 +00:00
hpa
06bfb2bf4f - Better parsing of the "connect" command (tftp).
- Move missing header file stuff consistently into config.h.
- Make "make -j" work correctly.
2001-11-13 19:58:32 +00:00
hpa
a8001aea08 Force "autoheader" to behave like a reasonable Makefile-operated program. 2001-11-12 20:49:45 +00:00
hpa
403b4a48ff Add #define _XOPEN_SOURCE (for Solaris)
Create "make autoconf" target
2001-11-12 20:02:23 +00:00
hpa
2c31169f57 Major overhaul of the portability stuff; port to autoconf 2.52 2001-11-12 10:03:04 +00:00
hpa
070ca7c888 Add "make release" target for what goes into the distribution. 2001-08-10 18:52:24 +00:00
hpa
4003a672ce "make distclean" must remove config.status 2001-07-26 22:54:16 +00:00
hpa
d59b94d721 "make distclean" -> delete all files not for release
"make spotless"		-> delete all non-generated files
2001-07-26 22:39:32 +00:00
hpa
6c5cce691c Further fixes to configuration system; don't put configure in CVS. 2001-04-23 19:59:22 +00:00
hpa
7eb7968b74 Clean up the Makefile handling of autoconf files; add check for
tcpwrappers.
2001-04-23 05:40:39 +00:00
hpa
c92bf0f3d4 More merging mania... 2001-03-30 01:30:49 +00:00
hpa
7a15e40374 Fix massive lossage: 0.15 based on an outdated repository!!! 2001-03-30 01:08:12 +00:00
hpa
09f975fa4c Initial revision 1999-09-26 06:32:41 +00:00