]> git.saurik.com Git - wxWidgets.git/blobdiff - configure.in
Added docstrings
[wxWidgets.git] / configure.in
index d42426fc2d8653630fa0dce8b1143f740d1fac27..0b43af54ec0b531d47c880c73b8516f99666ac34 100644 (file)
@@ -1347,6 +1347,18 @@ AC_PROG_CXX
 
 AC_LANG_RESTORE
 
+dnl check if compiler includes /usr/local/include in
+dnl default include files search path.
+AC_MSG_CHECKING([for /usr/local/include in default include path])
+GCC_SEARCHES_USR_LOCAL_INCLUDE="no"
+if test "$GCC" = "yes" ; then
+  echo | gcc -v -x c++ -E - 2>&1 | sed -n '/^#include </,$p' | \
+       sed -n '1,/End of search list\./p' | \
+        grep '^ */usr/local/include$' 2>&1 /dev/null \
+  && GCC_SEARCHES_USR_LOCAL_INCLUDE="yes"
+fi
+AC_MSG_RESULT([$GCC_SEARCHES_USR_LOCAL_INCLUDE])
+
 dnl ranlib command
 dnl   defines RANLIB with the appropriate command
 AC_PROG_RANLIB
@@ -1464,15 +1476,20 @@ fi dnl not GNU make
 dnl needed for making link to setup.h
 AC_PROG_LN_S
 
-dnl ---------------------------------------------------------------------------
-dnl When we are using gcc on OS/2, we want to be either using resources (PM)
-dnl or a more complete POSIX emulation for Motif/GTK+/X11
-dnl Moreover we need to link explicitly against either stdcpp.a or stdcxx.a
-dnl (depending on compiler version), since we are using "gcc", not "g++/c++".
-dnl ---------------------------------------------------------------------------
-dnl (OS/2-only piece)
+dnl ------------------------------------------------------------------------
+dnl Platform specific tests
+dnl ------------------------------------------------------------------------
+
 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)
       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).
@@ -1501,36 +1518,62 @@ case "${host}" in
       else
           LIBS="$LIBS -lstdcxx"
       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_LANG_SAVE
+      AC_LANG_CPLUSPLUS
+
+      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_string_strcasecmp" = "xyes"; then
+              AC_DEFINE(HAVE_STRCASECMP_IN_STRINGS_H)
+          else
+              AC_MSG_ERROR([No case-insensitive string comparison function found.])
+          fi
+      fi
+
+      AC_LANG_RESTORE
+      dnl (end of non-OS/2-only piece)
   ;;
 esac
-dnl (end of OS/2-only piece)
 
 dnl ------------------------------------------------------------------------
 dnl Check for headers
 dnl ------------------------------------------------------------------------
 
-dnl test for strings.h needed under AIX, but do not check for it wxMac as
-dnl it exists but is only a simple redirection to string.h and it is in
-dnl conflict with Strings.h in FlatCarbon headers
-dnl
-dnl Autoconf 2.5 tends to check for strings.h on its own, so avoiding the 
-dnl test (as the current configure script does) is not possible.  Instead, 
-dnl you must remind autoconf that strings.h is NOT valid.  The autoconf 
-dnl test succeeds because there is a strings.h file that simply includes 
-dnl string.h.  Unfortunately, there is also a strings.h as part of the 
-dnl FlatCarbon headers.                                    -- David Elliott
-if test "$wxUSE_MAC" = 1 -o "$wxUSE_COCOA" = 1; then
-    AC_CACHE_CHECK([for strings.h], ac_cv_header_strings_h, 
-                   [ac_cv_header_strings_h=no])
-    if test "$ac_cv_header_strings_h" = "no"; then
-        AC_MSG_RESULT([forced no into cache])
-    else
-        AC_MSG_WARN([strings.h is not compatible with Mac OS X])
-    fi
-fi
-dnl defines HAVE_STRINGS_H
-AC_CHECK_HEADERS(strings.h)
-
 dnl defines HAVE_STDLIB_H
 AC_CHECK_HEADERS(stdlib.h)
 dnl defines HAVE_MALLOC_H
