Adding header files to the "freeglut" projects per e-mail from Paul Martz dated 1...
[freeglut] / configure.ac
index e0b811f..15dc997 100644 (file)
-dnl Process this file with autoconf to produce a configure script.
-AC_INIT(Makefile.am)
+# Process this file with autoconf to produce a configure script.
 
-AM_INIT_AUTOMAKE(freeglut,2.2.0)
-AM_CONFIG_HEADER(config.h)
+AC_INIT([freeglut library], [2.6.0], [freeglut-bugs@lists.sourceforge.net], [freeglut])
+AM_INIT_AUTOMAKE
+AC_PREREQ([2.56])
+AC_CONFIG_SRCDIR([AUTHORS])
+AC_CONFIG_HEADERS([config.h])
 
-dnl Checks for programs.
+# 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
-AM_PROG_LIBTOOL
-AC_SUBST(LIBTOOL_DEPS)
+AC_PROG_LIBTOOL
+AC_SUBST([LIBTOOL_DEPS])
 
-dnl Checks for libraries.
+# Checks for libraries.
 AC_PATH_XTRA
 
-AC_CHECK_LIB(Xxf86vm,XF86VidModeSwitchToMode,
-       LIBXXF86VM=-lXxf86vm,LIBXXF86VM=,$X_LIBS -lXext -lX11)
-AC_SUBST(LIBXXF86VM)
-
-dnl Checks for header files.
-AC_STDC_HEADERS
-AC_HAVE_HEADERS( GL/gl.h GL/glu.h GL/glx.h )
-
-save_CFLAGS="$CFLAGS"
-CFLAGS="$CFLAGS $X_CFLAGS"
-AC_CHECK_HEADERS(X11/extensions/xf86vmode.h,,,[#include <X11/Xlib.h>])
-CFLAGS="$save_CFLAGS"
+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
+AC_SUBST([GL_LIBS])
+AC_SUBST([LIBXXF86VM])
+AC_SUBST([LIBXI])
+AC_SUBST([VERSION_INFO])
+AC_SUBST([EXPORT_FLAGS])
 
-dnl Checks for typedefs, structures, and compiler characteristics.
+AC_CHECK_LIB([usbhid], [hid_init],
+             [LIBUSBHID=-lusbhid], [LIBUSBHID=])
+AC_SUBST(LIBUSBHID)
 
-dnl Checks for library functions.
+# Checks for header files.
+AC_HEADER_STDC
+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 fcntl.h limits.h sys/ioctl.h sys/param.h sys/time.h])
+AC_HEADER_TIME
+AC_CHECK_HEADERS([X11/extensions/xf86vmode.h], [], [], [#include <X11/Xlib.h>])
+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)
-
-dnl Build time configuration
+AC_SUBST([LIBM])
+AC_CHECK_FUNCS([gettimeofday])
+AC_CHECK_FUNCS([vfprintf])
 
-AC_ARG_ENABLE(replace-glut,
-[  --disable-replace-glut  Coexist with existing glut library])
-if test "x$enable_replace_glut" != xno
-then
- LIBRARY=glut
- HEADER=glut.h
+# Build time configuration.
+AC_ARG_ENABLE([replace-glut],
+[AS_HELP_STRING([--enable-replace-glut],
+                [be a replacement for GLUT @<:@default=yes@:>@])])
+if test "x$enable_replace_glut" != xno; then
+  LIBRARY=glut
+  HEADER=glut.h
 else
- LIBRARY=freeglut
- HEADER=
+  LIBRARY=freeglut
+  HEADER=
 fi
-AC_SUBST(LIBRARY)
-AC_SUBST(HEADER)
+AC_SUBST([LIBRARY])
+AC_SUBST([HEADER])
 
-AC_ARG_ENABLE(warnings,
-[  --enable-warnings       Enable gcc compiler warnings],
-if test "x$GCC" == xyes
-then
- CFLAGS="$CFLAGS -Wall -Wno-parentheses -Werror"
-fi)
+AC_ARG_ENABLE([warnings],
+[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"
+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
 
-AC_OUTPUT(\
-       Makefile \
-       doc/Makefile \
-       progs/Makefile \
-       progs/demos/Makefile \
-       progs/demos/CallbackMaker/Makefile \
-       progs/demos/Fractals/Makefile \
-       progs/demos/Fractals_random/Makefile \
-       progs/demos/Lorenz/Makefile \
-       progs/demos/One/Makefile \
-       progs/demos/shapes/Makefile \
-       src/Makefile \
-       include/Makefile \
-       include/GL/Makefile \
-       )
+# 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
+       progs/demos/smooth_opengl3/Makefile
+       progs/demos/spaceball/Makefile
+       progs/demos/subwin/Makefile
+       src/Makefile
+])
+AC_OUTPUT