ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/configure.ac
Revision: 1.1.1.2 (vendor branch)
Committed: Wed Mar 15 14:04:35 2006 UTC (18 years, 2 months ago) by elmex
Branch: UPSTREAM
CVS Tags: UPSTREAM_2006_03_15
Changes since 1.1.1.1: +7 -3 lines
Log Message:
cvs -z9 -d:ext:elmex@cvs.schmorp.de:/schmorpforge import cf.schmorp.de UPSTREAM UPSTREAM_2006_03_15

File Contents

# User Rev Content
1 root 1.1 dnl Process this file with autoconf to produce a configure script.
2    
3 elmex 1.1.1.2 AC_REVISION($Id: configure.ac,v 1.18 2006/02/25 09:08:51 mwedel Exp $)
4     AC_INIT([crossfire], [1.9.0], [crossfire-devel@listserv.real-time.com])
5 root 1.1 AC_CONFIG_AUX_DIR(utils)
6     AC_CONFIG_SRCDIR([server/main.c])
7     AM_INIT_AUTOMAKE
8     AM_CONFIG_HEADER(include/autoconf.h)
9    
10     AM_MAINTAINER_MODE
11    
12     AC_PREFIX_DEFAULT(/usr/games/crossfire)
13    
14     dnl we want a config.h file instead of -D options.
15    
16     dnl Checks for programs.
17     AC_PROG_LIBTOOL
18     AC_PROG_CC
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     AC_ARG_WITH(python, [ --with-python=dir Directory to look for python headers/library (default=standard system location) ],
41     PYTHON_HOME="$withval")
42    
43    
44     dnl check for some other programs
45     AC_PATH_PROG(LATEX, latex)
46     AC_PATH_PROG(GZIP, gzip)
47     AC_PATH_PROG(GUNZIP, gunzip)
48     AC_PATH_PROG(TAR, tar)
49     AC_PATH_PROG(PERL, perl)
50     AC_PATH_PROG(BASENAME, basename)
51    
52     if test -n "$GZIP" -a -z "$GUNZIP" ; then
53     echo "Found gzip, but not gunzip - setting GUNZIP to gzip -c";
54     GUNZIP="$GZIP -c"
55     fi;
56    
57     if test -z "$COMPRESS" ; then
58     AC_PATH_PROG(COMPRESS, compress)
59     AC_PATH_PROG(UNCOMPRESS, uncompress)
60     fi
61    
62     AC_PATH_PROG(BZIP, bzip2)
63     AC_PATH_PROG(BUNZIP, bunzip2)
64    
65     if test -n "$BZIP" -a -z "$BUNZIP" ; then
66     echo "Found bzip2, but not bunzip2 - setting BUNZIP to bzip2 -c";
67     BUNZIP="$BZIP -c"
68     fi;
69    
70     if test -z "$COMPRESS" -a -z "$GZIP" -a -z "$BZIP" ; then
71     echo "Unable to find either compress, bzip2, or gzip - hope you don't plan on compressing";
72     echo "any files.";
73     fi;
74    
75     dnl nsl, socket may be needed for the X-windowing system, so check
76     dnl for them before before checking for X.
77     AC_CHECK_LIB(nsl, main)
78     AC_CHECK_LIB(socket, main)
79    
80     dnl Checks for libraries.
81     dnl Start of X11 libraries
82     AC_PATH_XTRA
83    
84     dnl Some of these checks are probably excessive. Unfortunately, on
85     dnl some systems, to link in Xaw, Xt you need SM, which needs ICE.
86     dnl the order of the checks below is important
87     OLD_LD_FLAGS="$LDFLAGS"
88     LDFLAGS="$X_PRE_LIBS $X_LIBS $X_EXTRA_LIBS"
89    
90     AC_CHECK_LIB(X11, main, AC_DEFINE(HAVE_LIBX11,[],[Define if libX11 is available]) X11LIBS="$X11LIBS -lX11")
91    
92     AC_CHECK_LIB(ICE, main, AC_DEFINE(HAVE_LIBICE,[],[Define if libICE is available]) X11LIBS="$X11LIBS -lICE")
93    
94     AC_CHECK_LIB(SM, main, AC_DEFINE(HAVE_LIBSM,[],[Define if libSM is available]) X11LIBS="$X11LIBS -lSM", , $X11LIBS)
95    
96     AC_CHECK_LIB(Xext, main, AC_DEFINE(HAVE_LIBXEXT,[],[Define if libEXT is available]) X11LIBS="$X11LIBS -lXext", , -lX11)
97    
98     AC_CHECK_LIB(Xt, main, AC_DEFINE(HAVE_LIBXT,[],[Define if libXT is available]) X11LIBS="$X11LIBS -lXt", , $X11LIBS)
99    
100     AC_CHECK_LIB(Xmu, main, AC_DEFINE(HAVE_LIBXMU,[],[Define if libXMU is available]) X11LIBS="$X11LIBS -lXmu", ,$X11LIBS)
101    
102     AC_CHECK_LIB(Xaw, main, AC_DEFINE(HAVE_LIBXAW,[],[Define if libXAW is available]) X11LIBS="-lXaw $X11LIBS", , $X11LIBS)
103    
104     LDFLAGS="$OLD_LD_FLAGS"
105     X11LIBS="$X_LIBS $X11LIBS"
106    
107     AC_CHECK_LIB(Xpm, main, AC_DEFINE(HAVE_LIBXPM,[],[Define if libXpm is available]) X11LIBS="$X11LIBS -lXpm", , $X11LIBS )
108    
109     AC_CHECK_LIB(m, main)
110    
111     AC_CHECK_LIB(png, main, AC_DEFINE(HAVE_LIBPNG,[],[Define if libpng is available]) X11LIBS="$X11LIBS -lpng", , $X11LIBS )
112    
113     dnl png has a dependency in some cases on libz - if we have it, can't really
114     dnl be harmful to link it in.
115     AC_CHECK_LIB(z, main, AC_DEFINE(HAVE_LIBZ,[],[Define if libz is available]) X11LIBS="$X11LIBS -lz", , $X11LIBS )
116    
117     dnl Misc libraries.
118     AC_CHECK_LIB(crypt, main)
119     AC_CHECK_LIB(des, des_crypt)
120    
121     dnl Gros - Changed this to support some external programs that do not like dmalloc (like Python).
122     dnl If you really need to make some memory debugging, uncomment the dmalloc line and comment out the dmalloclp one.
123    
124     if eval "test x$use_dmalloc = xyes"; then
125     AC_CHECK_LIB(dmalloc, main)
126     else
127     AC_CHECK_LIB(dmalloclp, main)
128     fi
129    
130     dnl Checks for header files.
131     AC_HEADER_DIRENT
132     AC_HEADER_STDC
133     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)
134    
135    
136     dnl Checks for typedefs, structures, and compiler characteristics.
137     AC_C_CONST
138     AC_C_INLINE
139     AC_TYPE_PID_T
140     AC_TYPE_SIZE_T
141     AC_HEADER_TIME
142     AC_STRUCT_TM
143     AC_TYPE_UID_T
144    
145     AC_CHECK_SIZEOF(long)
146     AC_CHECK_SIZEOF(long long)
147    
148     dnl Checks for library functions.
149     AC_PROG_GCC_TRADITIONAL
150     AC_FUNC_MEMCMP
151     AC_FUNC_SETPGRP
152     AC_TYPE_SIGNAL
153     AC_FUNC_STRFTIME
154     AC_FUNC_VPRINTF
155     AC_CHECK_FUNCS(gettimeofday mkdir mktime rmdir select socket strcspn strerror strspn strstr strtol strcasecmp strncasecmp snprintf setsid srandom getdtablesize srand48 srand sysconf scandir)
156    
157     dnl alphasort can not be added to AC_CHECK_FUNCS because
158     AC_MSG_CHECKING(checking if alphasort is defined)
159     AC_TRY_COMPILE([#include <dirent.h>], [alphasort;],
160     ac_cv_func_alphasort=yes, ac_cv_func_alphasort=no)
161     if test "$ac_cv_func_alphasort" = yes; then
162     AC_DEFINE(HAVE_ALPHASORT, 1, [Define if you have the alphasort() function declaration.])
163     AC_MSG_RESULT(yes)
164     else
165     AC_MSG_RESULT(no)
166     fi
167    
168    
169    
170     AC_MSG_CHECKING(how many args gettimeofday uses)
171     AC_CACHE_VAL(ac_cv_gettimeofday_args,
172     [AC_TRY_COMPILE([#include <sys/time.h>
173     #include <unistd.h>],
174     [struct timeval tv; struct timezone tzp;
175     gettimeofday(&tv, &tzp);],
176     [ac_gettimeofday_args=2],
177     [AC_TRY_COMPILE([#include <sys/time.h>
178     #include <unistd.h>],
179     [struct timeval tv;
180     gettimeofday(&tv, NULL);],
181     [ac_gettimeofday_args=2],
182     [AC_TRY_COMPILE([#include <sys/time.h>
183     #include <unistd.h>],
184     [struct timeval tv; gettimeofday(&tv);],
185     [ac_gettimeofday_args=1],
186     [ac_gettimeofday_args=0])])])
187     ac_cv_gettimeofday_args=$ac_gettimeofday_args])
188    
189     ac_gettimeofday_args=$ac_cv_gettimeofday_args
190     if test $ac_gettimeofday_args = 1 ; then
191     AC_DEFINE(HAVE_GETTIMEOFDAY,[],[Define if gettimeofday is available])
192     AC_MSG_RESULT(one argument)
193     elif test $ac_gettimeofday_args = 2 ; then
194     AC_DEFINE(HAVE_GETTIMEOFDAY,[],[Define if gettimeofday is available])
195     AC_DEFINE(GETTIMEOFDAY_TWO_ARGS,[],[Define if gettimeofday takes two arguments])
196     AC_MSG_RESULT(two arguments)
197     else
198     AC_MSG_RESULT(unknown)
199     fi
200    
201     AC_SUBST(x_includes)
202     AC_SUBST(x_libraries)
203     AC_SUBST(no_x)
204     AM_CONDITIONAL(HAVE_X,test "x$no_x" = "x")
205     AC_SUBST(X11LIBS)
206     AC_SUBST(PERL)
207     AC_SUBST(BASENAME)
208    
209     AC_SUBST(pkgstatedir,$localstatedir/$PACKAGE)
210     AC_SUBST(pkgconfdir,$sysconfdir/$PACKAGE)
211    
212     AC_DEFINE_UNQUOTED(COMPRESS,"${COMPRESS}",[Path to the compress binary])
213     AC_DEFINE_UNQUOTED(UNCOMPRESS,"${UNCOMPRESS}",[Path to the uncompress binary])
214     AC_DEFINE_UNQUOTED(GZIP,"${GZIP}",[Path to the gzip binary])
215     AC_DEFINE_UNQUOTED(GUNZIP,"${GUNZIP}",[Path to the gunzip binary])
216     AC_DEFINE_UNQUOTED(BZIP,"${BZIP}",[Path to the bzip binary])
217     AC_DEFINE_UNQUOTED(BUNZIP,"${BUNZIP}",[Path to the bunzip binary])
218    
219     #############################################
220     # Plugin configuration
221     AC_CHECK_LIB(dl, dlopen,[ cf_have_libdl=yes ])
222     AM_CONDITIONAL(HAVE_LIBDL,test "x$cf_have_libdl" = "xyes")
223    
224     if test "x$cf_have_libdl" = "xyes" ; then
225     ###############
226     # Python plugin
227     CF_CHECK_PYTHON(
228     [PLUGIN_PYTHON="cfpython.la"],
229     [AC_MSG_NOTICE([No Python found. Python plugin will not be built.])]
230     )
231     dnl *** Put other plugins configuration code here ***
232     else
233     AC_MSG_NOTICE([No dl library found. Plugins will not be supported.])
234     fi
235     AM_CONDITIONAL(PYTHON_PLUGIN,test "x$PLUGIN_PYTHON" != "x")
236     AC_SUBST(PLUGIN_PYTHON)
237    
238     AC_OUTPUT([Makefile
239     crossedit/Makefile crossedit/doc/Makefile crossedit/include/Makefile
240     crossedit/Cnv/Makefile crossedit/bitmaps/Makefile
241     doc/Makefile doc/Developers/Makefile doc/spell-docs/Makefile
242     doc/spoiler/Makefile doc/spoiler-html/Makefile
243     doc/playbook/Makefile doc/playbook-html/Makefile
244     doc/scripts/Makefile
245     lib/Makefile random_maps/Makefile socket/Makefile server/Makefile
246     include/Makefile utils/Makefile lib/checkarch.pl
247     lib/collect.pl utils/add_throw.perl utils/crossloop.tmpl utils/crossloop.pl.tmpl
248     utils/metaserver.pl utils/crossloop.web utils/scores.pl utils/player_dl.pl
249 elmex 1.1.1.2 common/Makefile plugins/Makefile plugins/cfpython/Makefile
250     plugins/cfpython/include/Makefile plugins/cfanim/Makefile
251     plugins/cfanim/include/Makefile
252     plugins/common/Makefile plugins/common/include/Makefile
253     devel/Makefile
254 root 1.1 ])