Fixing the build after Diederick Niehorster's full screen fixes: they are only valid...
[freeglut] / configure.ac
1 # Process this file with autoconf to produce a configure script.
2
3 AC_INIT([freeglut library], [2.6.0], [freeglut-bugs@lists.sourceforge.net], [freeglut])
4 AM_INIT_AUTOMAKE
5 AC_PREREQ([2.56])
6 AC_CONFIG_SRCDIR([AUTHORS])
7 AC_CONFIG_HEADERS([config.h])
8
9 # Compatibility hack for older autoconf versions
10 m4_ifdef([AS_HELP_STRING], [], [AC_DEFUN([AS_HELP_STRING], [AC_HELP_STRING($][@)])])
11
12 # Checks for programs.
13 AC_PROG_CC
14 AM_PROG_CC_C_O
15 AC_C_CONST
16 AC_EXEEXT
17 AC_LIBTOOL_DLOPEN
18 AC_PROG_LIBTOOL
19 AC_SUBST([LIBTOOL_DEPS])
20
21 # Checks for libraries.
22 AC_PATH_XTRA
23
24 if test "x$no_x" = xyes; then
25   GL_LIBS="-lopengl32 -lgdi32 -lwinmm"
26   LIBXXF86VM=
27   LIBXI=
28   VERSION_INFO=
29   EXPORT_FLAGS="-DFREEGLUT_EXPORTS"
30 else
31   GL_LIBS="-lGL -lXext -lX11"
32   AC_CHECK_LIB([Xxf86vm], [XF86VidModeSwitchToMode])
33   AC_CHECK_LIB([Xrandr], [XRRQueryExtension])
34   AC_CHECK_LIB([Xi], [XISelectEvents])
35   LIBXI=-lXi
36   VERSION_INFO="-version-info 12:0:9"
37   EXPORT_FLAGS=
38 fi
39 AC_SUBST([GL_LIBS])
40 AC_SUBST([LIBXXF86VM])
41 AC_SUBST([LIBXI])
42 AC_SUBST([VERSION_INFO])
43 AC_SUBST([EXPORT_FLAGS])
44
45 # Checks for header files.
46 AC_HEADER_STDC
47 save_CPPFLAGS="$CPPFLAGS"
48 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
49 AC_CHECK_HEADERS([usbhid.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])
50 AC_HEADER_TIME
51 AC_CHECK_HEADERS([X11/extensions/xf86vmode.h], [], [], [#include <X11/Xlib.h>])
52 AC_CHECK_HEADERS([X11/extensions/Xrandr.h])
53 AC_CHECK_HEADERS([X11/extensions/XI.h X11/extensions/XInput.h])
54 AC_CHECK_HEADERS([X11/extensions/XInput2.h])
55 CPPFLAGS="$save_CPPFLAGS"
56
57 # Checks for library functions.
58 AC_PROG_GCC_TRADITIONAL
59 AC_FUNC_VPRINTF
60 AC_CHECK_LIBM
61 AC_SUBST([LIBM])
62 AC_CHECK_FUNCS([gettimeofday])
63 AC_CHECK_FUNCS([vfprintf])
64
65 # Build time configuration.
66 AC_ARG_ENABLE([replace-glut],
67 [AS_HELP_STRING([--enable-replace-glut],
68                 [be a replacement for GLUT @<:@default=yes@:>@])])
69 if test "x$enable_replace_glut" != xno; then
70   LIBRARY=glut
71   HEADER=glut.h
72 else
73   LIBRARY=freeglut
74   HEADER=
75 fi
76 AC_SUBST([LIBRARY])
77 AC_SUBST([HEADER])
78
79 AC_ARG_ENABLE([warnings],
80 [AS_HELP_STRING([--enable-warnings],
81                 [use all gcc compiler warnings @<:@default=yes@:>@])])
82 if test "x$enable_warnings" != xno -a "x$GCC" = xyes; then
83   CFLAGS="$CFLAGS -Wall -pedantic"
84 fi
85
86 AC_ARG_ENABLE([warnings-as-errors],
87 [AS_HELP_STRING([--enable-warnings-as-errors],
88                 [make all warnings into errors @<:@default=no@:>@])])
89 if test "x$enable_warnings_as_errors" = xyes -a "x$GCC" = xyes; then
90   CFLAGS="$CFLAGS -Werror"
91 fi
92
93 AC_ARG_ENABLE([debug],
94 [AS_HELP_STRING([--enable-debug],
95                 [enable debugging code (for developers) @<:@default=no@:>@])])
96 if test "x$enable_debug" = xyes; then
97   AC_DEFINE([_DEBUG], [1], [Define to 1 if you want to include debugging code.])
98 fi
99
100 # Generate output.
101 AC_CONFIG_FILES([
102         Makefile
103         doc/Makefile
104         include/GL/Makefile
105         include/Makefile
106         progs/Makefile
107         progs/demos/CallbackMaker/Makefile
108         progs/demos/Fractals/Makefile
109         progs/demos/Fractals_random/Makefile
110         progs/demos/Lorenz/Makefile
111         progs/demos/Makefile
112         progs/demos/One/Makefile
113         progs/demos/shapes/Makefile
114         progs/demos/smooth_opengl3/Makefile
115         progs/demos/spaceball/Makefile
116         progs/demos/subwin/Makefile
117         src/Makefile
118 ])
119 AC_OUTPUT