wesnoth/configure.ac
Philippe Plantier 074c56ebf2 Added the cutter tool.
Added back the exploder tool, hopefully with all needed files so it do
not break compilation.

Fixed the autotools scripts only being partially commited on the last commit.
2004-06-27 16:47:02 +00:00

528 lines
15 KiB
Plaintext

# Process this file with autoconf to produce a configure script.
#######################################################################
# Initial configuration #
#######################################################################
AC_PREREQ([2.57])
AC_INIT([Battle for Wesnoth], [0.7.11-CVS], [davidnwhite@optusnet.com.au], [wesnoth])
AC_REVISION([$Revision$])
AC_CONFIG_AUX_DIR([config])
AM_INIT_AUTOMAKE([foreign 1.5])
AC_CONFIG_SRCDIR([src/actions.cpp])
AC_CONFIG_HEADER([config.h])
#######################################################################
# Checks for programs. #
#######################################################################
AC_PROG_CXX
AC_PROG_CC
have_libx11='no'
if test "$with_x" != 'no'; then
dnl Locate X include files and libraries
AC_PATH_XTRA
NEW_LIBS="$X_LIBS -lX11"
AC_CHECK_LIB(X11, XOpenDisplay, have_libx11='yes',have_libx11='no',$X_LIBS)
if test "$have_libx11" != 'no'; then
AC_DEFINE(HAVE_LIBX11,,Define if you have X11 libraries)
X_LIBS="$NEW_LIBS"
CPPFLAGS="$X_CFLAGS $CPPFLAGS"
LIBS="$X_LIBS $LIBS"
fi
fi
AM_CONDITIONAL([X11], [test "$have_libx11" = 'yes'])
# SDL_CONFIG
AC_PATH_PROGS([SDL_CONFIG], [sdl-config sdl11-config], [none])
if test "x$SDL_CONFIG" = "xnone"; then
AC_MSG_ERROR([*** SDL not found! Get SDL from www.libsdl.org.
If you already installed it, check it's in the path. If problem remains,
please send a mail to the address that appears in ./configure --version
indicating your platform, the version of configure script and the problem.])
fi
# libpng-config
AC_PATH_PROGS([PNG_CONFIG], [libpng-config libpng12-config], [none])
if test "x$PNG_CONFIG" = "xnone"; then
pngfound=no
AC_MSG_WARN([*** LIBPNG not found.])
else
pngfound=yes
PNG_CFLAGS=`$PNG_CONFIG --cflags`
PNG_LIBS=`$PNG_CONFIG --libs`
fi
AC_SUBST([PNG_CFLAGS])
AC_SUBST([PNG_LIBS])
AM_CONDITIONAL([LIBPNG], [test x$pngfound = xyes])
# Check for SDL version. Taken from sdl.m4
AC_ARG_ENABLE([sdltest],
[ --disable-sdltest Do not try to compile and run a test SDL program],
,
enable_sdltest=yes)
min_sdl_version=1.2.7
AC_MSG_CHECKING(for SDL - version >= $min_sdl_version)
SDL_CFLAGS=`$SDL_CONFIG --cflags`
SDL_LIBS=`$SDL_CONFIG --libs`
sdl_major_version=`$SDL_CONFIG --version | \
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
sdl_minor_version=`$SDL_CONFIG --version | \
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
sdl_micro_version=`$SDL_CONFIG --version | \
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
if test "x$enable_sdltest" = "xyes" ; then
ac_save_CFLAGS="$CFLAGS"
ac_save_LIBS="$LIBS"
CFLAGS="$CFLAGS $SDL_CFLAGS"
LIBS="$LIBS $SDL_LIBS"
# Now check if the installed SDL is sufficiently new. (Also sanity
# checks the results of sdl-config to some extent
rm -f conf.sdltest
AC_RUN_IFELSE([AC_LANG_SOURCE([
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "SDL.h"
char*
my_strdup (char *str)
{
char *new_str;
if (str)
{
new_str = (char *)malloc ((strlen (str) + 1) * sizeof(char));
strcpy (new_str, str);
}
else
new_str = NULL;
return new_str;
}
int main (int argc, char **argv)
{
int major, minor, micro;
char *tmp_version;
/* This hangs on some systems (?)
system ("touch conf.sdltest");
*/
{ FILE *fp = fopen("conf.sdltest", "a"); if ( fp ) fclose(fp); }
/* HP/UX 9 (%@#!) writes to sscanf strings */
tmp_version = my_strdup("$min_sdl_version");
if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, &micro) != 3) {
printf("%s, bad version string\n", "$min_sdl_version");
exit(1);
}
if (($sdl_major_version > major) ||
(($sdl_major_version == major) && ($sdl_minor_version > minor)) ||
(($sdl_major_version == major) && ($sdl_minor_version == minor) && ($sdl_micro_version >= micro)))
{
return 0;
}
else
{
printf("\n*** 'sdl-config --version' returned %d.%d.%d, but the minimum version\n", $sdl_major_version, $sdl_minor_version, $sdl_micro_version);
printf("*** of SDL required is %d.%d.%d. If sdl-config is correct, then it is\n", major, minor, micro);
printf("*** best to upgrade to the required version.\n");
printf("*** If sdl-config was wrong, set the environment variable SDL_CONFIG\n");
printf("*** to point to the correct copy of sdl-config, and remove the file\n");
printf("*** config.cache before re-running configure\n");
return 1;
}
}
])],
[AC_MSG_RESULT(yes)],
[AC_MSG_RESULT(no)]
[AC_MSG_ERROR([*** Please upgrade your SDL version])],
[AC_MSG_RESULT[not tested in cross-compiling]])
CFLAGS="$ac_save_CFLAGS"
LIBS="$ac_save_LIBS"
fi
# GNOME_CONFIG
AC_PATH_PROGS([GNOME_CONFIG], [gnome-config], [none])
if test "x$GNOME_CONFIG" = "xnone"; then
gnome1found=no
else
GNOME1_DESKTOP=`$GNOME_CONFIG --datadir`/gnome/apps/Games
gnome1found=yes
fi
AC_SUBST([GNOME1_DESKTOP])
# KDE_CONFIG
AC_PATH_PROGS([KDE_CONFIG], [kde-config], [none])
if test "x$KDE_CONFIG" = "xnone"; then
kdefound=no
else
KDE_DESKTOP=`$KDE_CONFIG --expandvars --install apps`/Games/TacticStrategy
KDE_ICON=`$KDE_CONFIG --expandvars --install icon`
kdefound=yes
fi
AC_SUBST([KDE_DESKTOP])
AC_SUBST([KDE_ICON])
#######################################################################
# Checks for types. #
#######################################################################
# No need to chech anymore
#AC_LANG([C++])
#AC_MSG_CHECKING([if char is signed])
#AC_COMPILE_IFELSE(
# [[static int test_array [1 - 2 * !(((char) -1) < 0)];]],
# [AC_MSG_RESULT(yes)],
# [AC_MSG_RESULT(no)]
# [AC_MSG_ERROR([*** char is unsigned. Wesnoth cannot work with unsigned
#chars. Try with another compiler (specify it using CXX environment variable.)
#If you use GCC, you can force signed chars with CXXFLAGS=-fsigned-char])])
#######################################################################
# Checks for libraries. #
#######################################################################
SDL_LIBS=`$SDL_CONFIG --libs`
OLD_LIBS=$LIBS
LIBS="$LIBS $SDL_LIBS"
# There's no need for this, $SDL_CONFIG comes with libsdl and
# it doesn't find it in FreeBSD
# AC_CHECK_LIB([SDL], [SDL_Init])
AC_CHECK_LIB([SDL_image],
[IMG_Load],
[SDL_IMAGE_LIBS=-lSDL_image],
[AC_MSG_ERROR([*** SDL_image lib not found! Get SDL_image from
http://www.libsdl.org/projects/SDL_image/index.html])])
AC_CHECK_LIB([SDL_mixer],
[Mix_OpenAudio],
[SDL_MIXER_LIBS=-lSDL_mixer],
[AC_MSG_ERROR([*** SDL_mixer lib not found! Get SDL_mixer from
http://www.libsdl.org/projects/SDL_mixer/index.html])])
AC_CHECK_LIB([SDL_net],
[SDLNet_Init],
[SDL_NET_LIBS=-lSDL_net],
[AC_MSG_ERROR([*** SDL_net lib not found! Get SDL_net from
http://www.libsdl.org/projects/SDL_net/index.html])])
AC_CHECK_LIB([SDL_ttf],
[TTF_OpenFont],
[SDL_TTF_LIBS=-lSDL_ttf],
[AC_MSG_ERROR([*** SDL_ttf lib not found! Get SDL_ttf from
http://www.libsdl.org/projects/SDL_ttf/index.html])])
LIBS=$OLD_LIBS
AC_SUBST([SDL_LIBS])
AC_SUBST([SDL_IMAGE_LIBS])
AC_SUBST([SDL_MIXER_LIBS])
AC_SUBST([SDL_NET_LIBS])
AC_SUBST([SDL_TTF_LIBS])
#######################################################################
# Checks for header files. #
#######################################################################
AC_HEADER_DIRENT
AC_HEADER_STDC
OLD_CPPFLAGS=$CPPFLAGS
OLD_CXXFLAGS=$CXXFLAGS
SDL_CFLAGS=`$SDL_CONFIG --cflags`
SDL_CFLAGS="$SDL_CFLAGS"
CPPFLAGS="$CPPFLAGS $SDL_CFLAGS"
CXXFLAGS="$CXXFLAGS $SDL_CFLAGS"
AC_CHECK_HEADER([SDL.h],
[],
[AC_MSG_ERROR([*** SDL include files not found!
You should install SDL development package.])])
AC_CHECK_HEADER([SDL_image.h],
[],
[AC_MSG_ERROR([*** SDL_image include files not found!
You should install development package.])])
AC_CHECK_HEADER([SDL_mixer.h],
[],
[AC_MSG_ERROR([*** SDL_mixer include files not found!
You should install development package.])])
AC_CHECK_HEADER([SDL_net.h],
[],
[AC_MSG_ERROR([*** SDL_net include files not found!
You should install development package.])])
AC_CHECK_HEADER([SDL_ttf.h],
[],
[AC_MSG_ERROR([*** SDL_ttf include files not found!
You should install development package.])])
CPPFLAGS=$OLD_CPPFLAGS
CXXFLAGS=$OLD_CXXFLAGS
AC_SUBST([SDL_CFLAGS])
AC_CHECK_HEADERS([stdlib.h unistd.h])
#######################################################################
# Checks for typedefs, structures, and compiler characteristics. #
#######################################################################
AC_HEADER_STDBOOL
AC_C_CONST
AC_C_INLINE
AC_TYPE_MODE_T
AC_TYPE_SIZE_T
AC_STRUCT_TM
# Checks for library functions.
AC_FUNC_ERROR_AT_LINE
AC_FUNC_STAT
AC_FUNC_STRFTIME
AC_CHECK_FUNCS([floor socket strtoul])
#######################################################################
# Configuration options #
#######################################################################
AC_ARG_ENABLE([debug],
[ --enable-debug Enable debug in wesnoth],
[CXXFLAGS="$CXXFLAGS -DDEBUG -ggdb3"])
AC_ARG_ENABLE([static],
[ --enable-static Enable static building of wesnoth],
[static=$enableval],
[static=no])
AC_ARG_ENABLE([lite],
[ --enable-lite Enable lite version of wesnoth (without music)],
[lite=$enableval],
[lite=no])
DATADIR=$PACKAGE
AC_ARG_ENABLE([datadir-name],
[ --datadir-name[[=dir]] Change name of data directory. Default with this option: wesnoth-data],
[case "${enableval}" in
yes)
DATADIR="wesnoth-data"
;;
no)
;;
*)
DATADIR="${enableval}"
;;
esac])
AC_SUBST([DATADIR])
AC_ARG_ENABLE([server],
[ --enable-server Enable compilation of server],
[server=$enableval],
[server=no])
AC_ARG_ENABLE([editor],
[ --enable-editor Enable compilation of map editor],
[editor=$enableval],
[editor=no])
AC_ARG_ENABLE([tools],
[ --enable-tools Enable compilation of translation tools],
[tools=$enableval],
[tools=no])
AC_ARG_ENABLE([kde],
[ --enable-kde Enable installation of icon and KDE menu entry],
[kde=$enableval],
[kde=no])
AC_ARG_ENABLE([gnome],
[ --enable-gnome Enable installation of icon and GNOME menu entry],
[gnome=$enableval],
[gnome=no])
AC_ARG_ENABLE([wzip],
[ --enable-wzip Enable compilation of wesnoth_zip program],
[wzip=$enableval],
[wzip=no])
AM_CONDITIONAL([STATIC], [test x$static = xyes])
AM_CONDITIONAL([SERVER], [test x$server = xyes])
AM_CONDITIONAL([EDITOR], [test x$editor = xyes])
AM_CONDITIONAL([TOOLS], [test x$tools = xyes])
AM_CONDITIONAL([KDE], [test x$kde = xyes && test x$kdefound = xyes])
AM_CONDITIONAL([GNOME1], [test x$gnome = xyes && test x$gnome1found = xyes])
AM_CONDITIONAL([GNOME2], [test x$gnome = xyes && test x$gnome1found = xno])
AM_CONDITIONAL([GCC], [test x$GXX = xyes])
AM_CONDITIONAL([WZIP], [test x$wzip = xyes])
#######################################################################
# Check for PNG support in SDL_image #
#######################################################################
AC_LANG([C])
AC_MSG_CHECKING([for PNG support in SDL_image])
OLD_CPPFLAGS=$CPPFLAGS
OLD_CFLAGS=$CFLAGS
OLD_LIBS=$LIBS
CPPFLAGS="$CPPFLAGS $SDL_CFLAGS"
CFLAGS="$CFLAGS $SDL_CFLAGS"
LIBS="$LIBS $SDL_LIBS $SDL_IMAGE_LIBS"
AC_RUN_IFELSE([AC_LANG_SOURCE([
#include <SDL_image.h>
#include <stdlib.h>
int main(int argc, char **argv)
{
SDL_RWops *src;
src = SDL_RWFromFile("images/mage.png", "rb");
if (src == NULL)
exit(0);
exit(!IMG_isPNG(src));
}
])],
[AC_MSG_RESULT(yes)],
[AC_MSG_RESULT(no)]
[AC_MSG_ERROR([*** SDL_image has no PNG support! You need SDL_image with PNG support])],
[AC_MSG_RESULT[not tested in cross-compiling]])
CPPFLAGS=$OLD_CPPFLAGS
CFLAGS=$OLD_CFLAGS
LIBS=$OLD_LIBS
#######################################################################
# Check for OGG support in SDL_mixer #
#######################################################################
if test "x$lite" = "xno"; then
if test -e "music/wesnoth-1.ogg" ; then
AC_LANG([C])
AC_MSG_CHECKING([for OGG support in SDL_mixer])
OLD_CPPFLAGS=$CPPFLAGS
OLD_CFLAGS=$CFLAGS
OLD_LIBS=$LIBS
CPPFLAGS="$CPPFLAGS $SDL_CFLAGS"
CFLAGS="$CFLAGS $SDL_CFLAGS"
LIBS="$LIBS $SDL_LIBS $SDL_MIXER_LIBS"
AC_RUN_IFELSE([AC_LANG_SOURCE([
#include <SDL_mixer.h>
#include <stdlib.h>
int main(int argc, char **argv)
{
char *music;
music = (char *) OGG_new("music/wesnoth-1.ogg");
if (music == NULL)
exit(1);
exit(0);
}
])],
[AC_MSG_RESULT(yes)],
[AC_MSG_RESULT(no)]
[AC_MSG_ERROR([*** SDL_mixer has no OGG support! You need SDL_mixer with OGG support])],
[AC_MSG_RESULT[not tested in cross-compiling]])
CPPFLAGS=$OLD_CPPFLAGS
CFLAGS=$OLD_CFLAGS
LIBS=$OLD_LIBS
fi
fi
#######################################################################
# Data file substitution. #
#######################################################################
MANUAL_FILES=`ls MANUAL*`
MANUAL_FILES=`echo $MANUAL_FILES`
DATA_FILES=`find data -name CVS -prune -o -name ".cvs*" -o -name ".#*" -o -type d -o -print`
DATA_FILES=`echo $DATA_FILES`
FONT_FILES=`find fonts -name CVS -prune -o -name ".cvs*" -o -name ".#*" -o -type d -o -print`
FONT_FILES=`echo $FONT_FILES`
if test "x$lite" = "xyes"; then
PACKAGE=$PACKAGE-lite
IMAGE_FILES=`find images -name CVS -prune -o -name ".cvs*" -o -name ".#*" -o -path "images/misc/tutorial*" -o -path "images/misc/story*" -o -type d -o -print`
MUSIC_FILES=""
else
IMAGE_FILES=`find images -name CVS -prune -o -name ".cvs*" -o -name ".#*" -o -type d -o -print`
MUSIC_FILES=`find music -name CVS -prune -o -name ".cvs*" -o -name ".#*" -o -type d -o -print`
MUSIC_FILES=`echo $MUSIC_FILES`
fi
IMAGE_FILES=`echo $IMAGE_FILES`
SOUND_FILES=`find sounds -name CVS -prune -o -name ".cvs*" -o -name ".#*" -o -type d -o -print`
SOUND_FILES=`echo $SOUND_FILES`
UTIL_FILES=`find utils -name CVS -prune -o -name ".cvs*" -o -name ".#*" -o -type d -o -print`
UTIL_FILES=`echo $UTIL_FILES`
AC_SUBST([MANUAL_FILES])
AC_SUBST([DATA_FILES])
AC_SUBST([FONT_FILES])
AC_SUBST([IMAGE_FILES])
AC_SUBST([MUSIC_FILES])
AC_SUBST([SOUND_FILES])
AC_SUBST([UTIL_FILES])
AC_CONFIG_FILES([Makefile
icons/Makefile
src/Makefile
src/server/Makefile
src/tools/Makefile
src/zip/Makefile])
AC_OUTPUT