+dnl This case is for PowerPC OS X vs. everything else
+case "${host}" in
+ powerpc-*-darwin* )
+ AC_MSG_CHECKING([if __POWERPC__ is already defined])
+ AC_TRY_COMPILE([],[#ifndef __POWERPC__
+ choke me for lack of PowerPC
+#endif
+],
+ [AC_MSG_RESULT([yes])],
+ [AC_MSG_RESULT([no])
+ AC_DEFINE(__POWERPC__)
+ ])
+ ;;
+esac
+
+dnl This case is for OS X vs. everything else
+case "${host}" in
+ *-*-darwin* )
+ AC_MSG_CHECKING([if CoreFoundation/CFBase.h is usable])
+ AC_TRY_COMPILE([#include <CoreFoundation/CFBase.h>
+],[],
+ [AC_MSG_RESULT([yes])],
+ [AC_MSG_RESULT([no])
+ AC_MSG_CHECKING([if __CF_USE_FRAMEWORK_INCLUDES__ is required])
+ AC_TRY_COMPILE([#define __CF_USE_FRAMEWORK_INCLUDES__
+#include <CoreFoundation/CFBase.h>
+ ],[],
+ [AC_MSG_RESULT([yes])
+ dnl We must use -D so source files that don't include wx/setup.h
+ dnl but do include CFBase will work.
+ CPPFLAGS="-D__CF_USE_FRAMEWORK_INCLUDES__ $CPPFLAGS"],
+ [AC_MSG_FAILURE([no. CoreFoundation not available.])]
+ )
+ ]
+ )
+ ;;
+esac
+
+dnl This case is for OS/2 vs. everything else
+case "${host}" in
+ *-pc-os2_emx | *-pc-os2-emx )
+ dnl ---------------------------------------------------------------------
+ dnl When we are using gcc on OS/2, we want to be either using resources
+ dnl (PM) or a more complete POSIX emulation for Motif/GTK+/X11.
+ dnl Moreover we need to link explicitly against either stdcpp.a or
+ dnl stdcxx.a (depending on compiler version), since we are using "gcc",
+ dnl not "g++/c++".
+ dnl ---------------------------------------------------------------------
+ dnl (OS/2-only piece)
+ AC_LANG_PUSH(C)
+ if test "$wxUSE_MOTIF" = 1 -o "$wxUSE_GTK" = 1 -o "$wxUSE_X11" = 1; then
+ dnl More complete Unix emulation for unix-like ports
+ dnl by linking in POSIX/2's cExt (if available).
+ AC_CHECK_LIB(cExt, drand48, LIBS="$LIBS -lcExt")
+ else
+ dnl Include resources for the "native" port (wxPM).
+ RESPROGRAMOBJ="\${top_srcdir}/include/wx/os2/wx.res"
+ fi
+ dnl Check for the gcc version (and thereby for the C runtime library).
+ dnl wx_cv_gccversion = EMX2 -> Standard EMX environment
+ dnl wx_cv_gccversion = EMX3 -> EMX with gcc-3.0.3 or gcc-3.2.1
+ dnl wx_cv_gccversion = Innotek5 -> gcc-3.2.2 with Innotek libc5
+ dnl wx_cv_gccversion = Innotek6 -> gcc-3.3.5 with Innotek libc6.
+ AC_CACHE_CHECK([for gcc/libc version], wx_cv_gccversion,[
+ AC_TRY_RUN(
+ dnl Check the gcc version macro.
+ [
+ #include <stdio.h>
+
+ int main()
+ {
+ FILE *f=fopen("conftestval", "w");
+ if (!f) exit(1);
+ fprintf(f,
+ #if (__GNUC__ < 3)
+ "EMX2"
+ #elif (__GNUC__==3) && ((__GNUC_MINOR__ < 2) || ((__GNUC_MINOR__==2) && (__GNUC_PATCHLEVEL__<2)))
+ "EMX3"
+ #elif (__GNUC__==3) && (__GNUC_MINOR__==2) && (__GNUC_PATCHLEVEL__==2)
+ "Innotek5"
+ #else
+ "Innotek6"
+ #endif
+ );
+ exit(0);
+ }
+ ],
+ wx_cv_gccversion=`cat conftestval`,
+ wx_cv_gccversion="EMX2",
+ dnl Compilation error: Assuming standard EMX environment
+ wx_cv_gccversion="EMX2"
+ )
+ ])
+ AC_LANG_POP
+ if test "$wx_cv_gccversion" = "EMX2"; then
+ LIBS="$LIBS -lstdcpp"
+ LDFLAGS="$LDFLAGS -Zsysv-signals"
+ else
+ if test "$wx_cv_gccversion" = "EMX3"; then
+ LIBS="$LIBS -lstdcxx -lgcc"
+ LDFLAGS="$LDFLAGS -Zsysv-signals"
+ else
+ LIBS="$LIBS -lstdc++"
+ fi
+ fi
+ if test "$wxUSE_SHARED" = "yes" -a "$wxUSE_OMF" = "no"; then
+ AC_MSG_WARN([Building DLLs requires OMF mode, enabled])
+ wxUSE_OMF=yes
+ enable_omf=yes
+ fi
+ dnl (end of OS/2-only piece)
+ ;;
+ *)
+ dnl ---------------------------------------------------------------------
+ dnl look for strcasecmp() in string.h and then strings.h if it's not
+ dnl there. Don't do this on OS/2, where "stricmp" is the function to be
+ dnl used.
+ dnl ---------------------------------------------------------------------
+ dnl (non-OS/2-only piece)
+
+ AC_CACHE_CHECK([for strcasecmp() in string.h], ac_cv_string_strcasecmp, [
+ AC_TRY_LINK([
+ #include <string.h>
+ ],
+ [
+ strcasecmp("foo", "bar");
+ ],
+ ac_cv_string_strcasecmp=yes,
+ ac_cv_string_strcasecmp=no
+ )
+ ])
+
+ if test x"$ac_cv_string_strcasecmp" = "xyes"; then
+ AC_DEFINE(HAVE_STRCASECMP_IN_STRING_H)
+ else
+ AC_CACHE_CHECK([for strcasecmp() in strings.h], ac_cv_strings_strcasecmp, [
+ AC_TRY_LINK([
+ #include <strings.h>
+ ],
+ [
+ strcasecmp("foo", "bar");
+ ],
+ ac_cv_strings_strcasecmp=yes,
+ ac_cv_strings_strcasecmp=no
+ )
+ ])
+
+ if test x"$ac_cv_strings_strcasecmp" = "xyes"; then
+ AC_DEFINE(HAVE_STRCASECMP_IN_STRINGS_H)
+ else
+ AC_MSG_ERROR([No case-insensitive string comparison function found.])
+ fi
+ fi
+
+ dnl (end of non-OS/2-only piece)
+ ;;
+esac
+
+dnl ------------------------------------------------------------------------
+dnl Check for headers
+dnl ------------------------------------------------------------------------
+
+dnl defines HAVE_STDLIB_H
+AC_CHECK_HEADERS(stdlib.h)
+dnl defines HAVE_MALLOC_H
+AC_CHECK_HEADERS(malloc.h)
+dnl defines HAVE_UNISTD_H
+AC_CHECK_HEADERS(unistd.h)
+dnl defines HAVE_WCHAR_H
+AC_CHECK_HEADERS(wchar.h)
+
+dnl maybe wchar_t is in wcstr.h if we don't have wchar.h?
+if test "$ac_cv_header_wchar_h" != "yes"; then
+ dnl defines HAVE_WCSTR_H
+ AC_CHECK_HEADERS(wcstr.h)
+fi
+
+dnl defines HAVE_FNMATCH_H
+AC_CHECK_HEADERS(fnmatch.h)
+
+dnl defines HAVE_LANGINFO_H (GNU libc locale parameters)
+AC_CHECK_HEADERS(langinfo.h)
+
+case "${host}" in
+ *-pc-os2_emx | *-pc-os2-emx )
+ dnl Explicitly link -lintl if langinfo.h is available
+ dnl and intl not yet included in libc
+ if test $ac_cv_header_langinfo_h = "yes" \
+ -a \( "$wx_cv_gccversion" = "EMX2" \
+ -o "$wx_cv_gccversion" = "EMX3" \
+ -o "$wx_cv_gccversion" = "Innotek5" \); then
+ LIBS="$LIBS -lintl"
+ fi
+ ;;
+esac
+
+dnl POSIX needs this for select(), but old systems don't have it
+if test "$USE_UNIX" = 1 ; then
+ AC_CHECK_HEADERS([sys/select.h])
+fi
+
+dnl ---------------------------------------------------------------------------
+dnl Checks for compiler characteristics
+dnl ---------------------------------------------------------------------------
+
+dnl defines const to be empty if c-compiler does not support const fully
+AC_C_CONST
+dnl defines inline to a sensible value for the c-compiler
+AC_C_INLINE
+
+dnl check the sizes of integral types (give some reasonable default values for
+dnl cross-compiling)
+dnl defines the size of certain types of variables in SIZEOF_<TYPE>
+AC_CHECK_SIZEOF(char, 1)
+AC_CHECK_SIZEOF(short, 2)
+AC_CHECK_SIZEOF(void *, 4)
+AC_CHECK_SIZEOF(int, 4)
+AC_CHECK_SIZEOF(long, 4)
+AC_CHECK_SIZEOF(size_t, 4)
+
+case "${host}" in
+ arm-*-linux* )
+ AC_CHECK_SIZEOF(long long, 8)
+ ;;
+ *-hp-hpux* )
+ AC_CHECK_SIZEOF(long long, 0)
+ if test "$ac_cv_sizeof_long_long" != "0"; then
+ dnl HPUX 10.20 headers need this define in order to use long long definitions
+ CPPFLAGS="-D_INCLUDE_LONGLONG $CPPFLAGS"
+ fi
+ ;;
+ * )
+ AC_CHECK_SIZEOF(long long, 0)
+esac
+
+dnl SGI/Irix's stdio.h does not include wchar_t. Mac OS X does not provide
+dnl wchar.h and wchar_t is defined by stdlib.h (GD)
+AC_CHECK_SIZEOF(wchar_t, 0,
+ [
+ /* DJGPP's wchar_t is now a keyword in C++ (still not C though) */
+ #if defined(__DJGPP__) && !( (__GNUC_MINOR__ >= 8 && __GNUC__ == 2 ) || __GNUC__ >= 3 )
+ # error "fake wchar_t"
+ #endif
+ #ifdef HAVE_WCHAR_H
+ # ifdef __CYGWIN__
+ # include <stddef.h>
+ # endif
+ # include <wchar.h>
+ #endif
+ #ifdef HAVE_STDLIB_H
+ # include <stdlib.h>
+ #endif
+ #include <stdio.h>
+ ]
+)
+if test "$ac_cv_sizeof_wchar_t" != "0"; then
+ wxUSE_WCHAR_T=yes
+else
+ wxUSE_WCHAR_T=no
+fi
+
+dnl checks needed to define wxVaCopy
+AC_CACHE_CHECK([for va_copy],
+ wx_cv_func_va_copy,
+ [
+ AC_LINK_IFELSE([
+ #include <stdarg.h>
+ void foo(char *f, ...)
+ {
+ va_list ap1, ap2;
+ va_start(ap1, f);
+ va_copy(ap2, ap1);
+ va_end(ap2);
+ va_end(ap1);
+ }
+ int main()
+ {
+ foo("hi", 17);
+ return 0;
+ }],
+ wx_cv_func_va_copy=yes,
+ wx_cv_func_va_copy=no
+ )
+ ]
+)
+
+if test $wx_cv_func_va_copy = "yes"; then
+ AC_DEFINE(HAVE_VA_COPY)
+else
+ dnl try to understand how can we copy va_lists
+ AC_CACHE_CHECK([if va_list can be copied by value],
+ wx_cv_type_va_list_lvalue,
+ [
+ AC_RUN_IFELSE([
+ #include <stdarg.h>
+ int foo(char *f, ...)
+ {
+ va_list ap1, ap2;
+ va_start(ap1, f);
+ ap2 = ap1;
+ if ( va_arg(ap1, int) != 17 || va_arg(ap2, int) != 17 )
+ return 1;
+ va_end(ap2);
+ va_end(ap1);
+ return 0;
+ }
+ int main()
+ {
+ return foo("hi", 17);
+ }],
+ wx_cv_type_va_list_lvalue=yes,
+ wx_cv_type_va_list_lvalue=no,
+ dnl assume most common case for cross-compiling...
+ wx_cv_type_va_list_lvalue=yes
+ )
+ ]
+ )
+
+ if test $wx_cv_type_va_list_lvalue != "yes"; then
+ dnl we suppose that the only thing which can't be copied like this
+ dnl are arrays... only experience will show whether this is really true
+ AC_DEFINE(VA_LIST_IS_ARRAY)
+ fi
+fi
+
+dnl Check if variadic macros (C99 feature) are supported:
+AC_CACHE_CHECK(
+ [whether the compiler supports variadic macros],
+ [wx_cv_have_variadic_macros],
+ [
+ AC_COMPILE_IFELSE(
+ AC_LANG_PROGRAM(
+ [
+ #include <stdio.h>
+ #define test(fmt, ...) printf(fmt, __VA_ARGS__)
+ ],
+ [
+ test("%s %d %p", "test", 1, 0);
+ ]
+ ),
+ [wx_cv_have_variadic_macros=yes],
+ [wx_cv_have_variadic_macros=no]
+ )
+ ]
+)
+
+if test $wx_cv_have_variadic_macros = "yes"; then
+ AC_DEFINE(HAVE_VARIADIC_MACROS)
+fi
+
+dnl check for large file support
+AC_SYS_LARGEFILE
+
+dnl we need to define _FILE_OFFSET_BITS or _LARGE_FILES on the compiler command
+dnl line because otherwise the system headers risk being included before
+dnl wx/defs.h which defines these constants leading to inconsistent
+dnl sizeof(off_t) in different source files of the same program and linking
+dnl problems
+if test "x$wx_largefile" = "xyes"; then
+ if test "x$ac_cv_sys_file_offset_bits" = "x64"; then
+ WXCONFIG_CPPFLAGS="$WXCONFIG_CPPFLAGS -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES"
+
+ dnl We get "Large Files (ILP32) not supported in strict ANSI mode."
+ dnl #error from HP standard headers unless __STDC_EXT__ is defined.
+ dnl The compiler should define it automatically, but some old g++
+ dnl versions don't define it, so test and add it if necessary. AFAIK
+ dnl the problem only affects the C++ compiler so it is added to
+ dnl CXXFLAGS only.
+ if test "$USE_HPUX" = 1 -a "$GXX" = "yes"; then
+ AC_CACHE_CHECK(
+ [if -D__STDC_EXT__ is required],
+ wx_cv_STDC_EXT_required,
+ [
+ AC_TRY_COMPILE(
+ [],
+ [
+ #ifndef __STDC_EXT__
+ choke me
+ #endif
+ ],
+ wx_cv_STDC_EXT_required=no,
+ wx_cv_STDC_EXT_required=yes
+ )
+ ]
+ )
+ if test "x$wx_cv_STDC_EXT_required" = "xyes"; then
+ WXCONFIG_CXXFLAGS="$WXCONFIG_CXXFLAGS -D__STDC_EXT__"
+ fi
+ fi
+ else
+ WXCONFIG_CPPFLAGS="$WXCONFIG_CPPFLAGS -D_LARGE_FILES"
+ fi
+ dnl AC_FUNC_FSEEKO sets HAVE_FSEEKO and $ac_cv_sys_largefile_source
+ AC_FUNC_FSEEKO
+ if test "$ac_cv_sys_largefile_source" != no; then
+ WXCONFIG_CPPFLAGS="$WXCONFIG_CPPFLAGS -D_LARGEFILE_SOURCE=$ac_cv_sys_largefile_source"
+ fi
+fi
+
+dnl check for bytesex stuff (don't use AC_C_BIGENDIAN to allow cross-compiling)
+WX_C_BIGENDIAN
+
+dnl check for iostream (as opposed to iostream.h) standard header
+WX_CPP_NEW_HEADERS(, AC_DEFINE(wxUSE_IOSTREAMH))
+
+dnl check whether C++ compiler supports bool built-in type
+WX_CPP_BOOL
+
+dnl check whether C++ compiler supports explicit keyword
+WX_CPP_EXPLICIT
+
+dnl check whether C++ compiler supports C++ casts
+AC_CXX_CONST_CAST
+AC_CXX_REINTERPRET_CAST
+AC_CXX_STATIC_CAST
+dnl we don't use HAVE_DYNAMIC_CAST anywhere right now...
+dnl AC_CXX_DYNAMIC_CAST
+
+dnl With Sun CC, temporaries have block scope by default. This flag is needed
+dnl to get the expression scope behaviour that conforms to the standard.
+if test "x$SUNCXX" = xyes; then
+ CXXFLAGS="-features=tmplife $CXXFLAGS"
+fi
+
+dnl Sun X11 headers are (still, in 2005!) non-ANSI and the best they could do
+dnl was to hack their C++ compiler to accept them silently -- but C compiler
+dnl still spits out dozens of warnings for each X include file, so suppress
+dnl them
+if test "x$SUNCC" = xyes; then
+ CFLAGS="-erroff=E_NO_EXPLICIT_TYPE_GIVEN $CFLAGS"
+fi
+
+dnl SGI mipsPro compiler gives this warning for "conversion from pointer to
+dnl same-sized integral type" even when there is an explicit cast and as there
+dnl is no way to turn it off and there are hundreds of these warnings in wx
+dnl sources, just turn it off for now
+dnl
+dnl a better long term solution would be to use #pragma set/reset woff in
+dnl wxPtrToUInt() and use it instead of casts elsewhere
+if test "x$SGICC" = "xyes"; then
+ CFLAGS="-woff 3970 $CFLAGS"
+fi
+if test "x$SGICXX" = "xyes"; then
+ CXXFLAGS="-woff 3970 $CXXFLAGS"
+fi
+
+dnl HP-UX c89/aCC compiler warnings
+if test "x$HPCC" = "xyes"; then
+ dnl 2011: "unrecognized preprocessor directive": nice warning but it's given
+ dnl even for directives inside #if which is not true (i.e. which are
+ dnl used for other compilers/OS) and so we have no way to get rid of it
+ dnl 2450: "long long is non standard" -- yes, we know
+ CFLAGS="+W 2011,2450 $CFLAGS"
+fi
+if test "x$HPCXX" = "xyes"; then
+ dnl 2340: "value copied to temporary, reference to temporary used": very
+ dnl painful as triggered by any occurrence of user-defined conversion
+ CXXFLAGS="+W 2340 $CXXFLAGS"
+fi
+
+dnl DEC/Compaq/HP cxx warnings
+if test "x$COMPAQCXX" = "xyes"; then
+ dnl -w0 enables all warnings, then we disable some of them:
+ dnl basclsnondto: base class dtor non virtual (sometimes we do want this)
+ dnl unrimpret: "end of routine block may be unreachable" is given for
+ dnl every "if ( ) return ...; else return ...;"
+ dnl intconlosbit: "conversion to integral type of smaller size could lose
+ dnl data" this is a useful warning but there are too many of
+ dnl them for now
+ CXXFLAGS="-w0 -msg_disable basclsnondto,unrimpret,intconlosbit"
+fi
+
+dnl check for std::string or std::wstring
+if test "$wxUSE_STD_STRING" = "yes" -o "$wxUSE_STL" = "yes"; then
+ if test "$wxUSE_UNICODE" = "yes"; then
+ std_string="std::wstring"
+ char_type="wchar_t"
+ else
+ std_string="std::string"
+ char_type="char"
+ fi
+
+ dnl check if <string> declares std::wstring
+ AC_MSG_CHECKING([for $std_string in <string>])
+ AC_TRY_COMPILE([#include <string>],
+ [$std_string foo;],
+ [AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_STD_WSTRING)],
+ [AC_MSG_RESULT(no)
+ AC_MSG_CHECKING([if std::basic_string<$char_type> works])
+ AC_TRY_COMPILE([
+ #ifdef HAVE_WCHAR_H
+ # ifdef __CYGWIN__
+ # include <stddef.h>
+ # endif
+ # include <wchar.h>
+ #endif
+ #ifdef HAVE_STDLIB_H
+ # include <stdlib.h>
+ #endif
+ #include <stdio.h>
+ #include <string>
+ ],
+ [std::basic_string<$char_type> foo;
+ const $char_type* dummy = foo.c_str();],
+ [AC_MSG_RESULT(yes)],
+ [AC_MSG_RESULT([no])
+ if test "$wxUSE_STL" = "yes"; then
+ AC_MSG_ERROR([Can't use --enable-stl without $std_string or std::basic_string<$char_type>])
+ elif grep wxUSE_STD_STRING $wx_arg_cache_file >/dev/null; then
+ AC_MSG_ERROR([Can't use --enable-std_string without $std_string or std::basic_string<$char_type>])
+ else
+ AC_MSG_WARN([No $std_string or std::basic_string<$char_type>, switching to --disable-std_string])
+ wxUSE_STD_STRING=no
+ fi
+ ]
+ )
+ ])
+fi
+
+if test "$wxUSE_STD_IOSTREAM" = "yes"; then
+ AC_CHECK_TYPES([std::istream, std::ostream],,
+ [wxUSE_STD_IOSTREAM=no],
+ [#include <iostream>])
+
+ if test "$wxUSE_STD_IOSTREAM" != "yes"; then
+ if grep wxUSE_STD_IOSTREAM $wx_arg_cache_file >/dev/null; then
+ AC_MSG_ERROR([Can't use --enable-std_iostreams without std::istream and std::ostream])
+ else
+ AC_MSG_WARN([No std::iostreams, switching to --disable-std_iostreams])
+ fi
+ fi
+fi
+
+if test "$wxUSE_STL" = "yes"; then
+ dnl check for basic STL functionality
+ AC_MSG_CHECKING([for basic STL functionality])
+ AC_TRY_COMPILE([#include <string>
+ #include <functional>
+ #include <algorithm>
+ #include <vector>
+ #include <list>],
+ [std::vector<int> moo;
+ std::list<int> foo;
+ std::vector<int>::iterator it =
+ std::find_if(moo.begin(), moo.end(),
+ std::bind2nd(std::less<int>(), 3));],
+ [AC_MSG_RESULT([yes])],
+ [AC_MSG_RESULT([no])
+ AC_MSG_ERROR([Basic STL functionality missing])])
+
+ dnl check for compliant std::string::compare
+ AC_MSG_CHECKING([for compliant std::string::compare])
+ AC_TRY_COMPILE([#include <string>],
+ [std::string foo, bar;
+ foo.compare(bar);
+ foo.compare(1, 1, bar);
+ foo.compare(1, 1, bar, 1, 1);
+ foo.compare("");
+ foo.compare(1, 1, "");
+ foo.compare(1, 1, "", 2);],
+ [AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_STD_STRING_COMPARE)],
+ [AC_MSG_RESULT(no)])
+
+ dnl check for hash_map and hash_set headers
+ AC_CHECK_HEADER([hash_map],
+ [AC_MSG_CHECKING([for hash_map and hash_set])
+ AC_TRY_COMPILE([#include <hash_map>
+ #include <hash_set>],
+ [std::hash_map<double*, char*, std::hash<double*>, std::equal_to<double*> > test1;
+ std::hash_set<char*, std::hash<char*>, std::equal_to<char*> > test2;],
+ [AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_HASH_MAP)
+ AC_DEFINE(HAVE_STD_HASH_MAP)],
+ [AC_MSG_RESULT(no)])
+ ])
+
+ AC_CHECK_HEADER([ext/hash_map],
+ [AC_MSG_CHECKING([for hash_map and hash_set])
+ AC_TRY_COMPILE([#include <ext/hash_map>
+ #include <ext/hash_set>],
+ [__gnu_cxx::hash_map<double*, char*, __gnu_cxx::hash<double*>, std::equal_to<double*> > test1;
+ __gnu_cxx::hash_set<char*, __gnu_cxx::hash<char*>, std::equal_to<char*> > test2;],
+ [AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_EXT_HASH_MAP)
+ AC_DEFINE(HAVE_GNU_CXX_HASH_MAP)],
+ [AC_MSG_RESULT(no)])
+ ])
+fi
+
+dnl ---------------------------------------------------------------------------
+dnl Define search path for includes and libraries: all headers and libs will be
+dnl looked for in all directories of this path
+dnl ---------------------------------------------------------------------------
+
+dnl Notice that /usr/include should *not* be in this list, otherwise it breaks
+dnl compilation on Solaris/AIX/... with gcc because standard (non ANSI C)
+dnl headers are included instead of the "fixed" (ANSI-fied) gcc ones.
+dnl
+dnl Also try to put all directories which may contain X11R6 before those which
+dnl may contain X11R5/4 - we want to use R6 on machines which have both!
+dnl
+dnl In the same vein. Motif 2.1 should be tried before Motif 1.2 for the
+dnl systems which have both (AIX 4.x does)
+SEARCH_INCLUDE="\
+ /usr/local/include \
+ \
+ /usr/Motif-2.1/include \
+ /usr/Motif-1.2/include \
+ /usr/include/Motif1.2 \
+ \
+ /usr/dt/include \
+ /usr/openwin/include \
+ \
+ /usr/include/Xm \
+ \
+ /usr/X11R6/include \
+ /usr/X11R6.4/include \
+ /usr/X11R5/include \
+ /usr/X11R4/include \
+ \
+ /usr/include/X11R6 \
+ /usr/include/X11R5 \
+ /usr/include/X11R4 \
+ \
+ /usr/local/X11R6/include \
+ /usr/local/X11R5/include \
+ /usr/local/X11R4/include \
+ \
+ /usr/local/include/X11R6 \
+ /usr/local/include/X11R5 \
+ /usr/local/include/X11R4 \
+ \
+ /usr/X11/include \
+ /usr/include/X11 \
+ /usr/local/X11/include \
+ /usr/local/include/X11 \
+ \
+ /usr/XFree86/include/X11 \
+ /usr/pkg/include \
+ \
+ /usr/openwin/share/include"
+
+dnl try to find out the standard lib locations for the systems with multiple
+dnl ABIs
+AC_MSG_CHECKING([for libraries directory])
+
+case "${host}" in
+ *-*-irix6* )
+ AC_CACHE_VAL(
+ wx_cv_std_libpath,
+ [
+ for d in WX_STD_LIBPATH(); do
+ for e in a so sl dylib dll.a; do
+ libc="$d/libc.$e"
+ if test -f $libc; then
+ save_LIBS="$LIBS"
+ LIBS="$libc"
+ AC_LINK_IFELSE([int main() { return 0; }],
+ wx_cv_std_libpath=`echo $d | sed s@/usr/@@`)
+ LIBS="$save_LIBS"
+ if test "x$wx_cv_std_libpath" != "x"; then
+ break 2
+ fi
+ fi
+ done
+ done
+ if test "x$wx_cv_std_libpath" = "x"; then
+ wx_cv_std_libpath="lib"
+ fi
+ ]
+ )
+ ;;
+
+ *-*-solaris2* )
+ dnl use ../lib or ../lib/64 depending on the size of void*
+ if test "$ac_cv_sizeof_void_p" = 8 -a -d "/usr/lib/64"; then
+ wx_cv_std_libpath="lib/64"
+ else
+ wx_cv_std_libpath="lib"
+ fi
+ ;;
+
+ *-*-linux* )
+ dnl use ../lib or ../lib64 depending on the size of void*
+ if test "$ac_cv_sizeof_void_p" = 8 -a \
+ -d "/usr/lib64" -a ! -h "/usr/lib64"; then
+ wx_cv_std_libpath="lib64"
+ else
+ wx_cv_std_libpath="lib"
+ fi
+ ;;
+
+ *)
+ wx_cv_std_libpath="lib";
+ ;;
+esac
+
+AC_MSG_RESULT($wx_cv_std_libpath)
+
+SEARCH_LIB="`echo "$SEARCH_INCLUDE" | sed s@include@$wx_cv_std_libpath@g` /usr/$wx_cv_std_libpath"
+
+dnl Cross compiling with gcc?
+if test "$build" != "$host" -a "$GCC" = yes; then
+ dnl for gcc cross-compilers "$CC -print-prog-name=ld" prints the path to
+ dnl the linker. Stripping off the trailing '/bin/ld' gives us a candiate
+ dnl for a 'root' below which libraries and headers for the target system
+ dnl might be installed.
+ if cross_root=`$CC -print-prog-name=ld 2>/dev/null`; then
+ cross_root=`dirname $cross_root`
+ cross_root=`dirname $cross_root`
+
+ dnl substitute this candiate root for '^/usr' in the search lists,
+ dnl strip out any that don't start '^/usr'.
+ SEARCH_LIB=`for x in $SEARCH_LIB; do echo $x; done | sed -ne "s|^/usr|$cross_root|p"`
+ SEARCH_INCLUDE=`for x in $SEARCH_INCLUDE; do echo $x; done | sed -ne "s|^/usr|$cross_root|p"`
+ SEARCH_INCLUDE="$SEARCH_INCLUDE $cross_root/include"
+
+ dnl also have pkg-config search for *.pc files under this 'root'
+ if test -z "$PKG_CONFIG_PATH"; then
+ PKG_CONFIG_PATH="$cross_root/local/lib/pkgconfig:$cross_root/lib/pkgconfig"
+ export PKG_CONFIG_PATH
+ fi
+
+ dnl AC_PATH_XTRA doesn't work currently unless -x-includes and
+ dnl -x-libraries are given on the command line. So if they are not
+ dnl set then set them here to plausible defaults.
+ if test -z "$x_includes" -o "$x_includes" = NONE; then
+ WX_PATH_FIND_INCLUDES($SEARCH_INCLUDE, X11/Intrinsic.h)
+ x_includes=$ac_find_includes
+ fi
+ if test -z "$x_libraries" -o "$x_libraries" = NONE; then
+ WX_PATH_FIND_LIBRARIES($SEARCH_LIB, Xt)
+ x_libraries=$ac_find_libraries
+ fi
+ fi
+fi
+
+dnl ------------------------------------------------------------------------
+dnl Check for libraries
+dnl ------------------------------------------------------------------------
+
+dnl flush the cache because checking for libraries below might abort
+AC_CACHE_SAVE
+
+dnl check for glibc version
+dnl
+dnl VZ: I have no idea why had this check been there originally, but now
+dnl we could probably do without it by just always adding _GNU_SOURCE
+if test "$USE_LINUX" = 1 -o "$USE_GNU" = 1; then
+ AC_CACHE_CHECK([for glibc 2.1 or later], wx_cv_lib_glibc21,[
+ AC_TRY_COMPILE([#include <features.h>],
+ [
+ #if (__GLIBC__ < 2) || (__GLIBC_MINOR__ < 1)
+ not glibc 2.1
+ #endif
+ ],
+ [