]> git.pond.sub.org Git - empserver/blob - configure.ac
2faa2427900cfff797852e40869a93e0c8d78a8f
[empserver] / configure.ac
1 #
2 #   Empire - A multi-player, client/server Internet based war game.
3 #   Copyright (C) 1986-2009, 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 files README, COPYING and CREDITS in the root of the source
23 #   tree for related information and legal notices.  It is expected
24 #   that future 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-2008
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([Wolfpack Empire], [4.3.22], [wolfpack@wolfpackempire.com], [empire])
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 AC_ARG_VAR(NROFF, [nroff command])
58 AC_CHECK_PROG(NROFF, groff, [GROFF_NO_SGR= groff -Tascii -U], nroff)
59
60 # not really a check for a program, but close enough
61 if test -d $srcdir/.git; then revctrl=git
62 else revctrl=
63 fi
64 AC_SUBST(revctrl,$revctrl)
65
66 # Not a program, but need to check this early
67 MY_WINDOWS_API
68
69
70 ### Checks for libraries
71 ACX_PTHREAD
72 LIBS="$LIBS_SOCKETS $LIBS"
73 LIB_SOCKET_NSL
74
75 # TODO turn this into a macro?
76 save_LIBS=$LIBS
77 AC_SEARCH_LIBS([setupterm], [termlib termcap curses ncurses])
78 # FIXME if not found, complain and switch off highlighting
79 termlibs=`echo $LIBS | sed s/\`echo $save_LIBS | sed 's/././g'\`'$//'`
80 AC_SUBST(termlibs)
81 LIBS=$save_LIBS
82
83
84 ### Checks for header files
85
86
87 ### Checks for typedefs, structures, and compiler characteristics
88
89 AC_C_CHAR_UNSIGNED
90
91
92 ### Checks for library functions
93
94 AC_CHECK_FUNCS(getaddrinfo getpass)
95 MY_FUNC_MAKECONTEXT
96
97
98 ### Site configuration
99
100 # Can't be bothered to make MAXNOC configurable right now.
101 AC_DEFINE([MAXNOC], [99],
102           [The maximum number of countries])
103
104 AC_ARG_VAR([EMPIREHOST], [Default host (client only) [127.0.0.1]])
105 test "$EMPIREHOST" || EMPIREHOST=127.0.0.1
106
107 AC_ARG_VAR([EMPIREPORT], [Default port (client and server) [6665]])
108 test "$EMPIREPORT" || EMPIREPORT=6665
109
110 AC_ARG_WITH([pthread],
111             AS_HELP_STRING([--with-pthread],
112                            [use POSIX threads]))
113
114 # Select thread package
115 empthread=
116 if test "$with_pthread" != no; then
117     if test "$acx_pthread_ok" = yes; then
118         empthread=POSIX
119     fi
120 fi
121 if test -z "$with_pthread" || test "$with_pthread" = no; then
122     if test "$ac_cv_func_makecontext" = yes; then
123         empthread=LWP
124     fi
125     if test $Windows_API = yes; then
126         empthread=Windows
127     fi
128 fi
129 if test -z "$empthread"; then
130     AC_MSG_ERROR([No usable thread package found])
131 fi
132 AC_SUBST(empthread)
133 AC_MSG_NOTICE([Using $empthread threads])
134 case $empthread in
135 LWP)    AC_DEFINE([EMPTH_LWP], 1, [Define to use LWP threads]) ;;
136 POSIX)  AC_DEFINE([EMPTH_POSIX], 1, [Define to use POSIX threads]) ;;
137 Windows) AC_DEFINE([EMPTH_W32], 1, [Define to use Windows threads]) ;;
138 esac
139
140
141 ### Output
142
143 AC_CONFIG_FILES([GNUmakefile])
144 AC_CONFIG_COMMANDS([stamp-h],
145         [case $revctrl in
146         git)
147             mkdir -p `cd $srcdir && git ls-files \
148                 | sed -n 's,/@<:@^/@:>@*$,,gp' | uniq`
149             ;;
150         *)
151             mkdir -p `sed s/.*=// <$srcdir/sources.mk | tr ' ' '\012' \
152                 | sed -n '/\//s,/@<:@^/@:>@*$,,gp'| uniq`
153         esac
154         mkdir -p info.html info.nr lib
155         touch stamp-h],
156         [revctrl=$revctrl])
157 AC_OUTPUT