216 lines
5.3 KiB
Plaintext
Executable File
216 lines
5.3 KiB
Plaintext
Executable File
dnl Process this file with autoconf to produce a configure script.
|
|
AC_INIT
|
|
AC_CONFIG_SRCDIR([loopwave.c])
|
|
|
|
dnl Detect the canonical build and host environments
|
|
AC_CONFIG_AUX_DIR([../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 (Haiku, for example, sets none of these.)
|
|
ISUNIX="false"
|
|
ISWINDOWS="false"
|
|
ISMACOSX="false"
|
|
ISOS2="false"
|
|
|
|
dnl Figure out which math library to use
|
|
case "$host" in
|
|
*-*-cygwin* | *-*-mingw*)
|
|
ISWINDOWS="true"
|
|
EXE=".exe"
|
|
MATHLIB=""
|
|
SYS_GL_LIBS="-lopengl32"
|
|
;;
|
|
*-*-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_c_compiler_gnu = 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"
|
|
;;
|
|
*-*-emscripten*)
|
|
dnl This should really be .js, but we need to specify extra flags when compiling to js
|
|
EXE=".bc"
|
|
MATHLIB=""
|
|
SYS_GL_LIBS=""
|
|
;;
|
|
*-*-riscos*)
|
|
EXE=",e1f"
|
|
MATHLIB=""
|
|
SYS_GL_LIBS=""
|
|
;;
|
|
*-*-os2*)
|
|
ISOS2="true"
|
|
EXE=".exe"
|
|
MATHLIB=""
|
|
SYS_GL_LIBS=""
|
|
;;
|
|
*)
|
|
dnl Oh well, call it Unix...
|
|
ISUNIX="true"
|
|
EXE=""
|
|
MATHLIB="-lm"
|
|
dnl Use the new libOpenGL if present.
|
|
AC_CHECK_LIB(OpenGL, glBegin,
|
|
[SYS_GL_LIBS="-lOpenGL"],[SYS_GL_LIBS="-lGL"])
|
|
;;
|
|
esac
|
|
AC_SUBST(EXE)
|
|
AC_SUBST(MATHLIB)
|
|
AC_SUBST(ISMACOSX)
|
|
AC_SUBST(ISWINDOWS)
|
|
AC_SUBST(ISUNIX)
|
|
AC_SUBST(ISOS2)
|
|
|
|
dnl Check for SDL
|
|
SDL_VERSION=2.0.18
|
|
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" = xNone || 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" = xNone; then
|
|
:
|
|
else
|
|
if test "x$ac_x_libraries" = x; then
|
|
XPATH=""
|
|
XLIB="-lX11"
|
|
else
|
|
XPATH="-L$ac_x_libraries"
|
|
XLIB="-L$ac_x_libraries -lX11"
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
dnl Check for OpenGL
|
|
AC_MSG_CHECKING(for OpenGL support)
|
|
have_opengl=no
|
|
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
|
|
#include "SDL_opengl.h"
|
|
#ifndef SDL_VIDEO_OPENGL
|
|
#error SDL_VIDEO_OPENGL
|
|
#endif
|
|
]],[])], [have_opengl=yes],[])
|
|
AC_MSG_RESULT($have_opengl)
|
|
|
|
dnl Check for OpenGL ES
|
|
AC_MSG_CHECKING(for OpenGL ES support)
|
|
have_opengles=no
|
|
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
|
|
#include "SDL_opengles.h"
|
|
#ifndef SDL_VIDEO_OPENGL_ES
|
|
#error SDL_VIDEO_OPENGL_ES
|
|
#endif
|
|
]],[])] ,[have_opengles=yes],[])
|
|
AC_MSG_RESULT($have_opengles)
|
|
|
|
dnl Check for OpenGL ES2
|
|
AC_MSG_CHECKING(for OpenGL ES2 support)
|
|
have_opengles2=no
|
|
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
|
|
#include "SDL_opengles2.h"
|
|
#ifndef SDL_VIDEO_OPENGL_ES2
|
|
#error SDL_VIDEO_OPENGL_ES2
|
|
#endif
|
|
]],[])], [have_opengles2=yes],[])
|
|
AC_MSG_RESULT($have_opengles2)
|
|
|
|
GLLIB=""
|
|
GLESLIB=""
|
|
GLES2LIB=""
|
|
OPENGLES1_TARGETS="UNUSED"
|
|
OPENGLES2_TARGETS="UNUSED"
|
|
OPENGL_TARGETS="UNUSED"
|
|
if test x$have_opengles = xyes; then
|
|
CFLAGS="$CFLAGS -DHAVE_OPENGLES"
|
|
GLESLIB="$XPATH -lGLESv1_CM"
|
|
OPENGLES1_TARGETS="TARGETS"
|
|
fi
|
|
if test x$have_opengles2 = xyes; then
|
|
CFLAGS="$CFLAGS -DHAVE_OPENGLES2"
|
|
#GLES2LIB="$XPATH -lGLESv2"
|
|
OPENGLES2_TARGETS="TARGETS"
|
|
fi
|
|
if test x$have_opengl = xyes; then
|
|
CFLAGS="$CFLAGS -DHAVE_OPENGL"
|
|
GLLIB="$XPATH $SYS_GL_LIBS"
|
|
OPENGL_TARGETS="TARGETS"
|
|
fi
|
|
|
|
AC_SUBST(OPENGLES1_TARGETS)
|
|
AC_SUBST(OPENGLES2_TARGETS)
|
|
AC_SUBST(OPENGL_TARGETS)
|
|
AC_SUBST(GLLIB)
|
|
AC_SUBST(GLESLIB)
|
|
AC_SUBST(GLES2LIB)
|
|
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 Really, SDL2_test should be linking against libunwind (if it found
|
|
dnl libunwind.h when configured), but SDL2_test is a static library, so
|
|
dnl there's no way for it to link against it. We could make SDL2 depend on
|
|
dnl it, but we don't want all SDL2 build to suddenly gain an extra dependency,
|
|
dnl so just assume that if it's here now, SDL2_test was probably built with it.
|
|
PKG_CHECK_MODULES(LIBUNWIND, libunwind, have_libunwind=yes, have_libunwind=no)
|
|
if test x$have_libunwind = xyes ; then
|
|
LIBS="$LIBS $LIBUNWIND_LIBS"
|
|
fi
|
|
|
|
dnl Finally create all the generated files
|
|
AC_CONFIG_FILES([Makefile])
|
|
AC_OUTPUT
|