about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorAlexander Barton <alex@barton.de>2012-09-23 17:55:48 +0200
committerAlexander Barton <alex@barton.de>2012-09-23 18:13:55 +0200
commit192e304b94f239de13b0f10ca01f6694fe6eea40 (patch)
tree02174f2d76a042c4abcfa63ef65e58b5841661e4 /src
parent1413a4886ffa120e82d4963368e82b4d5ec6eb2d (diff)
downloadngircd-192e304b94f239de13b0f10ca01f6694fe6eea40.tar.gz
ngircd-192e304b94f239de13b0f10ca01f6694fe6eea40.zip
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 ...
Diffstat (limited to 'src')
-rw-r--r--src/ipaddr/.gitignore1
-rw-r--r--src/ipaddr/Makefile.ng (renamed from src/ipaddr/Makefile.am)2
-rw-r--r--src/ngircd/.gitignore1
-rw-r--r--src/ngircd/Makefile.ng (renamed from src/ngircd/Makefile.am)2
-rw-r--r--src/portab/.gitignore1
-rw-r--r--src/portab/Makefile.ng (renamed from src/portab/Makefile.am)2
-rw-r--r--src/testsuite/.gitignore1
-rw-r--r--src/testsuite/Makefile.ng (renamed from src/testsuite/Makefile.am)2
-rw-r--r--src/tool/.gitignore1
-rw-r--r--src/tool/Makefile.ng (renamed from src/tool/Makefile.am)2
10 files changed, 10 insertions, 5 deletions
diff --git a/src/ipaddr/.gitignore b/src/ipaddr/.gitignore
new file mode 100644
index 00000000..08a6d725
--- /dev/null
+++ b/src/ipaddr/.gitignore
@@ -0,0 +1 @@
+Makefile.am
diff --git a/src/ipaddr/Makefile.am b/src/ipaddr/Makefile.ng
index 6ce299f2..3d5a5db9 100644
--- a/src/ipaddr/Makefile.am
+++ b/src/ipaddr/Makefile.ng
@@ -3,7 +3,7 @@
 # (c) 2008 Florian Westphal <fw@strlen.de>, public domain.
 #
 
-AUTOMAKE_OPTIONS = ../portab/ansi2knr
+__ng_Makefile_am_template__
 
 INCLUDES = -I$(srcdir)/../portab
 
diff --git a/src/ngircd/.gitignore b/src/ngircd/.gitignore
index c25ba5e3..d1148bfb 100644
--- a/src/ngircd/.gitignore
+++ b/src/ngircd/.gitignore
@@ -1,3 +1,4 @@
+Makefile.am
 check-help
 check-version
 ngircd
diff --git a/src/ngircd/Makefile.am b/src/ngircd/Makefile.ng
index 3a411a96..db3ecfe9 100644
--- a/src/ngircd/Makefile.am
+++ b/src/ngircd/Makefile.ng
@@ -9,7 +9,7 @@
 # Please read the file COPYING, README and AUTHORS for more information.
 #
 
-AUTOMAKE_OPTIONS = ../portab/ansi2knr
+__ng_Makefile_am_template__
 
 INCLUDES = -I$(srcdir)/../portab -I$(srcdir)/../tool -I$(srcdir)/../ipaddr
 
diff --git a/src/portab/.gitignore b/src/portab/.gitignore
index 839a69fd..9bac6ac1 100644
--- a/src/portab/.gitignore
+++ b/src/portab/.gitignore
@@ -1 +1,2 @@
+Makefile.am
 portabtest
diff --git a/src/portab/Makefile.am b/src/portab/Makefile.ng
index a57ea495..5681a530 100644
--- a/src/portab/Makefile.am
+++ b/src/portab/Makefile.ng
@@ -10,7 +10,7 @@
 # der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
 #
 
-AUTOMAKE_OPTIONS = ansi2knr
+__ng_Makefile_am_template__
 
 noinst_LIBRARIES = libngportab.a
 
diff --git a/src/testsuite/.gitignore b/src/testsuite/.gitignore
index 5884a486..b33a08f4 100644
--- a/src/testsuite/.gitignore
+++ b/src/testsuite/.gitignore
@@ -1,3 +1,4 @@
+Makefile.am
 T-ngircd1
 T-ngircd2
 channel-test
diff --git a/src/testsuite/Makefile.am b/src/testsuite/Makefile.ng
index 9dc76a7d..fe642e89 100644
--- a/src/testsuite/Makefile.am
+++ b/src/testsuite/Makefile.ng
@@ -10,7 +10,7 @@
 # der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
 #
 
-AUTOMAKE_OPTIONS = ../portab/ansi2knr
+__ng_Makefile_am_template__
 
 INCLUDES = -I$(srcdir)/../portab
 
diff --git a/src/tool/.gitignore b/src/tool/.gitignore
new file mode 100644
index 00000000..08a6d725
--- /dev/null
+++ b/src/tool/.gitignore
@@ -0,0 +1 @@
+Makefile.am
diff --git a/src/tool/Makefile.am b/src/tool/Makefile.ng
index 8d6cda46..807f24bc 100644
--- a/src/tool/Makefile.am
+++ b/src/tool/Makefile.ng
@@ -9,7 +9,7 @@
 # Please read the file COPYING, README and AUTHORS for more information.
 #
 
-AUTOMAKE_OPTIONS = ../portab/ansi2knr
+__ng_Makefile_am_template__
 
 INCLUDES = -I$(srcdir)/../portab