2
dnl AM_PATH_CPPUNIT([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
4
AC_DEFUN([AM_PATH_CPPUNIT],
7
AC_ARG_WITH(cppunit-prefix,[ --with-cppunit-prefix=PFX Prefix where CppUnit is installed (optional)],
8
cppunit_config_prefix="$withval", cppunit_config_prefix="")
9
AC_ARG_WITH(cppunit-exec-prefix,[ --with-cppunit-exec-prefix=PFX Exec prefix where CppUnit is installed (optional)],
10
cppunit_config_exec_prefix="$withval", cppunit_config_exec_prefix="")
12
if test x$cppunit_config_exec_prefix != x ; then
13
cppunit_config_args="$cppunit_config_args --exec-prefix=$cppunit_config_exec_prefix"
14
if test x${CPPUNIT_CONFIG+set} != xset ; then
15
CPPUNIT_CONFIG=$cppunit_config_exec_prefix/bin/cppunit-config
18
if test x$cppunit_config_prefix != x ; then
19
cppunit_config_args="$cppunit_config_args --prefix=$cppunit_config_prefix"
20
if test x${CPPUNIT_CONFIG+set} != xset ; then
21
CPPUNIT_CONFIG=$cppunit_config_prefix/bin/cppunit-config
25
AC_PATH_PROG(CPPUNIT_CONFIG, cppunit-config, no)
26
cppunit_version_min=$1
28
AC_MSG_CHECKING(for Cppunit - version >= $cppunit_version_min)
30
if test "$CPPUNIT_CONFIG" = "no" ; then
33
CPPUNIT_CFLAGS=`$CPPUNIT_CONFIG --cflags`
34
CPPUNIT_LIBS=`$CPPUNIT_CONFIG --libs`
35
cppunit_version=`$CPPUNIT_CONFIG --version`
37
cppunit_major_version=`echo $cppunit_version | \
38
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
39
cppunit_minor_version=`echo $cppunit_version | \
40
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
41
cppunit_micro_version=`echo $cppunit_version | \
42
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
44
cppunit_major_min=`echo $cppunit_version_min | \
45
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
46
cppunit_minor_min=`echo $cppunit_version_min | \
47
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
48
cppunit_micro_min=`echo $cppunit_version_min | \
49
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
51
cppunit_version_proper=`expr \
52
$cppunit_major_version \> $cppunit_major_min \| \
53
$cppunit_major_version \= $cppunit_major_min \& \
54
$cppunit_minor_version \> $cppunit_minor_min \| \
55
$cppunit_major_version \= $cppunit_major_min \& \
56
$cppunit_minor_version \= $cppunit_minor_min \& \
57
$cppunit_micro_version \>= $cppunit_micro_min `
59
if test "$cppunit_version_proper" = "1" ; then
60
AC_MSG_RESULT([$cppunit_major_version.$cppunit_minor_version.$cppunit_micro_version])
67
if test "x$no_cppunit" = x ; then
68
ifelse([$2], , :, [$2])
72
ifelse([$3], , :, [$3])
75
AC_SUBST(CPPUNIT_CFLAGS)
76
AC_SUBST(CPPUNIT_LIBS)
79
dnl worldforge check for libz, libpng, SDL and SDL_image
80
dnl the flags are returned in WF_SDL_IMAGE_CFLAGS and WF_SDL_IMAGE_LIBS
81
AC_DEFUN([WF_CHECK_SDL_IMAGE],[dnl
85
dnl save CFLAGS and LIBS, so we can munge them when calling tests
87
WF_SDL_IMAGE_TMP_CFLAGS="$CFLAGS"
88
WF_SDL_IMAGE_TMP_LIBS="$LIBS"
89
WF_SDL_IMAGE_TMP_LDFLAGS="$LDFLAGS"
90
LDFLAGS="$LDFLAGS $LIBS"
93
dnl check for libpng prefix option
94
AC_ARG_WITH(png-prefix,[ --with-png-prefix=PFX Prefix where libpng is installed (option
96
WF_SDL_IMAGE_CFLAGS="$WF_SDL_IMAGE_CFLAGS -I$withval/include"
97
WF_SDL_IMAGE_LIBS="$WF_SDL_IMAGE_LIBS -L$withval/lib"
100
dnl check for libz prefix configure option
101
AC_ARG_WITH(z-prefix,[ --with-z-prefix=PFX Prefix where libz is installed (optional)]
103
WF_SDL_IMAGE_CFLAGS="$WF_SDL_IMAGE_CFLAGS -I$withval/include"
104
WF_SDL_IMAGE_LIBS="$WF_SDL_IMAGE_LIBS -L$withval/lib"
107
CFLAGS="$CFLAGS $WF_SDL_IMAGE_CFLAGS"
108
LDFLAGS="$LDFLAGS $WF_SDL_IMAGE_LIBS"
110
dnl FIXME AC_CHECK_LIB() doesn't put -lfoo after the -L args
111
dnl we've inserted in LIBS, this may break on some platforms.
113
dnl check for libpng and libz
115
AC_CHECK_HEADER(zlib.h,[],AC_MSG_ERROR( You need libz headers for SDL_image!))
117
AC_MSG_CHECKING(for libz)
130
AC_MSG_ERROR( You need libz for SDL_image!)
134
AC_CHECK_HEADER(png.h,[],[AC_MSG_ERROR( You need libpng headers for SDL_image!)])
136
AC_MSG_CHECKING(for libpng)
142
png_access_version_number();
149
AC_MSG_ERROR( You need libpng for SDL_image!)
152
WF_SDL_IMAGE_LIBS="$WF_SDL_IMAGE_LIBS -lpng -lz"
154
dnl Check for SDL and SDL_image
156
AM_PATH_SDL($1,,AC_MSG_ERROR([Couldn't find libSDL $1 or greater]))
158
dnl We pull in SDL_LIBS twice, to get the -L args before
159
dnl SDL_LIBS, but the -l args after as well. We pull in
160
dnl -lSDL_image here as well, so we can test for it
161
dnl in the next check.
162
WF_SDL_IMAGE_CFLAGS="$SDL_CFLAGS $WF_SDL_IMAGE_CFLAGS"
163
WF_SDL_IMAGE_LIBS="$SDL_LIBS -lSDL_image $SDL_LIBS $WF_SDL_IMAGE_LIBS"
165
CFLAGS="$WF_SDL_IMAGE_TMP_CFLAGS $WF_SDL_IMAGE_CFLAGS"
166
LIBS="$WF_SDL_IMAGE_TMP_LIBS $WF_SDL_IMAGE_LIBS"
167
LDFLAGS="$WF_SDL_IMAGE_TMP_LDFLAGS"
169
AC_CHECK_HEADER(SDL/SDL_image.h,[],[AC_MSG_ERROR(Missing SDL_image.h)])
171
dnl Use AC_TRY_LINK for a custom SDL_image check
172
AC_MSG_CHECKING(for SDL_image)
174
#include <SDL/SDL_image.h>
175
// use our own main(), so SDL_main links properly
179
int main(int argc, char** argv) {
185
AC_MSG_ERROR(Couldn't link libSDL_image)
188
dnl Got it, now clean up
190
CFLAGS="$WF_SDL_IMAGE_TMP_CFLAGS"
191
LIBS="$WF_SDL_IMAGE_TMP_LIBS"
192
LDFLAGS="$WF_SDL_IMAGE_TMP_LDFLAGS"
196
])dnl end of WF_CHECK_SDL_IMAGE
198
dnl worldforge check for the GL library,
199
dnl the -l flag is added directly to LIBS
201
AC_DEFUN([WF_CHECK_GL_SINGLE_LIB],[dnl
205
dnl AC_MSG_CHECKING(for glViewport in libGL)
207
AC_CHECK_LIB([GL], [glViewport],[
209
CXXFLAGS="$CXXFLAGS -I/usr/X11R6/include -I/usr/include"
211
AC_MSG_ERROR(Could not find OpenGL library)
217
])dnl end of WF_CHECK_GL_LIBS
224
# Check for binary relocation support.
225
# Written by Hongli Lai
226
# http://autopackage.org/
228
AC_DEFUN([AM_BINRELOC],
230
AC_ARG_ENABLE(binreloc,
231
[ --enable-binreloc compile with binary relocation support
232
(default=enable when available)],
233
enable_binreloc=$enableval,enable_binreloc=auto)
235
AC_ARG_ENABLE(binreloc-threads,
236
[ --enable-binreloc-threads compile binary relocation with threads support
238
enable_binreloc_threads=$enableval,enable_binreloc_threads=yes)
242
if test "x$enable_binreloc" = "xauto"; then
243
AC_CHECK_FILE([/proc/self/maps])
244
AC_CACHE_CHECK([whether everything is installed to the same prefix],
245
[br_cv_valid_prefixes], [
246
if test "$bindir" = '${exec_prefix}/bin' -a "$sbindir" = '${exec_prefix}/sbin' -a \
247
"$datadir" = '${prefix}/share' -a "$libdir" = '${exec_prefix}/lib' -a \
248
"$libexecdir" = '${exec_prefix}/libexec' -a "$sysconfdir" = '${prefix}/etc'
250
br_cv_valid_prefixes=yes
252
br_cv_valid_prefixes=no
256
AC_CACHE_CHECK([whether binary relocation support should be enabled],
258
[if test "x$enable_binreloc" = "xyes"; then
260
elif test "x$enable_binreloc" = "xauto"; then
261
if test "x$br_cv_valid_prefixes" = "xyes" -a \
262
"x$ac_cv_file__proc_self_maps" = "xyes"; then
271
if test "x$br_cv_binreloc" = "xyes"; then
272
BINRELOC_CFLAGS="-DENABLE_BINRELOC"
273
AC_DEFINE(ENABLE_BINRELOC,,[Use binary relocation?])
274
if test "x$enable_binreloc_threads" = "xyes"; then
275
AC_CHECK_LIB([pthread], [pthread_getspecific])
278
AC_CACHE_CHECK([whether binary relocation should use threads],
279
[br_cv_binreloc_threads],
280
[if test "x$enable_binreloc_threads" = "xyes"; then
281
if test "x$ac_cv_lib_pthread_pthread_getspecific" = "xyes"; then
282
br_cv_binreloc_threads=yes
284
br_cv_binreloc_threads=no
287
br_cv_binreloc_threads=no
290
if test "x$br_cv_binreloc_threads" = "xyes"; then
291
BINRELOC_LIBS="-lpthread"
292
AC_DEFINE(BR_PTHREAD,1,[Include pthread support for binary relocation?])
294
BINRELOC_CFLAGS="$BINRELOC_CFLAGS -DBR_PTHREADS=0"
295
AC_DEFINE(BR_PTHREAD,0,[Include pthread support for binary relocation?])
298
AC_SUBST(BINRELOC_CFLAGS)
299
AC_SUBST(BINRELOC_LIBS)