dnl Process this file with autoconf to produce a configure script. AC_INIT([crossfire], [1.9.1], [crossfire-devel@listserv.real-time.com]) AC_CONFIG_AUX_DIR(utils) AC_CONFIG_SRCDIR([server/main.C]) AM_INIT_AUTOMAKE AM_CONFIG_HEADER(include/autoconf.h) AM_MAINTAINER_MODE AC_PREFIX_DEFAULT(/usr/games/crossfire) dnl we want a config.h file instead of -D options. dnl Checks for programs. AC_LANG(C++) AC_PROG_CXX AC_PROG_LIBTOOL case "$target" in alpha-dec-osf*) # If we are not using gcc, we want the ansi version of cc. if test -z "$GCC"; then # CFLAGS="$CFLAGS -std1 -warnprotos" # Not yet ready for warnprotos... CFLAGS="$CFLAGS -std1" fi ;; *) ;; esac AC_PROG_CPP AM_PROG_LEX AC_PROG_AWK AC_ARG_ENABLE(dmalloc, [ --enable-dmalloc Use the dmalloc library if available, may prevent plugins from working], use_dmalloc=yes, use_dmalloc=no) dnl AC_ARG_WITH(python, [ --with-python=dir Directory to look for python headers/library (default=standard system location) ], PYTHON_HOME="$withval") dnl check for some other programs AC_PATH_PROG(LATEX, latex) AC_PATH_PROG(GZIP, gzip) AC_PATH_PROG(GUNZIP, gunzip) AC_PATH_PROG(TAR, tar) AC_PATH_PROG(PERL, perl) AC_PATH_PROG(BASENAME, basename) if test -n "$GZIP" -a -z "$GUNZIP" ; then echo "Found gzip, but not gunzip - setting GUNZIP to gzip -c"; GUNZIP="$GZIP -c" fi; if test -z "$COMPRESS" ; then AC_PATH_PROG(COMPRESS, compress) AC_PATH_PROG(UNCOMPRESS, uncompress) fi AC_PATH_PROG(BZIP, bzip2) AC_PATH_PROG(BUNZIP, bunzip2) if test -n "$BZIP" -a -z "$BUNZIP" ; then echo "Found bzip2, but not bunzip2 - setting BUNZIP to bzip2 -c"; BUNZIP="$BZIP -c" fi; if test -z "$COMPRESS" -a -z "$GZIP" -a -z "$BZIP" ; then echo "Unable to find either compress, bzip2, or gzip - hope you don't plan on compressing"; echo "any files."; fi; dnl nsl, socket may be needed for the X-windowing system, so check dnl for them before before checking for X. AC_CHECK_LIB(nsl, main) AC_CHECK_LIB(socket, main) dnl Checks for libraries. AC_CHECK_LIB(m, main) AC_CHECK_LIB(png, main, AC_DEFINE(HAVE_LIBPNG,[],[Define if libpng is available]) X11LIBS="$X11LIBS -lpng", , $X11LIBS ) dnl png has a dependency in some cases on libz - if we have it, can't really dnl be harmful to link it in. AC_CHECK_LIB(z, main, AC_DEFINE(HAVE_LIBZ,[],[Define if libz is available]) X11LIBS="$X11LIBS -lz", , $X11LIBS ) dnl Misc libraries. AC_CHECK_LIB(crypt, main) AC_CHECK_LIB(des, des_crypt) dnl Gros - Changed this to support some external programs that do not like dmalloc (like Python). dnl If you really need to make some memory debugging, uncomment the dmalloc line and comment out the dmalloclp one. if eval "test x$use_dmalloc = xyes"; then AC_CHECK_LIB(dmalloc, main) else AC_CHECK_LIB(dmalloclp, main) fi dnl Checks for header files. AC_HEADER_DIRENT AC_HEADER_STDC 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) dnl Checks for typedefs, structures, and compiler characteristics. AC_C_CONST AC_C_INLINE AC_TYPE_PID_T AC_TYPE_SIZE_T AC_HEADER_TIME AC_STRUCT_TM AC_TYPE_UID_T AC_CHECK_SIZEOF(long) AC_CHECK_SIZEOF(long long) dnl Checks for library functions. AC_PROG_GCC_TRADITIONAL AC_FUNC_MEMCMP AC_FUNC_SETPGRP AC_TYPE_SIGNAL AC_FUNC_STRFTIME AC_FUNC_VPRINTF AC_CHECK_FUNCS(gettimeofday mkdir mktime rmdir select socket strcspn strerror strspn strstr strtol strcasecmp strncasecmp snprintf setsid srandom getdtablesize srand48 srand sysconf scandir) dnl alphasort can not be added to AC_CHECK_FUNCS because AC_MSG_CHECKING(checking if alphasort is defined) AC_TRY_COMPILE([#include ], [alphasort;], ac_cv_func_alphasort=yes, ac_cv_func_alphasort=no) if test "$ac_cv_func_alphasort" = yes; then AC_DEFINE(HAVE_ALPHASORT, 1, [Define if you have the alphasort() function declaration.]) AC_MSG_RESULT(yes) else AC_MSG_RESULT(no) fi AC_MSG_CHECKING(how many args gettimeofday uses) AC_CACHE_VAL(ac_cv_gettimeofday_args, [AC_TRY_COMPILE([#include #include ], [struct timeval tv; struct timezone tzp; gettimeofday(&tv, &tzp);], [ac_gettimeofday_args=2], [AC_TRY_COMPILE([#include #include ], [struct timeval tv; gettimeofday(&tv, NULL);], [ac_gettimeofday_args=2], [AC_TRY_COMPILE([#include #include ], [struct timeval tv; gettimeofday(&tv);], [ac_gettimeofday_args=1], [ac_gettimeofday_args=0])])]) ac_cv_gettimeofday_args=$ac_gettimeofday_args]) ac_gettimeofday_args=$ac_cv_gettimeofday_args if test $ac_gettimeofday_args = 1 ; then AC_DEFINE(HAVE_GETTIMEOFDAY,[],[Define if gettimeofday is available]) AC_MSG_RESULT(one argument) elif test $ac_gettimeofday_args = 2 ; then AC_DEFINE(HAVE_GETTIMEOFDAY,[],[Define if gettimeofday is available]) AC_DEFINE(GETTIMEOFDAY_TWO_ARGS,[],[Define if gettimeofday takes two arguments]) AC_MSG_RESULT(two arguments) else AC_MSG_RESULT(unknown) fi AC_PATH_PROG(PKG_CONFIG, pkg-config, no) AC_MSG_CHECKING(glib >= 2.10) if $PKG_CONFIG glib-2.0 --atleast-version 2.10; then CXXFLAGS="$CXXFLAGS `$PKG_CONFIG glib-2.0 --cflags`" LIBS="$LIBS `$PKG_CONFIG glib-2.0 --libs`" AC_MSG_RESULT(ok) else AC_MSG_ERROR(no) fi AC_SUBST(x_includes) AC_SUBST(x_libraries) AC_SUBST(no_x) AM_CONDITIONAL(HAVE_X,test "x$no_x" = "x") AC_SUBST(X11LIBS) AC_SUBST(PERL) AC_SUBST(BASENAME) AC_SUBST(pkgstatedir,$localstatedir/$PACKAGE) AC_SUBST(pkgconfdir,$sysconfdir/$PACKAGE) AC_DEFINE_UNQUOTED(COMPRESS,"${COMPRESS}",[Path to the compress binary]) AC_DEFINE_UNQUOTED(UNCOMPRESS,"${UNCOMPRESS}",[Path to the uncompress binary]) AC_DEFINE_UNQUOTED(GZIP,"${GZIP}",[Path to the gzip binary]) AC_DEFINE_UNQUOTED(GUNZIP,"${GUNZIP}",[Path to the gunzip binary]) AC_DEFINE_UNQUOTED(BZIP,"${BZIP}",[Path to the bzip binary]) AC_DEFINE_UNQUOTED(BUNZIP,"${BUNZIP}",[Path to the bunzip binary]) AC_PATH_PROG(PERL, perl5) AC_PATH_PROG(PERL, perl) AC_MSG_CHECKING(for $PERL suitability) if $PERL -MExtUtils::Embed -e "use v5.8" >/dev/null 2>/dev/null; then save_CXXFLAGS="$CXXFLAGS" save_LIBS="$LIBS" CXXFLAGS="$CXXFLAGS `$PERL -MExtUtils::Embed -e ccopts` `$PERL -MEvent::MakeMaker -e 'print +{&Event::MakeMaker::event_args}->{INC}'`" LIBS="$LIBS `$PERL -MExtUtils::Embed -e ldopts`" AC_TRY_LINK([ #include #include #include #include "EventAPI.h" ],[ PerlInterpreter *perl = perl_alloc (); ],[perl_link=yes],[perl_link=no]) CXXFLAGS="$save_CXXFLAGS" LIBS="$save_LIBS" if test x$perl_link = xyes; then AC_MSG_RESULT(ok) AC_DEFINE(ENABLE_PERL, 1, Define if you can embed a perl interpreter) PERLFLAGS="`$PERL -MExtUtils::Embed -e ccopts` `$PERL -MEvent::MakeMaker -e 'print +{&Event::MakeMaker::event_args}->{INC}'`" PERLLIB="`$PERL -MExtUtils::Embed -e ldopts`" PERLPRIVLIBEXP="`$PERL -MConfig -e 'print $Config{privlibexp}'`" CPPFLAGS="$CPPFLAGS $PERLFLAGS" else AC_MSG_ERROR([no, unable to link]) fi else AC_MSG_ERROR([no working perl found, or perl not version >= 5.8]) fi AC_SUBST(PERLLIB) AC_SUBST(PERLFLAGS) AC_SUBST(PERLPRIVLIBEXP) AC_SUBST(PERL) AC_OUTPUT([Makefile doc/Makefile doc/Developers/Makefile doc/spell-docs/Makefile doc/spoiler/Makefile doc/spoiler-html/Makefile doc/playbook/Makefile doc/playbook-html/Makefile doc/scripts/Makefile lib/Makefile random_maps/Makefile socket/Makefile server/Makefile src/Makefile include/Makefile utils/Makefile lib/checkarch.pl lib/collect.pl utils/add_throw.perl utils/crossloop.tmpl utils/crossloop.pl.tmpl utils/metaserver.pl utils/crossloop.web utils/scores.pl utils/player_dl.pl common/Makefile devel/Makefile ])