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/testsuite/.gitignore | 1 + src/testsuite/Makefile.am | 110 ---------------------------------------------- src/testsuite/Makefile.ng | 110 ++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 111 insertions(+), 110 deletions(-) delete mode 100644 src/testsuite/Makefile.am create mode 100644 src/testsuite/Makefile.ng (limited to 'src/testsuite') 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.am deleted file mode 100644 index 9dc76a7d..00000000 --- a/src/testsuite/Makefile.am +++ /dev/null @@ -1,110 +0,0 @@ -# -# ngIRCd -- The Next Generation IRC Daemon -# Copyright (c)2001-2011 Alexander Barton (alex@barton.de) and Contributors. -# -# 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 = ../portab/ansi2knr - -INCLUDES = -I$(srcdir)/../portab - -EXTRA_DIST = \ - README functions.inc getpid.sh \ - start-server.sh stop-server.sh tests.sh stress-server.sh \ - test-loop.sh wait-tests.sh \ - channel-test.e connect-test.e check-idle.e invite-test.e \ - join-test.e kick-test.e message-test.e misc-test.e mode-test.e \ - opless-channel-test.e server-link-test.e who-test.e whois-test.e \ - stress-A.e stress-B.e \ - start-server1 stop-server1 ngircd-test1.conf \ - start-server2 stop-server2 ngircd-test2.conf - -all: - -clean-local: - rm -rf logs tests *-test ngircd-test*.log procs.tmp \ - T-ngircd1 ngircd-test1.motd T-ngircd2 ngircd-test2.motd - -maintainer-clean-local: - rm -f Makefile Makefile.in - -check_SCRIPTS = ngircd-TEST-Binary tests.sh - -ngircd-TEST-Binary: - cp ../ngircd/ngircd T-ngircd1 - cp ../ngircd/ngircd T-ngircd2 - [ -f getpid.sh ] || ln -s $(srcdir)/getpid.sh . - -connect-test: tests.sh - rm -f connect-test - ln -s $(srcdir)/tests.sh connect-test - -channel-test: tests.sh - rm -f channel-test - ln -s $(srcdir)/tests.sh channel-test - -invite-test: tests.sh - rm -f invite-test - ln -s $(srcdir)/tests.sh invite-test - -join-test: tests.sh - rm -f join-test - ln -s $(srcdir)/tests.sh join-test - -kick-test: tests.sh - rm -f kick-test - ln -s $(srcdir)/tests.sh kick-test - -message-test: tests.sh - rm -f message-test - ln -s $(srcdir)/tests.sh message-test - -misc-test: tests.sh - rm -f misc-test - ln -s $(srcdir)/tests.sh misc-test - -mode-test: tests.sh - rm -f mode-test - ln -s $(srcdir)/tests.sh mode-test - -opless-channel-test: tests.sh - rm -f opless-channel-test - ln -s $(srcdir)/tests.sh opless-channel-test - -server-link-test: tests.sh - rm -f server-link-test - ln -s $(srcdir)/tests.sh server-link-test - -who-test: tests.sh - rm -f who-test - ln -s $(srcdir)/tests.sh who-test - -whois-test: tests.sh - rm -f whois-test - ln -s $(srcdir)/tests.sh whois-test - -TESTS = start-server1 \ - connect-test \ - start-server2 \ - channel-test \ - invite-test \ - join-test \ - kick-test \ - message-test \ - misc-test \ - mode-test \ - opless-channel-test \ - who-test \ - whois-test \ - server-link-test \ - stop-server2 \ - stress-server.sh \ - stop-server1 - -# -eof- diff --git a/src/testsuite/Makefile.ng b/src/testsuite/Makefile.ng new file mode 100644 index 00000000..fe642e89 --- /dev/null +++ b/src/testsuite/Makefile.ng @@ -0,0 +1,110 @@ +# +# ngIRCd -- The Next Generation IRC Daemon +# Copyright (c)2001-2011 Alexander Barton (alex@barton.de) and Contributors. +# +# 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__ + +INCLUDES = -I$(srcdir)/../portab + +EXTRA_DIST = \ + README functions.inc getpid.sh \ + start-server.sh stop-server.sh tests.sh stress-server.sh \ + test-loop.sh wait-tests.sh \ + channel-test.e connect-test.e check-idle.e invite-test.e \ + join-test.e kick-test.e message-test.e misc-test.e mode-test.e \ + opless-channel-test.e server-link-test.e who-test.e whois-test.e \ + stress-A.e stress-B.e \ + start-server1 stop-server1 ngircd-test1.conf \ + start-server2 stop-server2 ngircd-test2.conf + +all: + +clean-local: + rm -rf logs tests *-test ngircd-test*.log procs.tmp \ + T-ngircd1 ngircd-test1.motd T-ngircd2 ngircd-test2.motd + +maintainer-clean-local: + rm -f Makefile Makefile.in + +check_SCRIPTS = ngircd-TEST-Binary tests.sh + +ngircd-TEST-Binary: + cp ../ngircd/ngircd T-ngircd1 + cp ../ngircd/ngircd T-ngircd2 + [ -f getpid.sh ] || ln -s $(srcdir)/getpid.sh . + +connect-test: tests.sh + rm -f connect-test + ln -s $(srcdir)/tests.sh connect-test + +channel-test: tests.sh + rm -f channel-test + ln -s $(srcdir)/tests.sh channel-test + +invite-test: tests.sh + rm -f invite-test + ln -s $(srcdir)/tests.sh invite-test + +join-test: tests.sh + rm -f join-test + ln -s $(srcdir)/tests.sh join-test + +kick-test: tests.sh + rm -f kick-test + ln -s $(srcdir)/tests.sh kick-test + +message-test: tests.sh + rm -f message-test + ln -s $(srcdir)/tests.sh message-test + +misc-test: tests.sh + rm -f misc-test + ln -s $(srcdir)/tests.sh misc-test + +mode-test: tests.sh + rm -f mode-test + ln -s $(srcdir)/tests.sh mode-test + +opless-channel-test: tests.sh + rm -f opless-channel-test + ln -s $(srcdir)/tests.sh opless-channel-test + +server-link-test: tests.sh + rm -f server-link-test + ln -s $(srcdir)/tests.sh server-link-test + +who-test: tests.sh + rm -f who-test + ln -s $(srcdir)/tests.sh who-test + +whois-test: tests.sh + rm -f whois-test + ln -s $(srcdir)/tests.sh whois-test + +TESTS = start-server1 \ + connect-test \ + start-server2 \ + channel-test \ + invite-test \ + join-test \ + kick-test \ + message-test \ + misc-test \ + mode-test \ + opless-channel-test \ + who-test \ + whois-test \ + server-link-test \ + stop-server2 \ + stress-server.sh \ + stop-server1 + +# -eof- -- cgit 1.4.1 From 8e1beae4e7e57f5ef74fcc82532162a228e2e831 Mon Sep 17 00:00:00 2001 From: Alexander Barton Date: Mon, 24 Sep 2012 14:34:16 +0200 Subject: Include all build-system files into distribution archives --- Makefile.am | 2 ++ src/ipaddr/Makefile.ng | 2 ++ src/ngircd/Makefile.ng | 4 +++- src/portab/Makefile.ng | 15 ++++++++------- src/testsuite/Makefile.ng | 15 +++++++-------- src/tool/Makefile.ng | 2 ++ 6 files changed, 24 insertions(+), 16 deletions(-) (limited to 'src/testsuite') diff --git a/Makefile.am b/Makefile.am index 58f202c9..53af9afd 100644 --- a/Makefile.am +++ b/Makefile.am @@ -13,6 +13,8 @@ AUTOMAKE_OPTIONS = gnu SUBDIRS = doc src man contrib +EXTRA_DIST = autogen.sh configure.ng + clean-local: rm -f build-stamp* rm -rf ngircd.dest diff --git a/src/ipaddr/Makefile.ng b/src/ipaddr/Makefile.ng index 3d5a5db9..a376e25f 100644 --- a/src/ipaddr/Makefile.ng +++ b/src/ipaddr/Makefile.ng @@ -5,6 +5,8 @@ __ng_Makefile_am_template__ +EXTRA_DIST = Makefile.ng + INCLUDES = -I$(srcdir)/../portab noinst_LIBRARIES = libngipaddr.a diff --git a/src/ngircd/Makefile.ng b/src/ngircd/Makefile.ng index db3ecfe9..8ee044d9 100644 --- a/src/ngircd/Makefile.ng +++ b/src/ngircd/Makefile.ng @@ -1,6 +1,6 @@ # # ngIRCd -- The Next Generation IRC Daemon -# Copyright (c)2001-2012 Alexander Barton (alex@barton.de) +# Copyright (c)2001-2012 Alexander Barton (alex@barton.de) and Contributors # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -11,6 +11,8 @@ __ng_Makefile_am_template__ +EXTRA_DIST = Makefile.ng + INCLUDES = -I$(srcdir)/../portab -I$(srcdir)/../tool -I$(srcdir)/../ipaddr LINTARGS = -weak -warnunixlib +unixlib -booltype BOOLEAN \ diff --git a/src/portab/Makefile.ng b/src/portab/Makefile.ng index 5681a530..e27980ee 100644 --- a/src/portab/Makefile.ng +++ b/src/portab/Makefile.ng @@ -1,17 +1,18 @@ # # ngIRCd -- The Next Generation IRC Daemon -# Copyright (c)2001,2002 by Alexander Barton (alex@barton.de) +# Copyright (c)2001-2012 Alexander Barton (alex@barton.de) and Contributors # -# 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. +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# Please read the file COPYING, README and AUTHORS for more information. # __ng_Makefile_am_template__ +EXTRA_DIST = Makefile.ng + noinst_LIBRARIES = libngportab.a libngportab_a_SOURCES = strdup.c strlcpy.c strtok_r.c vsnprintf.c waitpid.c diff --git a/src/testsuite/Makefile.ng b/src/testsuite/Makefile.ng index fe642e89..40076b46 100644 --- a/src/testsuite/Makefile.ng +++ b/src/testsuite/Makefile.ng @@ -1,13 +1,12 @@ # # ngIRCd -- The Next Generation IRC Daemon -# Copyright (c)2001-2011 Alexander Barton (alex@barton.de) and Contributors. +# Copyright (c)2001-2012 Alexander Barton (alex@barton.de) and Contributors # -# 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. +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# Please read the file COPYING, README and AUTHORS for more information. # __ng_Makefile_am_template__ @@ -15,7 +14,7 @@ __ng_Makefile_am_template__ INCLUDES = -I$(srcdir)/../portab EXTRA_DIST = \ - README functions.inc getpid.sh \ + Makefile.ng README functions.inc getpid.sh \ start-server.sh stop-server.sh tests.sh stress-server.sh \ test-loop.sh wait-tests.sh \ channel-test.e connect-test.e check-idle.e invite-test.e \ diff --git a/src/tool/Makefile.ng b/src/tool/Makefile.ng index 807f24bc..dc884206 100644 --- a/src/tool/Makefile.ng +++ b/src/tool/Makefile.ng @@ -11,6 +11,8 @@ __ng_Makefile_am_template__ +EXTRA_DIST = Makefile.ng + INCLUDES = -I$(srcdir)/../portab noinst_LIBRARIES = libngtool.a -- cgit 1.4.1