fixed a bug with the draw destroying process which didn't
[neuro.git] / configure.ac
blob199fe9fe66f69ba1e283f5cb9120ccfb41ca907c
2 AC_PREREQ(2.59)
4 AC_INIT(README)
7 # NEURO_MICRO_VERSION += 1      when bug fixes were done or small changes
8 # NEURO_MINOR_VERSION += 1      when new functions and or modules were added, anything more than mere bug fixes or small changes
9 # NEURO_MAJOR_VERSION += 1      when set goals for the whole projects are met, example when neuro will be done, we will raise that by 1. After it is 1, it only raise when most(like more than half) of the code was changes.
11 NEURO_MAJOR_VERSION=0
12 NEURO_MINOR_VERSION=46
13 NEURO_MICRO_VERSION=0
14 NEURO_INTERFACE_AGE=1
15 NEURO_REVISION=0
16 NEURO_BINARY_AGE=0
17 NEURO_VERSION=$NEURO_MAJOR_VERSION.$NEURO_MINOR_VERSION.$NEURO_MICRO_VERSION
19 AC_SUBST(NEURO_MAJOR_VERSION)
20 AC_SUBST(NEURO_MINOR_VERSION)
21 AC_SUBST(NEURO_MICRO_VERSION)
22 AC_SUBST(NEURO_INTERFACE_AGE)
23 AC_SUBST(NEURO_BINARY_AGE)
24 AC_SUBST(NEURO_VERSION)
27 # libtool versioning
28 LT_CURRENT=$NEURO_INTERFACE_AGE
29 LT_REVISION=$NEURO_REVISION
30 LT_AGE=$NEURO_BINARY_AGE
32 AC_SUBST(LT_CURRENT)
33 AC_SUBST(LT_REVISION)
34 AC_SUBST(LT_AGE)
36 #AC_INIT(Neuro, $NEURO_VERSION)
37 AC_CONFIG_SRCDIR([src/neuro_main.c])
39 # init automake
40 AM_INIT_AUTOMAKE(neuro, $NEURO_VERSION)
42 # call canonical host to get valuable informations about the current system
43 AC_CANONICAL_HOST
44 AC_DEFINE_UNQUOTED(OS, "${host}", [cpu-machine-OS])
45 AC_MSG_RESULT($host)
47 #dnl ----- set some variables ------
49 # check for programs
50 AC_PROG_CXX
51 AC_PROG_CC
52 AC_PROG_CPP
53 AC_PROG_INSTALL
54 AC_PROG_LN_S
55 AC_PROG_MAKE_SET
57 # check for cygwin stuff
58 AC_LIBTOOL_WIN32_DLL
60 # libtool setup
61 AM_PROG_LIBTOOL
64 # set the flags
65 CFLAGS="$CFLAGS -ansi -Wall -pedantic -I\$(top_srcdir)/src" 
66 NEUROFLAGS="-D__USE_GNU -I\${top_srcdir}/include -I\${top_srcdir}/include/neuro"
67 NEUROLIBFLAGS="--enable-realtime-pseudo-reloc"
68 SDLFLAGS="`sdl-config --libs`" 
70 dnl ------ Configure Arguments ------
72 AC_ARG_ENABLE(Debug, [  --enable-Debug  enable the debugging of this program [[default=no]]], , enable_Debug=no)
74 AC_ARG_WITH(lowlib, 
75 [ --with-lowlib=<lowlib>     the low library Neuro will use;]
76 [                          only a single value is valid here;]
77 [                          Default is "sdl";]
78 [                          Possible low libraries are :]
79 [                            dummy, X11, sdl ],
80 lowlib="$withval", lowlib="sdl")
82 freetype_enable=no
84 # host related checkings
86 AC_MSG_CHECKING([if we need -no-undefined])
87 case $host in
88         *-*-cygwin | *-*-mingw* | *-*-pw32*)
89                 NEUROFLAGS="$NEUROFLAGS -DWIN32"
90                 NEUROLIBFLAGS="$NEUROLIBFLAGS -no-undefined"
91                 need_no_undefined=yes
92                 targ=w32
93                 #LIBS="$LIBS -lc -lgcc_s -ldl"
94                 ;;
95         *)
96                 targ=unix
97                 need_no_undefined=no
98                 ;;
99 esac
100 AC_MSG_RESULT($need_no_undefined)
101 AM_CONDITIONAL(NO_UNDEFINED, test x$need_no_undefined = xyes)
103 case $targ in
104         w32)
105                 AC_CHECK_HEADERS([windows.h], , [AC_MSG_ERROR([the required header windows is missing.])])
106                 #AC_CHECK_FUNCS([GetTickCount], , [AC_MSG_ERROR([a required function is missing.])])
107         
109         ;;
111         unix)
112                 AC_FUNC_REALLOC
113                 AC_CHECK_HEADERS([unistd.h], , [AC_MSG_ERROR([the required header unistd is missing.])])
114                 AC_CHECK_FUNCS([gettimeofday], , [AC_MSG_ERROR([a required function is missing.])])
115         ;;
116 esac
118 dnl --------- Checks -------------
120 dnl ----------------
121 dnl check for header files.
122 dnl ----------------
123 AC_HEADER_STDC
124 AC_CHECK_HEADERS([fcntl.h stdlib.h string.h sys/time.h], , [AC_MSG_ERROR([a required header is missing.])])
126 # Checks for typedefs, structures, and compiler characteristics.
128 AC_C_CONST
129 AC_TYPE_SIZE_T
130 AC_HEADER_TIME
132 # Checks for library functions.
133 AC_FUNC_VPRINTF
134 AC_CHECK_FUNCS([memchr memset strchr], , [AC_MSG_ERROR([a required function is missing.])])
136 dnl ----------------
137 dnl List of libraries Neuro can use
138 dnl ----------------
139 SELECTED_LOWLIB=`echo $lowlib`
142 dnl ----------------
143 dnl SDL check
144 dnl ----------------
145 AM_CONDITIONAL(USE_SDL, test x$SELECTED_LOWLIB = xsdl)
146 if test $SELECTED_LOWLIB = sdl; then
147         if test $targ = unix; then
148                 AC_CHECK_LIB(SDL, SDL_Init, 
149                      [AC_DEFINE(USE_SDL, 1) LIBS="$LIBS $SDLFLAGS"
150                       NEUROFLAGS="$NEUROFLAGS `sdl-config --cflags`"], 
151                      [AC_MSG_ERROR(You don't have libSDL you can get it from http://www.libsdl.org)
154                 
155         else
156                 AC_CHECK_LIB(SDL, SDL_Init, 
157                      [AC_DEFINE(USE_SDL, 1) LIBS="$LIBS -lSDL"], 
158                      [AC_MSG_ERROR(You don't have libSDL you can get it from http://www.libsdl.org)
161                 
162         fi
164         AC_CHECK_LIB(SDL_ttf, TTF_RenderUNICODE_Solid, ,
165                      [AC_MSG_ERROR(You don't have libSDL_ttf you can get it from http://libsdl.org)])
167         cp include/extlib.h include/neuro
168         cat include/extlib_sdl.h >> include/neuro/extlib.h
170 dnl ----------------
171 dnl Zlib check
172 dnl ----------------
173 AC_CHECK_LIB(z, gzgetc, 
174              [AC_DEFINE(USE_ZLIB, 1) LIBS="$LIBS -lz"], 
175              [AC_MSG_ERROR(You don't have the Z library)])
178 dnl ----------------
179 dnl X11 check
180 dnl ----------------
181 AM_CONDITIONAL(USE_X11, test x$SELECTED_LOWLIB = xX11)
182 if test $SELECTED_LOWLIB = X11; then
183         AC_PATH_X
184         AC_PATH_XTRA
185         LDFLAGS="$CFLAGS $X_LIBS"
186         CFLAGS="$CFLAGS $X_CFLAGS"
187         AC_CHECK_LIB(X11, XCreateGC, 
188                      [AC_DEFINE(USE_X11, 1) LIBS="$LIBS $X_PRE_LIBS $X_LIBS $X_EXTRA_LIBS"], 
189                      [AC_MSG_ERROR(You don't have libX11)])
190 #       LIBS="$LIBS $X_PRE_LIBS $X_LIBS $X_EXTRA_LIBS"
191 #       NEUROFLAGS="$NEUROFLAGS $X_CFLAGS"
192         AC_CHECK_LIB(Xpm, XpmCreatePixmapFromData,
193                      [LIBS="$LIBS -lXpm"],
194                      [AC_MSG_ERROR(You don't have libXpm)])
196         freetype_enable=yes
197         
198         cp include/extlib.h include/neuro
201 dnl ----------------
202 dnl libmath check
203 dnl ----------------
204 AC_CHECK_LIB(m, log10, , [AC_MSG_ERROR(You don't have libm -- math)])
207 dnl ----------------
208 dnl Freetype2 Check
209 dnl ----------------
210 if test x$freetype_enable = xyes; then
211         AC_CHECK_LIB(freetype, FT_New_Face,
212                      [LIBS="$LIBS `freetype-config --libs`" CFLAGS="$CFLAGS `freetype-config --cflags`"], 
213                      [AC_MSG_ERROR(You don't have the libfreetype2 library you can get it from freetype.sourceforge.net)])
217 dnl ----------------
218 dnl Debug toggle
219 dnl ----------------
220 if test x$enable_Debug = xyes; then
221         #NEUROFLAGS="$NEUROFLAGS -g"
222         CFLAGS="$CFLAGS -g"
223 else
224         #NEUROFLAGS="$NEUROFLAGS -O2 -s"
225         CFLAGS="$CFLAGS -Os -s"
228 AC_SUBST(NEUROFLAGS)
229 AC_SUBST(NEUROLIBFLAGS)
231 # set the installation path for the headers
232 includedir=$includedir/neuro
234 echo 
236 # enumerate the Makefiles to be created
237 AC_CONFIG_FILES([
238 Makefile
239 src/Makefile
240 src/memory/Makefile
241 src/video/Makefile
242 src/events/Makefile
243 src/extlib/Makefile
244 src/misc/Makefile
245 docs/Makefile
247 #add those above when they are started
248 #src/gui/Makefile
249 #src/script/Makefile
250 #src/sound/Makefile
251 #src/sound/music/Makefile
255 #AC_MSG_NOTICE([This is the low library Neuro will use : $SELECTED_LOWLIB])
257 AC_OUTPUT
259 echo " "
260 echo "This is the low library Neuro will use : $SELECTED_LOWLIB"
261 echo " "