]> git.saurik.com Git - wxWidgets.git/commitdiff
Don't test for wide character functions in configure under OS X.
authorVadim Zeitlin <vadim@wxwidgets.org>
Mon, 15 Jul 2013 01:31:51 +0000 (01:31 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Mon, 15 Jul 2013 01:31:51 +0000 (01:31 +0000)
The tests for these functions may succeed on the system we're running under
but the functions may not be actually available on the system the application
is going to run under (if it's < 10.7).

So use our own replacements for these functions unless 10.7 was explicitly
chosen as the minimal possible version.

An alternative solution could have been to use weak linking but this is more
difficult and there is no real gain (performance would need to be measured
first).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74523 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

configure
configure.in
include/wx/osx/config_xcode.h

index 04e98042bb7be9953ca69a3be335e023ff53cb63..62c43ba92bdc68531c0b147449666837370dba15 100755 (executable)
--- a/configure
+++ b/configure
@@ -29860,7 +29860,20 @@ if test "$WCSLEN_FOUND" = 1; then
 
 fi
 
-for ac_func in wcsdup wcsftime strnlen wcsnlen wcscasecmp wcsncasecmp
+for ac_func in strnlen
+do :
+  ac_fn_c_check_func "$LINENO" "strnlen" "ac_cv_func_strnlen"
+if test "x$ac_cv_func_strnlen" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_STRNLEN 1
+_ACEOF
+
+fi
+done
+
+
+if test "$wxUSE_MAC" != 1; then
+    for ac_func in wcsdup wcsftime wcsnlen wcscasecmp wcsncasecmp
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
@@ -29872,6 +29885,7 @@ _ACEOF
 fi
 done
 
+fi
 
 if test "$USE_HPUX" = 1 -a "$GCC" != "yes"; then
     CPPFLAGS="-D_INCLUDE__STDC_A1_SOURCE $CPPFLAGS"
index d2193e4992dbf1c853f1bf4a0afe6ef73f32def2..e420dd5be55d8267dc783b33d8374caa646ba165 100644 (file)
@@ -4095,7 +4095,16 @@ if test "$WCSLEN_FOUND" = 1; then
     AC_DEFINE(HAVE_WCSLEN)
 fi
 
-AC_CHECK_FUNCS([wcsdup wcsftime strnlen wcsnlen wcscasecmp wcsncasecmp])
+AC_CHECK_FUNCS(strnlen)
+
+dnl OS X provides the wide character functions starting from 10.7 so our tests
+dnl would succeed if we're configuring under 10.7 or later, yet the compiled
+dnl programs would fail if ran under 10.6 or earlier. To avoid this problem we
+dnl define the corresponding HAVE_XXX in wx/osx/config_xcode.h instead of
+dnl testing for them here.
+if test "$wxUSE_MAC" != 1; then
+    AC_CHECK_FUNCS([wcsdup wcsftime wcsnlen wcscasecmp wcsncasecmp])
+fi
 
 dnl On HP-UX aCC need this define to find mbstrtowcs() &c
 dnl Can't be used for g++ since the mbstate_t in wchar.h can conflict
index 0174f32707e03bb3956b21ec35d3f5e4f7734856..006fef025bc492304a20dc083fcfe250310797e5 100644 (file)
 #define HAVE_VSSCANF_DECL 1
 #define HAVE_USLEEP 1
 #define HAVE_WCSLEN 1
+
+/* Many wchar functions are only available since 10.7 so don't use them if we
+   want to build the applications that would run under 10.6 and earlier. */
+#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_7
+#define HAVE_WCSDUP 1
+#define HAVE_WCSFTIME 1
+#define HAVE_WCSNLEN 1
+#define HAVE_WCSCASECMP 1
+#define HAVE_WCSNCASECMP 1
+#endif
+
 #define SIZEOF_WCHAR_T 4
 #define SIZEOF_SHORT 2
 #define SIZEOF_INT 4