# Process this file with autoconf to produce a configure script.
-AC_INIT([freeglut library], [2.2.0], [freeglut-bugs@lists.sourceforge.net], [freeglut])
+AC_INIT([freeglut library], [3.0.0], [freeglut-bugs@lists.sourceforge.net], [freeglut])
AM_INIT_AUTOMAKE
-AC_PREREQ([2.59])
+AC_PREREQ([2.56])
AC_CONFIG_SRCDIR([AUTHORS])
AC_CONFIG_HEADERS([config.h])
+# Compatibility hack for older autoconf versions
+m4_ifdef([AS_HELP_STRING], [], [AC_DEFUN([AS_HELP_STRING], [AC_HELP_STRING($][@)])])
+
# Checks for programs.
AC_PROG_CC
+AM_PROG_CC_C_O
AC_C_CONST
AC_EXEEXT
AC_LIBTOOL_DLOPEN
# Checks for libraries.
AC_PATH_XTRA
-AC_CHECK_LIB([Xxf86vm], [XF86VidModeSwitchToMode],
- [LIBXXF86VM=-lXxf86vm], [LIBXXF86VM=],
- [$X_LIBS -lXext -lX11])
+
+#if test "x$no_x" = xyes; then
+# GL_LIBS="-lopengl32 -lgdi32 -lwinmm"
+# LIBXXF86VM=
+# LIBXI=
+# VERSION_INFO=
+# EXPORT_FLAGS="-DFREEGLUT_EXPORTS"
+#else
+# GL_LIBS="-lGL -lXext -lX11"
+# AC_CHECK_LIB([Xxf86vm], [XF86VidModeSwitchToMode])
+# AC_CHECK_LIB([Xrandr], [XRRQueryExtension])
+# AC_CHECK_LIB([Xi], [XISelectEvents])
+# LIBXI=-lXi
+# VERSION_INFO="-version-info 12:0:9"
+# EXPORT_FLAGS=
+#fi
+VERSION_INFO="-version-info 12:0:9"
+AM_CONDITIONAL(TARGET_HOST_MS_WINDOWS, false)
+AM_CONDITIONAL(TARGET_HOST_POSIX_X11, false)
+AM_CONDITIONAL(TARGET_HOST_ANDROID, false)
+case "${host}" in
+ *-*-msdos* | *-*-go32* | *-*-mingw32* | *-*-cygwin* | *-*-windows*)
+ # Windows+Cygwin/MSYS, MinGW cross-compilation
+ GL_LIBS="-lopengl32 -lgdi32 -lwinmm"
+ LIBXXF86VM=
+ LIBXI=
+ CPPFLAGS="$CPPFLAGS -DFREEGLUT_EXPORTS"
+ AM_CONDITIONAL(TARGET_HOST_MS_WINDOWS, true)
+ ;;
+ *-*-linux-androideabi)
+ # Android
+ # e.g. arm-unknown-linux-androideabi
+ GL_LIBS="-lEGL -lGLESv2"
+ LIBXXF86VM=
+ LIBXI=
+ #CFLAGS="$CFLAGS"
+ # '-mandroid' is not mandatory but doesn't hurt
+ # '-O0 -gstabs+' helps the currently buggy GDB port, better
+ # remove it for releases
+ # '-DANDROID' is the Android build system convention
+ CFLAGS="-mandroid -O0 -gstabs+"
+ CPPFLAGS="$CPPFLAGS -DANDROID"
+ AM_CONDITIONAL(TARGET_HOST_ANDROID, true)
+ ;;
+ *)
+ # Unix/X11
+ GL_LIBS="-lGL -lXext -lX11"
+ AC_CHECK_LIB([Xxf86vm], [XF86VidModeSwitchToMode])
+ AC_CHECK_LIB([Xrandr], [XRRQueryExtension])
+ AC_CHECK_LIB([Xi], [XISelectEvents])
+ LIBXI=-lXi
+ AM_CONDITIONAL(TARGET_HOST_POSIX_X11, true)
+ ;;
+esac
+
+AC_SUBST([GL_LIBS])
AC_SUBST([LIBXXF86VM])
+AC_SUBST([LIBXI])
+AC_SUBST([VERSION_INFO])
+AC_SUBST([EXPORT_FLAGS])
+
+AC_CHECK_LIB([usbhid], [hid_init],
+ [LIBUSBHID=-lusbhid], [LIBUSBHID=])
+AC_SUBST(LIBUSBHID)
# Checks for header files.
AC_HEADER_STDC
-AC_CHECK_HEADERS([GL/gl.h GL/glu.h GL/glx.h errno.h fcntl.h limits.h sys/ioctl.h sys/param.h sys/time.h])
+save_CPPFLAGS="$CPPFLAGS"
+CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+AC_CHECK_HEADERS([usbhid.h libusbhid.h errno.h GL/gl.h GL/glu.h GL/glx.h GLES/gl.h GLES2/gl2.h fcntl.h limits.h sys/ioctl.h sys/param.h sys/time.h])
AC_HEADER_TIME
-
-save_CFLAGS="$CFLAGS"
-CFLAGS="$CFLAGS $X_CFLAGS"
AC_CHECK_HEADERS([X11/extensions/xf86vmode.h], [], [], [#include <X11/Xlib.h>])
-CFLAGS="$save_CFLAGS"
+AC_CHECK_HEADERS([X11/extensions/Xrandr.h])
+AC_CHECK_HEADERS([X11/extensions/XI.h X11/extensions/XInput.h])
+AC_CHECK_HEADERS([X11/extensions/XInput2.h])
+CPPFLAGS="$save_CPPFLAGS"
# Checks for library functions.
AC_PROG_GCC_TRADITIONAL
AC_FUNC_VPRINTF
AC_CHECK_LIBM
AC_SUBST([LIBM])
+AC_CHECK_FUNCS([gettimeofday])
+AC_CHECK_FUNCS([vfprintf])
# Build time configuration.
AC_ARG_ENABLE([replace-glut],
[AS_HELP_STRING([--enable-warnings],
[use all gcc compiler warnings @<:@default=yes@:>@])])
if test "x$enable_warnings" != xno -a "x$GCC" = xyes; then
- CFLAGS="$CFLAGS -Wall -pedantic -Werror"
+ CFLAGS="$CFLAGS -Wall -pedantic"
+fi
+
+AC_ARG_ENABLE([warnings-as-errors],
+[AS_HELP_STRING([--enable-warnings-as-errors],
+ [make all warnings into errors @<:@default=no@:>@])])
+if test "x$enable_warnings_as_errors" = xyes -a "x$GCC" = xyes; then
+ CFLAGS="$CFLAGS -Werror"
+fi
+
+AC_ARG_ENABLE([debug],
+[AS_HELP_STRING([--enable-debug],
+ [enable debugging code (for developers) @<:@default=no@:>@])])
+if test "x$enable_debug" = xyes; then
+ AC_DEFINE([_DEBUG], [1], [Define to 1 if you want to include debugging code.])
fi
# Generate output.
-AC_CONFIG_FILES([Makefile
- doc/Makefile
- include/GL/Makefile
- include/Makefile
- progs/Makefile
- progs/demos/CallbackMaker/Makefile
- progs/demos/Fractals/Makefile
- progs/demos/Fractals_random/Makefile
- progs/demos/Lorenz/Makefile
- progs/demos/Makefile
- progs/demos/One/Makefile
- progs/demos/shapes/Makefile
- src/Makefile])
+AC_CONFIG_FILES([
+ Makefile
+ doc/Makefile
+ include/GL/Makefile
+ include/Makefile
+ progs/Makefile
+ progs/demos/CallbackMaker/Makefile
+ progs/demos/Fractals/Makefile
+ progs/demos/Fractals_random/Makefile
+ progs/demos/Lorenz/Makefile
+ progs/demos/Makefile
+ progs/demos/One/Makefile
+ progs/demos/shapes/Makefile
+ progs/demos/smooth_opengl3/Makefile
+ progs/demos/spaceball/Makefile
+ progs/demos/subwin/Makefile
+ src/Makefile
+])
AC_OUTPUT