X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/82499c49e4c5e3375ae8a17ce92359c694406782..7c5190745f8d6362354aa9018a3f0867990c4ac6:/aclocal.m4 diff --git a/aclocal.m4 b/aclocal.m4 index 3e7001329d..b0f5341959 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -1,7 +1,7 @@ -# generated automatically by aclocal 1.7.2 -*- Autoconf -*- +# generated automatically by aclocal 1.9.6 -*- Autoconf -*- -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002 -# Free Software Foundation, Inc. +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, +# 2005 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -11,1744 +11,13 @@ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. -dnl --------------------------------------------------------------------------- -dnl -dnl Macros for configure.in for wxWindows by Robert Roebling, Phil Blecker, -dnl Vadim Zeitlin and Ron Lee -dnl -dnl This script is under the wxWindows licence. -dnl -dnl Version: $Id$ -dnl --------------------------------------------------------------------------- - -dnl =========================================================================== -dnl macros to find the a file in the list of include/lib paths -dnl =========================================================================== - -dnl --------------------------------------------------------------------------- -dnl call WX_PATH_FIND_INCLUDES(search path, header name), sets ac_find_includes -dnl to the full name of the file that was found or leaves it empty if not found -dnl --------------------------------------------------------------------------- -AC_DEFUN([WX_PATH_FIND_INCLUDES], -[ -ac_find_includes= -for ac_dir in $1 /usr/include; - do - if test -f "$ac_dir/$2"; then - ac_find_includes=$ac_dir - break - fi - done -]) - -dnl --------------------------------------------------------------------------- -dnl call WX_PATH_FIND_LIBRARIES(search path, header name), sets ac_find_libraries -dnl to the full name of the file that was found or leaves it empty if not found -dnl --------------------------------------------------------------------------- -AC_DEFUN([WX_PATH_FIND_LIBRARIES], -[ -ac_find_libraries= -for ac_dir in $1 /usr/lib; - do - for ac_extension in a so sl dylib; do - if test -f "$ac_dir/lib$2.$ac_extension"; then - ac_find_libraries=$ac_dir - break 2 - fi - done - done -]) - -dnl --------------------------------------------------------------------------- -dnl Path to include, already defined -dnl --------------------------------------------------------------------------- -AC_DEFUN([WX_INCLUDE_PATH_EXIST], -[ - dnl never add -I/usr/include to the CPPFLAGS - if test "x$1" = "x/usr/include"; then - ac_path_to_include="" - else - echo "$2" | grep "\-I$1" > /dev/null - result=$? - if test $result = 0; then - ac_path_to_include="" - else - ac_path_to_include=" -I$1" - fi - fi -]) - -dnl --------------------------------------------------------------------------- -dnl Path to link, already defined -dnl --------------------------------------------------------------------------- -AC_DEFUN([WX_LINK_PATH_EXIST], -[ - echo "$2" | grep "\-L$1" > /dev/null - result=$? - if test $result = 0; then - ac_path_to_link="" - else - ac_path_to_link=" -L$1" - fi -]) - -dnl =========================================================================== -dnl C++ features test -dnl =========================================================================== - -dnl --------------------------------------------------------------------------- -dnl WX_CPP_NEW_HEADERS checks whether the compiler has "new" header -dnl or only the old one - it may be generally assumed that if -dnl exists, the other "new" headers (without .h) exist too. -dnl -dnl call WX_CPP_NEW_HEADERS(actiof-if-true, action-if-false-or-cross-compiling) -dnl --------------------------------------------------------------------------- - -AC_DEFUN([WX_CPP_NEW_HEADERS], -[ - if test "$cross_compiling" = "yes"; then - ifelse([$2], , :, [$2]) - else - AC_LANG_SAVE - AC_LANG_CPLUSPLUS - - AC_CHECK_HEADERS(iostream) - - if test "$ac_cv_header_iostream" = "yes" ; then - ifelse([$1], , :, [$1]) - else - ifelse([$2], , :, [$2]) - fi - - AC_LANG_RESTORE - fi -]) - -dnl --------------------------------------------------------------------------- -dnl WX_CPP_BOOL checks whether the C++ compiler has a built in bool type -dnl -dnl call WX_CPP_BOOL - will define HAVE_BOOL if the compiler supports bool -dnl --------------------------------------------------------------------------- - -AC_DEFUN([WX_CPP_BOOL], -[ - AC_CACHE_CHECK([if C++ compiler supports bool], wx_cv_cpp_bool, - [ - AC_LANG_SAVE - AC_LANG_CPLUSPLUS - - AC_TRY_COMPILE( - [ - ], - [ - bool b = true; - - return 0; - ], - [ - wx_cv_cpp_bool=yes - ], - [ - wx_cv_cpp_bool=no - ] - ) - - AC_LANG_RESTORE - ]) - - if test "$wx_cv_cpp_bool" = "yes"; then - AC_DEFINE(HAVE_BOOL) - fi -]) - -dnl --------------------------------------------------------------------------- -dnl WX_CPP_EXPLICIT checks whether the C++ compiler support the explicit -dnl keyword and defines HAVE_EXPLICIT if this is the case -dnl --------------------------------------------------------------------------- - -AC_DEFUN([WX_CPP_EXPLICIT], -[ - AC_CACHE_CHECK([if C++ compiler supports the explicit keyword], - wx_cv_explicit, - [ - AC_LANG_SAVE - AC_LANG_CPLUSPLUS - - dnl do the test in 2 steps: first check that the compiler knows about the - dnl explicit keyword at all and then verify that it really honours it - AC_TRY_COMPILE( - [ - class Foo { public: explicit Foo(int) {} }; - ], - [ - return 0; - ], - [ - AC_TRY_COMPILE( - [ - class Foo { public: explicit Foo(int) {} }; - static void TakeFoo(const Foo& foo) { } - ], - [ - TakeFoo(17); - return 0; - ], - wx_cv_explicit=no, - wx_cv_explicit=yes - ) - ], - wx_cv_explicit=no - ) - - AC_LANG_RESTORE - ]) - - if test "$wx_cv_explicit" = "yes"; then - AC_DEFINE(HAVE_EXPLICIT) - fi -]) - -dnl --------------------------------------------------------------------------- -dnl a slightly better AC_C_BIGENDIAN macro which allows cross-compiling -dnl --------------------------------------------------------------------------- - -AC_DEFUN([WX_C_BIGENDIAN], -[AC_CACHE_CHECK([whether byte ordering is bigendian], ac_cv_c_bigendian, -[ac_cv_c_bigendian=unknown -# See if sys/param.h defines the BYTE_ORDER macro. -AC_TRY_COMPILE([#include -#include ], [ -#if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN - bogus endian macros -#endif], [# It does; now see whether it defined to BIG_ENDIAN or not. -AC_TRY_COMPILE([#include -#include ], [ -#if BYTE_ORDER != BIG_ENDIAN - not big endian -#endif], ac_cv_c_bigendian=yes, ac_cv_c_bigendian=no)]) -if test $ac_cv_c_bigendian = unknown; then -AC_TRY_RUN([main () { - /* Are we little or big endian? From Harbison&Steele. */ - union - { - long l; - char c[sizeof (long)]; - } u; - u.l = 1; - exit (u.c[sizeof (long) - 1] == 1); -}], [ac_cv_c_bigendian=no], [ac_cv_c_bigendian=yes], [ac_cv_c_bigendian=unknown]) -fi]) -if test $ac_cv_c_bigendian = unknown; then - AC_MSG_WARN([Assuming little-endian target machine - this may be overriden by adding the line "ac_cv_c_bigendian=${ac_cv_c_bigendian='yes'}" to config.cache file]) -fi -if test $ac_cv_c_bigendian = yes; then - AC_DEFINE(WORDS_BIGENDIAN) -fi -]) - -dnl --------------------------------------------------------------------------- -dnl override AC_ARG_ENABLE/WITH to cache the results in .cache file -dnl --------------------------------------------------------------------------- - -AC_DEFUN([WX_ARG_CACHE_INIT], - [ - wx_arg_cache_file="configarg.cache" - echo "loading argument cache $wx_arg_cache_file" - rm -f ${wx_arg_cache_file}.tmp - touch ${wx_arg_cache_file}.tmp - touch ${wx_arg_cache_file} - ]) - -AC_DEFUN([WX_ARG_CACHE_FLUSH], - [ - echo "saving argument cache $wx_arg_cache_file" - mv ${wx_arg_cache_file}.tmp ${wx_arg_cache_file} - ]) - -dnl this macro checks for a three-valued command line --with argument: -dnl possible arguments are 'yes', 'no', 'sys', or 'builtin' -dnl usage: WX_ARG_SYS_WITH(option, helpmessage, variable-name) -AC_DEFUN([WX_ARG_SYS_WITH], - [ - AC_MSG_CHECKING([for --with-$1]) - no_cache=0 - AC_ARG_WITH($1, [$2], - [ - if test "$withval" = yes; then - ac_cv_use_$1='$3=yes' - elif test "$withval" = no; then - ac_cv_use_$1='$3=no' - elif test "$withval" = sys; then - ac_cv_use_$1='$3=sys' - elif test "$withval" = builtin; then - ac_cv_use_$1='$3=builtin' - else - AC_MSG_ERROR([Invalid value for --with-$1: should be yes, no, sys, or builtin]) - fi - ], - [ - LINE=`grep "$3" ${wx_arg_cache_file}` - if test "x$LINE" != x ; then - eval "DEFAULT_$LINE" - else - no_cache=1 - fi - - ac_cv_use_$1='$3='$DEFAULT_$3 - ]) - - eval "$ac_cv_use_$1" - if test "$no_cache" != 1; then - echo $ac_cv_use_$1 >> ${wx_arg_cache_file}.tmp - fi - - if test "$$3" = yes; then - AC_MSG_RESULT(yes) - elif test "$$3" = no; then - AC_MSG_RESULT(no) - elif test "$$3" = sys; then - AC_MSG_RESULT([system version]) - elif test "$$3" = builtin; then - AC_MSG_RESULT([builtin version]) - else - AC_MSG_ERROR([Invalid value for --with-$1: should be yes, no, sys, or builtin]) - fi - ]) - -dnl this macro checks for a command line argument and caches the result -dnl usage: WX_ARG_WITH(option, helpmessage, variable-name) -AC_DEFUN([WX_ARG_WITH], - [ - AC_MSG_CHECKING([for --with-$1]) - no_cache=0 - AC_ARG_WITH($1, [$2], - [ - if test "$withval" = yes; then - ac_cv_use_$1='$3=yes' - else - ac_cv_use_$1='$3=no' - fi - ], - [ - LINE=`grep "$3" ${wx_arg_cache_file}` - if test "x$LINE" != x ; then - eval "DEFAULT_$LINE" - else - no_cache=1 - fi - - ac_cv_use_$1='$3='$DEFAULT_$3 - ]) - - eval "$ac_cv_use_$1" - if test "$no_cache" != 1; then - echo $ac_cv_use_$1 >> ${wx_arg_cache_file}.tmp - fi - - if test "$$3" = yes; then - AC_MSG_RESULT(yes) - else - AC_MSG_RESULT(no) - fi - ]) - -dnl like WX_ARG_WITH but uses AC_ARG_ENABLE instead of AC_ARG_WITH -dnl usage: WX_ARG_ENABLE(option, helpmessage, variable-name, enablestring) -dnl -dnl enablestring is a hack and allows to show "checking for --disable-foo" -dnl message when running configure instead of the default "checking for -dnl --enable-foo" one whih is useful for the options enabled by default -AC_DEFUN([WX_ARG_ENABLE], - [ - enablestring=$4 - AC_MSG_CHECKING([for --${enablestring:-enable}-$1]) - no_cache=0 - AC_ARG_ENABLE($1, [$2], - [ - if test "$enableval" = yes; then - ac_cv_use_$1='$3=yes' - else - ac_cv_use_$1='$3=no' - fi - ], - [ - LINE=`grep "$3" ${wx_arg_cache_file}` - if test "x$LINE" != x ; then - eval "DEFAULT_$LINE" - else - no_cache=1 - fi - - ac_cv_use_$1='$3='$DEFAULT_$3 - ]) - - eval "$ac_cv_use_$1" - if test "$no_cache" != 1; then - echo $ac_cv_use_$1 >> ${wx_arg_cache_file}.tmp - fi - - if test "$$3" = yes; then - AC_MSG_RESULT(yes) - else - AC_MSG_RESULT(no) - fi - ]) - - -dnl =========================================================================== -dnl Linker features test -dnl =========================================================================== - -dnl --------------------------------------------------------------------------- -dnl WX_VERSIONED_SYMBOLS checks whether the linker can create versioned -dnl symbols. If it can, sets LDFLAGS_VERSIONING to $CXX flags needed to use -dnl version script file named versionfile -dnl -dnl call WX_VERSIONED_SYMBOLS(versionfile) -dnl --------------------------------------------------------------------------- -AC_DEFUN([WX_VERSIONED_SYMBOLS], -[ - found_versioning=no - - dnl FIXME - doesn't work, Solaris linker doesn't accept wildcards - dnl in the script. - dnl dnl Check for known non-gcc cases: - dnl case "${host}" in - dnl *-*-solaris2* ) - dnl if test "x$GCC" != "xyes" ; then - dnl LDFLAGS_VERSIONING="-M $1" - dnl found_versioning=yes - dnl fi - dnl ;; - dnl esac - - dnl Generic check for GCC or GCC-like behaviour (Intel C++, GCC): - if test $found_versioning = no ; then - AC_CACHE_CHECK([if the linker accepts --version-script], wx_cv_version_script, - [ - echo "VER_1 { *; };" >conftest.sym - echo "int main() { return 0; }" >conftest.cpp - - if AC_TRY_COMMAND([ - $CXX -o conftest.output $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.cpp - -Wl,--version-script,conftest.sym >/dev/null 2>conftest.stderr]) ; then - if test -s conftest.stderr ; then - wx_cv_version_script=no - else - wx_cv_version_script=yes - fi - else - wx_cv_version_script=no - fi - rm -f conftest.output conftest.stderr conftest.sym conftest.cpp - ]) - if test $wx_cv_version_script = yes ; then - LDFLAGS_VERSIONING="-Wl,--version-script,$1" - fi - fi -]) - - -dnl =========================================================================== -dnl "3rd party" macros included here because they are not widely available -dnl =========================================================================== - -dnl --------------------------------------------------------------------------- -dnl test for availability of iconv() -dnl --------------------------------------------------------------------------- - -dnl From Bruno Haible. - -AC_DEFUN([AM_ICONV], -[ - dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and - dnl those with the standalone portable GNU libiconv installed). - - AC_ARG_WITH([libiconv-prefix], -[ --with-libiconv-prefix=DIR search for libiconv in DIR/include and DIR/lib], [ - for dir in `echo "$withval" | tr : ' '`; do - if test -d $dir/include; then CPPFLAGS="$CPPFLAGS -I$dir/include"; fi - if test -d $dir/lib; then LDFLAGS="$LDFLAGS -L$dir/lib"; fi - done - ]) - - AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [ - am_cv_func_iconv="no, consider installing GNU libiconv" - am_cv_lib_iconv=no - AC_TRY_LINK([#include -#include ], - [iconv_t cd = iconv_open("",""); - iconv(cd,NULL,NULL,NULL,NULL); - iconv_close(cd);], - am_cv_func_iconv=yes) - if test "$am_cv_func_iconv" != yes; then - am_save_LIBS="$LIBS" - LIBS="$LIBS -liconv" - AC_TRY_LINK([#include -#include ], - [iconv_t cd = iconv_open("",""); - iconv(cd,NULL,NULL,NULL,NULL); - iconv_close(cd);], - am_cv_lib_iconv=yes - am_cv_func_iconv=yes) - LIBS="$am_save_LIBS" - fi - ]) - if test "$am_cv_func_iconv" = yes; then - AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.]) - AC_CACHE_CHECK([if iconv needs const], wx_cv_func_iconv_const, - AC_TRY_COMPILE([ -#include -#include -extern -#ifdef __cplusplus -"C" -#endif -#if defined(__STDC__) || defined(__cplusplus) -size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); -#else -size_t iconv(); -#endif - ], - [], - wx_cv_func_iconv_const="no", - wx_cv_func_iconv_const="yes" - ) - ) - - iconv_const= - if test "x$wx_cv_func_iconv_const" = "xyes"; then - iconv_const="const" - fi - - AC_DEFINE_UNQUOTED(ICONV_CONST, $iconv_const, - [Define as const if the declaration of iconv() needs const.]) - fi - LIBICONV= - if test "$am_cv_lib_iconv" = yes; then - LIBICONV="-liconv" - fi - AC_SUBST(LIBICONV) -]) - -dnl --------------------------------------------------------------------------- -dnl AC_SYS_LARGEFILE (partly based on the code from autoconf 2.5x) -dnl --------------------------------------------------------------------------- - -dnl WX_SYS_LARGEFILE_TEST -dnl -dnl NB: original autoconf test was checking if compiler supported 6 bit off_t -dnl arithmetic properly but this failed miserably with gcc under Linux -dnl whereas the system still supports 64 bit files, so now simply check -dnl that off_t is big enough -define(WX_SYS_LARGEFILE_TEST, -[typedef struct { - unsigned int field: sizeof(off_t) == 8; -} wxlf; -]) - - -dnl WX_SYS_LARGEFILE_MACRO_VALUE(C-MACRO, VALUE, CACHE-VAR) -define(WX_SYS_LARGEFILE_MACRO_VALUE, -[ - AC_CACHE_CHECK([for $1 value needed for large files], [$3], - [ - AC_TRY_COMPILE([#define $1 $2 - #include ], - WX_SYS_LARGEFILE_TEST, - [$3=$2], - [$3=no]) - ] - ) - - if test "$$3" != no; then - wx_largefile=yes - AC_DEFINE_UNQUOTED([$1], [$$3]) - fi -]) - - -dnl AC_SYS_LARGEFILE -dnl ---------------- -dnl By default, many hosts won't let programs access large files; -dnl one must use special compiler options to get large-file access to work. -dnl For more details about this brain damage please see: -dnl http://www.sas.com/standards/large.file/x_open.20Mar96.html -AC_DEFUN([AC_SYS_LARGEFILE], -[AC_ARG_ENABLE(largefile, - [ --disable-largefile omit support for large files]) -if test "$enable_largefile" != no; then - dnl _FILE_OFFSET_BITS==64 is needed for Linux, Solaris, ... - dnl _LARGE_FILES -- for AIX - wx_largefile=no - WX_SYS_LARGEFILE_MACRO_VALUE(_FILE_OFFSET_BITS, 64, ac_cv_sys_file_offset_bits) - if test "x$wx_largefile" != "xyes"; then - WX_SYS_LARGEFILE_MACRO_VALUE(_LARGE_FILES, 1, ac_cv_sys_large_files) - fi - - AC_MSG_CHECKING(if large file support is available) - if test "x$wx_largefile" = "xyes"; then - AC_DEFINE(HAVE_LARGEFILE_SUPPORT) - fi - AC_MSG_RESULT($wx_largefile) -fi -]) - - -dnl Available from the GNU Autoconf Macro Archive at: -dnl http://www.gnu.org/software/ac-archive/htmldoc/ac_cxx_const_cast.html -dnl -AC_DEFUN([AC_CXX_CONST_CAST], -[AC_CACHE_CHECK(whether the compiler supports const_cast<>, -ac_cv_cxx_const_cast, -[AC_LANG_SAVE - AC_LANG_CPLUSPLUS - AC_TRY_COMPILE(,[int x = 0;const int& y = x;int& z = const_cast(y);return z;], - ac_cv_cxx_const_cast=yes, ac_cv_cxx_const_cast=no) - AC_LANG_RESTORE -]) -if test "$ac_cv_cxx_const_cast" = yes; then - AC_DEFINE(HAVE_CONST_CAST,,[define if the compiler supports const_cast<>]) -fi -]) - -# Configure paths for GTK+ -# Owen Taylor 1997-2001 - -dnl AM_PATH_GTK_2_0([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]]) -dnl Test for GTK+, and define GTK_CFLAGS and GTK_LIBS, if gthread is specified in MODULES, -dnl pass to pkg-config -dnl -AC_DEFUN(AM_PATH_GTK_2_0, -[dnl -dnl Get the cflags and libraries from pkg-config -dnl -AC_ARG_ENABLE(gtktest, [ --disable-gtktest do not try to compile and run a test GTK+ program], - , enable_gtktest=yes) - - pkg_config_args=gtk+-2.0 - for module in . $4 - do - case "$module" in - gthread) - pkg_config_args="$pkg_config_args gthread-2.0" - ;; - esac - done - - no_gtk="" - - AC_PATH_PROG(PKG_CONFIG, pkg-config, no) - - if test x$PKG_CONFIG != xno ; then - if pkg-config --atleast-pkgconfig-version 0.7 ; then - : - else - echo *** pkg-config too old; version 0.7 or better required. - no_gtk=yes - PKG_CONFIG=no - fi - else - no_gtk=yes - fi - - min_gtk_version=ifelse([$1], ,2.0.0,$1) - AC_MSG_CHECKING(for GTK+ - version >= $min_gtk_version) - - if test x$PKG_CONFIG != xno ; then - ## don't try to run the test against uninstalled libtool libs - if $PKG_CONFIG --uninstalled $pkg_config_args; then - echo "Will use uninstalled version of GTK+ found in PKG_CONFIG_PATH" - enable_gtktest=no - fi - - if $PKG_CONFIG --atleast-version $min_gtk_version $pkg_config_args; then - : - else - no_gtk=yes - fi - fi - - if test x"$no_gtk" = x ; then - GTK_CFLAGS=`$PKG_CONFIG $pkg_config_args --cflags` - GTK_LIBS=`$PKG_CONFIG $pkg_config_args --libs` - gtk_config_major_version=`$PKG_CONFIG --modversion gtk+-2.0 | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` - gtk_config_minor_version=`$PKG_CONFIG --modversion gtk+-2.0 | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` - gtk_config_micro_version=`$PKG_CONFIG --modversion gtk+-2.0 | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` - if test "x$enable_gtktest" = "xyes" ; then - ac_save_CFLAGS="$CFLAGS" - ac_save_LIBS="$LIBS" - CFLAGS="$CFLAGS $GTK_CFLAGS" - LIBS="$GTK_LIBS $LIBS" -dnl -dnl Now check if the installed GTK+ is sufficiently new. (Also sanity -dnl checks the results of pkg-config to some extent) -dnl - rm -f conf.gtktest - AC_TRY_RUN([ -#include -#include -#include - -int -main () -{ - int major, minor, micro; - char *tmp_version; - - system ("touch conf.gtktest"); - - /* HP/UX 9 (%@#!) writes to sscanf strings */ - tmp_version = g_strdup("$min_gtk_version"); - if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) { - printf("%s, bad version string\n", "$min_gtk_version"); - exit(1); - } - - if ((gtk_major_version != $gtk_config_major_version) || - (gtk_minor_version != $gtk_config_minor_version) || - (gtk_micro_version != $gtk_config_micro_version)) - { - printf("\n*** 'pkg-config --modversion gtk+-2.0' returned %d.%d.%d, but GTK+ (%d.%d.%d)\n", - $gtk_config_major_version, $gtk_config_minor_version, $gtk_config_micro_version, - gtk_major_version, gtk_minor_version, gtk_micro_version); - printf ("*** was found! If pkg-config was correct, then it is best\n"); - printf ("*** to remove the old version of GTK+. You may also be able to fix the error\n"); - printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n"); - printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n"); - printf("*** required on your system.\n"); - printf("*** If pkg-config was wrong, set the environment variable PKG_CONFIG_PATH\n"); - printf("*** to point to the correct configuration files\n"); - } - else if ((gtk_major_version != GTK_MAJOR_VERSION) || - (gtk_minor_version != GTK_MINOR_VERSION) || - (gtk_micro_version != GTK_MICRO_VERSION)) - { - printf("*** GTK+ header files (version %d.%d.%d) do not match\n", - GTK_MAJOR_VERSION, GTK_MINOR_VERSION, GTK_MICRO_VERSION); - printf("*** library (version %d.%d.%d)\n", - gtk_major_version, gtk_minor_version, gtk_micro_version); - } - else - { - if ((gtk_major_version > major) || - ((gtk_major_version == major) && (gtk_minor_version > minor)) || - ((gtk_major_version == major) && (gtk_minor_version == minor) && (gtk_micro_version >= micro))) - { - return 0; - } - else - { - printf("\n*** An old version of GTK+ (%d.%d.%d) was found.\n", - gtk_major_version, gtk_minor_version, gtk_micro_version); - printf("*** You need a version of GTK+ newer than %d.%d.%d. The latest version of\n", - major, minor, micro); - printf("*** GTK+ is always available from ftp://ftp.gtk.org.\n"); - printf("***\n"); - printf("*** If you have already installed a sufficiently new version, this error\n"); - printf("*** probably means that the wrong copy of the pkg-config shell script is\n"); - printf("*** being found. The easiest way to fix this is to remove the old version\n"); - printf("*** of GTK+, but you can also set the PKG_CONFIG environment to point to the\n"); - printf("*** correct copy of pkg-config. (In this case, you will have to\n"); - printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n"); - printf("*** so that the correct libraries are found at run-time))\n"); - } - } - return 1; -} -],, no_gtk=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) - CFLAGS="$ac_save_CFLAGS" - LIBS="$ac_save_LIBS" - fi - fi - if test "x$no_gtk" = x ; then - AC_MSG_RESULT(yes (version $gtk_config_major_version.$gtk_config_minor_version.$gtk_config_micro_version)) - ifelse([$2], , :, [$2]) - else - AC_MSG_RESULT(no) - if test "$PKG_CONFIG" = "no" ; then - echo "*** A new enough version of pkg-config was not found." - echo "*** See http://pkgconfig.sourceforge.net" - else - if test -f conf.gtktest ; then - : - else - echo "*** Could not run GTK+ test program, checking why..." - ac_save_CFLAGS="$CFLAGS" - ac_save_LIBS="$LIBS" - CFLAGS="$CFLAGS $GTK_CFLAGS" - LIBS="$LIBS $GTK_LIBS" - AC_TRY_LINK([ -#include -#include -], [ return ((gtk_major_version) || (gtk_minor_version) || (gtk_micro_version)); ], - [ echo "*** The test program compiled, but did not run. This usually means" - echo "*** that the run-time linker is not finding GTK+ or finding the wrong" - echo "*** version of GTK+. If it is not finding GTK+, you'll need to set your" - echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" - echo "*** to the installed location Also, make sure you have run ldconfig if that" - echo "*** is required on your system" - echo "***" - echo "*** If you have an old version installed, it is best to remove it, although" - echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" ], - [ echo "*** The test program failed to compile or link. See the file config.log for the" - echo "*** exact error that occured. This usually means GTK+ is incorrectly installed."]) - CFLAGS="$ac_save_CFLAGS" - LIBS="$ac_save_LIBS" - fi - fi - GTK_CFLAGS="" - GTK_LIBS="" - ifelse([$3], , :, [$3]) - fi - AC_SUBST(GTK_CFLAGS) - AC_SUBST(GTK_LIBS) - rm -f conf.gtktest -]) - -# Configure paths for GTK+ -# Owen Taylor 97-11-3 - -dnl AM_PATH_GTK([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]]) -dnl Test for GTK, and define GTK_CFLAGS and GTK_LIBS -dnl -AC_DEFUN(AM_PATH_GTK, -[dnl -dnl Get the cflags and libraries from the gtk-config script -dnl -AC_ARG_WITH(gtk-prefix,[ --with-gtk-prefix=PFX Prefix where GTK is installed (optional)], - gtk_config_prefix="$withval", gtk_config_prefix="") -AC_ARG_WITH(gtk-exec-prefix,[ --with-gtk-exec-prefix=PFX Exec prefix where GTK is installed (optional)], - gtk_config_exec_prefix="$withval", gtk_config_exec_prefix="") -AC_ARG_ENABLE(gtktest, [ --disable-gtktest Do not try to compile and run a test GTK program], - , enable_gtktest=yes) - - for module in . $4 - do - case "$module" in - gthread) - gtk_config_args="$gtk_config_args gthread" - ;; - esac - done - - if test x$gtk_config_exec_prefix != x ; then - gtk_config_args="$gtk_config_args --exec-prefix=$gtk_config_exec_prefix" - if test x${GTK_CONFIG+set} != xset ; then - GTK_CONFIG=$gtk_config_exec_prefix/bin/gtk-config - fi - fi - if test x$gtk_config_prefix != x ; then - gtk_config_args="$gtk_config_args --prefix=$gtk_config_prefix" - if test x${GTK_CONFIG+set} != xset ; then - GTK_CONFIG=$gtk_config_prefix/bin/gtk-config - fi - fi - - AC_PATH_PROG(GTK_CONFIG, gtk-config, no) - min_gtk_version=ifelse([$1], ,0.99.7,$1) - AC_MSG_CHECKING(for GTK - version >= $min_gtk_version) - no_gtk="" - if test "$GTK_CONFIG" = "no" ; then - no_gtk=yes - else - GTK_CFLAGS=`$GTK_CONFIG $gtk_config_args --cflags` - GTK_LIBS=`$GTK_CONFIG $gtk_config_args --libs` - gtk_config_major_version=`$GTK_CONFIG $gtk_config_args --version | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` - gtk_config_minor_version=`$GTK_CONFIG $gtk_config_args --version | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` - gtk_config_micro_version=`$GTK_CONFIG $gtk_config_args --version | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` - if test "x$enable_gtktest" = "xyes" ; then - ac_save_CFLAGS="$CFLAGS" - ac_save_LIBS="$LIBS" - CFLAGS="$CFLAGS $GTK_CFLAGS" - LIBS="$GTK_LIBS $LIBS" -dnl -dnl Now check if the installed GTK is sufficiently new. (Also sanity -dnl checks the results of gtk-config to some extent -dnl - rm -f conf.gtktest - AC_TRY_RUN([ -#include -#include -#include - -int -main () -{ - int major, minor, micro; - char *tmp_version; - - system ("touch conf.gtktest"); - - /* HP/UX 9 (%@#!) writes to sscanf strings */ - tmp_version = g_strdup("$min_gtk_version"); - if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) { - printf("%s, bad version string\n", "$min_gtk_version"); - exit(1); - } - - if ((gtk_major_version != $gtk_config_major_version) || - (gtk_minor_version != $gtk_config_minor_version) || - (gtk_micro_version != $gtk_config_micro_version)) - { - printf("\n*** 'gtk-config --version' returned %d.%d.%d, but GTK+ (%d.%d.%d)\n", - $gtk_config_major_version, $gtk_config_minor_version, $gtk_config_micro_version, - gtk_major_version, gtk_minor_version, gtk_micro_version); - printf ("*** was found! If gtk-config was correct, then it is best\n"); - printf ("*** to remove the old version of GTK+. You may also be able to fix the error\n"); - printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n"); - printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n"); - printf("*** required on your system.\n"); - printf("*** If gtk-config was wrong, set the environment variable GTK_CONFIG\n"); - printf("*** to point to the correct copy of gtk-config, and remove the file config.cache\n"); - printf("*** before re-running configure\n"); - } -#if defined (GTK_MAJOR_VERSION) && defined (GTK_MINOR_VERSION) && defined (GTK_MICRO_VERSION) - else if ((gtk_major_version != GTK_MAJOR_VERSION) || - (gtk_minor_version != GTK_MINOR_VERSION) || - (gtk_micro_version != GTK_MICRO_VERSION)) - { - printf("*** GTK+ header files (version %d.%d.%d) do not match\n", - GTK_MAJOR_VERSION, GTK_MINOR_VERSION, GTK_MICRO_VERSION); - printf("*** library (version %d.%d.%d)\n", - gtk_major_version, gtk_minor_version, gtk_micro_version); - } -#endif /* defined (GTK_MAJOR_VERSION) ... */ - else - { - if ((gtk_major_version > major) || - ((gtk_major_version == major) && (gtk_minor_version > minor)) || - ((gtk_major_version == major) && (gtk_minor_version == minor) && (gtk_micro_version >= micro))) - { - return 0; - } - else - { - printf("\n*** An old version of GTK+ (%d.%d.%d) was found.\n", - gtk_major_version, gtk_minor_version, gtk_micro_version); - printf("*** You need a version of GTK+ newer than %d.%d.%d. The latest version of\n", - major, minor, micro); - printf("*** GTK+ is always available from ftp://ftp.gtk.org.\n"); - printf("***\n"); - printf("*** If you have already installed a sufficiently new version, this error\n"); - printf("*** probably means that the wrong copy of the gtk-config shell script is\n"); - printf("*** being found. The easiest way to fix this is to remove the old version\n"); - printf("*** of GTK+, but you can also set the GTK_CONFIG environment to point to the\n"); - printf("*** correct copy of gtk-config. (In this case, you will have to\n"); - printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n"); - printf("*** so that the correct libraries are found at run-time))\n"); - } - } - return 1; -} -],, no_gtk=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) - CFLAGS="$ac_save_CFLAGS" - LIBS="$ac_save_LIBS" - fi - fi - if test "x$no_gtk" = x ; then - AC_MSG_RESULT(yes) - ifelse([$2], , :, [$2]) - else - AC_MSG_RESULT(no) - if test "$GTK_CONFIG" = "no" ; then - echo "*** The gtk-config script installed by GTK could not be found" - echo "*** If GTK was installed in PREFIX, make sure PREFIX/bin is in" - echo "*** your path, or set the GTK_CONFIG environment variable to the" - echo "*** full path to gtk-config." - else - if test -f conf.gtktest ; then - : - else - echo "*** Could not run GTK test program, checking why..." - CFLAGS="$CFLAGS $GTK_CFLAGS" - LIBS="$LIBS $GTK_LIBS" - AC_TRY_LINK([ -#include -#include -], [ return ((gtk_major_version) || (gtk_minor_version) || (gtk_micro_version)); ], - [ echo "*** The test program compiled, but did not run. This usually means" - echo "*** that the run-time linker is not finding GTK or finding the wrong" - echo "*** version of GTK. If it is not finding GTK, you'll need to set your" - echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" - echo "*** to the installed location Also, make sure you have run ldconfig if that" - echo "*** is required on your system" - echo "***" - echo "*** If you have an old version installed, it is best to remove it, although" - echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" - echo "***" - echo "*** If you have a RedHat 5.0 system, you should remove the GTK package that" - echo "*** came with the system with the command" - echo "***" - echo "*** rpm --erase --nodeps gtk gtk-devel" ], - [ echo "*** The test program failed to compile or link. See the file config.log for the" - echo "*** exact error that occured. This usually means GTK was incorrectly installed" - echo "*** or that you have moved GTK since it was installed. In the latter case, you" - echo "*** may want to edit the gtk-config script: $GTK_CONFIG" ]) - CFLAGS="$ac_save_CFLAGS" - LIBS="$ac_save_LIBS" - fi - fi - GTK_CFLAGS="" - GTK_LIBS="" - ifelse([$3], , :, [$3]) - fi - AC_SUBST(GTK_CFLAGS) - AC_SUBST(GTK_LIBS) - rm -f conf.gtktest -]) - - -dnl PKG_CHECK_MODULES(GSTUFF, gtk+-2.0 >= 1.3 glib = 1.3.4, action-if, action-not) -dnl defines GSTUFF_LIBS, GSTUFF_CFLAGS, see pkg-config man page -dnl also defines GSTUFF_PKG_ERRORS on error -AC_DEFUN(PKG_CHECK_MODULES, [ - succeeded=no - - if test -z "$PKG_CONFIG"; then - AC_PATH_PROG(PKG_CONFIG, pkg-config, no) - fi - - if test "$PKG_CONFIG" = "no" ; then - echo "*** The pkg-config script could not be found. Make sure it is" - echo "*** in your path, or set the PKG_CONFIG environment variable" - echo "*** to the full path to pkg-config." - echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config." - else - PKG_CONFIG_MIN_VERSION=0.9.0 - if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - AC_MSG_CHECKING(for $2) - - if $PKG_CONFIG --exists "$2" ; then - AC_MSG_RESULT(yes) - succeeded=yes - - AC_MSG_CHECKING($1_CFLAGS) - $1_CFLAGS=`$PKG_CONFIG --cflags "$2"` - AC_MSG_RESULT($$1_CFLAGS) - - AC_MSG_CHECKING($1_LIBS) - $1_LIBS=`$PKG_CONFIG --libs "$2"` - AC_MSG_RESULT($$1_LIBS) - else - $1_CFLAGS="" - $1_LIBS="" - ## If we have a custom action on failure, don't print errors, but - ## do set a variable so people can do so. - $1_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"` - ifelse([$4], ,echo $$1_PKG_ERRORS,) - fi - - AC_SUBST($1_CFLAGS) - AC_SUBST($1_LIBS) - else - echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer." - echo "*** See http://www.freedesktop.org/software/pkgconfig" - fi - fi - - if test $succeeded = yes; then - ifelse([$3], , :, [$3]) - else - 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]) - fi -]) - - - -dnl --------------------------------------------------------------------------- -dnl Support macros for makefiles generated by BAKEFILE. -dnl --------------------------------------------------------------------------- - -dnl Lots of compiler & linker detection code contained here was taken from -dnl wxWindows configure.in script (see http://www.wxwindows.org) - - - -dnl --------------------------------------------------------------------------- -dnl AC_BAKEFILE_GNUMAKE -dnl -dnl Detects GNU make -dnl --------------------------------------------------------------------------- - -AC_DEFUN(AC_BAKEFILE_GNUMAKE, -[ - dnl does make support "-include" (only GNU make does AFAIK)? - AC_CACHE_CHECK([if make is GNU make], bakefile_cv_prog_makeisgnu, - [ - if ( ${SHELL-sh} -c "${MAKE-make} --version" 2> /dev/null | - egrep -s GNU > /dev/null); then - bakefile_cv_prog_makeisgnu="yes" - else - bakefile_cv_prog_makeisgnu="no" - fi - ]) - - if test "x$bakefile_cv_prog_makeisgnu" = "xyes"; then - IF_GNU_MAKE="" - else - IF_GNU_MAKE="#" - fi - AC_SUBST(IF_GNU_MAKE) -]) - -dnl --------------------------------------------------------------------------- -dnl AC_BAKEFILE_PLATFORM -dnl -dnl Detects platform and sets PLATFORM_XXX variables accordingly -dnl --------------------------------------------------------------------------- - -AC_DEFUN(AC_BAKEFILE_PLATFORM, -[ - PLATFORM_UNIX=0 - PLATFORM_WIN32=0 - PLATFORM_MSDOS=0 - PLATFORM_MAC=0 - PLATFORM_MACOSX=0 - - case "${host}" in - *-*-cygwin* | *-*-mingw32* ) - PLATFORM_WIN32=1 - ;; - *-pc-msdosdjgpp | *-pc-os2_emx | *-pc-os2-emx ) - PLATFORM_MSDOS=1 - ;; - powerpc-*-darwin* ) - PLATFORM_MAC=1 - PLATFORM_MACOSX=1 - ;; - * ) - PLATFORM_UNIX=1 - ;; - esac - - AC_SUBST(PLATFORM_UNIX) - AC_SUBST(PLATFORM_WIN32) - AC_SUBST(PLATFORM_MSDOS) - AC_SUBST(PLATFORM_MAC) - AC_SUBST(PLATFORM_MACOSX) -]) - - - -dnl --------------------------------------------------------------------------- -dnl AC_BAKEFILE_SUFFIXES -dnl -dnl Detects shared various suffixes for shared libraries, libraries, programs, -dnl plugins etc. -dnl --------------------------------------------------------------------------- - -AC_DEFUN(AC_BAKEFILE_SUFFIXES, -[ - SO_SUFFIX="so" - SO_SUFFIX_MODULE="so" - EXEEXT="" - DLLPREFIX=lib - DLLPREFIX_MODULE= - - case "${host}" in - *-hp-hpux* ) - SO_SUFFIX="sl" - SO_SUFFIX_MODULE="sl" - ;; - *-*-aix* ) - dnl quoting from - dnl http://www-1.ibm.com/servers/esdd/articles/gnu.html: - dnl Both archive libraries and shared libraries on AIX have an - dnl .a extension. This will explain why you can't link with an - dnl .so and why it works with the name changed to .a. - SO_SUFFIX="a" - SO_SUFFIX_MODULE="a" - ;; - *-*-cygwin* | *-*-mingw32* ) - SO_SUFFIX="dll" - SO_SUFFIX_MODULE="dll" - EXEEXT=".exe" - DLLPREFIX="" - ;; - *-pc-msdosdjgpp | *-pc-os2_emx | *-pc-os2-emx ) - EXEEXT=".exe" - DLLPREFIX="" - ;; - powerpc-*-darwin* ) - SO_SUFFIX="dylib" - SO_SUFFIX_MODULE="bundle" - ;; - esac - - AC_SUBST(SO_SUFFIX) - AC_SUBST(SO_SUFFIX_MODULE) - AC_SUBST(EXEEXT) - AC_SUBST(DLLPREFIX) - AC_SUBST(DLLPREFIX_MODULE) -]) - - -dnl --------------------------------------------------------------------------- -dnl AC_BAKEFILE_SHARED_LD -dnl -dnl Detects command for making shared libraries, substitutes SHARED_LD_CC -dnl and SHARED_LD_CXX. -dnl --------------------------------------------------------------------------- - -AC_DEFUN(AC_BAKEFILE_SHARED_LD, -[ - dnl Defaults for GCC and ELF .so shared libs: - SHARED_LD_CC="\$(CC) -shared -o" - SHARED_LD_CXX="\$(CXX) -shared -o" - - dnl the extra compiler flags needed for compilation of shared library - if test "x$GCC" = "xyes"; then - dnl the switch for gcc is the same under all platforms - PIC_FLAG="-fPIC" - fi - - case "${host}" in - *-hp-hpux* ) - dnl default settings are good for gcc but not for the native HP-UX - if test "x$GCC" = "xyes"; then - dnl -o flag must be after PIC flag - SHARED_LD_CC="${CC} -shared ${PIC_FLAG} -o" - SHARED_LD_CXX="${CXX} -shared ${PIC_FLAG} -o" - else - dnl no idea why it wants it, but it does - LDFLAGS="$LDFLAGS -L/usr/lib" - - SHARED_LD_CC="${CC} -b -o" - SHARED_LD_CXX="${CXX} -b -o" - PIC_FLAG="+Z" - fi - ;; - - *-*-linux* ) - if test "x$GCC" != "xyes"; then - AC_CACHE_CHECK([for Intel compiler], bakefile_cv_prog_icc, - [ - AC_TRY_COMPILE([], - [ - #ifndef __INTEL_COMPILER - #error Not icc - #endif - ], - bakefile_cv_prog_icc=yes, - bakefile_cv_prog_icc=no - ) - ]) - if test "$bakefile_cv_prog_icc" = "yes"; then - PIC_FLAG="-KPIC" - fi - fi - ;; - - *-*-solaris2* ) - if test "x$GCC" != xyes ; then - SHARED_LD_CC="${CC} -G -o" - SHARED_LD_CXX="${CXX} -G -o" - PIC_FLAG="-KPIC" - fi - ;; - - *-*-darwin* ) - dnl For Unix to MacOS X porting instructions, see: - dnl http://fink.sourceforge.net/doc/porting/porting.html - CFLAGS="$CFLAGS -fno-common" - CXXFLAGS="$CXXFLAGS -fno-common" - - dnl Most apps benefit from being fully binded (its faster and static - dnl variables initialized at startup work). - dnl This can be done either with the exe linker flag -Wl,-bind_at_load - dnl or with a double stage link in order to create a single module - dnl "-init _wxWindowsDylibInit" not useful with lazy linking solved - - cat <shared-ld-sh -#!/bin/sh -#----------------------------------------------------------------------------- -#-- Name: distrib/mac/shared-ld-sh -#-- Purpose: Link a mach-o dynamic shared library for Darwin / Mac OS X -#-- Author: Gilles Depeyrot -#-- Copyright: (c) 2002 Gilles Depeyrot -#-- Licence: any use permitted -#----------------------------------------------------------------------------- - -verbose=0 -args="" -objects="" -linking_flag="-dynamiclib" - -while test \${#} -gt 0; do - case \${1} in - - -v) - verbose=1 - ;; - - -o|-compatibility_version|-current_version|-framework|-undefined|-install_name) - # collect these options and values - args="\${args} \${1} \${2}" - shift - ;; - - -l*|-L*|-flat_namespace) - # collect these options - args="\${args} \${1}" - ;; - - -dynamiclib|-bundle) - linking_flag="\${1}" - ;; - - -*) - echo "shared-ld: unhandled option '\${1}'" - exit 1 - ;; - - *.o | *.a | *.dylib) - # collect object files - objects="\${objects} \${1}" - ;; - - *) - echo "shared-ld: unhandled argument '\${1}'" - exit 1 - ;; - - esac - shift -done - -# -# Link one module containing all the others -# -if test \${verbose} = 1; then - echo "c++ -r -keep_private_externs -nostdlib \${objects} -o master.\$\$.o" -fi -c++ -r -keep_private_externs -nostdlib \${objects} -o master.\$\$.o -status=\$? -if test \${status} != 0; then - exit \${status} -fi - -# -# Link the shared library from the single module created -# -if test \${verbose} = 1; then - echo "cc \${linking_flag} master.\$\$.o \${args}" -fi -c++ \${linking_flag} master.\$\$.o \${args} -status=\$? -if test \${status} != 0; then - exit \${status} -fi - -# -# Remove intermediate module -# -rm -f master.\$\$.o - -exit 0 -EOF - chmod +x shared-ld-sh - - SHARED_LD_CC="`pwd`/shared-ld-sh -dynamiclib -undefined suppress -flat_namespace -o" - SHARED_LD_MODULE_CC="`pwd`/shared-ld-sh -bundle -undefined suppress -flat_namespace -o" - SHARED_LD_CXX="$SHARED_LD_CC" - SHARED_LD_MODULE_CXX="$SHARED_LD_MODULE_CC" - PIC_FLAG="-dynamic -fPIC" - dnl FIXME - what about C libs? Gilles says to use c++ because it doesn't - dnl matter for C projects and matters for C++ ones - dnl FIXME - newer devel tools have linker flag to do this, the script - dnl is not necessary - detect! - ;; - - *-*-aix* ) - dnl default settings are ok for gcc - if test "x$GCC" != "xyes"; then - dnl the abs path below used to be hardcoded here so I guess it must - dnl be some sort of standard location under AIX? - AC_CHECK_PROG(AIX_CXX_LD, makeC++SharedLib, - makeC++SharedLib, /usr/lpp/xlC/bin/makeC++SharedLib) - dnl FIXME - what about makeCSharedLib? - SHARED_LD_CC="$AIX_CC_LD -p 0 -o" - SHARED_LD_CXX="$AIX_CXX_LD -p 0 -o" - fi - ;; - - *-*-beos* ) - dnl can't use gcc under BeOS for shared library creation because it - dnl complains about missing 'main' - SHARED_LD_CC="${LD} -shared -o" - SHARED_LD_CXX="${LD} -shared -o" - ;; - - *-*-irix* ) - dnl default settings are ok for gcc - if test "x$GCC" != "xyes"; then - PIC_FLAG="-KPIC" - fi - ;; - - *-*-cygwin* | *-*-mingw32* ) - PIC_FLAG="" - ;; - - *-*-freebsd* | *-*-openbsd* | *-*-netbsd* | \ - *-*-sunos4* | \ - *-*-osf* | \ - *-*-dgux5* | \ - *-*-sysv5* | \ - *-pc-os2_emx | *-pc-os2-emx ) - dnl defaults are ok - ;; - - *) - AC_MSG_ERROR(unknown system type $host.) - esac - - if test "x$SHARED_LD_MODULE_CC" = "x" ; then - SHARED_LD_MODULE_CC="$SHARED_LD_CC" - fi - if test "x$SHARED_LD_MODULE_CXX" = "x" ; then - SHARED_LD_MODULE_CXX="$SHARED_LD_CXX" - fi - - AC_SUBST(SHARED_LD_CC) - AC_SUBST(SHARED_LD_CXX) - AC_SUBST(SHARED_LD_MODULE_CC) - AC_SUBST(SHARED_LD_MODULE_CXX) - AC_SUBST(PIC_FLAG) -]) - - -dnl --------------------------------------------------------------------------- -dnl AC_BAKEFILE_SHARED_VERSIONS -dnl -dnl Detects linker options for attaching versions (sonames) to shared libs. -dnl --------------------------------------------------------------------------- - -AC_DEFUN(AC_BAKEFILE_SHARED_VERSIONS, -[ - USE_SOVERSION=0 - USE_SOVERLINUX=0 - USE_SOVERSOLARIS=0 - USE_SOSYMLINKS=0 - USE_MACVERSION=0 - SONAME_FLAG= - - case "${host}" in - *-*-linux* ) - SONAME_FLAG="-Wl,-soname," - USE_SOVERSION=1 - USE_SOVERLINUX=1 - USE_SOSYMLINKS=1 - ;; - - *-*-solaris2* ) - SONAME_FLAG="-h " - USE_SOVERSION=1 - USE_SOVERSOLARIS=1 - USE_SOSYMLINKS=1 - ;; - - *-*-darwin* ) - USE_MACVERSION=1 - USE_SOVERSION=1 - USE_SOSYMLINKS=1 - ;; - esac - - AC_SUBST(USE_SOVERSION) - AC_SUBST(USE_SOVERLINUX) - AC_SUBST(USE_SOVERSOLARIS) - AC_SUBST(USE_MACVERSION) - AC_SUBST(USE_SOSYMLINKS) - AC_SUBST(SONAME_FLAG) -]) - - -dnl --------------------------------------------------------------------------- -dnl AC_BAKEFILE_DEPS -dnl -dnl Detects available C/C++ dependency tracking options -dnl --------------------------------------------------------------------------- - -AC_DEFUN(AC_BAKEFILE_DEPS, -[ - AC_MSG_CHECKING([for dependency tracking method]) - DEPS_TRACKING=0 - - if test "x$GCC" = "xyes"; then - DEPSMODE=gcc - DEPS_TRACKING=1 - case "${host}" in - powerpc-*-darwin* ) - dnl -cpp-precomp (the default) conflicts with -MMD option - dnl used by bk-deps (see also http://developer.apple.com/documentation/Darwin/Conceptual/PortingUnix/compiling/chapter_4_section_3.html) - DEPSFLAG_GCC="-no-cpp-precomp -MMD" - ;; - * ) - DEPSFLAG_GCC="-MMD" - ;; - esac - AC_MSG_RESULT([gcc]) - else - AC_MSG_RESULT([none]) - fi - - if test $DEPS_TRACKING = 1 ; then - cat <bk-deps -#!/bin/sh - -# This script is part of Bakefile (http://bakefile.sourceforge.net) autoconf -# script. It is used to track C/C++ files dependencies in portable way. -# -# Permission is given to use this file in any way. - -DEPSMODE=$DEPSMODE -DEPSDIR=.deps -DEPSFLAG_GCC="$DEPSFLAG_GCC" - -mkdir -p \$DEPSDIR - -if test \$DEPSMODE = gcc ; then - \${*} \${DEPSFLAG_GCC} - status=\${?} - if test \${status} != 0 ; then - exit \${status} - fi - # move created file to the location we want it in: - while test \${#} -gt 0; do - case "\${1}" in - -o ) - shift - objfile=\${1} - ;; - -* ) - ;; - * ) - srcfile=\${1} - ;; - esac - shift - done - depfile=\`basename \$srcfile | sed -e 's/\..*$/.d/g'\` - depobjname=\`echo \$depfile |sed -e 's/\.d/.o/g'\` - if test -f \$depfile ; then - sed -e "s,\$depobjname:,\$objfile:,g" \$depfile >\${DEPSDIR}/\${objfile}.d - rm -f \$depfile - else - depfile=\`basename \$objfile | sed -e 's/\..*$/.d/g'\` - if test -f \$depfile ; then - sed -e "/^\$objfile/! s,\$depobjname:,\$objfile:,g" \$depfile >\${DEPSDIR}/\${objfile}.d - rm -f \$depfile - fi - fi - exit 0 -else - \${*} - exit \${?} -fi -EOF - chmod +x bk-deps - fi - - AC_SUBST(DEPS_TRACKING) -]) - -dnl --------------------------------------------------------------------------- -dnl AC_BAKEFILE_CHECK_BASIC_STUFF -dnl -dnl Checks for presence of basic programs, such as C and C++ compiler, "ranlib" -dnl or "install" -dnl --------------------------------------------------------------------------- - -AC_DEFUN(AC_BAKEFILE_CHECK_BASIC_STUFF, -[ - AC_PROG_RANLIB - AC_PROG_INSTALL - AC_PROG_LN_S - - AC_PROG_MAKE_SET - AC_SUBST(MAKE_SET) - - if test "$build" != "$host" ; then - AR=$host_alias-ar - STRIP=$host_alias-strip - else - AC_CHECK_PROG(AR, ar, ar, ar) - AC_CHECK_PROG(STRIP, strip, strip, true) - fi - - case ${host} in - *-hp-hpux* ) - INSTALL_DIR="mkdir" - ;; - *) INSTALL_DIR="$INSTALL -d" - ;; - esac - AC_SUBST(INSTALL_DIR) - - LDFLAGS_GUI= - case ${host} in - *-*-cygwin* | *-*-mingw32* ) - LDFLAGS_GUI="-Wl,--subsystem,windows -mwindows" - esac - AC_SUBST(LDFLAGS_GUI) -]) - - -dnl --------------------------------------------------------------------------- -dnl AC_BAKEFILE_RES_COMPILERS -dnl -dnl Checks for presence of resource compilers for win32 or mac -dnl --------------------------------------------------------------------------- - -AC_DEFUN(AC_BAKEFILE_RES_COMPILERS, -[ - RESCOMP= - SETFILE= - - case ${host} in - *-*-cygwin* | *-*-mingw32* ) - dnl Check for win32 resources compiler: - if test "$build" != "$host" ; then - RESCOMP=$host_alias-windres - else - AC_CHECK_PROG(RESCOMP, windres, windres, windres) - fi - ;; - - *-*-darwin* ) - AC_CHECK_PROG(RESCOMP, Rez, Rez, /Developer/Tools/Rez) - AC_CHECK_PROG(SETFILE, SetFile, SetFile, /Developer/Tools/SetFile) - ;; - esac - - AC_SUBST(RESCOMP) - AC_SUBST(SETFILE) -]) - -dnl --------------------------------------------------------------------------- -dnl AC_BAKEFILE_PRECOMP_HEADERS -dnl -dnl Check for precompiled headers support (GCC >= 3.4) -dnl --------------------------------------------------------------------------- - -AC_DEFUN(AC_BAKEFILE_PRECOMP_HEADERS, -[ - - AC_ARG_ENABLE([precomp-headers], - [ --disable-precomp-headers don't use precompiled headers even if compiler can], - [bk_use_pch="$enableval"]) - - GCC_PCH=0 - - if test "x$bk_use_pch" = "x" -o "x$bk_use_pch" = "xyes" ; then - if test "x$GCC" = "xyes"; then - dnl test if we have gcc-3.4: - AC_MSG_CHECKING([if the compiler supports precompiled headers]) - AC_TRY_COMPILE([], - [ - #if !defined(__GNUC__) || !defined(__GNUC_MINOR__) - #error "no pch support" - #endif - #if (__GNUC__ < 3) - #error "no pch support" - #endif - #if (__GNUC__ == 3) && \ - ((!defined(__APPLE_CC__) && (__GNUC_MINOR__ < 4)) || \ - ( defined(__APPLE_CC__) && (__GNUC_MINOR__ < 3))) - #error "no pch support" - #endif - ], - [ - AC_MSG_RESULT([yes]) - dnl FIXME - this is temporary, till .gch dependencies - dnl are fixed in generated Makefiles - CPPFLAGS="-fpch-deps $CPPFLAGS" - GCC_PCH=1 - ], - [ - AC_MSG_RESULT([no]) - ]) - if test $GCC_PCH = 1 ; then - cat <bk-make-pch -#!/bin/sh - -# This script is part of Bakefile (http://bakefile.sourceforge.net) autoconf -# script. It is used to generated precompiled headers. -# -# Permission is given to use this file in any way. - -outfile="\${1}" -header="\${2}" -shift -shift - -compiler= -headerfile= -while test \${#} -gt 0; do - case "\${1}" in - -I* ) - incdir=\`echo \${1} | sed -e 's/-I\(.*\)/\1/g'\` - if test "x\${headerfile}" = "x" -a -f "\${incdir}/\${header}" ; then - headerfile="\${incdir}/\${header}" - fi - ;; - esac - compiler="\${compiler} \${1}" - shift -done - -if test "x\${headerfile}" = "x" ; then - echo "error: can't find header \${header} in include paths" >2 -else - if test -f \${outfile} ; then - rm -f \${outfile} - else - mkdir -p \`dirname \${outfile}\` - fi - depsfile=".deps/\`basename \${outfile}\`.d" - mkdir -p .deps - # can do this because gcc is >= 3.4: - \${compiler} -o \${outfile} -MMD -MF "\${depsfile}" "\${headerfile}" - exit \${?} -fi -EOF - chmod +x bk-make-pch - fi - fi - fi - - AC_SUBST(GCC_PCH) -]) - - - -dnl --------------------------------------------------------------------------- -dnl AC_BAKEFILE -dnl -dnl To be used in configure.in of any project using Bakefile-generated mks -dnl --------------------------------------------------------------------------- - -AC_DEFUN(AC_BAKEFILE, -[ - if test "x$BAKEFILE_CHECK_BASICS" != "xno"; then - AC_BAKEFILE_CHECK_BASIC_STUFF - fi - AC_BAKEFILE_GNUMAKE - AC_BAKEFILE_PLATFORM - AC_BAKEFILE_SUFFIXES - AC_BAKEFILE_SHARED_LD - AC_BAKEFILE_SHARED_VERSIONS - AC_BAKEFILE_DEPS - AC_BAKEFILE_RES_COMPILERS - - builtin(include, autoconf_inc.m4) -]) - +m4_include([build/aclocal/bakefile-lang.m4]) +m4_include([build/aclocal/bakefile.m4]) +m4_include([build/aclocal/cppunit.m4]) +m4_include([build/aclocal/gtk-2.0.m4]) +m4_include([build/aclocal/gtk.m4]) +m4_include([build/aclocal/pkg.m4]) +m4_include([build/aclocal/sdl.m4]) +m4_include([build/aclocal/ax_func_which_gethostbyname_r.m4]) +m4_include([build/aclocal/ac_raf_func_which_getservbyname_r.m4]) +m4_include([acinclude.m4])