ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/configure.ac
Revision: 1.19
Committed: Thu Sep 7 20:03:20 2006 UTC (17 years, 8 months ago) by pippijn
Branch: MAIN
Changes since 1.18: +8 -30 lines
Log Message:
Entirely removed cfpython.

File Contents

# User Rev Content
1 root 1.1 dnl Process this file with autoconf to produce a configure script.
2    
3 root 1.7 AC_INIT([crossfire], [1.9.1], [crossfire-devel@listserv.real-time.com])
4 root 1.1 AC_CONFIG_AUX_DIR(utils)
5 elmex 1.9 AC_CONFIG_SRCDIR([server/main.C])
6 root 1.1 AM_INIT_AUTOMAKE
7     AM_CONFIG_HEADER(include/autoconf.h)
8    
9     AM_MAINTAINER_MODE
10    
11     AC_PREFIX_DEFAULT(/usr/games/crossfire)
12    
13     dnl we want a config.h file instead of -D options.
14    
15     dnl Checks for programs.
16 root 1.17 AC_LANG(C++)
17 root 1.12 AC_PROG_CXX
18 root 1.1 AC_PROG_LIBTOOL
19    
20     case "$target" in
21     alpha-dec-osf*)
22     # If we are not using gcc, we want the ansi version of cc.
23     if test -z "$GCC"; then
24     # CFLAGS="$CFLAGS -std1 -warnprotos" # Not yet ready for warnprotos...
25     CFLAGS="$CFLAGS -std1"
26     fi
27     ;;
28     *)
29     ;;
30     esac
31    
32    
33     AC_PROG_CPP
34     AM_PROG_LEX
35     AC_PROG_AWK
36    
37     AC_ARG_ENABLE(dmalloc, [ --enable-dmalloc Use the dmalloc library if available, may prevent plugins from working],
38     use_dmalloc=yes, use_dmalloc=no)
39    
40 root 1.14 dnl AC_ARG_WITH(python, [ --with-python=dir Directory to look for python headers/library (default=standard system location) ], PYTHON_HOME="$withval")
41 root 1.1
42    
43     dnl check for some other programs
44     AC_PATH_PROG(LATEX, latex)
45     AC_PATH_PROG(GZIP, gzip)
46     AC_PATH_PROG(GUNZIP, gunzip)
47     AC_PATH_PROG(TAR, tar)
48     AC_PATH_PROG(PERL, perl)
49     AC_PATH_PROG(BASENAME, basename)
50    
51     if test -n "$GZIP" -a -z "$GUNZIP" ; then
52     echo "Found gzip, but not gunzip - setting GUNZIP to gzip -c";
53     GUNZIP="$GZIP -c"
54     fi;
55    
56     if test -z "$COMPRESS" ; then
57     AC_PATH_PROG(COMPRESS, compress)
58     AC_PATH_PROG(UNCOMPRESS, uncompress)
59     fi
60    
61     AC_PATH_PROG(BZIP, bzip2)
62     AC_PATH_PROG(BUNZIP, bunzip2)
63    
64     if test -n "$BZIP" -a -z "$BUNZIP" ; then
65     echo "Found bzip2, but not bunzip2 - setting BUNZIP to bzip2 -c";
66     BUNZIP="$BZIP -c"
67     fi;
68    
69     if test -z "$COMPRESS" -a -z "$GZIP" -a -z "$BZIP" ; then
70     echo "Unable to find either compress, bzip2, or gzip - hope you don't plan on compressing";
71     echo "any files.";
72     fi;
73    
74     dnl nsl, socket may be needed for the X-windowing system, so check
75     dnl for them before before checking for X.
76     AC_CHECK_LIB(nsl, main)
77     AC_CHECK_LIB(socket, main)
78    
79     dnl Checks for libraries.
80     AC_CHECK_LIB(m, main)
81     AC_CHECK_LIB(png, main, AC_DEFINE(HAVE_LIBPNG,[],[Define if libpng is available]) X11LIBS="$X11LIBS -lpng", , $X11LIBS )
82    
83     dnl png has a dependency in some cases on libz - if we have it, can't really
84     dnl be harmful to link it in.
85     AC_CHECK_LIB(z, main, AC_DEFINE(HAVE_LIBZ,[],[Define if libz is available]) X11LIBS="$X11LIBS -lz", , $X11LIBS )
86    
87     dnl Misc libraries.
88     AC_CHECK_LIB(crypt, main)
89     AC_CHECK_LIB(des, des_crypt)
90    
91     dnl Gros - Changed this to support some external programs that do not like dmalloc (like Python).
92     dnl If you really need to make some memory debugging, uncomment the dmalloc line and comment out the dmalloclp one.
93    
94     if eval "test x$use_dmalloc = xyes"; then
95     AC_CHECK_LIB(dmalloc, main)
96     else
97     AC_CHECK_LIB(dmalloclp, main)
98     fi
99    
100     dnl Checks for header files.
101     AC_HEADER_DIRENT
102     AC_HEADER_STDC
103     AC_CHECK_HEADERS(fcntl.h limits.h malloc.h strings.h sys/file.h sys/ioctl.h sys/time.h time.h unistd.h stddef.h stdlib.h sys/ttycom.h sys/termios.h crypt.h arpa/inet.h des.h)
104    
105    
106     dnl Checks for typedefs, structures, and compiler characteristics.
107     AC_C_CONST
108     AC_C_INLINE
109     AC_TYPE_PID_T
110     AC_TYPE_SIZE_T
111     AC_HEADER_TIME
112     AC_STRUCT_TM
113     AC_TYPE_UID_T
114    
115     AC_CHECK_SIZEOF(long)
116     AC_CHECK_SIZEOF(long long)
117    
118     dnl Checks for library functions.
119     AC_PROG_GCC_TRADITIONAL
120     AC_FUNC_MEMCMP
121     AC_FUNC_SETPGRP
122     AC_TYPE_SIGNAL
123     AC_FUNC_STRFTIME
124     AC_FUNC_VPRINTF
125     AC_CHECK_FUNCS(gettimeofday mkdir mktime rmdir select socket strcspn strerror strspn strstr strtol strcasecmp strncasecmp snprintf setsid srandom getdtablesize srand48 srand sysconf scandir)
126    
127     dnl alphasort can not be added to AC_CHECK_FUNCS because
128     AC_MSG_CHECKING(checking if alphasort is defined)
129     AC_TRY_COMPILE([#include <dirent.h>], [alphasort;],
130     ac_cv_func_alphasort=yes, ac_cv_func_alphasort=no)
131     if test "$ac_cv_func_alphasort" = yes; then
132     AC_DEFINE(HAVE_ALPHASORT, 1, [Define if you have the alphasort() function declaration.])
133     AC_MSG_RESULT(yes)
134     else
135     AC_MSG_RESULT(no)
136     fi
137    
138    
139    
140     AC_MSG_CHECKING(how many args gettimeofday uses)
141     AC_CACHE_VAL(ac_cv_gettimeofday_args,
142     [AC_TRY_COMPILE([#include <sys/time.h>
143     #include <unistd.h>],
144     [struct timeval tv; struct timezone tzp;
145     gettimeofday(&tv, &tzp);],
146     [ac_gettimeofday_args=2],
147     [AC_TRY_COMPILE([#include <sys/time.h>
148     #include <unistd.h>],
149     [struct timeval tv;
150     gettimeofday(&tv, NULL);],
151     [ac_gettimeofday_args=2],
152     [AC_TRY_COMPILE([#include <sys/time.h>
153     #include <unistd.h>],
154     [struct timeval tv; gettimeofday(&tv);],
155     [ac_gettimeofday_args=1],
156     [ac_gettimeofday_args=0])])])
157     ac_cv_gettimeofday_args=$ac_gettimeofday_args])
158    
159     ac_gettimeofday_args=$ac_cv_gettimeofday_args
160     if test $ac_gettimeofday_args = 1 ; then
161     AC_DEFINE(HAVE_GETTIMEOFDAY,[],[Define if gettimeofday is available])
162     AC_MSG_RESULT(one argument)
163     elif test $ac_gettimeofday_args = 2 ; then
164     AC_DEFINE(HAVE_GETTIMEOFDAY,[],[Define if gettimeofday is available])
165     AC_DEFINE(GETTIMEOFDAY_TWO_ARGS,[],[Define if gettimeofday takes two arguments])
166     AC_MSG_RESULT(two arguments)
167     else
168     AC_MSG_RESULT(unknown)
169     fi
170    
171 root 1.18 AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
172    
173     AC_MSG_CHECKING(glib >= 2.10)
174     if $PKG_CONFIG glib-2.0 --atleast-version 2.10; then
175     CXXFLAGS="$CXXFLAGS `$PKG_CONFIG glib-2.0 --cflags`"
176     LIBS="$LIBS `$PKG_CONFIG glib-2.0 --libs`"
177     AC_MSG_RESULT(ok)
178     else
179     AC_MSG_ERROR(no)
180     fi
181    
182 root 1.1 AC_SUBST(x_includes)
183     AC_SUBST(x_libraries)
184     AC_SUBST(no_x)
185     AM_CONDITIONAL(HAVE_X,test "x$no_x" = "x")
186     AC_SUBST(X11LIBS)
187     AC_SUBST(PERL)
188     AC_SUBST(BASENAME)
189    
190     AC_SUBST(pkgstatedir,$localstatedir/$PACKAGE)
191     AC_SUBST(pkgconfdir,$sysconfdir/$PACKAGE)
192    
193     AC_DEFINE_UNQUOTED(COMPRESS,"${COMPRESS}",[Path to the compress binary])
194     AC_DEFINE_UNQUOTED(UNCOMPRESS,"${UNCOMPRESS}",[Path to the uncompress binary])
195     AC_DEFINE_UNQUOTED(GZIP,"${GZIP}",[Path to the gzip binary])
196     AC_DEFINE_UNQUOTED(GUNZIP,"${GUNZIP}",[Path to the gunzip binary])
197     AC_DEFINE_UNQUOTED(BZIP,"${BZIP}",[Path to the bzip binary])
198     AC_DEFINE_UNQUOTED(BUNZIP,"${BUNZIP}",[Path to the bunzip binary])
199    
200 root 1.3 AC_PATH_PROG(PERL, perl5)
201     AC_PATH_PROG(PERL, perl)
202    
203     AC_MSG_CHECKING(for $PERL suitability)
204     if $PERL -MExtUtils::Embed -e "use v5.8" >/dev/null 2>/dev/null; then
205    
206 root 1.18 save_CXXFLAGS="$CXXFLAGS"
207 root 1.3 save_LIBS="$LIBS"
208 root 1.12 CXXFLAGS="$CXXFLAGS `$PERL -MExtUtils::Embed -e ccopts` `$PERL -MEvent::MakeMaker -e 'print +{&Event::MakeMaker::event_args}->{INC}'`"
209 root 1.3 LIBS="$LIBS `$PERL -MExtUtils::Embed -e ldopts`"
210     AC_TRY_LINK([
211 root 1.2 #include <EXTERN.h>
212     #include <perl.h>
213     #include <XSUB.h>
214 root 1.8 #include "EventAPI.h"
215 root 1.2 ],[
216 root 1.3 PerlInterpreter *perl = perl_alloc ();
217 root 1.2 ],[perl_link=yes],[perl_link=no])
218 root 1.12 CXXFLAGS="$save_CXXFLAGS"
219 root 1.3 LIBS="$save_LIBS"
220 root 1.2
221 root 1.3 if test x$perl_link = xyes; then
222     AC_MSG_RESULT(ok)
223     AC_DEFINE(ENABLE_PERL, 1, Define if you can embed a perl interpreter)
224 root 1.8 PERLFLAGS="`$PERL -MExtUtils::Embed -e ccopts` `$PERL -MEvent::MakeMaker -e 'print +{&Event::MakeMaker::event_args}->{INC}'`"
225 root 1.3 PERLLIB="`$PERL -MExtUtils::Embed -e ldopts`"
226     PERLPRIVLIBEXP="`$PERL -MConfig -e 'print $Config{privlibexp}'`"
227 root 1.15 CPPFLAGS="$CPPFLAGS $PERLFLAGS"
228 root 1.2 else
229 root 1.3 AC_MSG_ERROR([no, unable to link])
230 root 1.2 fi
231 root 1.3 else
232     AC_MSG_ERROR([no working perl found, or perl not version >= 5.8])
233 root 1.2 fi
234     AC_SUBST(PERLLIB)
235     AC_SUBST(PERLFLAGS)
236     AC_SUBST(PERLPRIVLIBEXP)
237     AC_SUBST(PERL)
238    
239 root 1.1 AC_OUTPUT([Makefile
240     doc/Makefile doc/Developers/Makefile doc/spell-docs/Makefile
241 pippijn 1.19 doc/spoiler/Makefile doc/spoiler-html/Makefile doc/playbook/Makefile
242     doc/playbook-html/Makefile doc/scripts/Makefile lib/Makefile
243     random_maps/Makefile socket/Makefile server/Makefile src/Makefile
244     include/Makefile utils/Makefile lib/checkarch.pl lib/collect.pl
245     utils/add_throw.perl utils/crossloop.tmpl utils/crossloop.pl.tmpl
246     utils/metaserver.pl utils/crossloop.web utils/scores.pl
247     utils/player_dl.pl common/Makefile plugins/Makefile
248     plugins/common/Makefile plugins/common/include/Makefile
249 elmex 1.4 devel/Makefile
250 root 1.1 ])