]> git.pond.sub.org Git - empserver/blob - configure.ac
Autoconfigure whether char is unsigned.
[empserver] / configure.ac
1
2 #   Empire - A multi-player, client/server Internet based war game.
3 #   Copyright (C) 1986-2005, Dave Pare, Jeff Bailey, Thomas Ruschak,
4 #                            Ken Stevens, Steve McClure
5
6 #   This program 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 2 of the License, or
9 #   (at your option) any later version.
10
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.
15
16 #   You should have received a copy of the GNU General Public License
17 #   along with this program; if not, write to the Free Software
18 #   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
19
20 #   ---
21
22 #   See the "LEGAL", "LICENSE", "CREDITS" and "README" files for all the
23 #   related information and legal notices. It is expected that any future
24 #   projects/authors will amend these files as needed.
25
26 #   ---
27
28 #   configure.ac: Autoconf input file
29 #  
30 #   Known contributors to this file:
31 #      Markus Armbruster, 2005
32
33 # Process this file with autoconf to produce a configure script.
34
35 # Autoconf makes checking for and programming around assorted ancient
36 # crap relatively painless.  But why bother?  Just rely on C89 and
37 # POSIX, and when something breaks on some oddball machine, see
38 # whether it's worth fixing.
39
40 AC_PREREQ(2.59)
41 AC_INIT([Empire], [4.3.0], [wolfpack@wolfpackempire.com])
42 AC_CONFIG_SRCDIR([include/combat.h])
43 AC_CONFIG_MACRO_DIR([m4])
44 AC_CONFIG_HEADERS([config.h])
45
46
47 ### Checks for programs
48 AC_PROG_AWK
49 AC_PROG_INSTALL
50 AC_PROG_RANLIB
51 AC_PROG_CC
52 AC_SUBST(GCC)
53 AM_PROG_CC_C_O
54 # Private automake macro, tsk, tsk, tsk...
55 _AM_DEPENDENCIES(CC)
56
57 # not really a check for a program, but close enough
58 if test -d $srcdir/CVS; then cvs_controlled=yes; else cvs_controlled=no; fi
59 AC_SUBST(cvs_controlled,$cvs_controlled)
60
61
62 ### Checks for libraries
63 ACX_PTHREAD
64 LIB_SOCKET_NSL
65
66 # TODO turn this into a macro?
67 save_LIBS=$LIBS
68 AC_SEARCH_LIBS([setupterm], [termlib termcap])
69 termlibs=`echo $LIBS | sed s/\`echo $save_LIBS | sed 's/././g'\`'$//'`
70 AC_SUBST(termlibs)
71 LIBS=$save_LIBS
72
73
74 ### Checks for header files
75
76
77 ### Checks for typedefs, structures, and compiler characteristics
78
79 AC_C_CHAR_UNSIGNED
80
81
82 ### Checks for library functions
83
84 AC_CHECK_FUNCS(getaddrinfo)
85 MY_FUNC_MAKECONTEXT
86
87
88 ### Site configuration
89
90 # Can't be bothered to make MAXNOC configurable right now.
91 AC_DEFINE([MAXNOC], [99],
92           [The maximum number of countries])
93
94 AC_ARG_VAR([EMPIREHOST], [Default host (client only) [127.0.0.1]])
95 test "$EMPIREHOST" || EMPIREHOST=127.0.0.1
96
97 AC_ARG_VAR([EMPIREPORT], [Default port (client and server) [6665]])
98 test "$EMPIREPORT" || EMPIREPORT=6665
99
100 AC_ARG_WITH([pthread],
101             AS_HELP_STRING([--with-pthread],
102                            [use POSIX threads]))
103
104 # Select thread package
105 # TODO Windows
106 case "$ac_cv_func_makecontext$acx_pthread_ok" in
107 yesyes)
108     if test -z "$with_pthread" || test "$with_pthread" = no; then
109         empthread=LWP
110     else
111         empthread=POSIX
112     fi
113     ;;
114 yes*)
115     empthread=LWP ;;
116 *yes)
117     empthread=POSIX ;;
118 *)
119     AC_MSG_ERROR([No usable thread package found])
120 esac
121 AC_SUBST(empthread)
122 AC_MSG_NOTICE([Using $empthread threads])
123 case $empthread in
124 LWP)    AC_DEFINE([EMPTH_LWP], 1, [Define to use LWP threads])
125         AC_DEFINE([UCONTEXT], 1, [Define to make LWP use makecontext()]) ;;
126 POSIX)  AC_DEFINE([EMPTH_POSIX], 1, [Define to use POSIX threads]) ;;
127 Windows) AC_DEFINE([EMPTH_W32], 1, [Define to use Windows threads]) ;;
128 esac
129
130 op=
131 if test "$with_pthread" = no; then
132     op='=='
133 elif test "$with_pthread"; then
134     op='!='
135 fi
136 if test "$op" && test "$empthread" $op POSIX; then
137     AC_MSG_WARN([Ignoring --with-pthread=$with_pthread])
138 fi
139
140
141 ### Output
142
143 AC_CONFIG_FILES([GNUmakefile])
144 AC_CONFIG_COMMANDS([stamp-h],
145         [if test $cvs_controlled = yes; then
146             mkdir -p `cd $srcdir && $AWK -f src/scripts/cvsfiles.awk \
147                 | sed -n '/\//s,/@<:@^/@:>@*$,,gp'| uniq`
148         elif test -f $srcdir/sources.mk; then
149             mkdir -p `sed s/.*=// <$srcdir/sources.mk \
150                 | sed -n '/\//s,/@<:@^/@:>@*$,,gp'| uniq`
151         fi
152         >stamp-h],
153         [cvs_controlled=$cvs_controlled; AWK=$AWK])
154 AC_OUTPUT