started implementing a buffer based bitmap loading algorithm.
[neuro.git] / configure.ac
blob0e90cf2aedc391dfeee10b30e086ad1c66db100d
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(libxml2, [  --enable-libxml2      enable the use of libxml2 for use with the xmltools [[default=yes]]], , enable_libxml2=yes)
74 AC_ARG_ENABLE(Debug, [  --enable-Debug  enable the debugging of this program [[default=no]]], , enable_Debug=no)
76 AC_ARG_WITH(lowlib, 
77 [ --with-lowlib=<lowlib>     the low library Neuro will use;]
78 [                          only a single value is valid here;]
79 [                          Default is "sdl";]
80 [                          Possible low libraries are :]
81 [                            dummy, X11, sdl ],
82 lowlib="$withval", lowlib="sdl")
85 # host related checkings
87 AC_MSG_CHECKING([if we need -no-undefined])
88 case $host in
89         *-*-cygwin | *-*-mingw* | *-*-pw32*)
90                 NEUROFLAGS="$NEUROFLAGS -DWIN32"
91                 NEUROLIBFLAGS="$NEUROLIBFLAGS -no-undefined"
92                 need_no_undefined=yes
93                 targ=w32
94                 #LIBS="$LIBS -lc -lgcc_s -ldl"
95                 ;;
96         *)
97                 targ=unix
98                 need_no_undefined=no
99                 ;;
100 esac
101 AC_MSG_RESULT($need_no_undefined)
102 AM_CONDITIONAL(NO_UNDEFINED, test x$need_no_undefined = xyes)
104 case $targ in
105         w32)
106                 AC_CHECK_HEADERS([windows.h])
107         ;;
109         unix)
110                 AC_FUNC_REALLOC
111                 AC_CHECK_HEADERS([unistd.h])
112         ;;
113 esac
116 dnl --------- Checks -------------
118 dnl ----------------
119 dnl check for header files.
120 dnl ----------------
121 AC_HEADER_STDC
122 AC_CHECK_HEADERS([fcntl.h stdlib.h string.h sys/time.h])
124 # Checks for typedefs, structures, and compiler characteristics.
126 AC_C_CONST
127 AC_TYPE_SIZE_T
128 AC_HEADER_TIME
130 # Checks for library functions.
131 AC_FUNC_VPRINTF
132 AC_CHECK_FUNCS([gettimeofday memchr memset strchr])
134 dnl ----------------
135 dnl XML check
136 dnl ----------------
137 if test x$enable_libxml2 = xyes; then
138   AC_CHECK_LIB(xml2, 
139                  xmlFreeDoc, 
140                  [NEUROFLAGS="$NEUROFLAGS -I/usr/include/libxml2 -I/usr/local/include/libxml2" NEUROLIBS="$NEUROLIBS -lxml2" LIBS="$LIBS -lxml2"] , 
141                  AC_MSG_ERROR([You must have libxml2])
142                  )
144 AM_CONDITIONAL(USE_XML, test x$enable_libxml2 = xyes)
146 dnl ----------------
147 dnl List of libraries Neuro can use
148 dnl ----------------
149 SELECTED_LOWLIB=`echo $lowlib`
152 dnl ----------------
153 dnl SDL check
154 dnl ----------------
155 AM_CONDITIONAL(USE_SDL, test x$SELECTED_LOWLIB = xsdl)
156 if test $SELECTED_LOWLIB = sdl; then
157         if test $targ = unix; then
158         AC_CHECK_LIB(SDL, SDL_Init, 
159                      [AC_DEFINE(USE_SDL, 1) LIBS="$LIBS $SDLFLAGS"
160                       NEUROFLAGS="$NEUROFLAGS `sdl-config --cflags`"], 
161                      [AC_MSG_ERROR(You don't have libSDL you can get it from http://www.libsdl.org)
163         else
164                 AC_CHECK_LIB(SDL, SDL_Init, 
165                      [AC_DEFINE(USE_SDL, 1) LIBS="$LIBS -lSDL"], 
166                      [AC_MSG_ERROR(You don't have libSDL you can get it from http://www.libsdl.org)
168         fi
170         cp include/extlib.h include/neuro
171         cat include/extlib_sdl.h >> include/neuro/extlib.h
173 dnl ----------------
174 dnl Zlib check
175 dnl ----------------
176 AC_CHECK_LIB(z, gzgetc, 
177              [AC_DEFINE(USE_ZLIB, 1) LIBS="$LIBS -lz"], 
178              [AC_MSG_ERROR(You don't have the Z library)])
181 dnl ----------------
182 dnl X11 check
183 dnl ----------------
184 AM_CONDITIONAL(USE_X11, test x$SELECTED_LOWLIB = xX11)
185 if test $SELECTED_LOWLIB = X11; then
186         AC_PATH_X
187         AC_PATH_XTRA
188         #AC_CHECK_LIB(X11, XCopyArea, 
189         #            [AC_DEFINE(USE_X11, 1) LIBS="$LIBS -lX11"
190         #             NEUROFLAGS="$NEUROFLAGS -L/usr/X11R6/lib -I/usr/X11R6/include"], 
191         #            [AC_MSG_ERROR(You don't have libX11)])
192         LIBS="$LIBS $X_PRE_LIBS $X_LIBS -lXpm $X_EXTRA_LIBS"
193         NEUROFLAGS="$NEUROFLAGS $X_CFLAGS"
194         #AC_CHECK_LIB(Xpm, XpmCreatePixmapFromData,
195         #            [LIBS="$LIBS -lXpm"],
196         #            [AC_MSG_ERROR(You don't have libXpm)])
197         cp include/extlib.h include/neuro
201 dnl ----------------
202 dnl Debug toggle
203 dnl ----------------
204 if test x$enable_Debug = xyes; then
205         NEUROFLAGS="$NEUROFLAGS -g"
206 else
207         NEUROFLAGS="$NEUROFLAGS -O2 -s"
210 AC_SUBST(NEUROFLAGS)
211 AC_SUBST(NEUROLIBFLAGS)
213 # set the installation path for the headers
214 includedir=$includedir/neuro
216 echo 
218 # enumerate the Makefiles to be created
219 AC_CONFIG_FILES([
220 Makefile
221 src/Makefile
222 src/xml/Makefile
223 src/memory/Makefile
224 src/video/Makefile
225 src/events/Makefile
226 src/extlib/Makefile
227 src/misc/Makefile
229 #add those above when they are started
230 #src/gui/Makefile
231 #src/script/Makefile
232 #src/sound/Makefile
233 #src/sound/music/Makefile
237 #AC_MSG_NOTICE([This is the low library Neuro will use : $SELECTED_LOWLIB])
239 AC_OUTPUT
241 echo " "
242 echo "This is the low library Neuro will use : $SELECTED_LOWLIB"
243 echo " "