Change build system to support new and old GNU automake
authorAlexander Barton <alex@barton.de>
Sun, 23 Sep 2012 15:55:48 +0000 (17:55 +0200)
committerAlexander Barton <alex@barton.de>
Sun, 23 Sep 2012 16:13:55 +0000 (18:13 +0200)
commit192e304b94f239de13b0f10ca01f6694fe6eea40
tree02174f2d76a042c4abcfa63ef65e58b5841661e4
parent1413a4886ffa120e82d4963368e82b4d5ec6eb2d
Change build system to support new and old GNU automake

Starting with GNU automake 1.12, the "de-ANSI-fication support" has been
removed, which ngIRCd used to enable building itself on very old systems.

Now the problem is, that using automake >= 1.12 isn't working because of
the now unsupported M4 macros. Therefore the solution that this patch
implements is to dynamically generate the automake input files with our
own ./autogen.sh script:

  configure.ng => configure.in
  Makefile.ng => Makefile.am

This is quite an ugly approach, but it works and enables us to:

  1. use current automake >= 1.12 for development and "private builds",
  2. still build distribution archives using automake 1.11.x that have
     "de-ANSI-fication support" enabled in the generated Makefile's.

And if you are using Makefile's generated with a automake version newer
than 1.11.x (without "de-ANSI-fication support"), the ./configure script
warns you not to use this generated build system to generate distribution
archives.

Drawback of this patch: you MUST use our autogen.sh script, you can't call
the autoconf/automake commands directly any more; but autoreconf should
still work ...
19 files changed:
.gitignore
autogen.sh
configure.in [deleted file]
configure.ng [new file with mode: 0644]
src/ipaddr/.gitignore [new file with mode: 0644]
src/ipaddr/Makefile.am [deleted file]
src/ipaddr/Makefile.ng [new file with mode: 0644]
src/ngircd/.gitignore
src/ngircd/Makefile.am [deleted file]
src/ngircd/Makefile.ng [new file with mode: 0644]
src/portab/.gitignore
src/portab/Makefile.am [deleted file]
src/portab/Makefile.ng [new file with mode: 0644]
src/testsuite/.gitignore
src/testsuite/Makefile.am [deleted file]
src/testsuite/Makefile.ng [new file with mode: 0644]
src/tool/.gitignore [new file with mode: 0644]
src/tool/Makefile.am [deleted file]
src/tool/Makefile.ng [new file with mode: 0644]