1AC_INIT(game/main.cpp)
2
3AC_CANONICAL_HOST
4AC_CANONICAL_TARGET
5
6dnl Setup for automake
7AM_INIT_AUTOMAKE("Critical_Mass",1.5)
8AM_CONFIG_HEADER(defines.h)
9
10AC_EXEEXT
11
12case $target in
13	*mingw*)
14		TARGET=WIN32 ;;
15	*apple*)
16		TARGET=APPLE ;;
17	*)
18		TARGET=UNIX ;;
19esac
20
21dnl Checks for programs.
22AC_PROG_CC
23AC_PROG_CXX
24AC_PROG_RANLIB
25
26dnl Checks for libraries.
27
28dnl Checks for header files.
29
30dnl Checks for typedefs, structures, and compiler characteristics.
31AC_C_CONST
32
33dnl Checks for library functions.
34
35AM_CONDITIONAL(APPLE,test "x$TARGET" = xAPPLE)
36AM_CONDITIONAL(WIN32,test "x$TARGET" = xWIN32)
37
38CFLAGS=""
39CXXFLAGS="-std=c++0x -DGAME_HAS_HERO_PARTICLE -DUSE_ONLINE_UPDATE"
40
41if test "x$GCC" = xyes; then
42   CFLAGS="$CFLAGS -W -Wall"
43   CXXFLAGS="$CXXFLAGS -W -Wall"
44fi
45
46AC_ARG_ENABLE(debug,
47[  --enable-debug               Enable debugging [default=off]],
48        enable_debug=$enableval, enable_debug=off)
49if test "x$enable_debug" = xyes; then
50        CFLAGS="$CFLAGS -g"
51        CXXFLAGS="$CXXFLAGS -g"
52fi
53
54AC_ARG_ENABLE(optimize,
55[  --enable-optimize=level      Enable optimization [default=2]],
56        enable_optmize=$enableval, enable_optimize=2)
57if test "x$enable_optimize" != "xno" ; then
58        CFLAGS="$CFLAGS -O$enable_optimize"
59        CXXFLAGS="$CXXFLAGS -O$enable_optimize"
60fi
61
62AC_ARG_ENABLE(dyngl,
63[  --enable-dyngl               Load GL library dynamically [default=off]],
64        enable_dyngl=$enableval, enable_dyngl=off)
65if test "x$enable_dyngl" = xyes; then
66        CFLAGS="$CFLAGS -DDYNAMIC_GL"
67        CXXFLAGS="$CXXFLAGS -DDYNAMIC_GL"
68fi
69
70AC_ARG_ENABLE(lzma,
71[  --enable-lzma                Enable LZMA [default=off]],
72        enable_lzma=$enableval, enable_lzma=off)
73AM_CONDITIONAL(USE_LZMA,test "x$enable_lzma" = xyes)
74
75AC_ARG_ENABLE(trace,
76[  --enable-trace               Enable tracing [default=off]],
77        enable_trace=$enableval, enable_trace=off)
78if test "x$enable_trace" = xyes; then
79        CFLAGS="$CFLAGS -DTRACE"
80        CXXFLAGS="$CXXFLAGS -DTRACE"
81fi
82
83AC_CHECK_LIB(SDL, main,
84    LIBS="$LIBS `sdl-config --libs`" ; \
85    CFLAGS="$CFLAGS `sdl-config --cflags`" ; \
86    CXXFLAGS="$CXXFLAGS `sdl-config --cflags`" ; \
87    HAVE_SDL=1, AC_MSG_ERROR(SDL is needed), `sdl-config --libs`)
88
89AC_CHECK_LIB(SDL_image, main, LIBS="$LIBS -lSDL_image",
90    AC_MSG_ERROR(SDL_image is needed))
91
92AC_CHECK_LIB(SDL_mixer, main, LIBS="$LIBS -lSDL_mixer",
93    AC_MSG_ERROR(SDL_mixer is needed))
94
95if test "x$TARGET" = xWIN32; then
96    AC_MSG_RESULT(Adding special ingredients for mingw32)
97    LIBS="$LIBS -lopengl32 -lpng -lz -ljpeg -lstdc++ -lws2_32 -lwinmm"
98    CXXFLAGS="$CXXFLAGS -DCURL_STATICLIB"
99else
100    LIBS="-L/usr/local/lib -L/usr/X11R6/lib $LIBS"
101    CXXFLAGS="$CXXFLAGS -I/usr/X11R6/include"
102	AC_CHECK_LIB(curl-gnutls, main,, AC_MSG_ERROR(libcurl-gnutls is needed))
103	AC_CHECK_LIB(tinyxml, main,, AC_MSG_ERROR(libtinyxml is needed))
104	AC_CHECK_LIB(png, main,, AC_MSG_ERROR(libpng is needed))
105	AC_CHECK_LIB(z, main,, AC_MSG_ERROR(libz is needed))
106	if test "x$TARGET" = xUNIX; then
107	    if test "x$enable_dyngl" = xoff; then
108		AC_CHECK_LIB(GL, glBegin,, AC_MSG_ERROR(OpenGL is needed))
109	    fi
110	fi
111fi
112
113if test "x$TARGET" = xAPPLE; then
114    CXXFLAGS="$CXXFLAGS -I/Developer/Headers/FlatCarbon/"
115    LIBS="$LIBS -lvorbisfile -lvorbis -logg -framework OpenGL"
116
117dnl AC_CHECK_LIB(mx, asinf,,
118dnl     AC_MSG_ERROR(libmx is needed))
119fi
120
121AC_CHECK_LIB(m, sin,,
122    AC_MSG_ERROR(libm is needed))
123
124AC_OUTPUT(Makefile utils/Makefile utilssdl/Makefile utilsgl/Makefile game/Makefile tools/Makefile )
125
126echo "Configuration:
127
128Version:                    $VERSION
129Source code location:       $srcdir
130Install path:               $prefix
131Compiler:                   $CC $CXX
132C++ flags:                  $CXXFLAGS
133host:                       $host
134target:                     $target
135"
136