dnl check for __builtin_labs
dnl check for __builtin_sqrtf
dnl check for __builtin_sqrtl
-dnl check for __builtin_fsqrt
+dnl check for __builtin_sqrt
dnl check for __builtin_sinf
dnl check for __builtin_sin
dnl check for __builtin_sinl
GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_labs)
GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_sqrtf)
- GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_fsqrt)
+ GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_sqrt)
GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_sqrtl)
GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_sinf)
AC_DEFINE(HAVE___BUILTIN_SIN)
AC_DEFINE(HAVE___BUILTIN_SINF)
AC_DEFINE(HAVE___BUILTIN_SINL)
- AC_DEFINE(HAVE___BUILTIN_FSQRT)
+ AC_DEFINE(HAVE___BUILTIN_SQRT)
AC_DEFINE(HAVE___BUILTIN_SQRTF)
AC_DEFINE(HAVE___BUILTIN_SQRTL)
fi
--enable-clocale=MODEL use MODEL target-speific locale package. [default=generic]
],
if test x$enable_clocale = xno; then
- enable_clocale=generic
+ enable_clocale=no
fi,
- enable_clocale=generic)
+ enable_clocale=no)
enable_clocale_flag=$enable_clocale
- dnl Check if a valid locale package
+ dnl Probe for locale support if no specific model is specified.
+ dnl Default to "generic"
+ if test x$enable_clocale_flag = xno; then
+ case x${target_os} in
+ xlinux* | xgnu*)
+ AC_EGREP_CPP([_GLIBCPP_ok], [
+ #include <features.h>
+ #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2)
+ _GLIBCPP_ok
+ #endif
+ ], enable_clocale_flag=gnu, enable_clocale_flag=generic)
+
+ # Test for bugs early in glibc-2.2.x series
+ if test x$enable_clocale_flag = xgnu; then
+ AC_TRY_RUN([
+ #define _GNU_SOURCE 1
+ #include <locale.h>
+ int main()
+ {
+ const char __one[] = "Äuglein Augmen";
+ const char __two[] = "Äuglein";
+ int i;
+ int j;
+ __locale_t loc;
+ __locale_t loc_dup;
+ loc = __newlocale(1 << LC_ALL, "de_DE", 0);
+ loc_dup = __duplocale(loc);
+ i = __strcoll_l(__one, __two, loc);
+ j = __strcoll_l(__one, __two, loc_dup);
+ return 0;
+ }
+ ],
+ [enable_clocale_flag=gnu],[enable_clocale_flag=generic],
+ [enable_clocale_flag=generic])
+ fi
+
+ # ... at some point put __strxfrm_l tests in as well.
+ ;;
+ *)
+ enable_clocale_flag=generic
+ ;;
+ esac
+ fi
+
+ dnl Set configure bits for specified locale package
case x${enable_clocale_flag} in
xgeneric)
AC_MSG_RESULT(generic)
CLOCALE_CC=config/locale/c_locale_generic.cc
CCODECVT_H=config/locale/codecvt_specializations_generic.h
CCOLLATE_CC=config/locale/collate_members_generic.cc
+ CCTYPE_CC=config/locale/ctype_members_generic.cc
CMESSAGES_H=config/locale/messages_members_generic.h
CMESSAGES_CC=config/locale/messages_members_generic.cc
CMONEY_CC=config/locale/moneypunct_members_generic.cc
CLOCALE_CC=config/locale/c_locale_gnu.cc
CCODECVT_H=config/locale/codecvt_specializations_ieee_1003.1-200x.h
CCOLLATE_CC=config/locale/collate_members_gnu.cc
+ CCTYPE_CC=config/locale/ctype_members_gnu.cc
CMESSAGES_H=config/locale/messages_members_gnu.h
CMESSAGES_CC=config/locale/messages_members_gnu.cc
CMONEY_CC=config/locale/moneypunct_members_gnu.cc
CLOCALE_CC=config/locale/c_locale_ieee_1003.1-200x.cc
CCODECVT_H=config/locale/codecvt_specializations_ieee_1003.1-200x.h
CCOLLATE_CC=config/locale/collate_members_generic.cc
+ CCTYPE_CC=config/locale/ctype_members_generic.cc
CMESSAGES_H=config/locale/messages_members_ieee_1003.1-200x.h
CMESSAGES_CC=config/locale/messages_members_ieee_1003.1-200x.cc
CMONEY_CC=config/locale/moneypunct_members_generic.cc
AC_SUBST(CMESSAGES_H)
AC_LINK_FILES($CLOCALE_CC, src/c++locale.cc)
AC_LINK_FILES($CCOLLATE_CC, src/collate.cc)
+ AC_LINK_FILES($CCTYPE_CC, src/ctype.cc)
AC_LINK_FILES($CMESSAGES_CC, src/messages.cc)
AC_LINK_FILES($CMONEY_CC, src/moneypunct.cc)
AC_LINK_FILES($CNUMERIC_CC, src/numpunct.cc)