home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / wxos2233.zip / wxOS2-2_3_3.zip / wxWindows-2.3.3 / aclocal.m4 < prev    next >
M4 Source File  |  2002-08-16  |  36KB  |  984 lines

  1. dnl aclocal.m4 generated automatically by aclocal 1.4-p5
  2.  
  3. dnl Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
  4. dnl This file is free software; the Free Software Foundation
  5. dnl gives unlimited permission to copy and/or distribute it,
  6. dnl with or without modifications, as long as this notice is preserved.
  7.  
  8. dnl This program is distributed in the hope that it will be useful,
  9. dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
  10. dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
  11. dnl PARTICULAR PURPOSE.
  12.  
  13. dnl ---------------------------------------------------------------------------
  14. dnl
  15. dnl Macros for configure.in for wxWindows by Robert Roebling, Phil Blecker,
  16. dnl Vadim Zeitlin and Ron Lee
  17. dnl
  18. dnl This script is under the wxWindows licence.
  19. dnl
  20. dnl Version: $Id: aclocal.m4,v 1.16 2002/08/12 22:13:20 VS Exp $
  21. dnl ---------------------------------------------------------------------------
  22.  
  23. dnl ===========================================================================
  24. dnl macros to find the a file in the list of include/lib paths
  25. dnl ===========================================================================
  26.  
  27. dnl ---------------------------------------------------------------------------
  28. dnl call WX_PATH_FIND_INCLUDES(search path, header name), sets ac_find_includes
  29. dnl to the full name of the file that was found or leaves it empty if not found
  30. dnl ---------------------------------------------------------------------------
  31. AC_DEFUN([WX_PATH_FIND_INCLUDES],
  32. [
  33. ac_find_includes=
  34. for ac_dir in $1;
  35.   do
  36.     if test -f "$ac_dir/$2"; then
  37.       ac_find_includes=$ac_dir
  38.       break
  39.     fi
  40.   done
  41. ])
  42.  
  43. dnl ---------------------------------------------------------------------------
  44. dnl call WX_PATH_FIND_LIBRARIES(search path, header name), sets ac_find_libraries
  45. dnl to the full name of the file that was found or leaves it empty if not found
  46. dnl ---------------------------------------------------------------------------
  47. AC_DEFUN([WX_PATH_FIND_LIBRARIES],
  48. [
  49. ac_find_libraries=
  50. for ac_dir in $1;
  51.   do
  52.     for ac_extension in a so sl dylib; do
  53.       if test -f "$ac_dir/lib$2.$ac_extension"; then
  54.         ac_find_libraries=$ac_dir
  55.         break 2
  56.       fi
  57.     done
  58.   done
  59. ])
  60.  
  61. dnl ---------------------------------------------------------------------------
  62. dnl Path to include, already defined
  63. dnl ---------------------------------------------------------------------------
  64. AC_DEFUN([WX_INCLUDE_PATH_EXIST],
  65. [
  66.   ac_path_to_include=$1
  67.   echo "$2" | grep "\-I$1" > /dev/null
  68.   result=$?
  69.   if test $result = 0; then
  70.     ac_path_to_include=""
  71.   else
  72.     ac_path_to_include=" -I$1"
  73.   fi
  74. ])
  75.  
  76. dnl ---------------------------------------------------------------------------
  77. dnl Path to link, already defined
  78. dnl ---------------------------------------------------------------------------
  79. AC_DEFUN([WX_LINK_PATH_EXIST],
  80. [
  81.   echo "$2" | grep "\-L$1" > /dev/null
  82.   result=$?
  83.   if test $result = 0; then
  84.     ac_path_to_link=""
  85.   else
  86.     ac_path_to_link=" -L$1"
  87.   fi
  88. ])
  89.  
  90. dnl ===========================================================================
  91. dnl C++ features test
  92. dnl ===========================================================================
  93.  
  94. dnl ---------------------------------------------------------------------------
  95. dnl WX_CPP_NEW_HEADERS checks whether the compiler has "new" <iostream> header
  96. dnl or only the old <iostream.h> one - it may be generally assumed that if
  97. dnl <iostream> exists, the other "new" headers (without .h) exist too.
  98. dnl
  99. dnl call WX_CPP_NEW_HEADERS(actiof-if-true, action-if-false-or-cross-compiling)
  100. dnl ---------------------------------------------------------------------------
  101.  
  102. AC_DEFUN([WX_CPP_NEW_HEADERS],
  103. [
  104.   if test "$cross_compiling" = "yes"; then
  105.     ifelse([$2], , :, [$2])
  106.   else
  107.     AC_LANG_SAVE
  108.     AC_LANG_CPLUSPLUS
  109.  
  110.     AC_CHECK_HEADERS(iostream)
  111.  
  112.     if test "$ac_cv_header_iostream" = "yes" ; then
  113.       ifelse([$1], , :, [$1])
  114.     else
  115.       ifelse([$2], , :, [$2])
  116.     fi
  117.  
  118.     AC_LANG_RESTORE
  119.   fi
  120. ])
  121.  
  122. dnl ---------------------------------------------------------------------------
  123. dnl WX_CPP_BOOL checks whether the C++ compiler has a built in bool type
  124. dnl
  125. dnl call WX_CPP_BOOL - will define HAVE_BOOL if the compiler supports bool
  126. dnl ---------------------------------------------------------------------------
  127.  
  128. AC_DEFUN([WX_CPP_BOOL],
  129. [
  130.   AC_CACHE_CHECK([if C++ compiler supports bool], wx_cv_cpp_bool,
  131.   [
  132.     AC_LANG_SAVE
  133.     AC_LANG_CPLUSPLUS
  134.  
  135.     AC_TRY_COMPILE(
  136.       [
  137.       ],
  138.       [
  139.         bool b = true;
  140.  
  141.         return 0;
  142.       ],
  143.       [
  144.         wx_cv_cpp_bool=yes
  145.       ],
  146.       [
  147.         wx_cv_cpp_bool=no
  148.       ]
  149.     )
  150.  
  151.     AC_LANG_RESTORE
  152.   ])
  153.  
  154.   if test "$wx_cv_cpp_bool" = "yes"; then
  155.     AC_DEFINE(HAVE_BOOL)
  156.   fi
  157. ])
  158.  
  159. dnl ---------------------------------------------------------------------------
  160. dnl WX_CPP_EXPLICIT checks whether the C++ compiler support the explicit
  161. dnl keyword and defines HAVE_EXPLICIT if this is the case
  162. dnl ---------------------------------------------------------------------------
  163.  
  164. AC_DEFUN([WX_CPP_EXPLICIT],
  165. [
  166.   AC_CACHE_CHECK([if C++ compiler supports the explicit keyword],
  167.                  wx_cv_explicit,
  168.   [
  169.     AC_LANG_SAVE
  170.     AC_LANG_CPLUSPLUS
  171.  
  172.     dnl do the test in 2 steps: first check that the compiler knows about the
  173.     dnl explicit keyword at all and then verify that it really honours it
  174.     AC_TRY_COMPILE(
  175.       [
  176.         class Foo { public: explicit Foo(int) {} };
  177.       ],
  178.       [
  179.         return 0;
  180.       ],
  181.       [
  182.         AC_TRY_COMPILE(
  183.             [
  184.                 class Foo { public: explicit Foo(int) {} };
  185.                 static void TakeFoo(const Foo& foo) { }
  186.             ],
  187.             [
  188.                 TakeFoo(17);
  189.                 return 0;
  190.             ],
  191.             wx_cv_explicit=no,
  192.             wx_cv_explicit=yes
  193.         )
  194.       ],
  195.       wx_cv_explicit=no
  196.     )
  197.  
  198.     AC_LANG_RESTORE
  199.   ])
  200.  
  201.   if test "$wx_cv_explicit" = "yes"; then
  202.     AC_DEFINE(HAVE_EXPLICIT)
  203.   fi
  204. ])
  205.  
  206. dnl ---------------------------------------------------------------------------
  207. dnl a slightly better AC_C_BIGENDIAN macro which allows cross-compiling
  208. dnl ---------------------------------------------------------------------------
  209.  
  210. AC_DEFUN([WX_C_BIGENDIAN],
  211. [AC_CACHE_CHECK([whether byte ordering is bigendian], ac_cv_c_bigendian,
  212. [ac_cv_c_bigendian=unknown
  213. # See if sys/param.h defines the BYTE_ORDER macro.
  214. AC_TRY_COMPILE([#include <sys/types.h>
  215. #include <sys/param.h>], [
  216. #if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN
  217.  bogus endian macros
  218. #endif], [# It does; now see whether it defined to BIG_ENDIAN or not.
  219. AC_TRY_COMPILE([#include <sys/types.h>
  220. #include <sys/param.h>], [
  221. #if BYTE_ORDER != BIG_ENDIAN
  222.  not big endian
  223. #endif], ac_cv_c_bigendian=yes, ac_cv_c_bigendian=no)])
  224. if test $ac_cv_c_bigendian = unknown; then
  225. AC_TRY_RUN([main () {
  226.   /* Are we little or big endian?  From Harbison&Steele.  */
  227.   union
  228.   {
  229.     long l;
  230.     char c[sizeof (long)];
  231.   } u;
  232.   u.l = 1;
  233.   exit (u.c[sizeof (long) - 1] == 1);
  234. }], [ac_cv_c_bigendian=no], [ac_cv_c_bigendian=yes], [ac_cv_c_bigendian=unknown])
  235. fi])
  236. if test $ac_cv_c_bigendian = unknown; then
  237.   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])
  238. fi
  239. if test $ac_cv_c_bigendian = yes; then
  240.   AC_DEFINE(WORDS_BIGENDIAN)
  241. fi
  242. ])
  243.  
  244. dnl ---------------------------------------------------------------------------
  245. dnl override AC_ARG_ENABLE/WITH to cache the results in .cache file
  246. dnl ---------------------------------------------------------------------------
  247.  
  248. AC_DEFUN([WX_ARG_CACHE_INIT],
  249.         [
  250.           wx_arg_cache_file="configarg.cache"
  251.           echo "loading argument cache $wx_arg_cache_file"
  252.           rm -f ${wx_arg_cache_file}.tmp
  253.           touch ${wx_arg_cache_file}.tmp
  254.           touch ${wx_arg_cache_file}
  255.         ])
  256.  
  257. AC_DEFUN([WX_ARG_CACHE_FLUSH],
  258.         [
  259.           echo "saving argument cache $wx_arg_cache_file"
  260.           mv ${wx_arg_cache_file}.tmp ${wx_arg_cache_file}
  261.         ])
  262.  
  263. dnl this macro checks for a three-valued command line --with argument:
  264. dnl   possible arguments are 'yes', 'no', 'sys', or 'builtin'
  265. dnl usage: WX_ARG_SYS_WITH(option, helpmessage, variable-name)
  266. AC_DEFUN([WX_ARG_SYS_WITH],
  267.         [
  268.           AC_MSG_CHECKING([for --with-$1])
  269.           no_cache=0
  270.           AC_ARG_WITH($1, [$2],
  271.                       [
  272.                         if test "$withval" = yes; then
  273.                           ac_cv_use_$1='$3=yes'
  274.                         elif test "$withval" = no; then
  275.                           ac_cv_use_$1='$3=no'
  276.                         elif test "$withval" = sys; then
  277.                           ac_cv_use_$1='$3=sys'
  278.                         elif test "$withval" = builtin; then
  279.                           ac_cv_use_$1='$3=builtin'
  280.                         else
  281.                           AC_MSG_ERROR([Invalid value for --with-$1: should be yes, no, sys, or builtin])
  282.                         fi
  283.                       ],
  284.                       [
  285.                         LINE=`grep "$3" ${wx_arg_cache_file}`
  286.                         if test "x$LINE" != x ; then
  287.                           eval "DEFAULT_$LINE"
  288.                         else
  289.                           no_cache=1
  290.                         fi
  291.  
  292.                         ac_cv_use_$1='$3='$DEFAULT_$3
  293.                       ])
  294.  
  295.           eval "$ac_cv_use_$1"
  296.           if test "$no_cache" != 1; then
  297.             echo $ac_cv_use_$1 >> ${wx_arg_cache_file}.tmp
  298.           fi
  299.  
  300.           if test "$$3" = yes; then
  301.             AC_MSG_RESULT(yes)
  302.           elif test "$$3" = no; then
  303.             AC_MSG_RESULT(no)
  304.           elif test "$$3" = sys; then
  305.             AC_MSG_RESULT([system version])
  306.           elif test "$$3" = builtin; then
  307.             AC_MSG_RESULT([builtin version])
  308.           else
  309.             AC_MSG_ERROR([Invalid value for --with-$1: should be yes, no, sys, or builtin])
  310.           fi
  311.         ])
  312.  
  313. dnl this macro checks for a command line argument and caches the result
  314. dnl usage: WX_ARG_WITH(option, helpmessage, variable-name)
  315. AC_DEFUN([WX_ARG_WITH],
  316.         [
  317.           AC_MSG_CHECKING([for --with-$1])
  318.           no_cache=0
  319.           AC_ARG_WITH($1, [$2],
  320.                       [
  321.                         if test "$withval" = yes; then
  322.                           ac_cv_use_$1='$3=yes'
  323.                         else
  324.                           ac_cv_use_$1='$3=no'
  325.                         fi
  326.                       ],
  327.                       [
  328.                         LINE=`grep "$3" ${wx_arg_cache_file}`
  329.                         if test "x$LINE" != x ; then
  330.                           eval "DEFAULT_$LINE"
  331.                         else
  332.                           no_cache=1
  333.                         fi
  334.  
  335.                         ac_cv_use_$1='$3='$DEFAULT_$3
  336.                       ])
  337.  
  338.           eval "$ac_cv_use_$1"
  339.           if test "$no_cache" != 1; then
  340.             echo $ac_cv_use_$1 >> ${wx_arg_cache_file}.tmp
  341.           fi
  342.  
  343.           if test "$$3" = yes; then
  344.             AC_MSG_RESULT(yes)
  345.           else
  346.             AC_MSG_RESULT(no)
  347.           fi
  348.         ])
  349.  
  350. dnl like WX_ARG_WITH but uses AC_ARG_ENABLE instead of AC_ARG_WITH
  351. dnl usage: WX_ARG_ENABLE(option, helpmessage, variable-name)
  352. AC_DEFUN([WX_ARG_ENABLE],
  353.         [
  354.           AC_MSG_CHECKING([for --enable-$1])
  355.           no_cache=0
  356.           AC_ARG_ENABLE($1, [$2],
  357.                         [
  358.                           if test "$enableval" = yes; then
  359.                             ac_cv_use_$1='$3=yes'
  360.                           else
  361.                             ac_cv_use_$1='$3=no'
  362.                           fi
  363.                         ],
  364.                         [
  365.                           LINE=`grep "$3" ${wx_arg_cache_file}`
  366.                           if test "x$LINE" != x ; then
  367.                             eval "DEFAULT_$LINE"
  368.                           else
  369.                             no_cache=1
  370.                           fi
  371.  
  372.                           ac_cv_use_$1='$3='$DEFAULT_$3
  373.                         ])
  374.  
  375.           eval "$ac_cv_use_$1"
  376.           if test "$no_cache" != 1; then
  377.             echo $ac_cv_use_$1 >> ${wx_arg_cache_file}.tmp
  378.           fi
  379.  
  380.           if test "$$3" = yes; then
  381.             AC_MSG_RESULT(yes)
  382.           else
  383.             AC_MSG_RESULT(no)
  384.           fi
  385.         ])
  386.  
  387.  
  388.  
  389. dnl ===========================================================================
  390. dnl "3rd party" macros included here because they are not widely available
  391. dnl ===========================================================================
  392.  
  393. dnl ---------------------------------------------------------------------------
  394. dnl test for availability of iconv()
  395. dnl ---------------------------------------------------------------------------
  396.  
  397. dnl From Bruno Haible.
  398.  
  399. AC_DEFUN([AM_ICONV],
  400. [
  401.   dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
  402.   dnl those with the standalone portable GNU libiconv installed).
  403.  
  404.   AC_ARG_WITH([libiconv-prefix],
  405. [  --with-libiconv-prefix=DIR  search for libiconv in DIR/include and DIR/lib], [
  406.     for dir in `echo "$withval" | tr : ' '`; do
  407.       if test -d $dir/include; then CPPFLAGS="$CPPFLAGS -I$dir/include"; fi
  408.       if test -d $dir/lib; then LDFLAGS="$LDFLAGS -L$dir/lib"; fi
  409.     done
  410.    ])
  411.  
  412.   AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [
  413.     am_cv_func_iconv="no, consider installing GNU libiconv"
  414.     am_cv_lib_iconv=no
  415.     AC_TRY_LINK([#include <stdlib.h>
  416. #include <iconv.h>],
  417.       [iconv_t cd = iconv_open("","");
  418.        iconv(cd,NULL,NULL,NULL,NULL);
  419.        iconv_close(cd);],
  420.       am_cv_func_iconv=yes)
  421.     if test "$am_cv_func_iconv" != yes; then
  422.       am_save_LIBS="$LIBS"
  423.       LIBS="$LIBS -liconv"
  424.       AC_TRY_LINK([#include <stdlib.h>
  425. #include <iconv.h>],
  426.         [iconv_t cd = iconv_open("","");
  427.          iconv(cd,NULL,NULL,NULL,NULL);
  428.          iconv_close(cd);],
  429.         am_cv_lib_iconv=yes
  430.         am_cv_func_iconv=yes)
  431.       LIBS="$am_save_LIBS"
  432.     fi
  433.   ])
  434.   if test "$am_cv_func_iconv" = yes; then
  435.     AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.])
  436.     AC_CACHE_CHECK([if iconv needs const], wx_cv_func_iconv_const,
  437.       AC_TRY_COMPILE([
  438. #include <stdlib.h>
  439. #include <iconv.h>
  440. extern
  441. #ifdef __cplusplus
  442. "C"
  443. #endif
  444. #if defined(__STDC__) || defined(__cplusplus)
  445. size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
  446. #else
  447. size_t iconv();
  448. #endif
  449.         ],
  450.         [],
  451.         wx_cv_func_iconv_const="no",
  452.         wx_cv_func_iconv_const="yes"
  453.       )
  454.     )
  455.  
  456.     iconv_const=
  457.     if test "x$wx_cv_func_iconv_const" = "xyes"; then
  458.         iconv_const="const"
  459.     fi
  460.  
  461.     AC_DEFINE_UNQUOTED(ICONV_CONST, $iconv_const,
  462.       [Define as const if the declaration of iconv() needs const.])
  463.   fi
  464.   LIBICONV=
  465.   if test "$am_cv_lib_iconv" = yes; then
  466.     LIBICONV="-liconv"
  467.   fi
  468.   AC_SUBST(LIBICONV)
  469. ])
  470.  
  471. dnl ---------------------------------------------------------------------------
  472. dnl AC_SYS_LARGEFILE (partly based on the code from autoconf 2.5x)
  473. dnl ---------------------------------------------------------------------------
  474.  
  475. dnl WX_SYS_LARGEFILE_TEST
  476. dnl
  477. dnl NB: original autoconf test was checking if compiler supported 6 bit off_t
  478. dnl     arithmetic properly but this failed miserably with gcc under Linux
  479. dnl     whereas the system still supports 64 bit files, so now simply check
  480. dnl     that off_t is big enough
  481. define(WX_SYS_LARGEFILE_TEST,
  482. [typedef struct {
  483.     unsigned int field: sizeof(off_t) == 8;
  484. } wxlf;
  485. ])
  486.  
  487.  
  488. dnl WX_SYS_LARGEFILE_MACRO_VALUE(C-MACRO, VALUE, CACHE-VAR)
  489. define(WX_SYS_LARGEFILE_MACRO_VALUE,
  490. [
  491.     AC_CACHE_CHECK([for $1 value needed for large files], [$3],
  492.         [
  493.           AC_TRY_COMPILE([#define $1 $2
  494.                           #include <sys/types.h>],
  495.                          WX_SYS_LARGEFILE_TEST,
  496.                          [$3=$2],
  497.                          [$3=no])
  498.         ]
  499.     )
  500.  
  501.     if test "$$3" != no; then
  502.         wx_largefile=yes
  503.         AC_DEFINE_UNQUOTED([$1], [$$3])
  504.     fi
  505. ])
  506.  
  507.  
  508. dnl AC_SYS_LARGEFILE
  509. dnl ----------------
  510. dnl By default, many hosts won't let programs access large files;
  511. dnl one must use special compiler options to get large-file access to work.
  512. dnl For more details about this brain damage please see:
  513. dnl http://www.sas.com/standards/large.file/x_open.20Mar96.html
  514. AC_DEFUN([AC_SYS_LARGEFILE],
  515. [AC_ARG_ENABLE(largefile,
  516.                [  --disable-largefile     omit support for large files])
  517. if test "$enable_largefile" != no; then
  518.     dnl _FILE_OFFSET_BITS==64 is needed for Linux, Solaris, ...
  519.     dnl _LARGE_FILES -- for AIX
  520.     wx_largefile=no
  521.     WX_SYS_LARGEFILE_MACRO_VALUE(_FILE_OFFSET_BITS, 64, ac_cv_sys_file_offset_bits)
  522.     if test "x$wx_largefile" != "xyes"; then
  523.         WX_SYS_LARGEFILE_MACRO_VALUE(_LARGE_FILES, 1, ac_cv_sys_large_files)
  524.     fi
  525.  
  526.     AC_MSG_CHECKING(if large file support is available)
  527.     if test "x$wx_largefile" = "xyes"; then
  528.         AC_DEFINE(HAVE_LARGEFILE_SUPPORT)
  529.     fi
  530.     AC_MSG_RESULT($wx_largefile)
  531. fi
  532. ])
  533.  
  534. # Configure paths for GTK+
  535. # Owen Taylor     1997-2001
  536.  
  537. dnl AM_PATH_GTK_2_0([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]])
  538. dnl Test for GTK+, and define GTK_CFLAGS and GTK_LIBS, if gthread is specified in MODULES, 
  539. dnl pass to pkg-config
  540. dnl
  541. AC_DEFUN(AM_PATH_GTK_2_0,
  542. [dnl 
  543. dnl Get the cflags and libraries from pkg-config
  544. dnl
  545. AC_ARG_ENABLE(gtktest, [  --disable-gtktest       do not try to compile and run a test GTK+ program],
  546.             , enable_gtktest=yes)
  547.  
  548.   pkg_config_args=gtk+-2.0
  549.   for module in . $4
  550.   do
  551.       case "$module" in
  552.          gthread) 
  553.              pkg_config_args="$pkg_config_args gthread-2.0"
  554.          ;;
  555.       esac
  556.   done
  557.  
  558.   no_gtk=""
  559.  
  560.   AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
  561.  
  562.   if test x$PKG_CONFIG != xno ; then
  563.     if pkg-config --atleast-pkgconfig-version 0.7 ; then
  564.       :
  565.     else
  566.       echo *** pkg-config too old; version 0.7 or better required.
  567.       no_gtk=yes
  568.       PKG_CONFIG=no
  569.     fi
  570.   else
  571.     no_gtk=yes
  572.   fi
  573.  
  574.   min_gtk_version=ifelse([$1], ,2.0.0,$1)
  575.   AC_MSG_CHECKING(for GTK+ - version >= $min_gtk_version)
  576.  
  577.   if test x$PKG_CONFIG != xno ; then
  578.     ## don't try to run the test against uninstalled libtool libs
  579.     if $PKG_CONFIG --uninstalled $pkg_config_args; then
  580.       echo "Will use uninstalled version of GTK+ found in PKG_CONFIG_PATH"
  581.       enable_gtktest=no
  582.     fi
  583.  
  584.     if $PKG_CONFIG --atleast-version $min_gtk_version $pkg_config_args; then
  585.       :
  586.     else
  587.       no_gtk=yes
  588.     fi
  589.   fi
  590.  
  591.   if test x"$no_gtk" = x ; then
  592.     GTK_CFLAGS=`$PKG_CONFIG $pkg_config_args --cflags`
  593.     GTK_LIBS=`$PKG_CONFIG $pkg_config_args --libs`
  594.     gtk_config_major_version=`$PKG_CONFIG --modversion gtk+-2.0 | \
  595.            sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
  596.     gtk_config_minor_version=`$PKG_CONFIG --modversion gtk+-2.0 | \
  597.            sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
  598.     gtk_config_micro_version=`$PKG_CONFIG --modversion gtk+-2.0 | \
  599.            sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
  600.     if test "x$enable_gtktest" = "xyes" ; then
  601.       ac_save_CFLAGS="$CFLAGS"
  602.       ac_save_LIBS="$LIBS"
  603.       CFLAGS="$CFLAGS $GTK_CFLAGS"
  604.       LIBS="$GTK_LIBS $LIBS"
  605. dnl
  606. dnl Now check if the installed GTK+ is sufficiently new. (Also sanity
  607. dnl checks the results of pkg-config to some extent)
  608. dnl
  609.       rm -f conf.gtktest
  610.       AC_TRY_RUN([
  611. #include <gtk/gtk.h>
  612. #include <stdio.h>
  613. #include <stdlib.h>
  614.  
  615. int 
  616. main ()
  617. {
  618.   int major, minor, micro;
  619.   char *tmp_version;
  620.  
  621.   system ("touch conf.gtktest");
  622.  
  623.   /* HP/UX 9 (%@#!) writes to sscanf strings */
  624.   tmp_version = g_strdup("$min_gtk_version");
  625.   if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) {
  626.      printf("%s, bad version string\n", "$min_gtk_version");
  627.      exit(1);
  628.    }
  629.  
  630.   if ((gtk_major_version != $gtk_config_major_version) ||
  631.       (gtk_minor_version != $gtk_config_minor_version) ||
  632.       (gtk_micro_version != $gtk_config_micro_version))
  633.     {
  634.       printf("\n*** 'pkg-config --modversion gtk+-2.0' returned %d.%d.%d, but GTK+ (%d.%d.%d)\n", 
  635.              $gtk_config_major_version, $gtk_config_minor_version, $gtk_config_micro_version,
  636.              gtk_major_version, gtk_minor_version, gtk_micro_version);
  637.       printf ("*** was found! If pkg-config was correct, then it is best\n");
  638.       printf ("*** to remove the old version of GTK+. You may also be able to fix the error\n");
  639.       printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n");
  640.       printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n");
  641.       printf("*** required on your system.\n");
  642.       printf("*** If pkg-config was wrong, set the environment variable PKG_CONFIG_PATH\n");
  643.       printf("*** to point to the correct configuration files\n");
  644.     } 
  645.   else if ((gtk_major_version != GTK_MAJOR_VERSION) ||
  646.        (gtk_minor_version != GTK_MINOR_VERSION) ||
  647.            (gtk_micro_version != GTK_MICRO_VERSION))
  648.     {
  649.       printf("*** GTK+ header files (version %d.%d.%d) do not match\n",
  650.          GTK_MAJOR_VERSION, GTK_MINOR_VERSION, GTK_MICRO_VERSION);
  651.       printf("*** library (version %d.%d.%d)\n",
  652.          gtk_major_version, gtk_minor_version, gtk_micro_version);
  653.     }
  654.   else
  655.     {
  656.       if ((gtk_major_version > major) ||
  657.         ((gtk_major_version == major) && (gtk_minor_version > minor)) ||
  658.         ((gtk_major_version == major) && (gtk_minor_version == minor) && (gtk_micro_version >= micro)))
  659.       {
  660.         return 0;
  661.        }
  662.      else
  663.       {
  664.         printf("\n*** An old version of GTK+ (%d.%d.%d) was found.\n",
  665.                gtk_major_version, gtk_minor_version, gtk_micro_version);
  666.         printf("*** You need a version of GTK+ newer than %d.%d.%d. The latest version of\n",
  667.            major, minor, micro);
  668.         printf("*** GTK+ is always available from ftp://ftp.gtk.org.\n");
  669.         printf("***\n");
  670.         printf("*** If you have already installed a sufficiently new version, this error\n");
  671.         printf("*** probably means that the wrong copy of the pkg-config shell script is\n");
  672.         printf("*** being found. The easiest way to fix this is to remove the old version\n");
  673.         printf("*** of GTK+, but you can also set the PKG_CONFIG environment to point to the\n");
  674.         printf("*** correct copy of pkg-config. (In this case, you will have to\n");
  675.         printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n");
  676.         printf("*** so that the correct libraries are found at run-time))\n");
  677.       }
  678.     }
  679.   return 1;
  680. }
  681. ],, no_gtk=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
  682.        CFLAGS="$ac_save_CFLAGS"
  683.        LIBS="$ac_save_LIBS"
  684.      fi
  685.   fi
  686.   if test "x$no_gtk" = x ; then
  687.      AC_MSG_RESULT(yes (version $gtk_config_major_version.$gtk_config_minor_version.$gtk_config_micro_version))
  688.      ifelse([$2], , :, [$2])     
  689.   else
  690.      AC_MSG_RESULT(no)
  691.      if test "$PKG_CONFIG" = "no" ; then
  692.        echo "*** A new enough version of pkg-config was not found."
  693.        echo "*** See http://pkgconfig.sourceforge.net"
  694.      else
  695.        if test -f conf.gtktest ; then
  696.         :
  697.        else
  698.           echo "*** Could not run GTK+ test program, checking why..."
  699.       ac_save_CFLAGS="$CFLAGS"
  700.       ac_save_LIBS="$LIBS"
  701.           CFLAGS="$CFLAGS $GTK_CFLAGS"
  702.           LIBS="$LIBS $GTK_LIBS"
  703.           AC_TRY_LINK([
  704. #include <gtk/gtk.h>
  705. #include <stdio.h>
  706. ],      [ return ((gtk_major_version) || (gtk_minor_version) || (gtk_micro_version)); ],
  707.         [ echo "*** The test program compiled, but did not run. This usually means"
  708.           echo "*** that the run-time linker is not finding GTK+ or finding the wrong"
  709.           echo "*** version of GTK+. If it is not finding GTK+, you'll need to set your"
  710.           echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
  711.           echo "*** to the installed location  Also, make sure you have run ldconfig if that"
  712.           echo "*** is required on your system"
  713.       echo "***"
  714.           echo "*** If you have an old version installed, it is best to remove it, although"
  715.           echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" ],
  716.         [ echo "*** The test program failed to compile or link. See the file config.log for the"
  717.           echo "*** exact error that occured. This usually means GTK+ is incorrectly installed."])
  718.           CFLAGS="$ac_save_CFLAGS"
  719.           LIBS="$ac_save_LIBS"
  720.        fi
  721.      fi
  722.      GTK_CFLAGS=""
  723.      GTK_LIBS=""
  724.      ifelse([$3], , :, [$3])
  725.   fi
  726.   AC_SUBST(GTK_CFLAGS)
  727.   AC_SUBST(GTK_LIBS)
  728.   rm -f conf.gtktest
  729. ])
  730.  
  731.  
  732. dnl PKG_CHECK_MODULES(GSTUFF, gtk+-2.0 >= 1.3 glib = 1.3.4, action-if, action-not)
  733. dnl defines GSTUFF_LIBS, GSTUFF_CFLAGS, see pkg-config man page
  734. dnl also defines GSTUFF_PKG_ERRORS on error
  735. AC_DEFUN(PKG_CHECK_MODULES, [
  736.   succeeded=no
  737.  
  738.   if test -z "$PKG_CONFIG"; then
  739.     AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
  740.   fi
  741.  
  742.   if test "$PKG_CONFIG" = "no" ; then
  743.      echo "*** The pkg-config script could not be found. Make sure it is"
  744.      echo "*** in your path, or set the PKG_CONFIG environment variable"
  745.      echo "*** to the full path to pkg-config."
  746.      echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config."
  747.   else
  748.      PKG_CONFIG_MIN_VERSION=0.9.0
  749.      if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
  750.         AC_MSG_CHECKING(for $2)
  751.  
  752.         if $PKG_CONFIG --exists "$2" ; then
  753.             AC_MSG_RESULT(yes)
  754.             succeeded=yes
  755.  
  756.             AC_MSG_CHECKING($1_CFLAGS)
  757.             $1_CFLAGS=`$PKG_CONFIG --cflags "$2"`
  758.             AC_MSG_RESULT($$1_CFLAGS)
  759.  
  760.             AC_MSG_CHECKING($1_LIBS)
  761.             $1_LIBS=`$PKG_CONFIG --libs "$2"`
  762.             AC_MSG_RESULT($$1_LIBS)
  763.         else
  764.             $1_CFLAGS=""
  765.             $1_LIBS=""
  766.             ## If we have a custom action on failure, don't print errors, but 
  767.             ## do set a variable so people can do so.
  768.             $1_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"`
  769.             ifelse([$4], ,echo $$1_PKG_ERRORS,)
  770.         fi
  771.  
  772.         AC_SUBST($1_CFLAGS)
  773.         AC_SUBST($1_LIBS)
  774.      else
  775.         echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer."
  776.         echo "*** See http://www.freedesktop.org/software/pkgconfig"
  777.      fi
  778.   fi
  779.  
  780.   if test $succeeded = yes; then
  781.      ifelse([$3], , :, [$3])
  782.   else
  783.      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])
  784.   fi
  785. ])
  786.  
  787.  
  788.  
  789. # Configure paths for GTK+
  790. # Owen Taylor     97-11-3
  791.  
  792. dnl AM_PATH_GTK([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]])
  793. dnl Test for GTK, and define GTK_CFLAGS and GTK_LIBS
  794. dnl
  795. AC_DEFUN(AM_PATH_GTK,
  796. [dnl 
  797. dnl Get the cflags and libraries from the gtk-config script
  798. dnl
  799. AC_ARG_WITH(gtk-prefix,[  --with-gtk-prefix=PFX   Prefix where GTK is installed (optional)],
  800.             gtk_config_prefix="$withval", gtk_config_prefix="")
  801. AC_ARG_WITH(gtk-exec-prefix,[  --with-gtk-exec-prefix=PFX Exec prefix where GTK is installed (optional)],
  802.             gtk_config_exec_prefix="$withval", gtk_config_exec_prefix="")
  803. AC_ARG_ENABLE(gtktest, [  --disable-gtktest       Do not try to compile and run a test GTK program],
  804.             , enable_gtktest=yes)
  805.  
  806.   for module in . $4
  807.   do
  808.       case "$module" in
  809.          gthread) 
  810.              gtk_config_args="$gtk_config_args gthread"
  811.          ;;
  812.       esac
  813.   done
  814.  
  815.   if test x$gtk_config_exec_prefix != x ; then
  816.      gtk_config_args="$gtk_config_args --exec-prefix=$gtk_config_exec_prefix"
  817.      if test x${GTK_CONFIG+set} != xset ; then
  818.         GTK_CONFIG=$gtk_config_exec_prefix/bin/gtk-config
  819.      fi
  820.   fi
  821.   if test x$gtk_config_prefix != x ; then
  822.      gtk_config_args="$gtk_config_args --prefix=$gtk_config_prefix"
  823.      if test x${GTK_CONFIG+set} != xset ; then
  824.         GTK_CONFIG=$gtk_config_prefix/bin/gtk-config
  825.      fi
  826.   fi
  827.  
  828.   AC_PATH_PROG(GTK_CONFIG, gtk-config, no)
  829.   min_gtk_version=ifelse([$1], ,0.99.7,$1)
  830.   AC_MSG_CHECKING(for GTK - version >= $min_gtk_version)
  831.   no_gtk=""
  832.   if test "$GTK_CONFIG" = "no" ; then
  833.     no_gtk=yes
  834.   else
  835.     GTK_CFLAGS=`$GTK_CONFIG $gtk_config_args --cflags`
  836.     GTK_LIBS=`$GTK_CONFIG $gtk_config_args --libs`
  837.     gtk_config_major_version=`$GTK_CONFIG $gtk_config_args --version | \
  838.            sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
  839.     gtk_config_minor_version=`$GTK_CONFIG $gtk_config_args --version | \
  840.            sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
  841.     gtk_config_micro_version=`$GTK_CONFIG $gtk_config_args --version | \
  842.            sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
  843.     if test "x$enable_gtktest" = "xyes" ; then
  844.       ac_save_CFLAGS="$CFLAGS"
  845.       ac_save_LIBS="$LIBS"
  846.       CFLAGS="$CFLAGS $GTK_CFLAGS"
  847.       LIBS="$GTK_LIBS $LIBS"
  848. dnl
  849. dnl Now check if the installed GTK is sufficiently new. (Also sanity
  850. dnl checks the results of gtk-config to some extent
  851. dnl
  852.       rm -f conf.gtktest
  853.       AC_TRY_RUN([
  854. #include <gtk/gtk.h>
  855. #include <stdio.h>
  856. #include <stdlib.h>
  857.  
  858. int 
  859. main ()
  860. {
  861.   int major, minor, micro;
  862.   char *tmp_version;
  863.  
  864.   system ("touch conf.gtktest");
  865.  
  866.   /* HP/UX 9 (%@#!) writes to sscanf strings */
  867.   tmp_version = g_strdup("$min_gtk_version");
  868.   if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) {
  869.      printf("%s, bad version string\n", "$min_gtk_version");
  870.      exit(1);
  871.    }
  872.  
  873.   if ((gtk_major_version != $gtk_config_major_version) ||
  874.       (gtk_minor_version != $gtk_config_minor_version) ||
  875.       (gtk_micro_version != $gtk_config_micro_version))
  876.     {
  877.       printf("\n*** 'gtk-config --version' returned %d.%d.%d, but GTK+ (%d.%d.%d)\n", 
  878.              $gtk_config_major_version, $gtk_config_minor_version, $gtk_config_micro_version,
  879.              gtk_major_version, gtk_minor_version, gtk_micro_version);
  880.       printf ("*** was found! If gtk-config was correct, then it is best\n");
  881.       printf ("*** to remove the old version of GTK+. You may also be able to fix the error\n");
  882.       printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n");
  883.       printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n");
  884.       printf("*** required on your system.\n");
  885.       printf("*** If gtk-config was wrong, set the environment variable GTK_CONFIG\n");
  886.       printf("*** to point to the correct copy of gtk-config, and remove the file config.cache\n");
  887.       printf("*** before re-running configure\n");
  888.     } 
  889. #if defined (GTK_MAJOR_VERSION) && defined (GTK_MINOR_VERSION) && defined (GTK_MICRO_VERSION)
  890.   else if ((gtk_major_version != GTK_MAJOR_VERSION) ||
  891.        (gtk_minor_version != GTK_MINOR_VERSION) ||
  892.            (gtk_micro_version != GTK_MICRO_VERSION))
  893.     {
  894.       printf("*** GTK+ header files (version %d.%d.%d) do not match\n",
  895.          GTK_MAJOR_VERSION, GTK_MINOR_VERSION, GTK_MICRO_VERSION);
  896.       printf("*** library (version %d.%d.%d)\n",
  897.          gtk_major_version, gtk_minor_version, gtk_micro_version);
  898.     }
  899. #endif /* defined (GTK_MAJOR_VERSION) ... */
  900.   else
  901.     {
  902.       if ((gtk_major_version > major) ||
  903.         ((gtk_major_version == major) && (gtk_minor_version > minor)) ||
  904.         ((gtk_major_version == major) && (gtk_minor_version == minor) && (gtk_micro_version >= micro)))
  905.       {
  906.         return 0;
  907.        }
  908.      else
  909.       {
  910.         printf("\n*** An old version of GTK+ (%d.%d.%d) was found.\n",
  911.                gtk_major_version, gtk_minor_version, gtk_micro_version);
  912.         printf("*** You need a version of GTK+ newer than %d.%d.%d. The latest version of\n",
  913.            major, minor, micro);
  914.         printf("*** GTK+ is always available from ftp://ftp.gtk.org.\n");
  915.         printf("***\n");
  916.         printf("*** If you have already installed a sufficiently new version, this error\n");
  917.         printf("*** probably means that the wrong copy of the gtk-config shell script is\n");
  918.         printf("*** being found. The easiest way to fix this is to remove the old version\n");
  919.         printf("*** of GTK+, but you can also set the GTK_CONFIG environment to point to the\n");
  920.         printf("*** correct copy of gtk-config. (In this case, you will have to\n");
  921.         printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n");
  922.         printf("*** so that the correct libraries are found at run-time))\n");
  923.       }
  924.     }
  925.   return 1;
  926. }
  927. ],, no_gtk=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
  928.        CFLAGS="$ac_save_CFLAGS"
  929.        LIBS="$ac_save_LIBS"
  930.      fi
  931.   fi
  932.   if test "x$no_gtk" = x ; then
  933.      AC_MSG_RESULT(yes)
  934.      ifelse([$2], , :, [$2])     
  935.   else
  936.      AC_MSG_RESULT(no)
  937.      if test "$GTK_CONFIG" = "no" ; then
  938.        echo "*** The gtk-config script installed by GTK could not be found"
  939.        echo "*** If GTK was installed in PREFIX, make sure PREFIX/bin is in"
  940.        echo "*** your path, or set the GTK_CONFIG environment variable to the"
  941.        echo "*** full path to gtk-config."
  942.      else
  943.        if test -f conf.gtktest ; then
  944.         :
  945.        else
  946.           echo "*** Could not run GTK test program, checking why..."
  947.           CFLAGS="$CFLAGS $GTK_CFLAGS"
  948.           LIBS="$LIBS $GTK_LIBS"
  949.           AC_TRY_LINK([
  950. #include <gtk/gtk.h>
  951. #include <stdio.h>
  952. ],      [ return ((gtk_major_version) || (gtk_minor_version) || (gtk_micro_version)); ],
  953.         [ echo "*** The test program compiled, but did not run. This usually means"
  954.           echo "*** that the run-time linker is not finding GTK or finding the wrong"
  955.           echo "*** version of GTK. If it is not finding GTK, you'll need to set your"
  956.           echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
  957.           echo "*** to the installed location  Also, make sure you have run ldconfig if that"
  958.           echo "*** is required on your system"
  959.       echo "***"
  960.           echo "*** If you have an old version installed, it is best to remove it, although"
  961.           echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"
  962.           echo "***"
  963.           echo "*** If you have a RedHat 5.0 system, you should remove the GTK package that"
  964.           echo "*** came with the system with the command"
  965.           echo "***"
  966.           echo "***    rpm --erase --nodeps gtk gtk-devel" ],
  967.         [ echo "*** The test program failed to compile or link. See the file config.log for the"
  968.           echo "*** exact error that occured. This usually means GTK was incorrectly installed"
  969.           echo "*** or that you have moved GTK since it was installed. In the latter case, you"
  970.           echo "*** may want to edit the gtk-config script: $GTK_CONFIG" ])
  971.           CFLAGS="$ac_save_CFLAGS"
  972.           LIBS="$ac_save_LIBS"
  973.        fi
  974.      fi
  975.      GTK_CFLAGS=""
  976.      GTK_LIBS=""
  977.      ifelse([$3], , :, [$3])
  978.   fi
  979.   AC_SUBST(GTK_CFLAGS)
  980.   AC_SUBST(GTK_LIBS)
  981.   rm -f conf.gtktest
  982. ])
  983.  
  984.