diff --git a/configure b/configure index 7218a314079..cc6471bba6f 100755 --- a/configure +++ b/configure @@ -13923,44 +13923,6 @@ fi - # ucol_strcollUTF8() appeared in ICU 50, so check if we have it. - # ICU functions are macros, so we need to do this the long way. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ucol_strcollUTF8" >&5 -$as_echo_n "checking for ucol_strcollUTF8... " >&6; } -if ${pgac_cv_func_ucol_strcollUTF8+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_save_LIBS=$LIBS -LIBS="$ICU_LIBS $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -int -main () -{ -ucol_strcollUTF8(NULL, NULL, 0, NULL, 0, NULL); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - pgac_cv_func_ucol_strcollUTF8=yes -else - pgac_cv_func_ucol_strcollUTF8=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pgac_cv_func_ucol_strcollUTF8" >&5 -$as_echo "$pgac_cv_func_ucol_strcollUTF8" >&6; } - if test "$pgac_cv_func_ucol_strcollUTF8" = yes ; then - -$as_echo "#define HAVE_UCOL_STRCOLLUTF8 1" >>confdefs.h - - fi - CPPFLAGS=$ac_save_CPPFLAGS fi diff --git a/configure.in b/configure.in index 44987cdc1ec..5c036e7f420 100644 --- a/configure.in +++ b/configure.in @@ -1662,22 +1662,6 @@ if test "$with_icu" = yes; then AC_CHECK_HEADER(unicode/ucol.h, [], [AC_MSG_ERROR([header file is required for ICU])]) - # ucol_strcollUTF8() appeared in ICU 50, so check if we have it. - # ICU functions are macros, so we need to do this the long way. - AC_CACHE_CHECK([for ucol_strcollUTF8], [pgac_cv_func_ucol_strcollUTF8], -[ac_save_LIBS=$LIBS -LIBS="$ICU_LIBS $LIBS" -AC_LINK_IFELSE([AC_LANG_PROGRAM( -[#include -], -[ucol_strcollUTF8(NULL, NULL, 0, NULL, 0, NULL);])], -[pgac_cv_func_ucol_strcollUTF8=yes], -[pgac_cv_func_ucol_strcollUTF8=no]) -LIBS=$ac_save_LIBS]) - if test "$pgac_cv_func_ucol_strcollUTF8" = yes ; then - AC_DEFINE([HAVE_UCOL_STRCOLLUTF8], 1, [Define to 1 if you have the `ucol_strcollUTF8' function.]) - fi - CPPFLAGS=$ac_save_CPPFLAGS fi diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in index 7a05c7e5b85..dcb7a1a3209 100644 --- a/src/include/pg_config.h.in +++ b/src/include/pg_config.h.in @@ -606,9 +606,6 @@ /* Define to 1 if you have the external array `tzname'. */ #undef HAVE_TZNAME -/* Define to 1 if you have the `ucol_strcollUTF8' function. */ -#undef HAVE_UCOL_STRCOLLUTF8 - /* Define to 1 if you have the header file. */ #undef HAVE_UCRED_H diff --git a/src/include/pg_config.h.win32 b/src/include/pg_config.h.win32 index 9d3021ced88..7f60670fa6f 100644 --- a/src/include/pg_config.h.win32 +++ b/src/include/pg_config.h.win32 @@ -457,9 +457,6 @@ /* Define to 1 if you have the external array `tzname'. */ /* #undef HAVE_TZNAME */ -/* Define to 1 if you have the `ucol_strcollUTF8' function. */ -#define HAVE_UCOL_STRCOLLUTF8 1 - /* Define to 1 if the system has the type `uint64'. */ /* #undef HAVE_UINT64 */ diff --git a/src/include/utils/pg_locale.h b/src/include/utils/pg_locale.h index a02d27ba266..f3e04d4d8ce 100644 --- a/src/include/utils/pg_locale.h +++ b/src/include/utils/pg_locale.h @@ -21,6 +21,19 @@ #include "utils/guc.h" +#ifdef USE_ICU +/* + * ucol_strcollUTF8() was introduced in ICU 50, but it is buggy before ICU 53. + * (see + * ) + */ +#if U_ICU_VERSION_MAJOR_NUM >= 53 +#define HAVE_UCOL_STRCOLLUTF8 1 +#else +#undef HAVE_UCOL_STRCOLLUTF8 +#endif +#endif + /* GUC settings */ extern char *locale_messages;