282 lines
7.4 KiB
Plaintext
282 lines
7.4 KiB
Plaintext
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"
|
|
|
|
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=""
|
|
;;
|
|
*)
|
|
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)
|
|
|
|
dnl Check for SDL
|
|
SDL_VERSION=3.0.0
|
|
AM_PATH_SDL3($SDL_VERSION,
|
|
:,
|
|
AC_MSG_ERROR([*** SDL version $SDL_VERSION not found!])
|
|
)
|
|
CFLAGS="$CFLAGS $SDL_CFLAGS"
|
|
LIBS="$LIBS -lSDL3_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_MSG_CHECKING(for GCC -Wformat)
|
|
have_wformat=no
|
|
save_CFLAGS="$CFLAGS"
|
|
CFLAGS="$save_CFLAGS -Wformat"
|
|
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[int x = 0;]],[])],
|
|
[have_wformat=yes], [])
|
|
AC_MSG_RESULT($have_wformat)
|
|
CFLAGS="$save_CFLAGS"
|
|
if test x$have_wformat = xyes; then
|
|
CFLAGS="$CFLAGS -DHAVE_WFORMAT"
|
|
fi
|
|
|
|
AC_MSG_CHECKING(for GCC -Wformat-overflow)
|
|
have_wformat_overflow=no
|
|
save_CFLAGS="$CFLAGS"
|
|
CFLAGS="$save_CFLAGS -Wformat-overflow"
|
|
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[int x = 0;]],[])],
|
|
[have_wformat_overflow=yes], [])
|
|
AC_MSG_RESULT($have_wformat_overflow)
|
|
CFLAGS="$save_CFLAGS"
|
|
if test x$have_wformat_overflow = xyes; then
|
|
CFLAGS="$CFLAGS -DHAVE_WFORMAT_OVERFLOW"
|
|
fi
|
|
|
|
AC_MSG_CHECKING(for GCC -Wformat-extra-args)
|
|
have_wformat_extra_args=no
|
|
save_CFLAGS="$CFLAGS"
|
|
CFLAGS="$save_CFLAGS -Wformat-extra-args"
|
|
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[int x = 0;]],[])],
|
|
[have_wformat_extra_args=yes], [])
|
|
AC_MSG_RESULT($have_wformat_extra_args)
|
|
CFLAGS="$save_CFLAGS"
|
|
if test x$have_wformat_extra_args = xyes; then
|
|
CFLAGS="$CFLAGS -DHAVE_WFORMAT_EXTRA_ARGS"
|
|
fi
|
|
|
|
AC_ARG_ENABLE(werror,
|
|
[AS_HELP_STRING([--enable-werror], [treat warnings as errors [default=no]])],
|
|
enable_werror=$enableval, enable_werror=no)
|
|
if test x$enable_werror = xyes; then
|
|
AC_MSG_CHECKING(for GCC -Werror option)
|
|
have_gcc_werror=no
|
|
|
|
save_CFLAGS="$CFLAGS"
|
|
CFLAGS="$save_CFLAGS -Werror"
|
|
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[int x = 0;]],[])],
|
|
[have_gcc_werror=yes], [])
|
|
AC_MSG_RESULT($have_gcc_werror)
|
|
CFLAGS="$save_CFLAGS"
|
|
|
|
if test x$have_gcc_werror = xyes; then
|
|
CFLAGS="$CFLAGS -Werror"
|
|
fi
|
|
fi
|
|
|
|
case "$host" in
|
|
*-ios-*|*-*-darwin* )
|
|
AC_MSG_CHECKING(for GCC -Wno-error=deprecated-declarations option)
|
|
have_gcc_wno_error_deprecated_declarations=no
|
|
|
|
save_CFLAGS="$CFLAGS"
|
|
CFLAGS="$save_CFLAGS -Wno-error=deprecated-declarations"
|
|
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
|
|
int x = 0;
|
|
]],[])], [have_gcc_wno_error_deprecated_declarations=yes],[])
|
|
AC_MSG_RESULT($have_gcc_werror)
|
|
CFLAGS="$save_CFLAGS"
|
|
|
|
if test x$have_gcc_wno_error_deprecated_declarations = xyes; then
|
|
EXTRA_CFLAGS="$EXTRA_CFLAGS -Wno-error=deprecated-declarations"
|
|
fi
|
|
;;
|
|
esac
|
|
|
|
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(SDL3_ttf, TTF_Init, have_SDL_ttf=yes)
|
|
if test x$have_SDL_ttf = xyes; then
|
|
CFLAGS="$CFLAGS -DHAVE_SDL_TTF"
|
|
SDL_TTF_LIB="-lSDL3_ttf"
|
|
fi
|
|
AC_SUBST(SDL_TTF_LIB)
|
|
|
|
dnl Really, SDL3_test should be linking against libunwind (if it found
|
|
dnl libunwind.h when configured), but SDL3_test is a static library, so
|
|
dnl there's no way for it to link against it. We could make SDL3 depend on
|
|
dnl it, but we don't want all SDL3 build to suddenly gain an extra dependency,
|
|
dnl so just assume that if it's here now, SDL3_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
|