test/configure.in
author Ryan C. Gordon <icculus@icculus.org>
Thu, 09 Aug 2012 14:28:45 -0400
changeset 6390 3047baa4a5e0
parent 6272 f3dbef2cc0f2
child 6598 81d643a61b54
permissions -rw-r--r--
Nasty attempt to fix building of testnative across various platforms. The world longs for a hero named CMake.

dnl Process this file with autoconf to produce a configure script.
AC_INIT(README)

dnl Detect the canonical build and host environments
AC_CONFIG_AUX_DIRS($srcdir/../build-scripts)
AC_CANONICAL_HOST

dnl Check for tools

AC_PROG_CC

dnl Check for compiler environment

AC_C_CONST

dnl We only care about this for building testnative at the moment, so these
dnl  values shouldn't be considered absolute truth.
dnl  (BeOS, for example, sets none of these.)
ISUNIX="false"
ISWINDOWS="false"
ISMACOSX="false"

dnl Figure out which math library to use
case "$host" in
    *-*-cygwin* | *-*-mingw32*)
        ISWINDOWS="true"
        EXE=".exe"
        MATHLIB=""
        SYS_GL_LIBS="-lopengl32"
        ;;
    *-*-beos* | *-*-haiku*)
        EXE=""
        MATHLIB=""
        SYS_GL_LIBS="-lGL"
        ;;
    *-*-darwin* )
        ISMACOSX="true"
        EXE=""
        MATHLIB=""
        SYS_GL_LIBS="-Wl,-framework,OpenGL"
        ;;
    *-*-aix*)
        ISUNIX="true"
        EXE=""
        if test x$ac_cv_prog_gcc = xyes; then
            CFLAGS="-mthreads"
        fi
        SYS_GL_LIBS=""
        ;;
    *-*-mint*)
        EXE=""
        MATHLIB=""
        AC_PATH_PROG(OSMESA_CONFIG, osmesa-config, no)
        if test "x$OSMESA_CONFIG" = "xyes"; then
            OSMESA_CFLAGS=`$OSMESA_CONFIG --cflags`
            OSMESA_LIBS=`$OSMESA_CONFIG --libs`
            CFLAGS="$CFLAGS $OSMESA_CFLAGS"
            SYS_GL_LIBS="$OSMESA_LIBS"
        else
            SYS_GL_LIBS="-lOSMesa"
        fi
        ;;
    *-*-qnx*)
        EXE=""
        MATHLIB=""
        SYS_GL_LIBS="-lGLES_CM"
        ;;
    *)
        dnl Oh well, call it Unix...
        ISUNIX="true"
        EXE=""
        MATHLIB="-lm"
        SYS_GL_LIBS="-lGL"
        ;;
esac
AC_SUBST(EXE)
AC_SUBST(MATHLIB)
AC_SUBST(ISMACOSX)
AC_SUBST(ISWINDOWS)
AC_SUBST(ISUNIX)

dnl Check for SDL
SDL_VERSION=2.0.0
AM_PATH_SDL2($SDL_VERSION,
            :,
	    AC_MSG_ERROR([*** SDL version $SDL_VERSION not found!])
)
CFLAGS="$CFLAGS $SDL_CFLAGS"
LIBS="$LIBS $SDL_LIBS"

dnl Check for X11 path, needed for OpenGL on some systems
AC_PATH_X
if test x$have_x = xyes; then
    if test x$ac_x_includes = xno || test x$ac_x_includes = x; then
        :
    else
        CFLAGS="$CFLAGS -I$ac_x_includes"
    fi
    if test x$ac_x_libraries = xno || test x$ac_x_libraries = x; then
        :
    else
        XPATH="-L$ac_x_libraries"
    fi
fi

dnl Check for OpenGL
AC_MSG_CHECKING(for OpenGL support)
have_opengl=no
AC_TRY_COMPILE([
 #include "SDL_opengl.h"
],[
],[
have_opengl=yes
])
AC_MSG_RESULT($have_opengl)

dnl Check for OpenGL ES
AC_MSG_CHECKING(for OpenGL ES support)
have_opengles=no
AC_TRY_COMPILE([
 #if defined (__IPHONEOS__)
    #include <OpenGLES/ES1/gl.h>
 #else
    #include <GLES/gl.h>
 #endif /* __QNXNTO__ */
],[
],[
have_opengles=yes
])
AC_MSG_RESULT($have_opengles)

GLLIB=""
if test x$have_opengles = xyes; then
    CFLAGS="$CFLAGS -DHAVE_OPENGLES"
    GLLIB="$XPATH -lGLESv1_CM"
elif test x$have_opengl = xyes; then
    CFLAGS="$CFLAGS -DHAVE_OPENGL"
    GLLIB="$XPATH $SYS_GL_LIBS"
else
    GLLIB=""
fi

AC_SUBST(GLLIB)

dnl Check for SDL_ttf
AC_MSG_CHECKING(for SDL_ttf)
have_SDL_ttf=no
AC_TRY_COMPILE([
 #include "SDL_ttf.h"
],[
],[
have_SDL_ttf=yes
])
AC_MSG_RESULT($have_SDL_ttf)

if test x$have_SDL_ttf = xyes; then
    CFLAGS="$CFLAGS -DHAVE_SDL_TTF"
    SDL_TTF_LIB="-lSDL_ttf"
fi

AC_SUBST(SDL_TTF_LIB)

dnl Finally create all the generated files
AC_OUTPUT([Makefile])