Ported changes from 0.3.1 and bumped version to 0.3.2-SVN
[supertux.git] / configure.ac
index 9c6f8a5..725f252 100644 (file)
@@ -11,12 +11,12 @@ dnl ===========================================================================
 
 dnl Process this file with autoconf to produce a configure script.
 AC_PREREQ([2.54])
-AC_INIT(supertux, 0.2-cvs)
-AC_CONFIG_HEADERS(config.h)
-AC_CONFIG_SRCDIR([src/supertux.cpp])
+AC_INIT(supertux2, 0.3.2-SVN)
+AC_CONFIG_SRCDIR([src/main.cpp])
+AC_CONFIG_AUX_DIR([mk/autoconf])
 AC_CANONICAL_TARGET
-AM_INIT_AUTOMAKE
-dnl This is obsolete see automake1.7 // AM_CONFIG_HEADER
+
+AC_CONFIG_HEADERS(config.h)
 
 # we don't want the stupid autoconf default -g -O2
 test ".$CXXFLAGS" = "." && CXXFLAGS=" "
@@ -26,7 +26,31 @@ CXXFLAGS="$CXXFLAGS -ffast-math"
 AC_PROG_CC
 AC_PROG_CXX
 AC_PROG_INSTALL
-AC_PROG_LIBTOOL
+AC_PATH_PROG(AR, ar)
+if test "$AR" = "" ; then
+  AC_MSG_ERROR([Couldn't find ar])
+fi
+AR="$AR ru"
+
+AC_C_BIGENDIAN
+
+AC_CHECK_PROGS(XGETTEXT, [xgettext xgettext.exe])
+if test -n "$XGETTEXT" ; then
+    AC_MSG_CHECKING([if xgettext supports lisp])
+    if echo '(gettext "test")' | xgettext -o - -L Lisp - >& /dev/null; then
+        AC_MSG_RESULT(yes)
+    else
+        AC_MSG_RESULT(no)
+        AC_MSG_WARN([It seems your gettext installation is too old, try updating it])
+        XGETTEXT=""
+    fi
+fi
+
+AC_PROG_LEX
+LEX_LIBS=$LEXLIB
+AC_SUBST([LEX_LIBS])
+AC_CHECK_PROGS([BISON], [bison bison.exe])
+AC_SUBST([BISON])
 
 dnl Checks for header files.
 AC_HEADER_DIRENT
@@ -35,50 +59,58 @@ AC_CHECK_HEADERS(unistd.h)
 
 dnl Checks for typedefs, structures, and compiler characteristics.
 AC_C_CONST
+AC_C_BIGENDIAN
+AC_CHECK_SIZEOF([void *])
+AH_BOTTOM([
+#if SIZEOF_VOID_P == 8
+#define _SQ64
+#endif
+])
 
 dnl ===========================================================================
 dnl Give advanced users some options to play with
 
 VARIANT=optimize
-AC_MSG_CHECKING(for gprof mode)
+AC_MSG_CHECKING([for build variant])
+
 AC_ARG_ENABLE(gprof,
               AC_HELP_STRING([--enable-gprof], [enable GNU profiling support]),
               [enable_gprof=$enableval], [enable_gprof=no])
 if test "$enable_gprof" = "yes"; then
-    #CXXFLAGS="$CXXFLAGS -pg"
     VARIANT=profile
-    AC_MSG_RESULT([enabled])
-else
-    AC_MSG_RESULT([disabled])
 fi
 
-AC_MSG_CHECKING(for debug mode)
 AC_ARG_ENABLE(debug,
               AC_HELP_STRING([--enable-debug], [enable debugging mode]),
               [enable_debug=$enableval], [enable_debug=no])
 if test "$enable_debug" = "yes"; then
     AC_DEFINE([DEBUG], 1, [define to compile in debug checks])
-    #CXXFLAGS="$CXXFLAGS -Wall -Werror -O0 -g3"
     VARIANT=debug
-    AC_MSG_RESULT([enabled])
 else
-    #CXXFLAGS="$CXXFLAGS -O2 -g"
     VARIANT=optimize
-    AC_MSG_RESULT([disabled])
 fi
 AC_SUBST([VARIANT])
-
-AC_MSG_CHECKING(wether OpenGL should be used)
-AC_ARG_ENABLE(opengl,
-              AC_HELP_STRING([--disable-opengl], [disable OpenGL support]),
-              [enable_opengl=$enableval], enable_opengl=yes)
-if test "$enable_opengl" = "yes"; then
-    AC_MSG_RESULT([yes])
-else
-    AC_MSG_RESULT([no])
+AC_MSG_RESULT([$VARIANT])
+
+AC_ARG_ENABLE(sqdbg,
+              AC_HELP_STRING([--enable-sqdbg], [enable squirrel remote debugger]),
+              [enable_sqdbg=$enableval], [enable_sqdbg=no])
+if test "$enable_sqdbg" = "yes"; then
+    AC_DEFINE([ENABLE_SQDBG], 1, [define if sqdbg should be enabled])
+    AC_SUBST([enable_sqdbg])
 fi
 
-AM_GNU_GETTEXT
+dnl binreloc
+AM_BINRELOC
+
+AM_ICONV
+AC_SUBST([ICONV_LIBS], [$LIBICONV])
+
+dnl ===========================================================================
+dnl Check for libcurl
+
+LIBCURL_CHECK_CONFIG
+AC_SUBST([LIBCURL_LIBS], [$LIBCURL])
 
 dnl ===========================================================================
 dnl Check for SDL
@@ -87,21 +119,8 @@ AM_PATH_SDL($SDL_VERSION,
             :,
            AC_MSG_ERROR([*** SDL version $SDL_VERSION not found!]))
 
-NP_FINDLIB([SDLMIXER], [SDL_mixer], [SDL_mixer >= 1.2],
-        NP_LANG_PROGRAM([#include <SDL_mixer.h>
-#if MIX_MAJOR_VERSION < 1
-# error SDLMix too old
-#else
-# if MIX_MAJOR_VERSION == 1
-#  if MIX_MINOR_VERSION < 2
-#   error SDLMix too old
-#  endif
-# endif
-#endif], [Mix_OpenAudio(0, 0, 0, 0);]),
-        [], [-lSDL_mixer],
-        [],
-        [AC_MSG_ERROR([Please install SDLMixer >=1.2.2])],
-        [$SDL_CFLAGS], [$SDL_LIBS])
+XIPH_PATH_OGG(, [AC_MSG_ERROR([Please install libogg])])
+XIPH_PATH_VORBIS(, [AC_MSG_ERROR([Please install libvorbis])])
 
 NP_FINDLIB([SDLIMAGE], [SDL_image], [SDL_image >= 1.2],
         NP_LANG_PROGRAM([#include <SDL_image.h>], [IMG_Load("");]),
@@ -110,16 +129,41 @@ NP_FINDLIB([SDLIMAGE], [SDL_image], [SDL_image >= 1.2],
         [AC_MSG_ERROR([Please install SDLImage >= 1.2.1])],
         [$SDL_CFLAGS], [$SDL_LIBS])
 
+NP_FINDLIB([PHYSFS], [physfs], [physfs >= 1.0.0],
+        NP_LANG_PROGRAM([
+#include <stdio.h>
+#include <physfs.h>
+#if PHYSFS_VER_MAJOR < 1
+# error PHYSFS is too old
+#endif]),
+        [], [-lphysfs],
+        [],
+        [AC_MSG_ERROR([Please install physfs >= 1.0])])
+
+if test "x`uname -s`" = "xDarwin"; then
+  allib="-framework OpenAL"
+else
+  allib="-lopenal"
+fi
+
+NP_FINDLIB([OPENAL], [OpenAL], [OpenAL],
+         NP_LANG_PROGRAM([#include <AL/al.h>],
+           [alcOpenDevice(0);]),
+         [], [$allib],
+         [],
+         [AC_MSG_ERROR([Please intall OpenAL])],
+         [], [])
+
+AC_ARG_ENABLE(opengl,
+              AC_HELP_STRING([--enable-opengl], [enable opengl support]),
+              [enable_opengl=$enableval], [enable_opengl=yes])
+
 if test "$enable_opengl" = "yes"; then
   AX_CHECK_GL
+  if test "$no_gl" != "yes"; then
+    AC_DEFINE_UNQUOTED(HAVE_OPENGL, 1, Define if OpenGL is present on the system)
+  fi
 fi
-if test "$no_gl" = "yes" -o "$enable_opengl" = "no"; then
-  GL_AVAILABLE="no"
-  AC_DEFINE([NOOPENGL],, [Define if opengl should not be used])
-else
-  GL_AVAILABLE="yes"
-fi
-AC_SUBST([GL_AVAILABLE])
 
 dnl Checks for library functions.
 AC_CHECK_FUNCS(mkdir strdup strstr)
@@ -127,16 +171,9 @@ AC_CHECK_FUNCS(mkdir strdup strstr)
 AC_INIT_JAM
 AC_CONFIG_FILES([Jamconfig])
 
-AC_OUTPUT(Makefile intl/Makefile
-          src/Makefile
-          data/Makefile
-          po/Makefile.in
-         lib/Makefile)
+AC_OUTPUT
 
 echo ""
-echo "Features:"
-echo "========="
-echo " Profile Mode:   $enable_gprof"
-echo " Debug Mode:     $enable_debug"
-echo " OpenGL Support: $enable_opengl"
+echo "       NOTE: This project uses jam (and not make) as build tool"
 echo ""
+