408dd9354958bd46631736bd3ba51ffbea3258a7
[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   LIBXI=-lXi
35   VERSION_INFO="-version-info 12:0:9"
36   EXPORT_FLAGS=
37 fi
38 AC_SUBST([GL_LIBS])
39 AC_SUBST([LIBXXF86VM])
40 AC_SUBST([LIBXI])
41 AC_SUBST([VERSION_INFO])
42 AC_SUBST([EXPORT_FLAGS])
43
44 # Checks for header files.
45 AC_HEADER_STDC
46 save_CPPFLAGS="$CPPFLAGS"
47 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
48 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])
49 AC_HEADER_TIME
50 AC_CHECK_HEADERS([X11/extensions/xf86vmode.h], [], [], [#include <X11/Xlib.h>])
51 AC_CHECK_HEADERS([X11/extensions/Xrandr.h])
52 AC_CHECK_HEADERS([X11/extensions/XI.h X11/extensions/XInput.h])
53 CPPFLAGS="$save_CPPFLAGS"
54
55 # Checks for library functions.
56 AC_PROG_GCC_TRADITIONAL
57 AC_FUNC_VPRINTF
58 AC_CHECK_LIBM
59 AC_SUBST([LIBM])
60 AC_CHECK_FUNCS([gettimeofday])
61
62 # Build time configuration.
63 AC_ARG_ENABLE([replace-glut],
64 [AS_HELP_STRING([--enable-replace-glut],
65                 [be a replacement for GLUT @<:@default=yes@:>@])])
66 if test "x$enable_replace_glut" != xno; then
67   LIBRARY=glut
68   HEADER=glut.h
69 else
70   LIBRARY=freeglut
71   HEADER=
72 fi
73 AC_SUBST([LIBRARY])
74 AC_SUBST([HEADER])
75
76 AC_ARG_ENABLE([warnings],
77 [AS_HELP_STRING([--enable-warnings],
78                 [use all gcc compiler warnings @<:@default=yes@:>@])])
79 if test "x$enable_warnings" != xno -a "x$GCC" = xyes; then
80   CFLAGS="$CFLAGS -Wall -pedantic"
81 fi
82
83 AC_ARG_ENABLE([warnings-as-errors],
84 [AS_HELP_STRING([--enable-warnings-as-errors],
85                 [make all warnings into errors @<:@default=no@:>@])])
86 if test "x$enable_warnings_as_errors" = xyes -a "x$GCC" = xyes; then
87   CFLAGS="$CFLAGS -Werror"
88 fi
89
90 AC_ARG_ENABLE([debug],
91 [AS_HELP_STRING([--enable-debug],
92                 [enable debugging code (for developers) @<:@default=no@:>@])])
93 if test "x$enable_debug" = xyes; then
94   AC_DEFINE([_DEBUG], [1], [Define to 1 if you want to include debugging code.])
95 fi
96
97 # Generate output.
98 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 src/Makefile])
99 AC_OUTPUT