2 # Empire - A multi-player, client/server Internet based war game.
3 # Copyright (C) 1986-2015, Dave Pare, Jeff Bailey, Thomas Ruschak,
4 # Ken Stevens, Steve McClure, Markus Armbruster
6 # Empire is free software: you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation, either version 3 of the License, or
9 # (at your option) any later version.
11 # This program is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 # GNU General Public License for more details.
16 # You should have received a copy of the GNU General Public License
17 # along with this program. If not, see <http://www.gnu.org/licenses/>.
21 # See files README, COPYING and CREDITS in the root of the source
22 # tree for related information and legal notices. It is expected
23 # that future projects/authors will amend these files as needed.
27 # configure.ac: Autoconf input file
29 # Known contributors to this file:
30 # Markus Armbruster, 2005-2015
32 # Process this file with autoconf to produce a configure script.
34 # Autoconf makes checking for and programming around assorted ancient
35 # crap relatively painless. But why bother? Just rely on C89 and
36 # POSIX, and when something breaks on some oddball machine, see
37 # whether it's worth fixing.
40 AC_INIT([Wolfpack Empire], [4.3.34], [wolfpack@wolfpackempire.com], [empire],
41 [http://www.wolfpackempire.com/])
42 AC_CONFIG_SRCDIR([include/combat.h])
43 AC_CONFIG_AUX_DIR([build-aux])
44 AC_CONFIG_MACRO_DIR([m4])
45 AC_CONFIG_HEADERS([config.h])
48 ### Checks for programs
54 # Private automake macro, tsk, tsk, tsk...
57 AC_ARG_VAR(NROFF, [nroff command])
58 AC_CHECK_PROG(NROFF, groff, [GROFF_NO_SGR= groff -Tascii -U], nroff)
60 # not really a check for a program, but close enough
61 if test -d $srcdir/.git; then revctrl=git
64 AC_SUBST(revctrl,$revctrl)
66 # Not a program, but need to check this early
70 ### Checks for libraries
73 LIBS="$LIBS_SOCKETS $LIBS"
78 ### Checks for header files
81 ### Checks for typedefs, structures, and compiler characteristics
83 # Enable useful warnings
84 # Some of them are commented out because the code needs cleanup first
85 # Clang needs to be tested with -Werror=unknown-warning-option
86 AX_CHECK_COMPILE_FLAG([-Werror=unknown-warning-option],
87 [cflags_test="-Werror=unknown-warning-option"],
89 MY_APPEND_COMPILE_FLAGS([-Wall -Wextra dnl
92 -Wdeclaration-after-statement dnl
93 dnl -Wformat-nonliteral dnl
97 -Wmissing-prototypes dnl
99 -Wold-style-definition dnl
102 -Wredundant-decls dnl
104 -Wstrict-prototypes dnl
105 dnl too prone to false positives: -Wsuggest-attribute=format dnl
106 dnl -Wswitch-default dnl
108 -Wno-unused-parameter dnl
109 ], [], [$cflags_test])
111 # Our carg() conflicts with libm's TODO clean that up
112 MY_APPEND_COMPILE_FLAGS([-fno-builtin-carg -Wno-incompatible-library-redeclaration])
114 # No multiple definitions of uninitialized global variables
115 MY_APPEND_COMPILE_FLAGS([-fno-common])
118 ### Checks for library functions
120 AC_CHECK_FUNCS(getaddrinfo getpass)
124 ### Site configuration
126 # Can't be bothered to make MAXNOC configurable right now.
127 AC_DEFINE([MAXNOC], [99],
128 [The maximum number of countries])
130 AC_ARG_VAR([EMPIREHOST], [Default host (client only) [127.0.0.1]])
131 test "$EMPIREHOST" || EMPIREHOST=127.0.0.1
133 AC_ARG_VAR([EMPIREPORT], [Default port (client and server) [6665]])
134 test "$EMPIREPORT" || EMPIREPORT=6665
136 AC_ARG_WITH([pthread],
137 AS_HELP_STRING([--with-pthread],
138 [use POSIX threads]))
140 # Select thread package
142 if test "$with_pthread" != no; then
143 if test "$ax_pthread_ok" = yes; then
147 if test -z "$with_pthread" || test "$with_pthread" = no; then
148 if test "$ac_cv_func_makecontext" = yes; then
151 if test $Windows_API = yes; then
155 if test -z "$empthread"; then
156 AC_MSG_ERROR([No usable thread package found])
160 LWP) AC_DEFINE([EMPTH_LWP], 1, [Define to use LWP threads]) ;;
161 POSIX) AC_DEFINE([EMPTH_POSIX], 1, [Define to use POSIX threads]) ;;
162 Windows) AC_DEFINE([EMPTH_W32], 1, [Define to use Windows threads]) ;;
172 AC_SUBST(LIBS_client)
173 AC_SUBST(LIBS_server)
175 AC_CONFIG_FILES([GNUmakefile])
176 AC_CONFIG_COMMANDS([stamp-h],
179 mkdir -p `cd $srcdir && git ls-files \
180 | sed -n 's,/@<:@^/@:>@*$,,gp' | uniq`
183 mkdir -p `sed s/.*=// <$srcdir/sources.mk | tr ' ' '\012' \
184 | sed -n '/\//s,/@<:@^/@:>@*$,,gp'| uniq`
186 mkdir -p info.html info.nr lib
192 AC_MSG_NOTICE([-= Configuration summary =-])
193 AC_MSG_NOTICE([Thread package: $empthread])
194 AC_MSG_NOTICE([ terminfo: $with_terminfo])
195 AC_MSG_NOTICE([ EMPIREHOST: $EMPIREHOST])
196 AC_MSG_NOTICE([ EMPIREPORT: $EMPIREPORT])