From 192e304b94f239de13b0f10ca01f6694fe6eea40 Mon Sep 17 00:00:00 2001 From: Alexander Barton Date: Sun, 23 Sep 2012 17:55:48 +0200 Subject: 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 ... --- src/portab/.gitignore | 1 + src/portab/Makefile.am | 34 ---------------------------------- src/portab/Makefile.ng | 34 ++++++++++++++++++++++++++++++++++ 3 files changed, 35 insertions(+), 34 deletions(-) delete mode 100644 src/portab/Makefile.am create mode 100644 src/portab/Makefile.ng (limited to 'src/portab') 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.am deleted file mode 100644 index a57ea495..00000000 --- a/src/portab/Makefile.am +++ /dev/null @@ -1,34 +0,0 @@ -# -# ngIRCd -- The Next Generation IRC Daemon -# Copyright (c)2001,2002 by Alexander Barton (alex@barton.de) -# -# Dieses Programm ist freie Software. Sie koennen es unter den Bedingungen -# der GNU General Public License (GPL), wie von der Free Software Foundation -# herausgegeben, weitergeben und/oder modifizieren, entweder unter Version 2 -# der Lizenz oder (wenn Sie es wuenschen) jeder spaeteren Version. -# Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste -# der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS. -# - -AUTOMAKE_OPTIONS = ansi2knr - -noinst_LIBRARIES = libngportab.a - -libngportab_a_SOURCES = strdup.c strlcpy.c strtok_r.c vsnprintf.c waitpid.c - -check_PROGRAMS = portabtest - -portabtest_SOURCES = portabtest.c - -portabtest_LDFLAGS = -L. - -portabtest_LDADD = -lngportab - -noinst_HEADERS = imp.h exp.h portab.h splint.h - -maintainer-clean-local: - rm -f Makefile Makefile.in - -TESTS = portabtest - -# -eof- diff --git a/src/portab/Makefile.ng b/src/portab/Makefile.ng new file mode 100644 index 00000000..5681a530 --- /dev/null +++ b/src/portab/Makefile.ng @@ -0,0 +1,34 @@ +# +# ngIRCd -- The Next Generation IRC Daemon +# Copyright (c)2001,2002 by Alexander Barton (alex@barton.de) +# +# Dieses Programm ist freie Software. Sie koennen es unter den Bedingungen +# der GNU General Public License (GPL), wie von der Free Software Foundation +# herausgegeben, weitergeben und/oder modifizieren, entweder unter Version 2 +# der Lizenz oder (wenn Sie es wuenschen) jeder spaeteren Version. +# Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste +# der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS. +# + +__ng_Makefile_am_template__ + +noinst_LIBRARIES = libngportab.a + +libngportab_a_SOURCES = strdup.c strlcpy.c strtok_r.c vsnprintf.c waitpid.c + +check_PROGRAMS = portabtest + +portabtest_SOURCES = portabtest.c + +portabtest_LDFLAGS = -L. + +portabtest_LDADD = -lngportab + +noinst_HEADERS = imp.h exp.h portab.h splint.h + +maintainer-clean-local: + rm -f Makefile Makefile.in + +TESTS = portabtest + +# -eof- -- cgit 1.4.1