1 # generated automatically by aclocal 1.9.4 -*- Autoconf -*-
3 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
4 # Free Software Foundation, Inc.
5 # This file is free software; the Free Software Foundation
6 # gives unlimited permission to copy and/or distribute it,
7 # with or without modifications, as long as this notice is preserved.
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
11 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
14 dnl ---------------------------------------------------------------------------
15 dnl Compiler detection macros by David Elliott
16 dnl ---------------------------------------------------------------------------
19 dnl ===========================================================================
20 dnl Macros to detect non-GNU compilers (MetroWerks, XLC)
21 dnl ===========================================================================
23 dnl Based on autoconf _AC_LANG_COMPILER_GNU
24 AC_DEFUN([_AC_BAKEFILE_LANG_COMPILER_MWERKS],
25 [AC_CACHE_CHECK([whether we are using the Metrowerks _AC_LANG compiler],
26 [bakefile_cv_[]_AC_LANG_ABBREV[]_compiler_mwerks],
27 [AC_TRY_COMPILE([],[#ifndef __MWERKS__
31 [bakefile_compiler_mwerks=yes],
32 [bakefile_compiler_mwerks=no])
33 bakefile_cv_[]_AC_LANG_ABBREV[]_compiler_mwerks=$bakefile_compiler_mwerks
37 dnl Loosely based on autoconf AC_PROG_CC
38 dnl TODO: Maybe this should wrap the call to AC_PROG_CC and be used instead.
39 AC_DEFUN([AC_BAKEFILE_PROG_MWCC],
41 _AC_BAKEFILE_LANG_COMPILER_MWERKS
42 MWCC=`test $bakefile_cv_c_compiler_mwerks = yes && echo yes`
46 dnl Loosely based on autoconf AC_PROG_CXX
47 dnl TODO: Maybe this should wrap the call to AC_PROG_CXX and be used instead.
48 AC_DEFUN([AC_BAKEFILE_PROG_MWCXX],
50 _AC_BAKEFILE_LANG_COMPILER_MWERKS
51 MWCXX=`test $bakefile_cv_cxx_compiler_mwerks = yes && echo yes`
55 dnl Based on autoconf _AC_LANG_COMPILER_GNU
56 AC_DEFUN([_AC_BAKEFILE_LANG_COMPILER_XLC],
57 [AC_CACHE_CHECK([whether we are using the IBM xlC _AC_LANG compiler],
58 [wx_cv_[]_AC_LANG_ABBREV[]_compiler_xlc],
59 [AC_TRY_COMPILE([],[#ifndef __xlC__
63 [wx_compiler_xlc=yes],
65 wx_cv_[]_AC_LANG_ABBREV[]_compiler_xlc=$wx_compiler_xlc
69 dnl Loosely based on autoconf AC_PROG_CC
70 AC_DEFUN([AC_BAKEFILE_PROG_XLCC],
72 _AC_BAKEFILE_LANG_COMPILER_XLC
73 XLCC=`test $wx_cv_c_compiler_xlc = yes && echo yes`
77 dnl Loosely based on autoconf AC_PROG_CXX
78 AC_DEFUN([AC_BAKEFILE_PROG_XLCXX],
80 _AC_BAKEFILE_LANG_COMPILER_XLC
81 XLCXX=`test $wx_cv_cxx_compiler_xlc = yes && echo yes`
85 dnl Based on autoconf _AC_LANG_COMPILER_GNU
86 dnl _AC_BAKEFILE_LANG_COMPILER(NAME, LANG, SYMBOL, IF-YES, IF-NO)
87 AC_DEFUN([_AC_BAKEFILE_LANG_COMPILER],
91 [whether we are using the $1 $2 compiler],
92 [bakefile_cv_[]_AC_LANG_ABBREV[]_compiler_[]$3],
100 [bakefile_cv_[]_AC_LANG_ABBREV[]_compiler_[]$3=yes],
101 [bakefile_cv_[]_AC_LANG_ABBREV[]_compiler_[]$3=no]
106 if test "x$bakefile_cv_[]_AC_LANG_ABBREV[]_compiler_[]$3" = "xyes"; then
113 dnl Loosely based on autoconf AC_PROG_CC
114 AC_DEFUN([AC_BAKEFILE_PROG_SUNCC],
116 _AC_BAKEFILE_LANG_COMPILER(Sun, C, __SUNPRO_C, SUNCC=yes)
119 dnl Loosely based on autoconf AC_PROG_CC
120 AC_DEFUN([AC_BAKEFILE_PROG_SUNCXX],
122 _AC_BAKEFILE_LANG_COMPILER(Sun, C++, __SUNPRO_CC, SUNCXX=yes)
126 dnl ===========================================================================
127 dnl macros to detect specialty compiler options
128 dnl ===========================================================================
130 dnl Figure out if we need to pass -ext o to compiler (MetroWerks)
131 AC_DEFUN([AC_BAKEFILE_METROWERKS_EXTO],
132 [AC_CACHE_CHECK([if the _AC_LANG compiler requires -ext o], wx_cv_[]_AC_LANG_ABBREV[]_exto,
133 dnl First create an empty conf test
134 [AC_LANG_CONFTEST([AC_LANG_PROGRAM()])
135 dnl Now remove .o and .c.o or .cc.o
136 rm -f conftest.$ac_objext conftest.$ac_ext.o
137 dnl Now compile the test
138 AS_IF([AC_TRY_EVAL(ac_compile)],
139 dnl If the test succeeded look for conftest.c.o or conftest.cc.o
140 [for ac_file in `(ls conftest.* 2>/dev/null)`; do
143 wx_cv_[]_AC_LANG_ABBREV[]_exto="-ext o"
149 [AC_MSG_FAILURE([cannot figure out if compiler needs -ext o: cannot compile])
152 rm -f conftest.$ac_ext.o conftest.$ac_objext conftest.$ac_ext
153 ]) dnl AC_CACHE_CHECK
155 if test "x$wx_cv_[]_AC_LANG_ABBREV[]_exto" '!=' "x"; then
156 if test "[]_AC_LANG_ABBREV[]" = "c"; then
157 CFLAGS="$wx_cv_[]_AC_LANG_ABBREV[]_exto $CFLAGS"
159 if test "[]_AC_LANG_ABBREV[]" = "cxx"; then
160 CXXFLAGS="$wx_cv_[]_AC_LANG_ABBREV[]_exto $CXXFLAGS"
166 dnl ===========================================================================
167 dnl Macros to do all of the compiler detections as one macro
168 dnl ===========================================================================
169 AC_DEFUN([AC_BAKEFILE_PROG_CC],
172 AC_BAKEFILE_METROWERKS_EXTO
173 dnl By the time we find out that we need -ext o some tests have failed.
174 if test "x$wx_cv_c_exto" '!=' "x"; then
175 unset ac_cv_prog_cc_g
178 AC_BAKEFILE_PROG_MWCC
179 AC_BAKEFILE_PROG_XLCC
180 AC_BAKEFILE_PROG_SUNCC
183 AC_DEFUN([AC_BAKEFILE_PROG_CXX],
186 AC_BAKEFILE_METROWERKS_EXTO
187 dnl By the time we find out that we need -ext o some tests have failed.
188 if test "x$wx_cv_cxx_exto" '!=' "x"; then
189 unset ac_cv_prog_cxx_g
192 AC_BAKEFILE_PROG_MWCXX
193 AC_BAKEFILE_PROG_XLCXX
194 AC_BAKEFILE_PROG_SUNCXX
198 dnl ---------------------------------------------------------------------------
199 dnl Support macros for makefiles generated by BAKEFILE.
200 dnl ---------------------------------------------------------------------------
202 dnl Lots of compiler & linker detection code contained here was taken from
203 dnl wxWindows configure.in script (see http://www.wxwindows.org)
207 dnl ---------------------------------------------------------------------------
208 dnl AC_BAKEFILE_GNUMAKE
211 dnl ---------------------------------------------------------------------------
213 AC_DEFUN([AC_BAKEFILE_GNUMAKE],
215 dnl does make support "-include" (only GNU make does AFAIK)?
216 AC_CACHE_CHECK([if make is GNU make], bakefile_cv_prog_makeisgnu,
218 if ( ${SHELL-sh} -c "${MAKE-make} --version" 2> /dev/null |
219 egrep -s GNU > /dev/null); then
220 bakefile_cv_prog_makeisgnu="yes"
222 bakefile_cv_prog_makeisgnu="no"
226 if test "x$bakefile_cv_prog_makeisgnu" = "xyes"; then
231 AC_SUBST(IF_GNU_MAKE)
234 dnl ---------------------------------------------------------------------------
235 dnl AC_BAKEFILE_PLATFORM
237 dnl Detects platform and sets PLATFORM_XXX variables accordingly
238 dnl ---------------------------------------------------------------------------
240 AC_DEFUN([AC_BAKEFILE_PLATFORM],
251 if test "x$BAKEFILE_FORCE_PLATFORM" = "x"; then
252 case "${BAKEFILE_HOST}" in
259 *-pc-os2_emx | *-pc-os2-emx )
269 powerpc-apple-macos* )
278 case "$BAKEFILE_FORCE_PLATFORM" in
299 AC_MSG_ERROR([Unknown platform: $BAKEFILE_FORCE_PLATFORM])
304 AC_SUBST(PLATFORM_UNIX)
305 AC_SUBST(PLATFORM_WIN32)
306 AC_SUBST(PLATFORM_MSDOS)
307 AC_SUBST(PLATFORM_MAC)
308 AC_SUBST(PLATFORM_MACOS)
309 AC_SUBST(PLATFORM_MACOSX)
310 AC_SUBST(PLATFORM_OS2)
311 AC_SUBST(PLATFORM_BEOS)
315 dnl ---------------------------------------------------------------------------
316 dnl AC_BAKEFILE_PLATFORM_SPECIFICS
318 dnl Sets misc platform-specific settings
319 dnl ---------------------------------------------------------------------------
321 AC_DEFUN([AC_BAKEFILE_PLATFORM_SPECIFICS],
323 AC_ARG_ENABLE([omf], AS_HELP_STRING([--enable-omf],
324 [use OMF object format (OS/2)]),
325 [bk_os2_use_omf="$enableval"])
327 case "${BAKEFILE_HOST}" in
329 dnl For Unix to MacOS X porting instructions, see:
330 dnl http://fink.sourceforge.net/doc/porting/porting.html
331 if test "x$GCC" = "xyes"; then
332 CFLAGS="$CFLAGS -fno-common"
333 CXXFLAGS="$CXXFLAGS -fno-common"
335 if test "x$XLCC" = "xyes"; then
336 CFLAGS="$CFLAGS -qnocommon"
337 CXXFLAGS="$CXXFLAGS -qnocommon"
341 *-pc-os2_emx | *-pc-os2-emx )
342 if test "x$bk_os2_use_omf" = "xyes" ; then
345 LDFLAGS="-Zomf $LDFLAGS"
346 CFLAGS="-Zomf $CFLAGS"
347 CXXFLAGS="-Zomf $CXXFLAGS"
355 LDFLAGS="-L/boot/develop/lib/x86 $LDFLAGS"
360 dnl ---------------------------------------------------------------------------
361 dnl AC_BAKEFILE_SUFFIXES
363 dnl Detects shared various suffixes for shared libraries, libraries, programs,
365 dnl ---------------------------------------------------------------------------
367 AC_DEFUN([AC_BAKEFILE_SUFFIXES],
370 SO_SUFFIX_MODULE="so"
379 case "${BAKEFILE_HOST}" in
382 SO_SUFFIX_MODULE="sl"
386 dnl http://www-1.ibm.com/servers/esdd/articles/gnu.html:
387 dnl Both archive libraries and shared libraries on AIX have an
388 dnl .a extension. This will explain why you can't link with an
389 dnl .so and why it works with the name changed to .a.
395 SO_SUFFIX_MODULE="dll"
396 DLLIMP_SUFFIX="dll.a"
403 SO_SUFFIX_MODULE="dll"
404 DLLIMP_SUFFIX="dll.a"
414 *-pc-os2_emx | *-pc-os2-emx )
416 SO_SUFFIX_MODULE="dll"
417 DLLIMP_SUFFIX=$OS2_LIBEXT
421 LIBEXT=".$OS2_LIBEXT"
426 SO_SUFFIX_MODULE="bundle"
430 if test "x$DLLIMP_SUFFIX" = "x" ; then
431 DLLIMP_SUFFIX="$SO_SUFFIX"
435 AC_SUBST(SO_SUFFIX_MODULE)
436 AC_SUBST(DLLIMP_SUFFIX)
441 AC_SUBST(DLLPREFIX_MODULE)
446 dnl ---------------------------------------------------------------------------
447 dnl AC_BAKEFILE_SHARED_LD
449 dnl Detects command for making shared libraries, substitutes SHARED_LD_CC
450 dnl and SHARED_LD_CXX.
451 dnl ---------------------------------------------------------------------------
453 AC_DEFUN([AC_BAKEFILE_SHARED_LD],
455 dnl the extra compiler flags needed for compilation of shared library
457 if test "x$GCC" = "xyes"; then
458 dnl the switch for gcc is the same under all platforms
462 dnl Defaults for GCC and ELF .so shared libs:
463 SHARED_LD_CC="\$(CC) -shared ${PIC_FLAG} -o"
464 SHARED_LD_CXX="\$(CXX) -shared ${PIC_FLAG} -o"
467 case "${BAKEFILE_HOST}" in
469 dnl default settings are good for gcc but not for the native HP-UX
470 if test "x$GCC" != "xyes"; then
471 dnl no idea why it wants it, but it does
472 LDFLAGS="$LDFLAGS -L/usr/lib"
474 SHARED_LD_CC="${CC} -b -o"
475 SHARED_LD_CXX="${CXX} -b -o"
481 if test "x$GCC" != "xyes"; then
482 AC_CACHE_CHECK([for Intel compiler], bakefile_cv_prog_icc,
486 #ifndef __INTEL_COMPILER
490 bakefile_cv_prog_icc=yes,
491 bakefile_cv_prog_icc=no
494 if test "$bakefile_cv_prog_icc" = "yes"; then
501 if test "x$GCC" != xyes ; then
502 SHARED_LD_CC="${CC} -G -o"
503 SHARED_LD_CXX="${CXX} -G -o"
509 dnl Most apps benefit from being fully binded (its faster and static
510 dnl variables initialized at startup work).
511 dnl This can be done either with the exe linker flag -Wl,-bind_at_load
512 dnl or with a double stage link in order to create a single module
513 dnl "-init _wxWindowsDylibInit" not useful with lazy linking solved
515 dnl If using newer dev tools then there is a -single_module flag that
516 dnl we can use to do this, otherwise we'll need to use a helper
517 dnl script. Check the version of gcc to see which way we can go:
518 AC_CACHE_CHECK([for gcc 3.1 or later], wx_cv_gcc31, [
521 #if (__GNUC__ < 3) || \
522 ((__GNUC__ == 3) && (__GNUC_MINOR__ < 1))
534 if test "$wx_cv_gcc31" = "no"; then
535 AC_BAKEFILE_CREATE_FILE_SHARED_LD_SH
536 chmod +x shared-ld-sh
538 dnl Use the shared-ld-sh helper script
539 SHARED_LD_CC="`pwd`/shared-ld-sh -dynamiclib -headerpad_max_install_names -o"
540 SHARED_LD_MODULE_CC="`pwd`/shared-ld-sh -bundle -headerpad_max_install_names -o"
541 SHARED_LD_CXX="$SHARED_LD_CC"
542 SHARED_LD_MODULE_CXX="$SHARED_LD_MODULE_CC"
544 dnl Use the -single_module flag and let the linker do it for us
545 SHARED_LD_CC="\${CC} -dynamiclib -single_module -headerpad_max_install_names -o"
546 SHARED_LD_MODULE_CC="\${CC} -bundle -single_module -headerpad_max_install_names -o"
547 SHARED_LD_CXX="\${CXX} -dynamiclib -single_module -headerpad_max_install_names -o"
548 SHARED_LD_MODULE_CXX="\${CXX} -bundle -single_module -headerpad_max_install_names -o"
551 if test "x$GCC" == "xyes"; then
552 PIC_FLAG="-dynamic -fPIC"
554 if test "x$XLCC" = "xyes"; then
555 PIC_FLAG="-dynamic -DPIC"
560 dnl default settings are ok for gcc
561 if test "x$GCC" != "xyes"; then
562 dnl the abs path below used to be hardcoded here so I guess it must
563 dnl be some sort of standard location under AIX?
564 AC_CHECK_PROG(AIX_CXX_LD, makeC++SharedLib,
565 makeC++SharedLib, /usr/lpp/xlC/bin/makeC++SharedLib)
566 dnl FIXME - what about makeCSharedLib?
567 SHARED_LD_CC="$AIX_CC_LD -p 0 -o"
568 SHARED_LD_CXX="$AIX_CXX_LD -p 0 -o"
573 dnl can't use gcc under BeOS for shared library creation because it
574 dnl complains about missing 'main'
575 SHARED_LD_CC="${LD} -nostart -o"
576 SHARED_LD_CXX="${LD} -nostart -o"
580 dnl default settings are ok for gcc
581 if test "x$GCC" != "xyes"; then
586 *-*-cygwin* | *-*-mingw32* )
588 SHARED_LD_CC="\$(CC) -shared -o"
589 SHARED_LD_CXX="\$(CXX) -shared -o"
593 *-pc-os2_emx | *-pc-os2-emx )
594 SHARED_LD_CC="`pwd`/dllar.sh -libf INITINSTANCE -libf TERMINSTANCE -o"
595 SHARED_LD_CXX="`pwd`/dllar.sh -libf INITINSTANCE -libf TERMINSTANCE -o"
597 AC_BAKEFILE_CREATE_FILE_DLLAR_SH
601 powerpc-apple-macos* | \
602 *-*-freebsd* | *-*-openbsd* | *-*-netbsd* | \
612 AC_MSG_ERROR(unknown system type $BAKEFILE_HOST.)
615 if test "x$PIC_FLAG" != "x" ; then
616 PIC_FLAG="$PIC_FLAG -DPIC"
619 if test "x$SHARED_LD_MODULE_CC" = "x" ; then
620 SHARED_LD_MODULE_CC="$SHARED_LD_CC"
622 if test "x$SHARED_LD_MODULE_CXX" = "x" ; then
623 SHARED_LD_MODULE_CXX="$SHARED_LD_CXX"
626 AC_SUBST(SHARED_LD_CC)
627 AC_SUBST(SHARED_LD_CXX)
628 AC_SUBST(SHARED_LD_MODULE_CC)
629 AC_SUBST(SHARED_LD_MODULE_CXX)
631 AC_SUBST(WINDOWS_IMPLIB)
635 dnl ---------------------------------------------------------------------------
636 dnl AC_BAKEFILE_SHARED_VERSIONS
638 dnl Detects linker options for attaching versions (sonames) to shared libs.
639 dnl ---------------------------------------------------------------------------
641 AC_DEFUN([AC_BAKEFILE_SHARED_VERSIONS],
651 case "${BAKEFILE_HOST}" in
652 *-*-linux* | *-*-freebsd* )
653 SONAME_FLAG="-Wl,-soname,"
678 AC_SUBST(USE_SOVERSION)
679 AC_SUBST(USE_SOVERLINUX)
680 AC_SUBST(USE_SOVERSOLARIS)
681 AC_SUBST(USE_SOVERCYGWIN)
682 AC_SUBST(USE_MACVERSION)
683 AC_SUBST(USE_SOSYMLINKS)
684 AC_SUBST(SONAME_FLAG)
688 dnl ---------------------------------------------------------------------------
691 dnl Detects available C/C++ dependency tracking options
692 dnl ---------------------------------------------------------------------------
694 AC_DEFUN([AC_BAKEFILE_DEPS],
696 AC_MSG_CHECKING([for dependency tracking method])
699 if test "x$GCC" = "xyes"; then
702 case "${BAKEFILE_HOST}" in
704 dnl -cpp-precomp (the default) conflicts with -MMD option
705 dnl used by bk-deps (see also http://developer.apple.com/documentation/Darwin/Conceptual/PortingUnix/compiling/chapter_4_section_3.html)
706 DEPSFLAG_GCC="-no-cpp-precomp -MMD"
713 elif test "x$MWCC" = "xyes"; then
717 AC_MSG_RESULT([mwcc])
718 elif test "x$SUNCC" = "xyes"; then
721 DEPSFLAG_SUNCC="-xM1"
722 AC_MSG_RESULT([suncc])
724 AC_MSG_RESULT([none])
727 if test $DEPS_TRACKING = 1 ; then
728 AC_BAKEFILE_CREATE_FILE_BK_DEPS
732 AC_SUBST(DEPS_TRACKING)
735 dnl ---------------------------------------------------------------------------
736 dnl AC_BAKEFILE_CHECK_BASIC_STUFF
738 dnl Checks for presence of basic programs, such as C and C++ compiler, "ranlib"
740 dnl ---------------------------------------------------------------------------
742 AC_DEFUN([AC_BAKEFILE_CHECK_BASIC_STUFF],
751 AC_CHECK_TOOL(AR, ar, ar)
752 AC_CHECK_TOOL(STRIP, strip, :)
753 AC_CHECK_TOOL(NM, nm, :)
755 case ${BAKEFILE_HOST} in
757 dnl HP-UX install doesn't handle the "-d" switch so don't
759 INSTALL_DIR="mkdir -p"
761 *) INSTALL_DIR="$INSTALL -d"
764 AC_SUBST(INSTALL_DIR)
767 case ${BAKEFILE_HOST} in
768 *-*-cygwin* | *-*-mingw32* )
769 LDFLAGS_GUI="-mwindows"
771 AC_SUBST(LDFLAGS_GUI)
775 dnl ---------------------------------------------------------------------------
776 dnl AC_BAKEFILE_RES_COMPILERS
778 dnl Checks for presence of resource compilers for win32 or mac
779 dnl ---------------------------------------------------------------------------
781 AC_DEFUN([AC_BAKEFILE_RES_COMPILERS],
786 case ${BAKEFILE_HOST} in
787 *-*-cygwin* | *-*-mingw32* )
788 dnl Check for win32 resources compiler:
789 if test "$build" != "$host" ; then
790 RESCOMP=$host_alias-windres
792 AC_CHECK_PROG(RESCOMP, windres, windres, windres)
796 *-*-darwin* | powerpc-apple-macos* )
797 AC_CHECK_PROG(RESCOMP, Rez, Rez, /Developer/Tools/Rez)
798 AC_CHECK_PROG(SETFILE, SetFile, SetFile, /Developer/Tools/SetFile)
806 dnl ---------------------------------------------------------------------------
807 dnl AC_BAKEFILE_PRECOMP_HEADERS
809 dnl Check for precompiled headers support (GCC >= 3.4)
810 dnl ---------------------------------------------------------------------------
812 AC_DEFUN([AC_BAKEFILE_PRECOMP_HEADERS],
815 AC_ARG_ENABLE([precomp-headers],
816 AS_HELP_STRING([--disable-precomp-headers],
817 [don't use precompiled headers even if compiler can]),
818 [bk_use_pch="$enableval"])
822 if test "x$bk_use_pch" = "x" -o "x$bk_use_pch" = "xyes" ; then
823 if test "x$GCC" = "xyes"; then
824 dnl test if we have gcc-3.4:
825 AC_MSG_CHECKING([if the compiler supports precompiled headers])
828 #if !defined(__GNUC__) || !defined(__GNUC_MINOR__)
829 #error "no pch support"
832 #error "no pch support"
834 #if (__GNUC__ == 3) && \
835 ((!defined(__APPLE_CC__) && (__GNUC_MINOR__ < 4)) || \
836 ( defined(__APPLE_CC__) && (__GNUC_MINOR__ < 3)))
837 #error "no pch support"
847 if test $GCC_PCH = 1 ; then
848 AC_BAKEFILE_CREATE_FILE_BK_MAKE_PCH
859 dnl ---------------------------------------------------------------------------
860 dnl AC_BAKEFILE([autoconf_inc.m4 inclusion])
862 dnl To be used in configure.in of any project using Bakefile-generated mks
864 dnl Behaviour can be modified by setting following variables:
865 dnl BAKEFILE_CHECK_BASICS set to "no" if you don't want bakefile to
866 dnl to perform check for basic tools like ranlib
867 dnl BAKEFILE_HOST set this to override host detection, defaults
869 dnl BAKEFILE_FORCE_PLATFORM set to override platform detection
873 dnl AC_BAKEFILE([FOO(autoconf_inc.m4)])
875 dnl (replace FOO with m4_include above, aclocal would die otherwise)
876 dnl (yes, it's ugly, but thanks to a bug in aclocal, it's the only thing
878 dnl ---------------------------------------------------------------------------
880 AC_DEFUN([AC_BAKEFILE],
884 if test "x$BAKEFILE_HOST" = "x"; then
885 BAKEFILE_HOST="${host}"
888 if test "x$BAKEFILE_CHECK_BASICS" != "xno"; then
889 AC_BAKEFILE_CHECK_BASIC_STUFF
893 AC_BAKEFILE_PLATFORM_SPECIFICS
895 AC_BAKEFILE_SHARED_LD
896 AC_BAKEFILE_SHARED_VERSIONS
898 AC_BAKEFILE_RES_COMPILERS
900 BAKEFILE_BAKEFILE_M4_VERSION="0.1.9"
902 dnl includes autoconf_inc.m4:
905 if test "$BAKEFILE_AUTOCONF_INC_M4_VERSION" = "" ; then
906 AC_MSG_ERROR([No version found in autoconf_inc.m4 - bakefile macro was changed to take additional argument, perhaps configure.in wasn't updated (see the documentation)?])
909 if test "$BAKEFILE_BAKEFILE_M4_VERSION" != "$BAKEFILE_AUTOCONF_INC_M4_VERSION" ; then
910 AC_MSG_ERROR([Versions of Bakefile used to generate makefiles ($BAKEFILE_AUTOCONF_INC_M4_VERSION) and configure ($BAKEFILE_BAKEFILE_M4_VERSION) do not match.])
915 dnl ---------------------------------------------------------------------------
916 dnl Embedded copies of helper scripts follow:
917 dnl ---------------------------------------------------------------------------
919 AC_DEFUN([AC_BAKEFILE_CREATE_FILE_DLLAR_SH],
921 dnl ===================== dllar.sh begins here =====================
922 dnl (Created by merge-scripts.py from dllar.sh
923 dnl file do not edit here!)
928 # dllar - a tool to build both a .dll and an .a file
929 # from a set of object (.o) files for EMX/OS2.
931 # Written by Andrew Zabolotny, bit@freya.etu.ru
932 # Ported to Unix like shell by Stefan Neis, Stefan.Neis@t-online.de
934 # This script will accept a set of files on the command line.
935 # All the public symbols from the .o files will be exported into
936 # a .DEF file, then linker will be run (through gcc) against them to
937 # build a shared library consisting of all given .o files. All libraries
938 # (.a) will be first decompressed into component .o files then act as
939 # described above. You can optionally give a description (-d "description")
940 # which will be put into .DLL. To see the list of accepted options (as well
941 # as command-line format) simply run this program without options. The .DLL
942 # is built to be imported by name (there is no guarantee that new versions
943 # of the library you build will have same ordinals for same symbols).
945 # dllar is free software; you can redistribute it and/or modify
946 # it under the terms of the GNU General Public License as published by
947 # the Free Software Foundation; either version 2, or (at your option)
950 # dllar is distributed in the hope that it will be useful,
951 # but WITHOUT ANY WARRANTY; without even the implied warranty of
952 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
953 # GNU General Public License for more details.
955 # You should have received a copy of the GNU General Public License
956 # along with dllar; see the file COPYING. If not, write to the Free
957 # Software Foundation, 59 Temple Place - Suite 330, Boston, MA
960 # To successfuly run this program you will need:
961 # - Current drive should have LFN support (HPFS, ext2, network, etc)
962 # (Sometimes dllar generates filenames which won't fit 8.3 scheme)
964 # (used to build the .dll)
966 # (used to create .def file from .o files)
968 # (used to create .a file from .def file)
969 # - GNU text utilites (cat, sort, uniq)
970 # used to process emxexp output
971 # - GNU file utilities (mv, rm)
973 # - lxlite (optional, see flag below)
974 # (used for general .dll cleanup)
981 # basnam, variant of basename, which does _not_ remove the path, _iff_
982 # second argument (suffix to remove) is given
986 echo ${D}1 | sed 's/.*\\///' | sed 's/.*\\\\//'
989 echo ${D}1 | sed 's/'${D}2'${D}//'
992 echo "error in basnam ${D}*"
998 # Cleanup temporary files and output
1001 for i in ${D}inputFiles ; do
1004 rm -rf \`basnam ${D}i !\`
1011 # Kill result in case of failure as there is just to many stupid make/nmake
1012 # things out there which doesn't do this.
1013 if @<:@ ${D}# -eq 0 @:>@; then
1014 rm -f ${D}arcFile ${D}arcFile2 ${D}defFile ${D}dllFile
1018 # Print usage and exit script with rc=1.
1020 echo 'Usage: dllar.sh @<:@-o@<:@utput@:>@ output_file@:>@ @<:@-i@<:@mport@:>@ importlib_name@:>@'
1021 echo ' @<:@-name-mangler-script script.sh@:>@'
1022 echo ' @<:@-d@<:@escription@:>@ "dll descrption"@:>@ @<:@-cc "CC"@:>@ @<:@-f@<:@lags@:>@ "CFLAGS"@:>@'
1023 echo ' @<:@-ord@<:@inals@:>@@:>@ -ex@<:@clude@:>@ "symbol(s)"'
1024 echo ' @<:@-libf@<:@lags@:>@ "{INIT|TERM}{GLOBAL|INSTANCE}"@:>@ @<:@-nocrt@<:@dll@:>@@:>@ @<:@-nolxl@<:@ite@:>@@:>@'
1025 echo ' @<:@*.o@:>@ @<:@*.a@:>@'
1026 echo '*> "output_file" should have no extension.'
1027 echo ' If it has the .o, .a or .dll extension, it is automatically removed.'
1028 echo ' The import library name is derived from this and is set to "name".a,'
1029 echo ' unless overridden by -import'
1030 echo '*> "importlib_name" should have no extension.'
1031 echo ' If it has the .o, or .a extension, it is automatically removed.'
1032 echo ' This name is used as the import library name and may be longer and'
1033 echo ' more descriptive than the DLL name which has to follow the old '
1034 echo ' 8.3 convention of FAT.'
1035 echo '*> "script.sh may be given to override the output_file name by a'
1036 echo ' different name. It is mainly useful if the regular make process'
1037 echo ' of some package does not take into account OS/2 restriction of'
1038 echo ' DLL name lengths. It takes the importlib name as input and is'
1039 echo ' supposed to procude a shorter name as output. The script should'
1040 echo ' expect to get importlib_name without extension and should produce'
1041 echo ' a (max.) 8 letter name without extension.'
1042 echo '*> "cc" is used to use another GCC executable. (default: gcc.exe)'
1043 echo '*> "flags" should be any set of valid GCC flags. (default: -s -Zcrtdll)'
1044 echo ' These flags will be put at the start of GCC command line.'
1045 echo '*> -ord@<:@inals@:>@ tells dllar to export entries by ordinals. Be careful.'
1046 echo '*> -ex@<:@clude@:>@ defines symbols which will not be exported. You can define'
1047 echo ' multiple symbols, for example -ex "myfunc yourfunc _GLOBAL*".'
1048 echo ' If the last character of a symbol is "*", all symbols beginning'
1049 echo ' with the prefix before "*" will be exclude, (see _GLOBAL* above).'
1050 echo '*> -libf@<:@lags@:>@ can be used to add INITGLOBAL/INITINSTANCE and/or'
1051 echo ' TERMGLOBAL/TERMINSTANCE flags to the dynamically-linked library.'
1052 echo '*> -nocrt@<:@dll@:>@ switch will disable linking the library against emx''s'
1053 echo ' C runtime DLLs.'
1054 echo '*> -nolxl@<:@ite@:>@ switch will disable running lxlite on the resulting DLL.'
1055 echo '*> All other switches (for example -L./ or -lmylib) will be passed'
1056 echo ' unchanged to GCC at the end of command line.'
1057 echo '*> If you create a DLL from a library and you do not specify -o,'
1058 echo ' the basename for DLL and import library will be set to library name,'
1059 echo ' the initial library will be renamed to 'name'_s.a (_s for static)'
1060 echo ' i.e. "dllar gcc.a" will create gcc.dll and gcc.a, and the initial'
1061 echo ' library will be renamed into gcc_s.a.'
1064 echo ' dllar -o gcc290.dll libgcc.a -d "GNU C runtime library" -ord'
1065 echo ' -ex "__main __ctordtor*" -libf "INITINSTANCE TERMINSTANCE"'
1070 # Execute a command.
1071 # If exit code of the commnad <> 0 CleanUp() is called and we'll exit the script.
1072 # @Uses Whatever CleanUp() uses.
1078 if @<:@ ${D}rcCmd -ne 0 @:>@; then
1079 echo "command failed, exit code="${D}rcCmd
1094 CFLAGS="-s -Zcrtdll"
1096 EXPORT_BY_ORDINALS=0
1105 curDirS=${D}{curDirS}"/"
1111 while @<:@ ${D}1 @:>@; do
1114 EXPORT_BY_ORDINALS=1;
1124 -name-mangler-script)
1145 exclude_symbols=${D}{exclude_symbols}${D}1" "
1149 library_flags=${D}{library_flags}${D}1" "
1168 EXTRA_CFLAGS=${D}{EXTRA_CFLAGS}" "${D}1
1171 EXTRA_CFLAGS="${D}{EXTRA_CFLAGS} \`basnam ${D}1 .dll\`"
1172 if @<:@ ${D}omfLinking -eq 1 @:>@; then
1173 EXTRA_CFLAGS="${D}{EXTRA_CFLAGS}.lib"
1175 EXTRA_CFLAGS="${D}{EXTRA_CFLAGS}.a"
1180 if @<:@ ${D}libsToLink -ne 0 @:>@; then
1181 EXTRA_CFLAGS=${D}{EXTRA_CFLAGS}" "${D}1
1183 for file in ${D}1 ; do
1184 if @<:@ -f ${D}file @:>@; then
1185 inputFiles="${D}{inputFiles} ${D}file"
1189 if @<:@ ${D}found -eq 0 @:>@; then
1190 echo "ERROR: No file(s) found: "${D}1
1197 done # iterate cmdline words
1200 if @<:@ -z "${D}inputFiles" @:>@; then
1201 echo "dllar: no input files"
1205 # Now extract all .o files from .a files
1207 for file in ${D}inputFiles ; do
1218 EXTRA_CFLAGS="${D}EXTRA_CFLAGS -Zomf"
1223 dirname=\`basnam ${D}file ${D}suffix\`"_%"
1225 if @<:@ ${D}? -ne 0 @:>@; then
1226 echo "Failed to create subdirectory ./${D}dirname"
1230 # Append '!' to indicate archive
1231 newInputFiles="${D}newInputFiles ${D}{dirname}!"
1232 doCommand "cd ${D}dirname; ${D}AR x ../${D}file"
1235 for subfile in ${D}dirname/*.o* ; do
1236 if @<:@ -f ${D}subfile @:>@; then
1238 if @<:@ -s ${D}subfile @:>@; then
1239 # FIXME: This should be: is file size > 32 byte, _not_ > 0!
1240 newInputFiles="${D}newInputFiles ${D}subfile"
1244 if @<:@ ${D}found -eq 0 @:>@; then
1245 echo "WARNING: there are no files in archive \\'${D}file\\'"
1249 newInputFiles="${D}{newInputFiles} ${D}file"
1253 inputFiles="${D}newInputFiles"
1255 # Output filename(s).
1257 if @<:@ -z ${D}outFile @:>@; then
1259 set outFile ${D}inputFiles; outFile=${D}2
1262 # If it is an archive, remove the '!' and the '_%' suffixes
1265 outFile=\`basnam ${D}outFile _%!\`
1272 outFile=\`basnam ${D}outFile .dll\`
1275 outFile=\`basnam ${D}outFile .DLL\`
1278 outFile=\`basnam ${D}outFile .o\`
1281 outFile=\`basnam ${D}outFile .obj\`
1284 outFile=\`basnam ${D}outFile .a\`
1287 outFile=\`basnam ${D}outFile .lib\`
1292 case ${D}outimpFile in
1294 outimpFile=\`basnam ${D}outimpFile .a\`
1297 outimpFile=\`basnam ${D}outimpFile .lib\`
1302 if @<:@ -z ${D}outimpFile @:>@; then
1303 outimpFile=${D}outFile
1305 defFile="${D}{outFile}.def"
1306 arcFile="${D}{outimpFile}.a"
1307 arcFile2="${D}{outimpFile}.lib"
1309 #create ${D}dllFile as something matching 8.3 restrictions,
1310 if @<:@ -z ${D}renameScript @:>@ ; then
1311 dllFile="${D}outFile"
1313 dllFile=\`${D}renameScript ${D}outimpFile\`
1316 if @<:@ ${D}do_backup -ne 0 @:>@ ; then
1317 if @<:@ -f ${D}arcFile @:>@ ; then
1318 doCommand "mv ${D}arcFile ${D}{outFile}_s.a"
1320 if @<:@ -f ${D}arcFile2 @:>@ ; then
1321 doCommand "mv ${D}arcFile2 ${D}{outFile}_s.lib"
1325 # Extract public symbols from all the object files.
1326 tmpdefFile=${D}{defFile}_%
1327 rm -f ${D}tmpdefFile
1328 for file in ${D}inputFiles ; do
1333 doCommand "emxexp -u ${D}file >> ${D}tmpdefFile"
1338 # Create the def file.
1340 echo "LIBRARY \`basnam ${D}dllFile\` ${D}library_flags" >> ${D}defFile
1341 dllFile="${D}{dllFile}.dll"
1342 if @<:@ ! -z ${D}description @:>@; then
1343 echo "DESCRIPTION \\"${D}{description}\\"" >> ${D}defFile
1345 echo "EXPORTS" >> ${D}defFile
1347 doCommand "cat ${D}tmpdefFile | sort.exe | uniq.exe > ${D}{tmpdefFile}%"
1348 grep -v "^ *;" < ${D}{tmpdefFile}% | grep -v "^ *${D}" >${D}tmpdefFile
1350 # Checks if the export is ok or not.
1351 for word in ${D}exclude_symbols; do
1352 grep -v ${D}word < ${D}tmpdefFile >${D}{tmpdefFile}%
1353 mv ${D}{tmpdefFile}% ${D}tmpdefFile
1357 if @<:@ ${D}EXPORT_BY_ORDINALS -ne 0 @:>@; then
1358 sed "=" < ${D}tmpdefFile | \\
1362 s/^\\(@<:@0-9@:>@\\+\\)\\(@<:@^;@:>@*\\)\\(;.*\\)\\?/\\2 @\\1 NONAME/
1364 ' > ${D}{tmpdefFile}%
1365 grep -v "^ *${D}" < ${D}{tmpdefFile}% > ${D}tmpdefFile
1367 rm -f ${D}{tmpdefFile}%
1369 cat ${D}tmpdefFile >> ${D}defFile
1370 rm -f ${D}tmpdefFile
1372 # Do linking, create implib, and apply lxlite.
1374 for file in ${D}inputFiles ; do
1379 gccCmdl="${D}gccCmdl ${D}file"
1383 doCommand "${D}CC ${D}CFLAGS -Zdll -o ${D}dllFile ${D}defFile ${D}gccCmdl ${D}EXTRA_CFLAGS"
1384 touch "${D}{outFile}.dll"
1386 doCommand "emximp -o ${D}arcFile ${D}defFile"
1387 if @<:@ ${D}flag_USE_LXLITE -ne 0 @:>@; then
1389 if @<:@ ${D}EXPORT_BY_ORDINALS -ne 0 @:>@; then
1392 doCommand "lxlite -cs -t: -mrn -mln ${D}add_flags ${D}dllFile"
1394 doCommand "emxomf -s -l ${D}arcFile"
1400 dnl ===================== dllar.sh ends here =====================
1403 AC_DEFUN([AC_BAKEFILE_CREATE_FILE_BK_DEPS],
1405 dnl ===================== bk-deps begins here =====================
1406 dnl (Created by merge-scripts.py from bk-deps
1407 dnl file do not edit here!)
1412 # This script is part of Bakefile (http://bakefile.sourceforge.net) autoconf
1413 # script. It is used to track C/C++ files dependencies in portable way.
1415 # Permission is given to use this file in any way.
1417 DEPSMODE=${DEPSMODE}
1419 DEPSFLAG_GCC="${DEPSFLAG_GCC}"
1420 DEPSFLAG_MWCC="${DEPSFLAG_MWCC}"
1421 DEPSFLAG_SUNCC="${DEPSFLAG_SUNCC}"
1423 mkdir -p ${D}DEPSDIR
1425 if test ${D}DEPSMODE = gcc ; then
1426 ${D}* ${D}{DEPSFLAG_GCC}
1428 if test ${D}{status} != 0 ; then
1431 # move created file to the location we want it in:
1432 while test ${D}# -gt 0; do
1446 depfile=\`basename ${D}srcfile | sed -e 's/\\..*${D}/.d/g'\`
1447 depobjname=\`echo ${D}depfile |sed -e 's/\\.d/.o/g'\`
1448 if test -f ${D}depfile ; then
1449 sed -e "s,${D}depobjname:,${D}objfile:,g" ${D}depfile >${D}{DEPSDIR}/${D}{objfile}.d
1452 depfile=\`basename ${D}objfile | sed -e 's/\\..*${D}/.d/g'\`
1453 if test -f ${D}depfile ; then
1454 sed -e "/^${D}objfile/!s,${D}depobjname:,${D}objfile:,g" ${D}depfile >${D}{DEPSDIR}/${D}{objfile}.d
1459 elif test ${D}DEPSMODE = mwcc ; then
1462 if test ${D}{status} != 0 ; then
1465 # Run mwcc again with -MM and redirect into the dep file we want
1466 # NOTE: We can't use shift here because we need ${D}* to be valid
1468 for arg in ${D}* ; do
1469 if test "${D}prevarg" = "-o"; then
1482 ${D}* ${D}DEPSFLAG_MWCC >${D}{DEPSDIR}/${D}{objfile}.d
1484 elif test ${D}DEPSMODE = suncc; then
1486 # Run compiler again with deps flag and redirect into the dep file.
1487 # It doesn't work if the '-o FILE' option is used, but without it the
1488 # dependency file will contain the wrong name for the object. So it is
1489 # removed from the command line, and the dep file is fixed with sed.
1491 while test ${D}# -gt 0; do
1498 eval arg${D}#=\\${D}1
1499 cmd="${D}cmd \\${D}arg${D}#"
1504 eval "${D}cmd ${D}DEPSFLAG_SUNCC" | sed "s|.*:|${D}objfile:|" >${D}{DEPSDIR}/${D}{objfile}.d
1511 dnl ===================== bk-deps ends here =====================
1514 AC_DEFUN([AC_BAKEFILE_CREATE_FILE_SHARED_LD_SH],
1516 dnl ===================== shared-ld-sh begins here =====================
1517 dnl (Created by merge-scripts.py from shared-ld-sh
1518 dnl file do not edit here!)
1520 cat <<EOF >shared-ld-sh
1522 #-----------------------------------------------------------------------------
1523 #-- Name: distrib/mac/shared-ld-sh
1524 #-- Purpose: Link a mach-o dynamic shared library for Darwin / Mac OS X
1525 #-- Author: Gilles Depeyrot
1526 #-- Copyright: (c) 2002 Gilles Depeyrot
1527 #-- Licence: any use permitted
1528 #-----------------------------------------------------------------------------
1533 linking_flag="-dynamiclib"
1534 ldargs="-r -keep_private_externs -nostdlib"
1536 while test ${D}# -gt 0; do
1543 -o|-compatibility_version|-current_version|-framework|-undefined|-install_name)
1544 # collect these options and values
1545 args="${D}{args} ${D}1 ${D}2"
1550 # collect these load args
1551 ldargs="${D}{ldargs} ${D}1"
1554 -l*|-L*|-flat_namespace|-headerpad_max_install_names)
1555 # collect these options
1556 args="${D}{args} ${D}1"
1559 -dynamiclib|-bundle)
1560 linking_flag="${D}1"
1564 echo "shared-ld: unhandled option '${D}1'"
1568 *.o | *.a | *.dylib)
1569 # collect object files
1570 objects="${D}{objects} ${D}1"
1574 echo "shared-ld: unhandled argument '${D}1'"
1585 # Link one module containing all the others
1587 if test ${D}{verbose} = 1; then
1588 echo "c++ ${D}{ldargs} ${D}{objects} -o master.${D}${D}.o"
1590 c++ ${D}{ldargs} ${D}{objects} -o master.${D}${D}.o
1594 # Link the shared library from the single module created, but only if the
1595 # previous command didn't fail:
1597 if test ${D}{status} = 0; then
1598 if test ${D}{verbose} = 1; then
1599 echo "c++ ${D}{linking_flag} master.${D}${D}.o ${D}{args}"
1601 c++ ${D}{linking_flag} master.${D}${D}.o ${D}{args}
1606 # Remove intermediate module
1608 rm -f master.${D}${D}.o
1612 dnl ===================== shared-ld-sh ends here =====================
1615 AC_DEFUN([AC_BAKEFILE_CREATE_FILE_BK_MAKE_PCH],
1617 dnl ===================== bk-make-pch begins here =====================
1618 dnl (Created by merge-scripts.py from bk-make-pch
1619 dnl file do not edit here!)
1621 cat <<EOF >bk-make-pch
1624 # This script is part of Bakefile (http://bakefile.sourceforge.net) autoconf
1625 # script. It is used to generated precompiled headers.
1627 # Permission is given to use this file in any way.
1636 while test ${D}{#} -gt 0; do
1639 incdir=\`echo ${D}{1} | sed -e 's/-I\\(.*\\)/\\1/g'\`
1640 if test "x${D}{headerfile}" = "x" -a -f "${D}{incdir}/${D}{header}" ; then
1641 headerfile="${D}{incdir}/${D}{header}"
1645 compiler="${D}{compiler} ${D}{1}"
1649 if test "x${D}{headerfile}" = "x" ; then
1650 echo "error: can't find header ${D}{header} in include paths" >2
1652 if test -f ${D}{outfile} ; then
1655 mkdir -p \`dirname ${D}{outfile}\`
1657 depsfile=".deps/\`echo ${D}{outfile} | tr '/.' '__'\`.d"
1659 # can do this because gcc is >= 3.4:
1660 ${D}{compiler} -o ${D}{outfile} -MMD -MF "${D}{depsfile}" "${D}{headerfile}"
1664 dnl ===================== bk-make-pch ends here =====================
1668 dnl AM_PATH_CPPUNIT(MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
1670 AC_DEFUN(AM_PATH_CPPUNIT,
1673 AC_ARG_WITH(cppunit-prefix,[ --with-cppunit-prefix=PFX Prefix where CppUnit is installed (optional)],
1674 cppunit_config_prefix="$withval", cppunit_config_prefix="")
1675 AC_ARG_WITH(cppunit-exec-prefix,[ --with-cppunit-exec-prefix=PFX Exec prefix where CppUnit is installed (optional)],
1676 cppunit_config_exec_prefix="$withval", cppunit_config_exec_prefix="")
1678 if test x$cppunit_config_exec_prefix != x ; then
1679 cppunit_config_args="$cppunit_config_args --exec-prefix=$cppunit_config_exec_prefix"
1680 if test x${CPPUNIT_CONFIG+set} != xset ; then
1681 CPPUNIT_CONFIG=$cppunit_config_exec_prefix/bin/cppunit-config
1684 if test x$cppunit_config_prefix != x ; then
1685 cppunit_config_args="$cppunit_config_args --prefix=$cppunit_config_prefix"
1686 if test x${CPPUNIT_CONFIG+set} != xset ; then
1687 CPPUNIT_CONFIG=$cppunit_config_prefix/bin/cppunit-config
1691 AC_PATH_PROG(CPPUNIT_CONFIG, cppunit-config, no)
1692 cppunit_version_min=$1
1694 AC_MSG_CHECKING(for Cppunit - version >= $cppunit_version_min)
1696 if test "$CPPUNIT_CONFIG" = "no" ; then
1699 CPPUNIT_CFLAGS=`$CPPUNIT_CONFIG --cflags`
1700 CPPUNIT_LIBS=`$CPPUNIT_CONFIG --libs`
1701 cppunit_version=`$CPPUNIT_CONFIG --version`
1703 cppunit_major_version=`echo $cppunit_version | \
1704 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
1705 cppunit_minor_version=`echo $cppunit_version | \
1706 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
1707 cppunit_micro_version=`echo $cppunit_version | \
1708 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
1710 cppunit_major_min=`echo $cppunit_version_min | \
1711 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
1712 cppunit_minor_min=`echo $cppunit_version_min | \
1713 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
1714 cppunit_micro_min=`echo $cppunit_version_min | \
1715 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
1717 cppunit_version_proper=`expr \
1718 $cppunit_major_version \> $cppunit_major_min \| \
1719 $cppunit_major_version \= $cppunit_major_min \& \
1720 $cppunit_minor_version \> $cppunit_minor_min \| \
1721 $cppunit_major_version \= $cppunit_major_min \& \
1722 $cppunit_minor_version \= $cppunit_minor_min \& \
1723 $cppunit_micro_version \>= $cppunit_micro_min `
1725 if test "$cppunit_version_proper" = "1" ; then
1726 AC_MSG_RESULT([$cppunit_major_version.$cppunit_minor_version.$cppunit_micro_version])
1733 if test "x$no_cppunit" = x ; then
1734 ifelse([$2], , :, [$2])
1738 ifelse([$3], , :, [$3])
1741 AC_SUBST(CPPUNIT_CFLAGS)
1742 AC_SUBST(CPPUNIT_LIBS)
1748 # Configure paths for GTK+
1749 # Owen Taylor 1997-2001
1751 dnl AM_PATH_GTK_2_0([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]])
1752 dnl Test for GTK+, and define GTK_CFLAGS and GTK_LIBS, if gthread is specified in MODULES,
1753 dnl pass to pkg-config
1755 AC_DEFUN([AM_PATH_GTK_2_0],
1757 dnl Get the cflags and libraries from pkg-config
1759 AC_ARG_ENABLE(gtktest, [ --disable-gtktest do not try to compile and run a test GTK+ program],
1760 , enable_gtktest=yes)
1762 pkg_config_args=gtk+-2.0
1767 pkg_config_args="$pkg_config_args gthread-2.0"
1774 AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
1776 if test x$PKG_CONFIG != xno ; then
1777 if pkg-config --atleast-pkgconfig-version 0.7 ; then
1780 echo "*** pkg-config too old; version 0.7 or better required."
1788 min_gtk_version=ifelse([$1], ,2.0.0,$1)
1789 AC_MSG_CHECKING(for GTK+ - version >= $min_gtk_version)
1791 if test x$PKG_CONFIG != xno ; then
1792 ## don't try to run the test against uninstalled libtool libs
1793 if $PKG_CONFIG --uninstalled $pkg_config_args; then
1794 echo "Will use uninstalled version of GTK+ found in PKG_CONFIG_PATH"
1798 if $PKG_CONFIG --atleast-version $min_gtk_version $pkg_config_args; then
1805 if test x"$no_gtk" = x ; then
1806 GTK_CFLAGS=`$PKG_CONFIG $pkg_config_args --cflags`
1807 GTK_LIBS=`$PKG_CONFIG $pkg_config_args --libs`
1808 gtk_config_major_version=`$PKG_CONFIG --modversion gtk+-2.0 | \
1809 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
1810 gtk_config_minor_version=`$PKG_CONFIG --modversion gtk+-2.0 | \
1811 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
1812 gtk_config_micro_version=`$PKG_CONFIG --modversion gtk+-2.0 | \
1813 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
1814 if test "x$enable_gtktest" = "xyes" ; then
1815 ac_save_CFLAGS="$CFLAGS"
1816 ac_save_LIBS="$LIBS"
1817 CFLAGS="$CFLAGS $GTK_CFLAGS"
1818 LIBS="$GTK_LIBS $LIBS"
1820 dnl Now check if the installed GTK+ is sufficiently new. (Also sanity
1821 dnl checks the results of pkg-config to some extent)
1825 #include <gtk/gtk.h>
1832 int major, minor, micro;
1835 system ("touch conf.gtktest");
1837 /* HP/UX 9 (%@#!) writes to sscanf strings */
1838 tmp_version = g_strdup("$min_gtk_version");
1839 if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) {
1840 printf("%s, bad version string\n", "$min_gtk_version");
1844 if ((gtk_major_version != $gtk_config_major_version) ||
1845 (gtk_minor_version != $gtk_config_minor_version) ||
1846 (gtk_micro_version != $gtk_config_micro_version))
1848 printf("\n*** 'pkg-config --modversion gtk+-2.0' returned %d.%d.%d, but GTK+ (%d.%d.%d)\n",
1849 $gtk_config_major_version, $gtk_config_minor_version, $gtk_config_micro_version,
1850 gtk_major_version, gtk_minor_version, gtk_micro_version);
1851 printf ("*** was found! If pkg-config was correct, then it is best\n");
1852 printf ("*** to remove the old version of GTK+. You may also be able to fix the error\n");
1853 printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n");
1854 printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n");
1855 printf("*** required on your system.\n");
1856 printf("*** If pkg-config was wrong, set the environment variable PKG_CONFIG_PATH\n");
1857 printf("*** to point to the correct configuration files\n");
1859 else if ((gtk_major_version != GTK_MAJOR_VERSION) ||
1860 (gtk_minor_version != GTK_MINOR_VERSION) ||
1861 (gtk_micro_version != GTK_MICRO_VERSION))
1863 printf("*** GTK+ header files (version %d.%d.%d) do not match\n",
1864 GTK_MAJOR_VERSION, GTK_MINOR_VERSION, GTK_MICRO_VERSION);
1865 printf("*** library (version %d.%d.%d)\n",
1866 gtk_major_version, gtk_minor_version, gtk_micro_version);
1870 if ((gtk_major_version > major) ||
1871 ((gtk_major_version == major) && (gtk_minor_version > minor)) ||
1872 ((gtk_major_version == major) && (gtk_minor_version == minor) && (gtk_micro_version >= micro)))
1878 printf("\n*** An old version of GTK+ (%d.%d.%d) was found.\n",
1879 gtk_major_version, gtk_minor_version, gtk_micro_version);
1880 printf("*** You need a version of GTK+ newer than %d.%d.%d. The latest version of\n",
1881 major, minor, micro);
1882 printf("*** GTK+ is always available from ftp://ftp.gtk.org.\n");
1884 printf("*** If you have already installed a sufficiently new version, this error\n");
1885 printf("*** probably means that the wrong copy of the pkg-config shell script is\n");
1886 printf("*** being found. The easiest way to fix this is to remove the old version\n");
1887 printf("*** of GTK+, but you can also set the PKG_CONFIG environment to point to the\n");
1888 printf("*** correct copy of pkg-config. (In this case, you will have to\n");
1889 printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n");
1890 printf("*** so that the correct libraries are found at run-time))\n");
1895 ],, no_gtk=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
1896 CFLAGS="$ac_save_CFLAGS"
1897 LIBS="$ac_save_LIBS"
1900 if test "x$no_gtk" = x ; then
1901 AC_MSG_RESULT(yes (version $gtk_config_major_version.$gtk_config_minor_version.$gtk_config_micro_version))
1902 ifelse([$2], , :, [$2])
1905 if test "$PKG_CONFIG" = "no" ; then
1906 echo "*** A new enough version of pkg-config was not found."
1907 echo "*** See http://pkgconfig.sourceforge.net"
1909 if test -f conf.gtktest ; then
1912 echo "*** Could not run GTK+ test program, checking why..."
1913 ac_save_CFLAGS="$CFLAGS"
1914 ac_save_LIBS="$LIBS"
1915 CFLAGS="$CFLAGS $GTK_CFLAGS"
1916 LIBS="$LIBS $GTK_LIBS"
1918 #include <gtk/gtk.h>
1920 ], [ return ((gtk_major_version) || (gtk_minor_version) || (gtk_micro_version)); ],
1921 [ echo "*** The test program compiled, but did not run. This usually means"
1922 echo "*** that the run-time linker is not finding GTK+ or finding the wrong"
1923 echo "*** version of GTK+. If it is not finding GTK+, you'll need to set your"
1924 echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
1925 echo "*** to the installed location Also, make sure you have run ldconfig if that"
1926 echo "*** is required on your system"
1928 echo "*** If you have an old version installed, it is best to remove it, although"
1929 echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" ],
1930 [ echo "*** The test program failed to compile or link. See the file config.log for the"
1931 echo "*** exact error that occured. This usually means GTK+ is incorrectly installed."])
1932 CFLAGS="$ac_save_CFLAGS"
1933 LIBS="$ac_save_LIBS"
1938 ifelse([$3], , :, [$3])
1940 AC_SUBST(GTK_CFLAGS)
1945 # Configure paths for GTK+
1946 # Owen Taylor 97-11-3
1948 dnl AM_PATH_GTK([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]])
1949 dnl Test for GTK, and define GTK_CFLAGS and GTK_LIBS
1951 AC_DEFUN(AM_PATH_GTK,
1953 dnl Get the cflags and libraries from the gtk-config script
1955 AC_ARG_WITH(gtk-prefix,[ --with-gtk-prefix=PFX Prefix where GTK is installed (optional)],
1956 gtk_config_prefix="$withval", gtk_config_prefix="")
1957 AC_ARG_WITH(gtk-exec-prefix,[ --with-gtk-exec-prefix=PFX Exec prefix where GTK is installed (optional)],
1958 gtk_config_exec_prefix="$withval", gtk_config_exec_prefix="")
1959 AC_ARG_ENABLE(gtktest, [ --disable-gtktest Do not try to compile and run a test GTK program],
1960 , enable_gtktest=yes)
1966 gtk_config_args="$gtk_config_args gthread"
1971 if test x$gtk_config_exec_prefix != x ; then
1972 gtk_config_args="$gtk_config_args --exec-prefix=$gtk_config_exec_prefix"
1973 if test x${GTK_CONFIG+set} != xset ; then
1974 GTK_CONFIG=$gtk_config_exec_prefix/bin/gtk-config
1977 if test x$gtk_config_prefix != x ; then
1978 gtk_config_args="$gtk_config_args --prefix=$gtk_config_prefix"
1979 if test x${GTK_CONFIG+set} != xset ; then
1980 GTK_CONFIG=$gtk_config_prefix/bin/gtk-config
1984 AC_PATH_PROG(GTK_CONFIG, gtk-config, no)
1985 min_gtk_version=ifelse([$1], ,0.99.7,$1)
1986 AC_MSG_CHECKING(for GTK - version >= $min_gtk_version)
1988 if test "$GTK_CONFIG" = "no" ; then
1991 GTK_CFLAGS=`$GTK_CONFIG $gtk_config_args --cflags`
1992 GTK_LIBS=`$GTK_CONFIG $gtk_config_args --libs`
1993 gtk_config_major_version=`$GTK_CONFIG $gtk_config_args --version | \
1994 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
1995 gtk_config_minor_version=`$GTK_CONFIG $gtk_config_args --version | \
1996 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
1997 gtk_config_micro_version=`$GTK_CONFIG $gtk_config_args --version | \
1998 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
1999 if test "x$enable_gtktest" = "xyes" ; then
2000 ac_save_CFLAGS="$CFLAGS"
2001 ac_save_LIBS="$LIBS"
2002 CFLAGS="$CFLAGS $GTK_CFLAGS"
2003 LIBS="$GTK_LIBS $LIBS"
2005 dnl Now check if the installed GTK is sufficiently new. (Also sanity
2006 dnl checks the results of gtk-config to some extent
2010 #include <gtk/gtk.h>
2017 int major, minor, micro;
2020 system ("touch conf.gtktest");
2022 /* HP/UX 9 (%@#!) writes to sscanf strings */
2023 tmp_version = g_strdup("$min_gtk_version");
2024 if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) {
2025 printf("%s, bad version string\n", "$min_gtk_version");
2029 if ((gtk_major_version != $gtk_config_major_version) ||
2030 (gtk_minor_version != $gtk_config_minor_version) ||
2031 (gtk_micro_version != $gtk_config_micro_version))
2033 printf("\n*** 'gtk-config --version' returned %d.%d.%d, but GTK+ (%d.%d.%d)\n",
2034 $gtk_config_major_version, $gtk_config_minor_version, $gtk_config_micro_version,
2035 gtk_major_version, gtk_minor_version, gtk_micro_version);
2036 printf ("*** was found! If gtk-config was correct, then it is best\n");
2037 printf ("*** to remove the old version of GTK+. You may also be able to fix the error\n");
2038 printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n");
2039 printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n");
2040 printf("*** required on your system.\n");
2041 printf("*** If gtk-config was wrong, set the environment variable GTK_CONFIG\n");
2042 printf("*** to point to the correct copy of gtk-config, and remove the file config.cache\n");
2043 printf("*** before re-running configure\n");
2045 #if defined (GTK_MAJOR_VERSION) && defined (GTK_MINOR_VERSION) && defined (GTK_MICRO_VERSION)
2046 else if ((gtk_major_version != GTK_MAJOR_VERSION) ||
2047 (gtk_minor_version != GTK_MINOR_VERSION) ||
2048 (gtk_micro_version != GTK_MICRO_VERSION))
2050 printf("*** GTK+ header files (version %d.%d.%d) do not match\n",
2051 GTK_MAJOR_VERSION, GTK_MINOR_VERSION, GTK_MICRO_VERSION);
2052 printf("*** library (version %d.%d.%d)\n",
2053 gtk_major_version, gtk_minor_version, gtk_micro_version);
2055 #endif /* defined (GTK_MAJOR_VERSION) ... */
2058 if ((gtk_major_version > major) ||
2059 ((gtk_major_version == major) && (gtk_minor_version > minor)) ||
2060 ((gtk_major_version == major) && (gtk_minor_version == minor) && (gtk_micro_version >= micro)))
2066 printf("\n*** An old version of GTK+ (%d.%d.%d) was found.\n",
2067 gtk_major_version, gtk_minor_version, gtk_micro_version);
2068 printf("*** You need a version of GTK+ newer than %d.%d.%d. The latest version of\n",
2069 major, minor, micro);
2070 printf("*** GTK+ is always available from ftp://ftp.gtk.org.\n");
2072 printf("*** If you have already installed a sufficiently new version, this error\n");
2073 printf("*** probably means that the wrong copy of the gtk-config shell script is\n");
2074 printf("*** being found. The easiest way to fix this is to remove the old version\n");
2075 printf("*** of GTK+, but you can also set the GTK_CONFIG environment to point to the\n");
2076 printf("*** correct copy of gtk-config. (In this case, you will have to\n");
2077 printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n");
2078 printf("*** so that the correct libraries are found at run-time))\n");
2083 ],, no_gtk=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
2084 CFLAGS="$ac_save_CFLAGS"
2085 LIBS="$ac_save_LIBS"
2088 if test "x$no_gtk" = x ; then
2090 ifelse([$2], , :, [$2])
2093 if test "$GTK_CONFIG" = "no" ; then
2094 echo "*** The gtk-config script installed by GTK could not be found"
2095 echo "*** If GTK was installed in PREFIX, make sure PREFIX/bin is in"
2096 echo "*** your path, or set the GTK_CONFIG environment variable to the"
2097 echo "*** full path to gtk-config."
2099 if test -f conf.gtktest ; then
2102 echo "*** Could not run GTK test program, checking why..."
2103 CFLAGS="$CFLAGS $GTK_CFLAGS"
2104 LIBS="$LIBS $GTK_LIBS"
2106 #include <gtk/gtk.h>
2108 ], [ return ((gtk_major_version) || (gtk_minor_version) || (gtk_micro_version)); ],
2109 [ echo "*** The test program compiled, but did not run. This usually means"
2110 echo "*** that the run-time linker is not finding GTK or finding the wrong"
2111 echo "*** version of GTK. If it is not finding GTK, you'll need to set your"
2112 echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
2113 echo "*** to the installed location Also, make sure you have run ldconfig if that"
2114 echo "*** is required on your system"
2116 echo "*** If you have an old version installed, it is best to remove it, although"
2117 echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"
2119 echo "*** If you have a RedHat 5.0 system, you should remove the GTK package that"
2120 echo "*** came with the system with the command"
2122 echo "*** rpm --erase --nodeps gtk gtk-devel" ],
2123 [ echo "*** The test program failed to compile or link. See the file config.log for the"
2124 echo "*** exact error that occured. This usually means GTK was incorrectly installed"
2125 echo "*** or that you have moved GTK since it was installed. In the latter case, you"
2126 echo "*** may want to edit the gtk-config script: $GTK_CONFIG" ])
2127 CFLAGS="$ac_save_CFLAGS"
2128 LIBS="$ac_save_LIBS"
2133 ifelse([$3], , :, [$3])
2135 AC_SUBST(GTK_CFLAGS)
2141 dnl PKG_CHECK_MODULES(GSTUFF, gtk+-2.0 >= 1.3 glib = 1.3.4, action-if, action-not)
2142 dnl defines GSTUFF_LIBS, GSTUFF_CFLAGS, see pkg-config man page
2143 dnl also defines GSTUFF_PKG_ERRORS on error
2144 AC_DEFUN(PKG_CHECK_MODULES, [
2147 if test -z "$PKG_CONFIG"; then
2148 AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
2151 if test "$PKG_CONFIG" = "no" ; then
2152 echo "*** The pkg-config script could not be found. Make sure it is"
2153 echo "*** in your path, or set the PKG_CONFIG environment variable"
2154 echo "*** to the full path to pkg-config."
2155 echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config."
2157 PKG_CONFIG_MIN_VERSION=0.9.0
2158 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
2159 AC_MSG_CHECKING(for $2)
2161 if $PKG_CONFIG --exists "$2" ; then
2165 AC_MSG_CHECKING($1_CFLAGS)
2166 $1_CFLAGS=`$PKG_CONFIG --cflags "$2"`
2167 AC_MSG_RESULT($$1_CFLAGS)
2169 AC_MSG_CHECKING($1_LIBS)
2170 $1_LIBS=`$PKG_CONFIG --libs "$2"`
2171 AC_MSG_RESULT($$1_LIBS)
2175 ## If we have a custom action on failure, don't print errors, but
2176 ## do set a variable so people can do so.
2177 $1_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"`
2178 ifelse([$4], ,echo $$1_PKG_ERRORS,)
2184 echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer."
2185 echo "*** See http://www.freedesktop.org/software/pkgconfig"
2189 if test $succeeded = yes; then
2190 ifelse([$3], , :, [$3])
2192 ifelse([$4], , AC_MSG_ERROR([Library requirements ($2) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them.]), [$4])
2198 # Configure paths for SDL
2199 # Sam Lantinga 9/21/99
2200 # stolen from Manish Singh
2201 # stolen back from Frank Belew
2202 # stolen from Manish Singh
2203 # Shamelessly stolen from Owen Taylor
2205 dnl AM_PATH_SDL([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
2206 dnl Test for SDL, and define SDL_CFLAGS and SDL_LIBS
2208 AC_DEFUN([AM_PATH_SDL],
2210 dnl Get the cflags and libraries from the sdl-config script
2212 AC_ARG_WITH(sdl-prefix,[ --with-sdl-prefix=PFX Prefix where SDL is installed (optional)],
2213 sdl_prefix="$withval", sdl_prefix="")
2214 AC_ARG_WITH(sdl-exec-prefix,[ --with-sdl-exec-prefix=PFX Exec prefix where SDL is installed (optional)],
2215 sdl_exec_prefix="$withval", sdl_exec_prefix="")
2216 AC_ARG_ENABLE(sdltest, [ --disable-sdltest Do not try to compile and run a test SDL program],
2217 , enable_sdltest=yes)
2219 if test x$sdl_exec_prefix != x ; then
2220 sdl_args="$sdl_args --exec-prefix=$sdl_exec_prefix"
2221 if test x${SDL_CONFIG+set} != xset ; then
2222 SDL_CONFIG=$sdl_exec_prefix/bin/sdl-config
2225 if test x$sdl_prefix != x ; then
2226 sdl_args="$sdl_args --prefix=$sdl_prefix"
2227 if test x${SDL_CONFIG+set} != xset ; then
2228 SDL_CONFIG=$sdl_prefix/bin/sdl-config
2232 AC_REQUIRE([AC_CANONICAL_TARGET])
2233 PATH="$prefix/bin:$prefix/usr/bin:$PATH"
2234 AC_PATH_PROG(SDL_CONFIG, sdl-config, no, [$PATH])
2235 min_sdl_version=ifelse([$1], ,0.11.0,$1)
2236 AC_MSG_CHECKING(for SDL - version >= $min_sdl_version)
2238 if test "$SDL_CONFIG" = "no" ; then
2241 SDL_CFLAGS=`$SDL_CONFIG $sdlconf_args --cflags`
2242 SDL_LIBS=`$SDL_CONFIG $sdlconf_args --libs`
2244 sdl_major_version=`$SDL_CONFIG $sdl_args --version | \
2245 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
2246 sdl_minor_version=`$SDL_CONFIG $sdl_args --version | \
2247 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
2248 sdl_micro_version=`$SDL_CONFIG $sdl_config_args --version | \
2249 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
2250 if test "x$enable_sdltest" = "xyes" ; then
2251 ac_save_CFLAGS="$CFLAGS"
2252 ac_save_CXXFLAGS="$CXXFLAGS"
2253 ac_save_LIBS="$LIBS"
2254 CFLAGS="$CFLAGS $SDL_CFLAGS"
2255 CXXFLAGS="$CXXFLAGS $SDL_CFLAGS"
2256 LIBS="$LIBS $SDL_LIBS"
2258 dnl Now check if the installed SDL is sufficiently new. (Also sanity
2259 dnl checks the results of sdl-config to some extent
2269 my_strdup (char *str)
2275 new_str = (char *)malloc ((strlen (str) + 1) * sizeof(char));
2276 strcpy (new_str, str);
2284 int main (int argc, char *argv[])
2286 int major, minor, micro;
2289 /* This hangs on some systems (?)
2290 system ("touch conf.sdltest");
2292 { FILE *fp = fopen("conf.sdltest", "a"); if ( fp ) fclose(fp); }
2294 /* HP/UX 9 (%@#!) writes to sscanf strings */
2295 tmp_version = my_strdup("$min_sdl_version");
2296 if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) {
2297 printf("%s, bad version string\n", "$min_sdl_version");
2301 if (($sdl_major_version > major) ||
2302 (($sdl_major_version == major) && ($sdl_minor_version > minor)) ||
2303 (($sdl_major_version == major) && ($sdl_minor_version == minor) && ($sdl_micro_version >= micro)))
2309 printf("\n*** 'sdl-config --version' returned %d.%d.%d, but the minimum version\n", $sdl_major_version, $sdl_minor_version, $sdl_micro_version);
2310 printf("*** of SDL required is %d.%d.%d. If sdl-config is correct, then it is\n", major, minor, micro);
2311 printf("*** best to upgrade to the required version.\n");
2312 printf("*** If sdl-config was wrong, set the environment variable SDL_CONFIG\n");
2313 printf("*** to point to the correct copy of sdl-config, and remove the file\n");
2314 printf("*** config.cache before re-running configure\n");
2319 ],, no_sdl=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
2320 CFLAGS="$ac_save_CFLAGS"
2321 CXXFLAGS="$ac_save_CXXFLAGS"
2322 LIBS="$ac_save_LIBS"
2325 if test "x$no_sdl" = x ; then
2327 ifelse([$2], , :, [$2])
2330 if test "$SDL_CONFIG" = "no" ; then
2331 echo "*** The sdl-config script installed by SDL could not be found"
2332 echo "*** If SDL was installed in PREFIX, make sure PREFIX/bin is in"
2333 echo "*** your path, or set the SDL_CONFIG environment variable to the"
2334 echo "*** full path to sdl-config."
2336 if test -f conf.sdltest ; then
2339 echo "*** Could not run SDL test program, checking why..."
2340 CFLAGS="$CFLAGS $SDL_CFLAGS"
2341 CXXFLAGS="$CXXFLAGS $SDL_CFLAGS"
2342 LIBS="$LIBS $SDL_LIBS"
2347 int main(int argc, char *argv[])
2350 #define main K_and_R_C_main
2352 [ echo "*** The test program compiled, but did not run. This usually means"
2353 echo "*** that the run-time linker is not finding SDL or finding the wrong"
2354 echo "*** version of SDL. If it is not finding SDL, you'll need to set your"
2355 echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
2356 echo "*** to the installed location Also, make sure you have run ldconfig if that"
2357 echo "*** is required on your system"
2359 echo "*** If you have an old version installed, it is best to remove it, although"
2360 echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"],
2361 [ echo "*** The test program failed to compile or link. See the file config.log for the"
2362 echo "*** exact error that occured. This usually means SDL was incorrectly installed"
2363 echo "*** or that you have moved SDL since it was installed. In the latter case, you"
2364 echo "*** may want to edit the sdl-config script: $SDL_CONFIG" ])
2365 CFLAGS="$ac_save_CFLAGS"
2366 CXXFLAGS="$ac_save_CXXFLAGS"
2367 LIBS="$ac_save_LIBS"
2372 ifelse([$3], , :, [$3])
2374 AC_SUBST(SDL_CFLAGS)
2379 m4_include([acinclude.m4])