e2defcd29b55b37424da7e863bfd0bdc69b21570
[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 -lglu32 -lgdi32 -lwinmm"
26   LIBXXF86VM=
27   LIBXI=
28   VERSION_INFO=
29   EXPORT_FLAGS="-DFREEGLUT_EXPORTS"
30 else
31   GL_LIBS="-lGL -lGLU -lXext -lX11"
32   AC_CHECK_LIB([Xxf86vm], [XF86VidModeSwitchToMode],
33                [LIBXXF86VM=-lXxf86vm], [LIBXXF86VM=],
34                [$X_LIBS -lXext -lX11])
35   LIBXI=-lXi
36   VERSION_INFO="-version-info 11:0:8"
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([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/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 src/Makefile])
99 AC_OUTPUT