remove automake from configure.ac
[supertux.git] / configure.ac
index 659a864..1790abe 100644 (file)
@@ -1,23 +1,31 @@
 dnl ===========================================================================
 dnl    "configure.in"
 dnl
-dnl author: Duong-Khang NGUYEN
-dnl         neoneurone@users.sf.net
+dnl current contact:
+dnl          SuperTux development team
+dnl
+dnl original author:
+dnl          Duong-Khang NGUYEN
+dnl          neoneurone@users.sf.net
 dnl ===========================================================================
 
 dnl Process this file with autoconf to produce a configure script.
-
-AC_INIT(SuperTux, 0.0.7-cvs)
+AC_PREREQ([2.54])
+AC_INIT(supertux, 0.2-cvs)
 AC_CONFIG_SRCDIR([src/supertux.cpp])
+AC_CONFIG_AUX_DIR([mk/autoconf])
 AC_CANONICAL_TARGET
-AM_INIT_AUTOMAKE
 
-SDL_VERSION=1.2.4
+AC_CONFIG_HEADERS(config.h)
+
+# we don't want the stupid autoconf default -g -O2
+test ".$CXXFLAGS" = "." && CXXFLAGS=" "
+
+CXXFLAGS="$CXXFLAGS -ffast-math"
 
 AC_PROG_CC
 AC_PROG_CXX
 AC_PROG_INSTALL
-AC_LANG(C++)
 
 dnl Checks for header files.
 AC_HEADER_DIRENT
@@ -30,11 +38,14 @@ AC_C_CONST
 dnl ===========================================================================
 dnl Give advanced users some options to play with
 
+VARIANT=optimize
 AC_MSG_CHECKING(for gprof mode)
 AC_ARG_ENABLE(gprof,
-              AC_HELP_STRING([--enable-gprof], [enable GNU profiling support]),, enable_gprof="no")
-if test "x${enable_gprof}" != "xno"; then
-    CXXFLAGS="$CXXFLAGS -pg"
+              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])
@@ -42,77 +53,82 @@ fi
 
 AC_MSG_CHECKING(for debug mode)
 AC_ARG_ENABLE(debug,
-              AC_HELP_STRING([--enable-debug], [enable debugging mode]),, enable_debug="yes")
-if test "x${enable_debug}" != "xno"; then
-    CXXFLAGS="$CXXFLAGS -DDEBUG"
+              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(weather OpenGL should be used)
+AC_MSG_CHECKING(wether OpenGL should be used)
 AC_ARG_ENABLE(opengl,
-              AC_HELP_STRING([--disable-opengl], [disable OpenGL support]),, enable_opengl="yes")
-if test "x${enable_opengl}" != "xno"; then
-    CXXFLAGS="$CXXFLAGS -D__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
-    CXXFLAGS="$CXXFLAGS -DNOOPENGL"
     AC_MSG_RESULT([no])
 fi
 
-AC_MSG_CHECKING(weather Sound should be supported)
-AC_ARG_ENABLE(sound,
-              AC_HELP_STRING([--disable-sound], [disable sound support]),, enable_sound="yes")
-if test "x${enable_sound}" != "xno"; then
-    CXXFLAGS="$CXXFLAGS -D__SOUND"
-    AC_MSG_RESULT([yes])
-else
-    CXXFLAGS="$CXXFLAGS -DNOSOUND"
-    AC_MSG_RESULT([no])
-fi
+AC_CHECK_LIB([iconv], [iconv_open])
+AC_TRY_LINK([#include <iconv.h>], [iconv_open(0, 0);],,
+    AC_MSG_ERROR([Couldn't find iconv library]))
 
 dnl ===========================================================================
 dnl Check for SDL
-AC_LANG_PUSH(C)
+SDL_VERSION=1.2.4
 AM_PATH_SDL($SDL_VERSION,
             :,
            AC_MSG_ERROR([*** SDL version $SDL_VERSION not found!]))
-CXXFLAGS="$CXXFLAGS $SDL_CFLAGS"
-LDFLAGS="$LDFLAGS $SDL_LIBS"
-
-dnl Checks for additional libraries.
-if test "x${enable_sound}" != "xno"; then
-  AC_CHECK_LIB(SDL_mixer, SDL_OpenAudio,, 
-  [CXXFLAGS="$CXXFLAGS -DNOSOUND"
-   enable_sound="no"])
-fi
-
-AC_CHECK_LIB(SDL_image, IMG_Load, ,AC_MSG_ERROR(SDL_image library required))
-
-if test "x${enable_opengl}" != "xno"; then
-  # grumbel: xlib path is needed on my system to get OpenGL right,
-  # else I end up with a black screen, might be a debian issue or a
-  # local issue on my system, not sure
-  AC_PATH_XTRA
-  CXXFLAGS="$CXXFLAGS $X_CFLAGS"
-  LDFLAGS="$LDFLAGS $X_LIBS"
 
-  AC_CHECK_LIB(GL, glBegin,, 
-  [CXXFLAGS="$CXXFLAGS -DNOOPENGL"
-   enable_opengl="no"])
+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])
+
+NP_FINDLIB([SDLIMAGE], [SDL_image], [SDL_image >= 1.2],
+        NP_LANG_PROGRAM([#include <SDL_image.h>], [IMG_Load("");]),
+        [], [-lSDL_image],
+        [],
+        [AC_MSG_ERROR([Please install SDLImage >= 1.2.1])],
+        [$SDL_CFLAGS], [$SDL_LIBS])
+
+if test "$enable_opengl" = "yes"; then
+  AX_CHECK_GL
 fi
-AC_LANG_POP()
-
-AC_CHECK_LIB(z, gzopen,, AC_MSG_ERROR([*** zlib is missing]))
-
-# FIXME: Evil
-CXXFLAGS="$CXXFLAGS -DDATA_PREFIX='\"$datadir/supertux/\"' -DLINUX"
+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)
 
-AC_OUTPUT(Makefile src/Makefile data/Makefile)
+AC_INIT_JAM
+AC_CONFIG_FILES([Jamconfig])
+
+AC_OUTPUT
 
 echo ""
 echo "Features:"
@@ -120,7 +136,8 @@ echo "========="
 echo " Profile Mode:   $enable_gprof"
 echo " Debug Mode:     $enable_debug"
 echo " OpenGL Support: $enable_opengl"
-echo " Sound Support:  $enable_sound"
+echo ""
+echo ""
+echo "       NOTE: This project uses jam (and not make) as build tool"
 echo ""
 
-# EOF #