@@ -1595,6 +1638,7 @@ 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* )
@@ -1688,6 +1732,7 @@ WX_CPP_EXPLICIT
 
 dnl check whether C++ compiler supports C++ casts
 AC_CXX_CONST_CAST
+AC_CXX_STATIC_CAST
 
 dnl check various STL features
 if test "$wxUSE_STL" = "yes"; then
@@ -1745,18 +1790,19 @@ 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-1.2/include    \
     /usr/Motif-2.1/include    \
-                              \
+    /usr/Motif-1.2/include    \
     /usr/include/Motif1.2     \
     /opt/xpm/include/X11      \
     /opt/GBxpm/include/       \
     /opt/GBxpm/X11/include/   \
                               \
-    /usr/Motif1.2/include     \
     /usr/dt/include           \
     /usr/openwin/include      \
                               \
@@ -1810,7 +1856,13 @@ SEARCH_INCLUDE="\
                               \
     /usr/openwin/share/include"
 
-SEARCH_LIB="`echo "$SEARCH_INCLUDE" | sed s/include/lib/g` "
+dnl prepend lib and lib32 for IRIX where the files in these directories should
+dnl be found before the ones in lib64 for 32bit compilation -- of course, this
+dnl probably/surely breaks 64bit compilation... IMO the only real solution is to
+dnl stop using WX_PATH_FIND_LIBRARIES() at all and use AC_CHECK_LIB() instead
+dnl
+dnl add 64 bit versions for Linux on AMD (this is not perfect but well...)
+SEARCH_LIB="/usr/lib /usr/lib32 `echo "$SEARCH_INCLUDE" | sed s/include/lib/g` /usr/lib64 /usr/X11R6/lib64"
 
 dnl ------------------------------------------------------------------------
 dnl Check for libraries
@@ -1886,7 +1938,7 @@ if test "$wxUSE_REGEX" != "no"; then
     AC_DEFINE(wxUSE_REGEX)
             
     if test "$wxUSE_UNICODE" = "yes" -a "$wxUSE_REGEX" = "yes"; then
-        AC_MSG_WARN([Unicode build requires built-in regex library, will use it instead])
+        AC_MSG_WARN([Defaulting to the the builtin regex library for Unicode build.])
         wxUSE_REGEX=builtin
     fi
 
@@ -1905,6 +1957,8 @@ if test "$wxUSE_REGEX" != "no"; then
         else
             dnl we are using the system library
             wxUSE_REGEX=sys
+            dnl only the built-in supports advanced REs
+            AC_DEFINE(WX_NO_REGEX_ADVANCED)
         fi
     fi
 fi
@@ -5312,7 +5366,7 @@ if test "$wxUSE_TEXTCTRL" = "yes"; then
 fi
 
 if test "$wxUSE_TOGGLEBTN" = "yes"; then
-    if test "$wxUSE_MAC" = 1 -o "$wxUSE_COCOA" = 1 ; then
+    if test "$wxUSE_COCOA" = 1 ; then
         AC_MSG_WARN([Toggle button not yet supported under Mac OS X... disabled])
         wxUSE_TOGGLEBTN=no
     fi
@@ -5755,7 +5809,7 @@ WXCONFIG_EXTRALIBS="$LIBS"
 
 dnl wx-config must output builtin 3rd party libs in --libs in static build:
 if test "$wxUSE_REGEX" = "builtin" ; then
-    wxconfig_3rdparty="$wxconfig_3rdparty regex"
+    wxconfig_3rdparty="$wxconfig_3rdparty regex${lib_unicode_suffix}"
 fi
 if test "$wxUSE_EXPAT" = "builtin" ; then
     wxconfig_3rdparty="$wxconfig_3rdparty expat"
@@ -5981,6 +6035,7 @@ AC_SUBST(MACRESWXCONFIG)
 
 dnl other tools
 AC_SUBST(GCC)
+AC_SUBST(GCC_SEARCHES_USR_LOCAL_INCLUDE)
 AC_SUBST(DLLTOOL)
 AC_SUBST(AS)
 AC_SUBST(NM)