Ryan C. Gordon If you have the X11 SDK installed on Mac OS X, you'll build with X11 support, but the Makefile doesn't build anything but the Cocoa testnative code for Mac OS X, which is fine, but then testnative fails to link because testnative.h enables the X11 support based on the SDL config header. Building the testnativex11.c code on Mac OS X doesn't work because you need to explicitly link with "-L/usr/X11/lib -lX11" if this code is enabled, but you can't link with that by default because the X11 SDK might be missing. So this needs a little configure magic to do the right thing (or forcibly disabling X11 support on Mac OS X in testnative.h).
156 lines
3.4 KiB
Text
156 lines
3.4 KiB
Text
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 -lSDL2_test $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"
|
|
XLIB="-L$ac_x_libraries -lX11"
|
|
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)
|
|
AC_SUBST(XLIB)
|
|
|
|
dnl Check for SDL_ttf
|
|
AC_CHECK_LIB(SDL2_ttf, TTF_Init, have_SDL_ttf=yes)
|
|
if test x$have_SDL_ttf = xyes; then
|
|
CFLAGS="$CFLAGS -DHAVE_SDL_TTF"
|
|
SDL_TTF_LIB="-lSDL2_ttf"
|
|
fi
|
|
AC_SUBST(SDL_TTF_LIB)
|
|
|
|
dnl Finally create all the generated files
|
|
AC_OUTPUT([Makefile])
|