about summary refs log tree commit diff
path: root/src/testsuite/Makefile.ng
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/testsuite/Makefile.ng
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/testsuite/Makefile.ng')
-rw-r--r--src/testsuite/Makefile.ng110
1 files changed, 110 insertions, 0 deletions
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-