Undefine GC_MODEL_DIRECTORY when using BINRELOC since BINRELOC redefines it.
[crack-attack.git] / configure.ac
blob6b73136a79c966ca40212b4d26e8c6c9366beb5e
1 dnl Process this file with autoconf to produce a configure script.
2 AC_PREREQ(2.59)
3 AC_INIT(crack-attack,1.1.15-cvs,lorien420@myrealbox.com)
4 AC_CONFIG_SRCDIR(src/Attack.cxx)
5 AC_CANONICAL_HOST
6 AC_CANONICAL_TARGET
7 AM_INIT_AUTOMAKE
9 AM_CONFIG_HEADER(src/config.h)
11 dnl Checks for programs.
12 AC_PROG_CC
13 AC_PROG_CXX
14 AC_PROG_INSTALL
15 AC_PROG_RANLIB
17 dnl Checks for libraries.
18 # FIXME: Replace `main' with a function in `-lGL':
19 AC_CHECK_LIB([GL], [glBegin])
20 # FIXME: Replace `main' with a function in `-lGLU':
21 AC_CHECK_LIB([GLU], [gluLookAt])
22 # I don't know how to check these.
23 # FIXME: Replace `main' with a function in `-lX11':
24 #AC_CHECK_LIB([X11], [main])
25 # FIXME: Replace `main' with a function in `-lXi':
26 #AC_CHECK_LIB([Xi], [main])
27 # FIXME: Replace `main' with a function in `-lXmu':
28 #AC_CHECK_LIB([Xmu], [main])
29 # FIXME: Replace `main' with a function in `-lglut':
30 AC_CHECK_LIB([glut], [glutInit])
33 dnl Checks for header files.
34 AC_HEADER_STDC
35 AC_HEADER_SYS_WAIT
36 AC_CHECK_HEADERS([arpa/inet.h netdb.h netinet/in.h string.h sys/socket.h unistd.h sys/types.h stdlib.h])
37 AC_CHECK_HEADER(inttypes.h, break, echo "Must have inttypes.h for enet. Exiting..."; exit)
39 dnl enet checks
40 AC_CHECK_MEMBER(
41   struct msghdr.msg_flags,
42   AC_DEFINE([HAS_MSGHDR_FLAGS], [], [has msghdr flags]),
43   [],
44   [sys/socket.h])
46 AC_CHECK_TYPE(socklen_t, [AC_DEFINE([HAS_SOCKLEN_T], [], [has socklen t])], ,
47               #include <sys/types.h>
48               #include <sys/socket.h>
52 dnl BinReloc source additions
53 AM_BINRELOC
54 AM_CONDITIONAL([WANT_BINRELOC], [test "$br_cv_binreloc" = "yes"])
56 dnl Check for gtk
57 AC_ARG_ENABLE(gtk,
58   AC_HELP_STRING([--enable-gtk=[yes/no]],[Use gtk front-end [default=yes]]),
59   enable_gtk="$enableval",
60   enable_gtk=yes)
61 if test "$enable_gtk" = "yes"; then
62   pkg_modules="gtk+-2.0 >= 2.6.0"
63   PKG_CHECK_MODULES(PACKAGE, [$pkg_modules])
64   AC_DEFINE([WANT_GTK], [], [Wants to compile gtk front-end])
65 else
66   PACKAGE_CFLAGS=""
67   PACKAGE_LIBS=""
69 AC_SUBST(PACKAGE_CFLAGS)
70 AC_SUBST(PACKAGE_LIBS)
71 AM_CONDITIONAL([WANT_GTK], [test "$enable_gtk" = yes])
73 dnl Check for sound support
74 AC_ARG_ENABLE(sound,
75   AC_HELP_STRING([--enable-sound=[yes/no]],
76     [Play sounds and music during game [default=no]]),
77   enable_sound="$enableval",
78   enable_sound="no")
79 AUDIO_CFLAGS=""
80 AUDIO_LIBS=""
81 if test "$enable_sound" != "no"; then
82   found_sound="no"
83   AM_PATH_SDL(1.2.0,
84     [
85       AC_CHECK_LIB([SDL_mixer],
86         [Mix_OpenAudio],
87         [found_sound=yes],
88         [found_sound=no]
89       )
90     ],[found_sound=no]
91   )
93   if test "$enable_sound" == "yes" -a "$found_sound" == "no"; then
94     AC_MSG_ERROR(libSDL and SDL_mixer are required for sound)
95   fi
96   if test "$found_sound" == "yes"; then
97     AUDIO_CFLAGS="$SDL_CFLAGS"
98     AUDIO_LIBS="$SDL_LIBS -lSDL_mixer"
99     AC_DEFINE(AUDIO_ENABLED, 1, [Has audio support])
100   fi
102 AC_SUBST(AUDIO_CFLAGS)
103 AC_SUBST(AUDIO_LIBS)
104 AM_CONDITIONAL([AUDIO_ENABLED], [test "$found_sound" = "yes"])
107 dnl Check for debugging
108 AC_ARG_ENABLE(debug,
109   AC_HELP_STRING([--enable-debug=[no/yes]],[Compile extra debugging info [default=no]]),
110   enable_debug="$enableval",
111   enable_debug=no)
112 if test "$enable_debug" = "yes"; then
113   DEBUG_INCLUDES=-DDEVELOPMENT
114   DEBUG_CFLAGS="-g3 -ggdb3 -Wall -pedantic"
115 else
116   DEBUG_INCLUDES=-DNDEBUG
117   DEBUG_CFLAGS=
119 AC_SUBST(DEBUG_INCLUDES)
120 AC_SUBST(DEBUG_CFLAGS)
122 # Suggested by davyd, borrowed from Nautilus
123 AC_ARG_ENABLE(more-warnings,
124 [  --enable-more-warnings  Maximum compiler warnings],
125 set_more_warnings="$enableval",[
126     set_more_warnings=no
128 AC_MSG_CHECKING(for more warnings, including -Werror)
129 if test "$GCC" = "yes" -a "$set_more_warnings" != "no"; then
130     AC_MSG_RESULT(yes)
131     CXXFLAGS="\
132     -Wall -Werror \
133     -Wchar-subscripts \
134     -Wpointer-arith \
135     -Wcast-align -Wsign-compare \
136     $CXXFLAGS"
138     for option in -Wno-strict-aliasing -Wno-sign-compare; do
139         SAVE_CXXFLAGS="$CXXFLAGS"
140         CXXFLAGS="$CXXFLAGS $option"
141         AC_MSG_CHECKING([whether gcc understands $option])
142         AC_TRY_COMPILE([], [],
143             has_option=yes,
144             has_option=no,)
145         if test $has_option = no; then
146             CXXFLAGS="$SAVE_CXXFLAGS"
147         fi
148         AC_MSG_RESULT($has_option)
149         unset has_option
150         unset SAVE_CXXFLAGS
151     done
152     unset option
153 else
154     AC_MSG_RESULT(no)
157 dnl Checks for typedefs, structures, and compiler characteristics.
158 AC_HEADER_STDBOOL
159 AC_C_CONST
160 AC_C_INLINE
161 AC_TYPE_PID_T
163 AC_PATH_XTRA
165 dnl Checks for library functions.
166 AC_FUNC_FORK
167 AC_FUNC_MEMCMP
168 AC_FUNC_STAT
169 AC_CHECK_FUNCS([atexit gethostbyname gethostbyname_r gethostbyaddr_r fcntl inet_ntoa mkdir pow socket sqrt strchr strcspn strstr poll])
171 AC_CONFIG_FILES(
172   Makefile 
173   src/Makefile 
174   src/gtk-gui/Makefile
175   data/Makefile 
176   data/models/Makefile
177   doc/Makefile
178   autopackage/default.apspec
179   enet/Makefile
180   enet/include/Makefile
181   enet/include/enet/Makefile)
183 AC_OUTPUT