--- a/libstdc++-v3/acinclude.m4 +++ b/libstdc++-v3/acinclude.m4 @@ -125,6 +125,15 @@ AC_DEFUN([GLIBCXX_CONFIGURE], [ ## other macros from doing the same. This should be automated.) -pme need_libmath=no + # Check for uClibc since Linux platforms use different configuration + # directories depending on the C library in use. + AC_EGREP_CPP([_using_uclibc], [ + #include + #if __UCLIBC__ + _using_uclibc + #endif + ], uclibc=yes, uclibc=no) + # Find platform-specific directories containing configuration info. # Also possibly modify flags used elsewhere, as needed by the platform. GLIBCXX_CHECK_HOST --- a/libstdc++-v3/config/os/gnu-linux/ctype_base.h +++ b/libstdc++-v3/config/os/gnu-linux/ctype_base.h @@ -31,8 +31,6 @@ // // ISO C++ 14882: 22.1 Locales // -#include -#include /** @file ctype_base.h * This is an internal header file, included by other library headers. @@ -47,11 +45,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) struct ctype_base { // Non-standard typedefs. -#ifdef __UCLIBC__ - typedef const __ctype_touplow_t* __to_type; -#else - typedef const int* __to_type; -#endif + typedef const int* __to_type; // NB: Offsets into ctype::_M_table force a particular size // on the mask type. Because of this, we don't use an enum.