1 # generated automatically by aclocal 1.9.3 -*- 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 CFLAGS="$CFLAGS -fno-common"
332 CXXFLAGS="$CXXFLAGS -fno-common"
335 *-pc-os2_emx | *-pc-os2-emx )
336 if test "x$bk_os2_use_omf" = "xyes" ; then
339 LDFLAGS="-Zomf $LDFLAGS"
340 CFLAGS="-Zomf $CFLAGS"
341 CXXFLAGS="-Zomf $CXXFLAGS"
349 LDFLAGS="-L/boot/develop/lib/x86 $LDFLAGS"
354 dnl ---------------------------------------------------------------------------
355 dnl AC_BAKEFILE_SUFFIXES
357 dnl Detects shared various suffixes for shared libraries, libraries, programs,
359 dnl ---------------------------------------------------------------------------
361 AC_DEFUN([AC_BAKEFILE_SUFFIXES],
364 SO_SUFFIX_MODULE="so"
373 case "${BAKEFILE_HOST}" in
376 SO_SUFFIX_MODULE="sl"
380 dnl http://www-1.ibm.com/servers/esdd/articles/gnu.html:
381 dnl Both archive libraries and shared libraries on AIX have an
382 dnl .a extension. This will explain why you can't link with an
383 dnl .so and why it works with the name changed to .a.
389 SO_SUFFIX_MODULE="dll"
390 DLLIMP_SUFFIX="dll.a"
397 SO_SUFFIX_MODULE="dll"
398 DLLIMP_SUFFIX="dll.a"
408 *-pc-os2_emx | *-pc-os2-emx )
410 SO_SUFFIX_MODULE="dll"
411 DLLIMP_SUFFIX=$OS2_LIBEXT
415 LIBEXT=".$OS2_LIBEXT"
420 SO_SUFFIX_MODULE="bundle"
424 if test "x$DLLIMP_SUFFIX" = "x" ; then
425 DLLIMP_SUFFIX="$SO_SUFFIX"
429 AC_SUBST(SO_SUFFIX_MODULE)
430 AC_SUBST(DLLIMP_SUFFIX)
435 AC_SUBST(DLLPREFIX_MODULE)
440 dnl ---------------------------------------------------------------------------
441 dnl AC_BAKEFILE_SHARED_LD
443 dnl Detects command for making shared libraries, substitutes SHARED_LD_CC
444 dnl and SHARED_LD_CXX.
445 dnl ---------------------------------------------------------------------------
447 AC_DEFUN([AC_BAKEFILE_SHARED_LD],
449 dnl the extra compiler flags needed for compilation of shared library
451 if test "x$GCC" = "xyes"; then
452 dnl the switch for gcc is the same under all platforms
456 dnl Defaults for GCC and ELF .so shared libs:
457 SHARED_LD_CC="\$(CC) -shared ${PIC_FLAG} -o"
458 SHARED_LD_CXX="\$(CXX) -shared ${PIC_FLAG} -o"
461 case "${BAKEFILE_HOST}" in
463 dnl default settings are good for gcc but not for the native HP-UX
464 if test "x$GCC" != "xyes"; then
465 dnl no idea why it wants it, but it does
466 LDFLAGS="$LDFLAGS -L/usr/lib"
468 SHARED_LD_CC="${CC} -b -o"
469 SHARED_LD_CXX="${CXX} -b -o"
475 if test "x$GCC" != "xyes"; then
476 AC_CACHE_CHECK([for Intel compiler], bakefile_cv_prog_icc,
480 #ifndef __INTEL_COMPILER
484 bakefile_cv_prog_icc=yes,
485 bakefile_cv_prog_icc=no
488 if test "$bakefile_cv_prog_icc" = "yes"; then
495 if test "x$GCC" != xyes ; then
496 SHARED_LD_CC="${CC} -G -o"
497 SHARED_LD_CXX="${CXX} -G -o"
503 dnl Most apps benefit from being fully binded (its faster and static
504 dnl variables initialized at startup work).
505 dnl This can be done either with the exe linker flag -Wl,-bind_at_load
506 dnl or with a double stage link in order to create a single module
507 dnl "-init _wxWindowsDylibInit" not useful with lazy linking solved
509 dnl If using newer dev tools then there is a -single_module flag that
510 dnl we can use to do this, otherwise we'll need to use a helper
511 dnl script. Check the version of gcc to see which way we can go:
512 AC_CACHE_CHECK([for gcc 3.1 or later], wx_cv_gcc31, [
515 #if (__GNUC__ < 3) || \
516 ((__GNUC__ == 3) && (__GNUC_MINOR__ < 1))
528 if test "$wx_cv_gcc31" = "no"; then
529 AC_BAKEFILE_CREATE_FILE_SHARED_LD_SH
530 chmod +x shared-ld-sh
532 dnl Use the shared-ld-sh helper script
533 SHARED_LD_CC="`pwd`/shared-ld-sh -dynamiclib -headerpad_max_install_names -o"
534 SHARED_LD_MODULE_CC="`pwd`/shared-ld-sh -bundle -headerpad_max_install_names -o"
535 SHARED_LD_CXX="$SHARED_LD_CC"
536 SHARED_LD_MODULE_CXX="$SHARED_LD_MODULE_CC"
538 dnl Use the -single_module flag and let the linker do it for us
539 SHARED_LD_CC="\${CC} -dynamiclib -single_module -headerpad_max_install_names -o"
540 SHARED_LD_MODULE_CC="\${CC} -bundle -single_module -headerpad_max_install_names -o"
541 SHARED_LD_CXX="\${CXX} -dynamiclib -single_module -headerpad_max_install_names -o"
542 SHARED_LD_MODULE_CXX="\${CXX} -bundle -single_module -headerpad_max_install_names -o"
545 PIC_FLAG="-dynamic -fPIC"
549 dnl default settings are ok for gcc
550 if test "x$GCC" != "xyes"; then
551 dnl the abs path below used to be hardcoded here so I guess it must
552 dnl be some sort of standard location under AIX?
553 AC_CHECK_PROG(AIX_CXX_LD, makeC++SharedLib,
554 makeC++SharedLib, /usr/lpp/xlC/bin/makeC++SharedLib)
555 dnl FIXME - what about makeCSharedLib?
556 SHARED_LD_CC="$AIX_CC_LD -p 0 -o"
557 SHARED_LD_CXX="$AIX_CXX_LD -p 0 -o"
562 dnl can't use gcc under BeOS for shared library creation because it
563 dnl complains about missing 'main'
564 SHARED_LD_CC="${LD} -nostart -o"
565 SHARED_LD_CXX="${LD} -nostart -o"
569 dnl default settings are ok for gcc
570 if test "x$GCC" != "xyes"; then
575 *-*-cygwin* | *-*-mingw32* )
577 SHARED_LD_CC="\$(CC) -shared -o"
578 SHARED_LD_CXX="\$(CXX) -shared -o"
582 *-pc-os2_emx | *-pc-os2-emx )
583 SHARED_LD_CC="`pwd`/dllar.sh -libf INITINSTANCE -libf TERMINSTANCE -o"
584 SHARED_LD_CXX="`pwd`/dllar.sh -libf INITINSTANCE -libf TERMINSTANCE -o"
586 AC_BAKEFILE_CREATE_FILE_DLLAR_SH
590 powerpc-apple-macos* | \
591 *-*-freebsd* | *-*-openbsd* | *-*-netbsd* | \
601 AC_MSG_ERROR(unknown system type $BAKEFILE_HOST.)
604 if test "x$PIC_FLAG" != "x" ; then
605 PIC_FLAG="$PIC_FLAG -DPIC"
608 if test "x$SHARED_LD_MODULE_CC" = "x" ; then
609 SHARED_LD_MODULE_CC="$SHARED_LD_CC"
611 if test "x$SHARED_LD_MODULE_CXX" = "x" ; then
612 SHARED_LD_MODULE_CXX="$SHARED_LD_CXX"
615 AC_SUBST(SHARED_LD_CC)
616 AC_SUBST(SHARED_LD_CXX)
617 AC_SUBST(SHARED_LD_MODULE_CC)
618 AC_SUBST(SHARED_LD_MODULE_CXX)
620 AC_SUBST(WINDOWS_IMPLIB)
624 dnl ---------------------------------------------------------------------------
625 dnl AC_BAKEFILE_SHARED_VERSIONS
627 dnl Detects linker options for attaching versions (sonames) to shared libs.
628 dnl ---------------------------------------------------------------------------
630 AC_DEFUN([AC_BAKEFILE_SHARED_VERSIONS],
640 case "${BAKEFILE_HOST}" in
641 *-*-linux* | *-*-freebsd* )
642 SONAME_FLAG="-Wl,-soname,"
667 AC_SUBST(USE_SOVERSION)
668 AC_SUBST(USE_SOVERLINUX)
669 AC_SUBST(USE_SOVERSOLARIS)
670 AC_SUBST(USE_SOVERCYGWIN)
671 AC_SUBST(USE_MACVERSION)
672 AC_SUBST(USE_SOSYMLINKS)
673 AC_SUBST(SONAME_FLAG)
677 dnl ---------------------------------------------------------------------------
680 dnl Detects available C/C++ dependency tracking options
681 dnl ---------------------------------------------------------------------------
683 AC_DEFUN([AC_BAKEFILE_DEPS],
685 AC_MSG_CHECKING([for dependency tracking method])
688 if test "x$GCC" = "xyes"; then
691 case "${BAKEFILE_HOST}" in
693 dnl -cpp-precomp (the default) conflicts with -MMD option
694 dnl used by bk-deps (see also http://developer.apple.com/documentation/Darwin/Conceptual/PortingUnix/compiling/chapter_4_section_3.html)
695 DEPSFLAG_GCC="-no-cpp-precomp -MMD"
702 elif test "x$MWCC" = "xyes"; then
706 AC_MSG_RESULT([mwcc])
707 elif test "x$SUNCC" = "xyes"; then
710 DEPSFLAG_SUNCC="-xM1"
711 AC_MSG_RESULT([suncc])
713 AC_MSG_RESULT([none])
716 if test $DEPS_TRACKING = 1 ; then
717 AC_BAKEFILE_CREATE_FILE_BK_DEPS
721 AC_SUBST(DEPS_TRACKING)
724 dnl ---------------------------------------------------------------------------
725 dnl AC_BAKEFILE_CHECK_BASIC_STUFF
727 dnl Checks for presence of basic programs, such as C and C++ compiler, "ranlib"
729 dnl ---------------------------------------------------------------------------
731 AC_DEFUN([AC_BAKEFILE_CHECK_BASIC_STUFF],
740 AC_CHECK_TOOL(AR, ar, ar)
741 AC_CHECK_TOOL(STRIP, strip, :)
742 AC_CHECK_TOOL(NM, nm, :)
744 case ${BAKEFILE_HOST} in
746 dnl HP-UX install doesn't handle the "-d" switch so don't
748 INSTALL_DIR="mkdir -p"
750 *) INSTALL_DIR="$INSTALL -d"
753 AC_SUBST(INSTALL_DIR)
756 case ${BAKEFILE_HOST} in
757 *-*-cygwin* | *-*-mingw32* )
758 LDFLAGS_GUI="-mwindows"
760 AC_SUBST(LDFLAGS_GUI)
764 dnl ---------------------------------------------------------------------------
765 dnl AC_BAKEFILE_RES_COMPILERS
767 dnl Checks for presence of resource compilers for win32 or mac
768 dnl ---------------------------------------------------------------------------
770 AC_DEFUN([AC_BAKEFILE_RES_COMPILERS],
775 case ${BAKEFILE_HOST} in
776 *-*-cygwin* | *-*-mingw32* )
777 dnl Check for win32 resources compiler:
778 if test "$build" != "$host" ; then
779 RESCOMP=$host_alias-windres
781 AC_CHECK_PROG(RESCOMP, windres, windres, windres)
785 *-*-darwin* | powerpc-apple-macos* )
786 AC_CHECK_PROG(RESCOMP, Rez, Rez, /Developer/Tools/Rez)
787 AC_CHECK_PROG(SETFILE, SetFile, SetFile, /Developer/Tools/SetFile)
795 dnl ---------------------------------------------------------------------------
796 dnl AC_BAKEFILE_PRECOMP_HEADERS
798 dnl Check for precompiled headers support (GCC >= 3.4)
799 dnl ---------------------------------------------------------------------------
801 AC_DEFUN([AC_BAKEFILE_PRECOMP_HEADERS],
804 AC_ARG_ENABLE([precomp-headers],
805 AS_HELP_STRING([--disable-precomp-headers],
806 [don't use precompiled headers even if compiler can]),
807 [bk_use_pch="$enableval"])
811 if test "x$bk_use_pch" = "x" -o "x$bk_use_pch" = "xyes" ; then
812 if test "x$GCC" = "xyes"; then
813 dnl test if we have gcc-3.4:
814 AC_MSG_CHECKING([if the compiler supports precompiled headers])
817 #if !defined(__GNUC__) || !defined(__GNUC_MINOR__)
818 #error "no pch support"
821 #error "no pch support"
823 #if (__GNUC__ == 3) && \
824 ((!defined(__APPLE_CC__) && (__GNUC_MINOR__ < 4)) || \
825 ( defined(__APPLE_CC__) && (__GNUC_MINOR__ < 3)))
826 #error "no pch support"
836 if test $GCC_PCH = 1 ; then
837 AC_BAKEFILE_CREATE_FILE_BK_MAKE_PCH
848 dnl ---------------------------------------------------------------------------
849 dnl AC_BAKEFILE([autoconf_inc.m4 inclusion])
851 dnl To be used in configure.in of any project using Bakefile-generated mks
853 dnl Behaviour can be modified by setting following variables:
854 dnl BAKEFILE_CHECK_BASICS set to "no" if you don't want bakefile to
855 dnl to perform check for basic tools like ranlib
856 dnl BAKEFILE_HOST set this to override host detection, defaults
858 dnl BAKEFILE_FORCE_PLATFORM set to override platform detection
862 dnl AC_BAKEFILE([FOO(autoconf_inc.m4)])
864 dnl (replace FOO with m4_include above, aclocal would die otherwise)
865 dnl (yes, it's ugly, but thanks to a bug in aclocal, it's the only thing
867 dnl ---------------------------------------------------------------------------
869 AC_DEFUN([AC_BAKEFILE],
873 if test "x$BAKEFILE_HOST" = "x"; then
874 BAKEFILE_HOST="${host}"
877 if test "x$BAKEFILE_CHECK_BASICS" != "xno"; then
878 AC_BAKEFILE_CHECK_BASIC_STUFF
882 AC_BAKEFILE_PLATFORM_SPECIFICS
884 AC_BAKEFILE_SHARED_LD
885 AC_BAKEFILE_SHARED_VERSIONS
887 AC_BAKEFILE_RES_COMPILERS
889 BAKEFILE_BAKEFILE_M4_VERSION="0.1.9"
891 dnl includes autoconf_inc.m4:
894 if test "$BAKEFILE_AUTOCONF_INC_M4_VERSION" = "" ; then
895 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)?])
898 if test "$BAKEFILE_BAKEFILE_M4_VERSION" != "$BAKEFILE_AUTOCONF_INC_M4_VERSION" ; then
899 AC_MSG_ERROR([Versions of Bakefile used to generate makefiles ($BAKEFILE_AUTOCONF_INC_M4_VERSION) and configure ($BAKEFILE_BAKEFILE_M4_VERSION) do not match.])
904 dnl ---------------------------------------------------------------------------
905 dnl Embedded copies of helper scripts follow:
906 dnl ---------------------------------------------------------------------------
908 AC_DEFUN([AC_BAKEFILE_CREATE_FILE_DLLAR_SH],
910 dnl ===================== dllar.sh begins here =====================
911 dnl (Created by merge-scripts.py from dllar.sh
912 dnl file do not edit here!)
917 # dllar - a tool to build both a .dll and an .a file
918 # from a set of object (.o) files for EMX/OS2.
920 # Written by Andrew Zabolotny, bit@freya.etu.ru
921 # Ported to Unix like shell by Stefan Neis, Stefan.Neis@t-online.de
923 # This script will accept a set of files on the command line.
924 # All the public symbols from the .o files will be exported into
925 # a .DEF file, then linker will be run (through gcc) against them to
926 # build a shared library consisting of all given .o files. All libraries
927 # (.a) will be first decompressed into component .o files then act as
928 # described above. You can optionally give a description (-d "description")
929 # which will be put into .DLL. To see the list of accepted options (as well
930 # as command-line format) simply run this program without options. The .DLL
931 # is built to be imported by name (there is no guarantee that new versions
932 # of the library you build will have same ordinals for same symbols).
934 # dllar is free software; you can redistribute it and/or modify
935 # it under the terms of the GNU General Public License as published by
936 # the Free Software Foundation; either version 2, or (at your option)
939 # dllar is distributed in the hope that it will be useful,
940 # but WITHOUT ANY WARRANTY; without even the implied warranty of
941 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
942 # GNU General Public License for more details.
944 # You should have received a copy of the GNU General Public License
945 # along with dllar; see the file COPYING. If not, write to the Free
946 # Software Foundation, 59 Temple Place - Suite 330, Boston, MA
949 # To successfuly run this program you will need:
950 # - Current drive should have LFN support (HPFS, ext2, network, etc)
951 # (Sometimes dllar generates filenames which won't fit 8.3 scheme)
953 # (used to build the .dll)
955 # (used to create .def file from .o files)
957 # (used to create .a file from .def file)
958 # - GNU text utilites (cat, sort, uniq)
959 # used to process emxexp output
960 # - GNU file utilities (mv, rm)
962 # - lxlite (optional, see flag below)
963 # (used for general .dll cleanup)
970 # basnam, variant of basename, which does _not_ remove the path, _iff_
971 # second argument (suffix to remove) is given
975 echo ${D}1 | sed 's/.*\\///' | sed 's/.*\\\\//'
978 echo ${D}1 | sed 's/'${D}2'${D}//'
981 echo "error in basnam ${D}*"
987 # Cleanup temporary files and output
990 for i in ${D}inputFiles ; do
993 rm -rf \`basnam ${D}i !\`
1000 # Kill result in case of failure as there is just to many stupid make/nmake
1001 # things out there which doesn't do this.
1002 if @<:@ ${D}# -eq 0 @:>@; then
1003 rm -f ${D}arcFile ${D}arcFile2 ${D}defFile ${D}dllFile
1007 # Print usage and exit script with rc=1.
1009 echo 'Usage: dllar.sh @<:@-o@<:@utput@:>@ output_file@:>@ @<:@-i@<:@mport@:>@ importlib_name@:>@'
1010 echo ' @<:@-name-mangler-script script.sh@:>@'
1011 echo ' @<:@-d@<:@escription@:>@ "dll descrption"@:>@ @<:@-cc "CC"@:>@ @<:@-f@<:@lags@:>@ "CFLAGS"@:>@'
1012 echo ' @<:@-ord@<:@inals@:>@@:>@ -ex@<:@clude@:>@ "symbol(s)"'
1013 echo ' @<:@-libf@<:@lags@:>@ "{INIT|TERM}{GLOBAL|INSTANCE}"@:>@ @<:@-nocrt@<:@dll@:>@@:>@ @<:@-nolxl@<:@ite@:>@@:>@'
1014 echo ' @<:@*.o@:>@ @<:@*.a@:>@'
1015 echo '*> "output_file" should have no extension.'
1016 echo ' If it has the .o, .a or .dll extension, it is automatically removed.'
1017 echo ' The import library name is derived from this and is set to "name".a,'
1018 echo ' unless overridden by -import'
1019 echo '*> "importlib_name" should have no extension.'
1020 echo ' If it has the .o, or .a extension, it is automatically removed.'
1021 echo ' This name is used as the import library name and may be longer and'
1022 echo ' more descriptive than the DLL name which has to follow the old '
1023 echo ' 8.3 convention of FAT.'
1024 echo '*> "script.sh may be given to override the output_file name by a'
1025 echo ' different name. It is mainly useful if the regular make process'
1026 echo ' of some package does not take into account OS/2 restriction of'
1027 echo ' DLL name lengths. It takes the importlib name as input and is'
1028 echo ' supposed to procude a shorter name as output. The script should'
1029 echo ' expect to get importlib_name without extension and should produce'
1030 echo ' a (max.) 8 letter name without extension.'
1031 echo '*> "cc" is used to use another GCC executable. (default: gcc.exe)'
1032 echo '*> "flags" should be any set of valid GCC flags. (default: -s -Zcrtdll)'
1033 echo ' These flags will be put at the start of GCC command line.'
1034 echo '*> -ord@<:@inals@:>@ tells dllar to export entries by ordinals. Be careful.'
1035 echo '*> -ex@<:@clude@:>@ defines symbols which will not be exported. You can define'
1036 echo ' multiple symbols, for example -ex "myfunc yourfunc _GLOBAL*".'
1037 echo ' If the last character of a symbol is "*", all symbols beginning'
1038 echo ' with the prefix before "*" will be exclude, (see _GLOBAL* above).'
1039 echo '*> -libf@<:@lags@:>@ can be used to add INITGLOBAL/INITINSTANCE and/or'
1040 echo ' TERMGLOBAL/TERMINSTANCE flags to the dynamically-linked library.'
1041 echo '*> -nocrt@<:@dll@:>@ switch will disable linking the library against emx''s'
1042 echo ' C runtime DLLs.'
1043 echo '*> -nolxl@<:@ite@:>@ switch will disable running lxlite on the resulting DLL.'
1044 echo '*> All other switches (for example -L./ or -lmylib) will be passed'
1045 echo ' unchanged to GCC at the end of command line.'
1046 echo '*> If you create a DLL from a library and you do not specify -o,'
1047 echo ' the basename for DLL and import library will be set to library name,'
1048 echo ' the initial library will be renamed to 'name'_s.a (_s for static)'
1049 echo ' i.e. "dllar gcc.a" will create gcc.dll and gcc.a, and the initial'
1050 echo ' library will be renamed into gcc_s.a.'
1053 echo ' dllar -o gcc290.dll libgcc.a -d "GNU C runtime library" -ord'
1054 echo ' -ex "__main __ctordtor*" -libf "INITINSTANCE TERMINSTANCE"'
1059 # Execute a command.
1060 # If exit code of the commnad <> 0 CleanUp() is called and we'll exit the script.
1061 # @Uses Whatever CleanUp() uses.
1067 if @<:@ ${D}rcCmd -ne 0 @:>@; then
1068 echo "command failed, exit code="${D}rcCmd
1083 CFLAGS="-s -Zcrtdll"
1085 EXPORT_BY_ORDINALS=0
1094 curDirS=${D}{curDirS}"/"
1100 while @<:@ ${D}1 @:>@; do
1103 EXPORT_BY_ORDINALS=1;
1113 -name-mangler-script)
1134 exclude_symbols=${D}{exclude_symbols}${D}1" "
1138 library_flags=${D}{library_flags}${D}1" "
1157 EXTRA_CFLAGS=${D}{EXTRA_CFLAGS}" "${D}1
1160 EXTRA_CFLAGS="${D}{EXTRA_CFLAGS} \`basnam ${D}1 .dll\`"
1161 if @<:@ ${D}omfLinking -eq 1 @:>@; then
1162 EXTRA_CFLAGS="${D}{EXTRA_CFLAGS}.lib"
1164 EXTRA_CFLAGS="${D}{EXTRA_CFLAGS}.a"
1169 if @<:@ ${D}libsToLink -ne 0 @:>@; then
1170 EXTRA_CFLAGS=${D}{EXTRA_CFLAGS}" "${D}1
1172 for file in ${D}1 ; do
1173 if @<:@ -f ${D}file @:>@; then
1174 inputFiles="${D}{inputFiles} ${D}file"
1178 if @<:@ ${D}found -eq 0 @:>@; then
1179 echo "ERROR: No file(s) found: "${D}1
1186 done # iterate cmdline words
1189 if @<:@ -z "${D}inputFiles" @:>@; then
1190 echo "dllar: no input files"
1194 # Now extract all .o files from .a files
1196 for file in ${D}inputFiles ; do
1207 EXTRA_CFLAGS="${D}EXTRA_CFLAGS -Zomf"
1212 dirname=\`basnam ${D}file ${D}suffix\`"_%"
1214 if @<:@ ${D}? -ne 0 @:>@; then
1215 echo "Failed to create subdirectory ./${D}dirname"
1219 # Append '!' to indicate archive
1220 newInputFiles="${D}newInputFiles ${D}{dirname}!"
1221 doCommand "cd ${D}dirname; ${D}AR x ../${D}file"
1224 for subfile in ${D}dirname/*.o* ; do
1225 if @<:@ -f ${D}subfile @:>@; then
1227 if @<:@ -s ${D}subfile @:>@; then
1228 # FIXME: This should be: is file size > 32 byte, _not_ > 0!
1229 newInputFiles="${D}newInputFiles ${D}subfile"
1233 if @<:@ ${D}found -eq 0 @:>@; then
1234 echo "WARNING: there are no files in archive \\'${D}file\\'"
1238 newInputFiles="${D}{newInputFiles} ${D}file"
1242 inputFiles="${D}newInputFiles"
1244 # Output filename(s).
1246 if @<:@ -z ${D}outFile @:>@; then
1248 set outFile ${D}inputFiles; outFile=${D}2
1251 # If it is an archive, remove the '!' and the '_%' suffixes
1254 outFile=\`basnam ${D}outFile _%!\`
1261 outFile=\`basnam ${D}outFile .dll\`
1264 outFile=\`basnam ${D}outFile .DLL\`
1267 outFile=\`basnam ${D}outFile .o\`
1270 outFile=\`basnam ${D}outFile .obj\`
1273 outFile=\`basnam ${D}outFile .a\`
1276 outFile=\`basnam ${D}outFile .lib\`
1281 case ${D}outimpFile in
1283 outimpFile=\`basnam ${D}outimpFile .a\`
1286 outimpFile=\`basnam ${D}outimpFile .lib\`
1291 if @<:@ -z ${D}outimpFile @:>@; then
1292 outimpFile=${D}outFile
1294 defFile="${D}{outFile}.def"
1295 arcFile="${D}{outimpFile}.a"
1296 arcFile2="${D}{outimpFile}.lib"
1298 #create ${D}dllFile as something matching 8.3 restrictions,
1299 if @<:@ -z ${D}renameScript @:>@ ; then
1300 dllFile="${D}outFile"
1302 dllFile=\`${D}renameScript ${D}outimpFile\`
1305 if @<:@ ${D}do_backup -ne 0 @:>@ ; then
1306 if @<:@ -f ${D}arcFile @:>@ ; then
1307 doCommand "mv ${D}arcFile ${D}{outFile}_s.a"
1309 if @<:@ -f ${D}arcFile2 @:>@ ; then
1310 doCommand "mv ${D}arcFile2 ${D}{outFile}_s.lib"
1314 # Extract public symbols from all the object files.
1315 tmpdefFile=${D}{defFile}_%
1316 rm -f ${D}tmpdefFile
1317 for file in ${D}inputFiles ; do
1322 doCommand "emxexp -u ${D}file >> ${D}tmpdefFile"
1327 # Create the def file.
1329 echo "LIBRARY \`basnam ${D}dllFile\` ${D}library_flags" >> ${D}defFile
1330 dllFile="${D}{dllFile}.dll"
1331 if @<:@ ! -z ${D}description @:>@; then
1332 echo "DESCRIPTION \\"${D}{description}\\"" >> ${D}defFile
1334 echo "EXPORTS" >> ${D}defFile
1336 doCommand "cat ${D}tmpdefFile | sort.exe | uniq.exe > ${D}{tmpdefFile}%"
1337 grep -v "^ *;" < ${D}{tmpdefFile}% | grep -v "^ *${D}" >${D}tmpdefFile
1339 # Checks if the export is ok or not.
1340 for word in ${D}exclude_symbols; do
1341 grep -v ${D}word < ${D}tmpdefFile >${D}{tmpdefFile}%
1342 mv ${D}{tmpdefFile}% ${D}tmpdefFile
1346 if @<:@ ${D}EXPORT_BY_ORDINALS -ne 0 @:>@; then
1347 sed "=" < ${D}tmpdefFile | \\
1351 s/^\\(@<:@0-9@:>@\\+\\)\\(@<:@^;@:>@*\\)\\(;.*\\)\\?/\\2 @\\1 NONAME/
1353 ' > ${D}{tmpdefFile}%
1354 grep -v "^ *${D}" < ${D}{tmpdefFile}% > ${D}tmpdefFile
1356 rm -f ${D}{tmpdefFile}%
1358 cat ${D}tmpdefFile >> ${D}defFile
1359 rm -f ${D}tmpdefFile
1361 # Do linking, create implib, and apply lxlite.
1363 for file in ${D}inputFiles ; do
1368 gccCmdl="${D}gccCmdl ${D}file"
1372 doCommand "${D}CC ${D}CFLAGS -Zdll -o ${D}dllFile ${D}defFile ${D}gccCmdl ${D}EXTRA_CFLAGS"
1373 touch "${D}{outFile}.dll"
1375 doCommand "emximp -o ${D}arcFile ${D}defFile"
1376 if @<:@ ${D}flag_USE_LXLITE -ne 0 @:>@; then
1378 if @<:@ ${D}EXPORT_BY_ORDINALS -ne 0 @:>@; then
1381 doCommand "lxlite -cs -t: -mrn -mln ${D}add_flags ${D}dllFile"
1383 doCommand "emxomf -s -l ${D}arcFile"
1389 dnl ===================== dllar.sh ends here =====================
1392 AC_DEFUN([AC_BAKEFILE_CREATE_FILE_BK_DEPS],
1394 dnl ===================== bk-deps begins here =====================
1395 dnl (Created by merge-scripts.py from bk-deps
1396 dnl file do not edit here!)
1401 # This script is part of Bakefile (http://bakefile.sourceforge.net) autoconf
1402 # script. It is used to track C/C++ files dependencies in portable way.
1404 # Permission is given to use this file in any way.
1406 DEPSMODE=${DEPSMODE}
1408 DEPSFLAG_GCC="${DEPSFLAG_GCC}"
1409 DEPSFLAG_MWCC="${DEPSFLAG_MWCC}"
1410 DEPSFLAG_SUNCC="${DEPSFLAG_SUNCC}"
1412 mkdir -p ${D}DEPSDIR
1414 if test ${D}DEPSMODE = gcc ; then
1415 ${D}* ${D}{DEPSFLAG_GCC}
1417 if test ${D}{status} != 0 ; then
1420 # move created file to the location we want it in:
1421 while test ${D}# -gt 0; do
1435 depfile=\`basename ${D}srcfile | sed -e 's/\\..*${D}/.d/g'\`
1436 depobjname=\`echo ${D}depfile |sed -e 's/\\.d/.o/g'\`
1437 if test -f ${D}depfile ; then
1438 sed -e "s,${D}depobjname:,${D}objfile:,g" ${D}depfile >${D}{DEPSDIR}/${D}{objfile}.d
1441 depfile=\`basename ${D}objfile | sed -e 's/\\..*${D}/.d/g'\`
1442 if test -f ${D}depfile ; then
1443 sed -e "/^${D}objfile/!s,${D}depobjname:,${D}objfile:,g" ${D}depfile >${D}{DEPSDIR}/${D}{objfile}.d
1448 elif test ${D}DEPSMODE = mwcc ; then
1451 if test ${D}{status} != 0 ; then
1454 # Run mwcc again with -MM and redirect into the dep file we want
1455 # NOTE: We can't use shift here because we need ${D}* to be valid
1457 for arg in ${D}* ; do
1458 if test "${D}prevarg" = "-o"; then
1471 ${D}* ${D}DEPSFLAG_MWCC >${D}{DEPSDIR}/${D}{objfile}.d
1473 elif test ${D}DEPSMODE = suncc; then
1475 # Run compiler again with deps flag and redirect into the dep file.
1476 # It doesn't work if the '-o FILE' option is used, but without it the
1477 # dependency file will contain the wrong name for the object. So it is
1478 # removed from the command line, and the dep file is fixed with sed.
1480 while test ${D}# -gt 0; do
1487 eval arg${D}#=\\${D}1
1488 cmd="${D}cmd \\${D}arg${D}#"
1493 eval "${D}cmd ${D}DEPSFLAG_SUNCC" | sed "s|.*:|${D}objfile:|" >${D}{DEPSDIR}/${D}{objfile}.d
1500 dnl ===================== bk-deps ends here =====================
1503 AC_DEFUN([AC_BAKEFILE_CREATE_FILE_SHARED_LD_SH],
1505 dnl ===================== shared-ld-sh begins here =====================
1506 dnl (Created by merge-scripts.py from shared-ld-sh
1507 dnl file do not edit here!)
1509 cat <<EOF >shared-ld-sh
1511 #-----------------------------------------------------------------------------
1512 #-- Name: distrib/mac/shared-ld-sh
1513 #-- Purpose: Link a mach-o dynamic shared library for Darwin / Mac OS X
1514 #-- Author: Gilles Depeyrot
1515 #-- Copyright: (c) 2002 Gilles Depeyrot
1516 #-- Licence: any use permitted
1517 #-----------------------------------------------------------------------------
1522 linking_flag="-dynamiclib"
1523 ldargs="-r -keep_private_externs -nostdlib"
1525 while test ${D}# -gt 0; do
1532 -o|-compatibility_version|-current_version|-framework|-undefined|-install_name)
1533 # collect these options and values
1534 args="${D}{args} ${D}1 ${D}2"
1539 # collect these load args
1540 ldargs="${D}{ldargs} ${D}1"
1543 -l*|-L*|-flat_namespace|-headerpad_max_install_names)
1544 # collect these options
1545 args="${D}{args} ${D}1"
1548 -dynamiclib|-bundle)
1549 linking_flag="${D}1"
1553 echo "shared-ld: unhandled option '${D}1'"
1557 *.o | *.a | *.dylib)
1558 # collect object files
1559 objects="${D}{objects} ${D}1"
1563 echo "shared-ld: unhandled argument '${D}1'"
1574 # Link one module containing all the others
1576 if test ${D}{verbose} = 1; then
1577 echo "c++ ${D}{ldargs} ${D}{objects} -o master.${D}${D}.o"
1579 c++ ${D}{ldargs} ${D}{objects} -o master.${D}${D}.o
1583 # Link the shared library from the single module created, but only if the
1584 # previous command didn't fail:
1586 if test ${D}{status} = 0; then
1587 if test ${D}{verbose} = 1; then
1588 echo "c++ ${D}{linking_flag} master.${D}${D}.o ${D}{args}"
1590 c++ ${D}{linking_flag} master.${D}${D}.o ${D}{args}
1595 # Remove intermediate module
1597 rm -f master.${D}${D}.o
1601 dnl ===================== shared-ld-sh ends here =====================
1604 AC_DEFUN([AC_BAKEFILE_CREATE_FILE_BK_MAKE_PCH],
1606 dnl ===================== bk-make-pch begins here =====================
1607 dnl (Created by merge-scripts.py from bk-make-pch
1608 dnl file do not edit here!)
1610 cat <<EOF >bk-make-pch
1613 # This script is part of Bakefile (http://bakefile.sourceforge.net) autoconf
1614 # script. It is used to generated precompiled headers.
1616 # Permission is given to use this file in any way.
1625 while test ${D}{#} -gt 0; do
1628 incdir=\`echo ${D}{1} | sed -e 's/-I\\(.*\\)/\\1/g'\`
1629 if test "x${D}{headerfile}" = "x" -a -f "${D}{incdir}/${D}{header}" ; then
1630 headerfile="${D}{incdir}/${D}{header}"
1634 compiler="${D}{compiler} ${D}{1}"
1638 if test "x${D}{headerfile}" = "x" ; then
1639 echo "error: can't find header ${D}{header} in include paths" >2
1641 if test -f ${D}{outfile} ; then
1644 mkdir -p \`dirname ${D}{outfile}\`
1646 depsfile=".deps/\`echo ${D}{outfile} | tr '/.' '__'\`.d"
1648 # can do this because gcc is >= 3.4:
1649 ${D}{compiler} -o ${D}{outfile} -MMD -MF "${D}{depsfile}" "${D}{headerfile}"
1653 dnl ===================== bk-make-pch ends here =====================
1657 dnl AM_PATH_CPPUNIT(MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
1659 AC_DEFUN(AM_PATH_CPPUNIT,
1662 AC_ARG_WITH(cppunit-prefix,[ --with-cppunit-prefix=PFX Prefix where CppUnit is installed (optional)],
1663 cppunit_config_prefix="$withval", cppunit_config_prefix="")
1664 AC_ARG_WITH(cppunit-exec-prefix,[ --with-cppunit-exec-prefix=PFX Exec prefix where CppUnit is installed (optional)],
1665 cppunit_config_exec_prefix="$withval", cppunit_config_exec_prefix="")
1667 if test x$cppunit_config_exec_prefix != x ; then
1668 cppunit_config_args="$cppunit_config_args --exec-prefix=$cppunit_config_exec_prefix"
1669 if test x${CPPUNIT_CONFIG+set} != xset ; then
1670 CPPUNIT_CONFIG=$cppunit_config_exec_prefix/bin/cppunit-config
1673 if test x$cppunit_config_prefix != x ; then
1674 cppunit_config_args="$cppunit_config_args --prefix=$cppunit_config_prefix"
1675 if test x${CPPUNIT_CONFIG+set} != xset ; then
1676 CPPUNIT_CONFIG=$cppunit_config_prefix/bin/cppunit-config
1680 AC_PATH_PROG(CPPUNIT_CONFIG, cppunit-config, no)
1681 cppunit_version_min=$1
1683 AC_MSG_CHECKING(for Cppunit - version >= $cppunit_version_min)
1685 if test "$CPPUNIT_CONFIG" = "no" ; then
1688 CPPUNIT_CFLAGS=`$CPPUNIT_CONFIG --cflags`
1689 CPPUNIT_LIBS=`$CPPUNIT_CONFIG --libs`
1690 cppunit_version=`$CPPUNIT_CONFIG --version`
1692 cppunit_major_version=`echo $cppunit_version | \
1693 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
1694 cppunit_minor_version=`echo $cppunit_version | \
1695 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
1696 cppunit_micro_version=`echo $cppunit_version | \
1697 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
1699 cppunit_major_min=`echo $cppunit_version_min | \
1700 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
1701 cppunit_minor_min=`echo $cppunit_version_min | \
1702 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
1703 cppunit_micro_min=`echo $cppunit_version_min | \
1704 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
1706 cppunit_version_proper=`expr \
1707 $cppunit_major_version \> $cppunit_major_min \| \
1708 $cppunit_major_version \= $cppunit_major_min \& \
1709 $cppunit_minor_version \> $cppunit_minor_min \| \
1710 $cppunit_major_version \= $cppunit_major_min \& \
1711 $cppunit_minor_version \= $cppunit_minor_min \& \
1712 $cppunit_micro_version \>= $cppunit_micro_min `
1714 if test "$cppunit_version_proper" = "1" ; then
1715 AC_MSG_RESULT([$cppunit_major_version.$cppunit_minor_version.$cppunit_micro_version])
1722 if test "x$no_cppunit" = x ; then
1723 ifelse([$2], , :, [$2])
1727 ifelse([$3], , :, [$3])
1730 AC_SUBST(CPPUNIT_CFLAGS)
1731 AC_SUBST(CPPUNIT_LIBS)
1737 # Configure paths for GTK+
1738 # Owen Taylor 1997-2001
1740 dnl AM_PATH_GTK_2_0([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]])
1741 dnl Test for GTK+, and define GTK_CFLAGS and GTK_LIBS, if gthread is specified in MODULES,
1742 dnl pass to pkg-config
1744 AC_DEFUN([AM_PATH_GTK_2_0],
1746 dnl Get the cflags and libraries from pkg-config
1748 AC_ARG_ENABLE(gtktest, [ --disable-gtktest do not try to compile and run a test GTK+ program],
1749 , enable_gtktest=yes)
1751 pkg_config_args=gtk+-2.0
1756 pkg_config_args="$pkg_config_args gthread-2.0"
1763 AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
1765 if test x$PKG_CONFIG != xno ; then
1766 if pkg-config --atleast-pkgconfig-version 0.7 ; then
1769 echo "*** pkg-config too old; version 0.7 or better required."
1777 min_gtk_version=ifelse([$1], ,2.0.0,$1)
1778 AC_MSG_CHECKING(for GTK+ - version >= $min_gtk_version)
1780 if test x$PKG_CONFIG != xno ; then
1781 ## don't try to run the test against uninstalled libtool libs
1782 if $PKG_CONFIG --uninstalled $pkg_config_args; then
1783 echo "Will use uninstalled version of GTK+ found in PKG_CONFIG_PATH"
1787 if $PKG_CONFIG --atleast-version $min_gtk_version $pkg_config_args; then
1794 if test x"$no_gtk" = x ; then
1795 GTK_CFLAGS=`$PKG_CONFIG $pkg_config_args --cflags`
1796 GTK_LIBS=`$PKG_CONFIG $pkg_config_args --libs`
1797 gtk_config_major_version=`$PKG_CONFIG --modversion gtk+-2.0 | \
1798 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
1799 gtk_config_minor_version=`$PKG_CONFIG --modversion gtk+-2.0 | \
1800 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
1801 gtk_config_micro_version=`$PKG_CONFIG --modversion gtk+-2.0 | \
1802 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
1803 if test "x$enable_gtktest" = "xyes" ; then
1804 ac_save_CFLAGS="$CFLAGS"
1805 ac_save_LIBS="$LIBS"
1806 CFLAGS="$CFLAGS $GTK_CFLAGS"
1807 LIBS="$GTK_LIBS $LIBS"
1809 dnl Now check if the installed GTK+ is sufficiently new. (Also sanity
1810 dnl checks the results of pkg-config to some extent)
1814 #include <gtk/gtk.h>
1821 int major, minor, micro;
1824 system ("touch conf.gtktest");
1826 /* HP/UX 9 (%@#!) writes to sscanf strings */
1827 tmp_version = g_strdup("$min_gtk_version");
1828 if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) {
1829 printf("%s, bad version string\n", "$min_gtk_version");
1833 if ((gtk_major_version != $gtk_config_major_version) ||
1834 (gtk_minor_version != $gtk_config_minor_version) ||
1835 (gtk_micro_version != $gtk_config_micro_version))
1837 printf("\n*** 'pkg-config --modversion gtk+-2.0' returned %d.%d.%d, but GTK+ (%d.%d.%d)\n",
1838 $gtk_config_major_version, $gtk_config_minor_version, $gtk_config_micro_version,
1839 gtk_major_version, gtk_minor_version, gtk_micro_version);
1840 printf ("*** was found! If pkg-config was correct, then it is best\n");
1841 printf ("*** to remove the old version of GTK+. You may also be able to fix the error\n");
1842 printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n");
1843 printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n");
1844 printf("*** required on your system.\n");
1845 printf("*** If pkg-config was wrong, set the environment variable PKG_CONFIG_PATH\n");
1846 printf("*** to point to the correct configuration files\n");
1848 else if ((gtk_major_version != GTK_MAJOR_VERSION) ||
1849 (gtk_minor_version != GTK_MINOR_VERSION) ||
1850 (gtk_micro_version != GTK_MICRO_VERSION))
1852 printf("*** GTK+ header files (version %d.%d.%d) do not match\n",
1853 GTK_MAJOR_VERSION, GTK_MINOR_VERSION, GTK_MICRO_VERSION);
1854 printf("*** library (version %d.%d.%d)\n",
1855 gtk_major_version, gtk_minor_version, gtk_micro_version);
1859 if ((gtk_major_version > major) ||
1860 ((gtk_major_version == major) && (gtk_minor_version > minor)) ||
1861 ((gtk_major_version == major) && (gtk_minor_version == minor) && (gtk_micro_version >= micro)))
1867 printf("\n*** An old version of GTK+ (%d.%d.%d) was found.\n",
1868 gtk_major_version, gtk_minor_version, gtk_micro_version);
1869 printf("*** You need a version of GTK+ newer than %d.%d.%d. The latest version of\n",
1870 major, minor, micro);
1871 printf("*** GTK+ is always available from ftp://ftp.gtk.org.\n");
1873 printf("*** If you have already installed a sufficiently new version, this error\n");
1874 printf("*** probably means that the wrong copy of the pkg-config shell script is\n");
1875 printf("*** being found. The easiest way to fix this is to remove the old version\n");
1876 printf("*** of GTK+, but you can also set the PKG_CONFIG environment to point to the\n");
1877 printf("*** correct copy of pkg-config. (In this case, you will have to\n");
1878 printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n");
1879 printf("*** so that the correct libraries are found at run-time))\n");
1884 ],, no_gtk=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
1885 CFLAGS="$ac_save_CFLAGS"
1886 LIBS="$ac_save_LIBS"
1889 if test "x$no_gtk" = x ; then
1890 AC_MSG_RESULT(yes (version $gtk_config_major_version.$gtk_config_minor_version.$gtk_config_micro_version))
1891 ifelse([$2], , :, [$2])
1894 if test "$PKG_CONFIG" = "no" ; then
1895 echo "*** A new enough version of pkg-config was not found."
1896 echo "*** See http://pkgconfig.sourceforge.net"
1898 if test -f conf.gtktest ; then
1901 echo "*** Could not run GTK+ test program, checking why..."
1902 ac_save_CFLAGS="$CFLAGS"
1903 ac_save_LIBS="$LIBS"
1904 CFLAGS="$CFLAGS $GTK_CFLAGS"
1905 LIBS="$LIBS $GTK_LIBS"
1907 #include <gtk/gtk.h>
1909 ], [ return ((gtk_major_version) || (gtk_minor_version) || (gtk_micro_version)); ],
1910 [ echo "*** The test program compiled, but did not run. This usually means"
1911 echo "*** that the run-time linker is not finding GTK+ or finding the wrong"
1912 echo "*** version of GTK+. If it is not finding GTK+, you'll need to set your"
1913 echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
1914 echo "*** to the installed location Also, make sure you have run ldconfig if that"
1915 echo "*** is required on your system"
1917 echo "*** If you have an old version installed, it is best to remove it, although"
1918 echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" ],
1919 [ echo "*** The test program failed to compile or link. See the file config.log for the"
1920 echo "*** exact error that occured. This usually means GTK+ is incorrectly installed."])
1921 CFLAGS="$ac_save_CFLAGS"
1922 LIBS="$ac_save_LIBS"
1927 ifelse([$3], , :, [$3])
1929 AC_SUBST(GTK_CFLAGS)
1934 # Configure paths for GTK+
1935 # Owen Taylor 97-11-3
1937 dnl AM_PATH_GTK([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]])
1938 dnl Test for GTK, and define GTK_CFLAGS and GTK_LIBS
1940 AC_DEFUN(AM_PATH_GTK,
1942 dnl Get the cflags and libraries from the gtk-config script
1944 AC_ARG_WITH(gtk-prefix,[ --with-gtk-prefix=PFX Prefix where GTK is installed (optional)],
1945 gtk_config_prefix="$withval", gtk_config_prefix="")
1946 AC_ARG_WITH(gtk-exec-prefix,[ --with-gtk-exec-prefix=PFX Exec prefix where GTK is installed (optional)],
1947 gtk_config_exec_prefix="$withval", gtk_config_exec_prefix="")
1948 AC_ARG_ENABLE(gtktest, [ --disable-gtktest Do not try to compile and run a test GTK program],
1949 , enable_gtktest=yes)
1955 gtk_config_args="$gtk_config_args gthread"
1960 if test x$gtk_config_exec_prefix != x ; then
1961 gtk_config_args="$gtk_config_args --exec-prefix=$gtk_config_exec_prefix"
1962 if test x${GTK_CONFIG+set} != xset ; then
1963 GTK_CONFIG=$gtk_config_exec_prefix/bin/gtk-config
1966 if test x$gtk_config_prefix != x ; then
1967 gtk_config_args="$gtk_config_args --prefix=$gtk_config_prefix"
1968 if test x${GTK_CONFIG+set} != xset ; then
1969 GTK_CONFIG=$gtk_config_prefix/bin/gtk-config
1973 AC_PATH_PROG(GTK_CONFIG, gtk-config, no)
1974 min_gtk_version=ifelse([$1], ,0.99.7,$1)
1975 AC_MSG_CHECKING(for GTK - version >= $min_gtk_version)
1977 if test "$GTK_CONFIG" = "no" ; then
1980 GTK_CFLAGS=`$GTK_CONFIG $gtk_config_args --cflags`
1981 GTK_LIBS=`$GTK_CONFIG $gtk_config_args --libs`
1982 gtk_config_major_version=`$GTK_CONFIG $gtk_config_args --version | \
1983 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
1984 gtk_config_minor_version=`$GTK_CONFIG $gtk_config_args --version | \
1985 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
1986 gtk_config_micro_version=`$GTK_CONFIG $gtk_config_args --version | \
1987 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
1988 if test "x$enable_gtktest" = "xyes" ; then
1989 ac_save_CFLAGS="$CFLAGS"
1990 ac_save_LIBS="$LIBS"
1991 CFLAGS="$CFLAGS $GTK_CFLAGS"
1992 LIBS="$GTK_LIBS $LIBS"
1994 dnl Now check if the installed GTK is sufficiently new. (Also sanity
1995 dnl checks the results of gtk-config to some extent
1999 #include <gtk/gtk.h>
2006 int major, minor, micro;
2009 system ("touch conf.gtktest");
2011 /* HP/UX 9 (%@#!) writes to sscanf strings */
2012 tmp_version = g_strdup("$min_gtk_version");
2013 if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) {
2014 printf("%s, bad version string\n", "$min_gtk_version");
2018 if ((gtk_major_version != $gtk_config_major_version) ||
2019 (gtk_minor_version != $gtk_config_minor_version) ||
2020 (gtk_micro_version != $gtk_config_micro_version))
2022 printf("\n*** 'gtk-config --version' returned %d.%d.%d, but GTK+ (%d.%d.%d)\n",
2023 $gtk_config_major_version, $gtk_config_minor_version, $gtk_config_micro_version,
2024 gtk_major_version, gtk_minor_version, gtk_micro_version);
2025 printf ("*** was found! If gtk-config was correct, then it is best\n");
2026 printf ("*** to remove the old version of GTK+. You may also be able to fix the error\n");
2027 printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n");
2028 printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n");
2029 printf("*** required on your system.\n");
2030 printf("*** If gtk-config was wrong, set the environment variable GTK_CONFIG\n");
2031 printf("*** to point to the correct copy of gtk-config, and remove the file config.cache\n");
2032 printf("*** before re-running configure\n");
2034 #if defined (GTK_MAJOR_VERSION) && defined (GTK_MINOR_VERSION) && defined (GTK_MICRO_VERSION)
2035 else if ((gtk_major_version != GTK_MAJOR_VERSION) ||
2036 (gtk_minor_version != GTK_MINOR_VERSION) ||
2037 (gtk_micro_version != GTK_MICRO_VERSION))
2039 printf("*** GTK+ header files (version %d.%d.%d) do not match\n",
2040 GTK_MAJOR_VERSION, GTK_MINOR_VERSION, GTK_MICRO_VERSION);
2041 printf("*** library (version %d.%d.%d)\n",
2042 gtk_major_version, gtk_minor_version, gtk_micro_version);
2044 #endif /* defined (GTK_MAJOR_VERSION) ... */
2047 if ((gtk_major_version > major) ||
2048 ((gtk_major_version == major) && (gtk_minor_version > minor)) ||
2049 ((gtk_major_version == major) && (gtk_minor_version == minor) && (gtk_micro_version >= micro)))
2055 printf("\n*** An old version of GTK+ (%d.%d.%d) was found.\n",
2056 gtk_major_version, gtk_minor_version, gtk_micro_version);
2057 printf("*** You need a version of GTK+ newer than %d.%d.%d. The latest version of\n",
2058 major, minor, micro);
2059 printf("*** GTK+ is always available from ftp://ftp.gtk.org.\n");
2061 printf("*** If you have already installed a sufficiently new version, this error\n");
2062 printf("*** probably means that the wrong copy of the gtk-config shell script is\n");
2063 printf("*** being found. The easiest way to fix this is to remove the old version\n");
2064 printf("*** of GTK+, but you can also set the GTK_CONFIG environment to point to the\n");
2065 printf("*** correct copy of gtk-config. (In this case, you will have to\n");
2066 printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n");
2067 printf("*** so that the correct libraries are found at run-time))\n");
2072 ],, no_gtk=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
2073 CFLAGS="$ac_save_CFLAGS"
2074 LIBS="$ac_save_LIBS"
2077 if test "x$no_gtk" = x ; then
2079 ifelse([$2], , :, [$2])
2082 if test "$GTK_CONFIG" = "no" ; then
2083 echo "*** The gtk-config script installed by GTK could not be found"
2084 echo "*** If GTK was installed in PREFIX, make sure PREFIX/bin is in"
2085 echo "*** your path, or set the GTK_CONFIG environment variable to the"
2086 echo "*** full path to gtk-config."
2088 if test -f conf.gtktest ; then
2091 echo "*** Could not run GTK test program, checking why..."
2092 CFLAGS="$CFLAGS $GTK_CFLAGS"
2093 LIBS="$LIBS $GTK_LIBS"
2095 #include <gtk/gtk.h>
2097 ], [ return ((gtk_major_version) || (gtk_minor_version) || (gtk_micro_version)); ],
2098 [ echo "*** The test program compiled, but did not run. This usually means"
2099 echo "*** that the run-time linker is not finding GTK or finding the wrong"
2100 echo "*** version of GTK. If it is not finding GTK, you'll need to set your"
2101 echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
2102 echo "*** to the installed location Also, make sure you have run ldconfig if that"
2103 echo "*** is required on your system"
2105 echo "*** If you have an old version installed, it is best to remove it, although"
2106 echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"
2108 echo "*** If you have a RedHat 5.0 system, you should remove the GTK package that"
2109 echo "*** came with the system with the command"
2111 echo "*** rpm --erase --nodeps gtk gtk-devel" ],
2112 [ echo "*** The test program failed to compile or link. See the file config.log for the"
2113 echo "*** exact error that occured. This usually means GTK was incorrectly installed"
2114 echo "*** or that you have moved GTK since it was installed. In the latter case, you"
2115 echo "*** may want to edit the gtk-config script: $GTK_CONFIG" ])
2116 CFLAGS="$ac_save_CFLAGS"
2117 LIBS="$ac_save_LIBS"
2122 ifelse([$3], , :, [$3])
2124 AC_SUBST(GTK_CFLAGS)
2130 dnl PKG_CHECK_MODULES(GSTUFF, gtk+-2.0 >= 1.3 glib = 1.3.4, action-if, action-not)
2131 dnl defines GSTUFF_LIBS, GSTUFF_CFLAGS, see pkg-config man page
2132 dnl also defines GSTUFF_PKG_ERRORS on error
2133 AC_DEFUN(PKG_CHECK_MODULES, [
2136 if test -z "$PKG_CONFIG"; then
2137 AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
2140 if test "$PKG_CONFIG" = "no" ; then
2141 echo "*** The pkg-config script could not be found. Make sure it is"
2142 echo "*** in your path, or set the PKG_CONFIG environment variable"
2143 echo "*** to the full path to pkg-config."
2144 echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config."
2146 PKG_CONFIG_MIN_VERSION=0.9.0
2147 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
2148 AC_MSG_CHECKING(for $2)
2150 if $PKG_CONFIG --exists "$2" ; then
2154 AC_MSG_CHECKING($1_CFLAGS)
2155 $1_CFLAGS=`$PKG_CONFIG --cflags "$2"`
2156 AC_MSG_RESULT($$1_CFLAGS)
2158 AC_MSG_CHECKING($1_LIBS)
2159 $1_LIBS=`$PKG_CONFIG --libs "$2"`
2160 AC_MSG_RESULT($$1_LIBS)
2164 ## If we have a custom action on failure, don't print errors, but
2165 ## do set a variable so people can do so.
2166 $1_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"`
2167 ifelse([$4], ,echo $$1_PKG_ERRORS,)
2173 echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer."
2174 echo "*** See http://www.freedesktop.org/software/pkgconfig"
2178 if test $succeeded = yes; then
2179 ifelse([$3], , :, [$3])
2181 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])
2187 # Configure paths for SDL
2188 # Sam Lantinga 9/21/99
2189 # stolen from Manish Singh
2190 # stolen back from Frank Belew
2191 # stolen from Manish Singh
2192 # Shamelessly stolen from Owen Taylor
2194 dnl AM_PATH_SDL([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
2195 dnl Test for SDL, and define SDL_CFLAGS and SDL_LIBS
2197 AC_DEFUN([AM_PATH_SDL],
2199 dnl Get the cflags and libraries from the sdl-config script
2201 AC_ARG_WITH(sdl-prefix,[ --with-sdl-prefix=PFX Prefix where SDL is installed (optional)],
2202 sdl_prefix="$withval", sdl_prefix="")
2203 AC_ARG_WITH(sdl-exec-prefix,[ --with-sdl-exec-prefix=PFX Exec prefix where SDL is installed (optional)],
2204 sdl_exec_prefix="$withval", sdl_exec_prefix="")
2205 AC_ARG_ENABLE(sdltest, [ --disable-sdltest Do not try to compile and run a test SDL program],
2206 , enable_sdltest=yes)
2208 if test x$sdl_exec_prefix != x ; then
2209 sdl_args="$sdl_args --exec-prefix=$sdl_exec_prefix"
2210 if test x${SDL_CONFIG+set} != xset ; then
2211 SDL_CONFIG=$sdl_exec_prefix/bin/sdl-config
2214 if test x$sdl_prefix != x ; then
2215 sdl_args="$sdl_args --prefix=$sdl_prefix"
2216 if test x${SDL_CONFIG+set} != xset ; then
2217 SDL_CONFIG=$sdl_prefix/bin/sdl-config
2221 AC_REQUIRE([AC_CANONICAL_TARGET])
2222 PATH="$prefix/bin:$prefix/usr/bin:$PATH"
2223 AC_PATH_PROG(SDL_CONFIG, sdl-config, no, [$PATH])
2224 min_sdl_version=ifelse([$1], ,0.11.0,$1)
2225 AC_MSG_CHECKING(for SDL - version >= $min_sdl_version)
2227 if test "$SDL_CONFIG" = "no" ; then
2230 SDL_CFLAGS=`$SDL_CONFIG $sdlconf_args --cflags`
2231 SDL_LIBS=`$SDL_CONFIG $sdlconf_args --libs`
2233 sdl_major_version=`$SDL_CONFIG $sdl_args --version | \
2234 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
2235 sdl_minor_version=`$SDL_CONFIG $sdl_args --version | \
2236 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
2237 sdl_micro_version=`$SDL_CONFIG $sdl_config_args --version | \
2238 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
2239 if test "x$enable_sdltest" = "xyes" ; then
2240 ac_save_CFLAGS="$CFLAGS"
2241 ac_save_CXXFLAGS="$CXXFLAGS"
2242 ac_save_LIBS="$LIBS"
2243 CFLAGS="$CFLAGS $SDL_CFLAGS"
2244 CXXFLAGS="$CXXFLAGS $SDL_CFLAGS"
2245 LIBS="$LIBS $SDL_LIBS"
2247 dnl Now check if the installed SDL is sufficiently new. (Also sanity
2248 dnl checks the results of sdl-config to some extent
2258 my_strdup (char *str)
2264 new_str = (char *)malloc ((strlen (str) + 1) * sizeof(char));
2265 strcpy (new_str, str);
2273 int main (int argc, char *argv[])
2275 int major, minor, micro;
2278 /* This hangs on some systems (?)
2279 system ("touch conf.sdltest");
2281 { FILE *fp = fopen("conf.sdltest", "a"); if ( fp ) fclose(fp); }
2283 /* HP/UX 9 (%@#!) writes to sscanf strings */
2284 tmp_version = my_strdup("$min_sdl_version");
2285 if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) {
2286 printf("%s, bad version string\n", "$min_sdl_version");
2290 if (($sdl_major_version > major) ||
2291 (($sdl_major_version == major) && ($sdl_minor_version > minor)) ||
2292 (($sdl_major_version == major) && ($sdl_minor_version == minor) && ($sdl_micro_version >= micro)))
2298 printf("\n*** 'sdl-config --version' returned %d.%d.%d, but the minimum version\n", $sdl_major_version, $sdl_minor_version, $sdl_micro_version);
2299 printf("*** of SDL required is %d.%d.%d. If sdl-config is correct, then it is\n", major, minor, micro);
2300 printf("*** best to upgrade to the required version.\n");
2301 printf("*** If sdl-config was wrong, set the environment variable SDL_CONFIG\n");
2302 printf("*** to point to the correct copy of sdl-config, and remove the file\n");
2303 printf("*** config.cache before re-running configure\n");
2308 ],, no_sdl=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
2309 CFLAGS="$ac_save_CFLAGS"
2310 CXXFLAGS="$ac_save_CXXFLAGS"
2311 LIBS="$ac_save_LIBS"
2314 if test "x$no_sdl" = x ; then
2316 ifelse([$2], , :, [$2])
2319 if test "$SDL_CONFIG" = "no" ; then
2320 echo "*** The sdl-config script installed by SDL could not be found"
2321 echo "*** If SDL was installed in PREFIX, make sure PREFIX/bin is in"
2322 echo "*** your path, or set the SDL_CONFIG environment variable to the"
2323 echo "*** full path to sdl-config."
2325 if test -f conf.sdltest ; then
2328 echo "*** Could not run SDL test program, checking why..."
2329 CFLAGS="$CFLAGS $SDL_CFLAGS"
2330 CXXFLAGS="$CXXFLAGS $SDL_CFLAGS"
2331 LIBS="$LIBS $SDL_LIBS"
2336 int main(int argc, char *argv[])
2339 #define main K_and_R_C_main
2341 [ echo "*** The test program compiled, but did not run. This usually means"
2342 echo "*** that the run-time linker is not finding SDL or finding the wrong"
2343 echo "*** version of SDL. If it is not finding SDL, you'll need to set your"
2344 echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
2345 echo "*** to the installed location Also, make sure you have run ldconfig if that"
2346 echo "*** is required on your system"
2348 echo "*** If you have an old version installed, it is best to remove it, although"
2349 echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"],
2350 [ echo "*** The test program failed to compile or link. See the file config.log for the"
2351 echo "*** exact error that occured. This usually means SDL was incorrectly installed"
2352 echo "*** or that you have moved SDL since it was installed. In the latter case, you"
2353 echo "*** may want to edit the sdl-config script: $SDL_CONFIG" ])
2354 CFLAGS="$ac_save_CFLAGS"
2355 CXXFLAGS="$ac_save_CXXFLAGS"
2356 LIBS="$ac_save_LIBS"
2361 ifelse([$3], , :, [$3])
2363 AC_SUBST(SDL_CFLAGS)
2368 m4_include([acinclude.m4])