PATCH: V3 configury, again

Mark Mitchell mark@codesourcery.com
Tue Jan 23 01:00:00 GMT 2001


I'm clearly too tired from looking at the AIX issues.  Here's the
difff, tested on i686-pc-linux-gnu.

--
Mark Mitchell                   mark@codesourcery.com
CodeSourcery, LLC               http://www.codesourcery.com

2001-01-23  Mark Mitchell  <mark@codesourcery.com>

	* ainclude.m4 (GLIBCPP_CHEC_MATH_DECLS_AND_LINKAGE_1): New macro.
	(GLIBCPP_CHECK_MATH_SUPPORT): Use it.
	(GLIBCPP_CHECK_TYPE_SUPPORT): Don't autoconf ctype information if
	its already provided in config.target.
	* aclocal.m4: Regenerated.
	* configure: Likewise.
	* configure.target: Set ctype_include_dir for lots of systems.
	* libsupc++/Makefile.am: Explicitly include --tag disable-shared.
	* libsupc++/Makefile.in: Regenerated.

Index: acinclude.m4
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/acinclude.m4,v
retrieving revision 1.119
diff -c -p -r1.119 acinclude.m4
*** acinclude.m4	2001/01/12 19:39:07	1.119
--- acinclude.m4	2001/01/23 08:56:17
*************** AC_DEFUN(GLIBCPP_CHECK_MATH_DECL_AND_LIN
*** 353,358 ****
--- 353,378 ----
    fi
  ])
  
+ dnl
+ dnl Like GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1, but does a bunch of
+ dnl of functions at once.  It's an all-or-nothing check -- either 
+ dnl HAVE_XYZ is defined for each of the functions, or for none of them
+ dnl Doing it this way saves significant configure time.
+ AC_DEFUN(GLIBCPP_CHECK_MATH_DECLS_AND_LINKAGES_1, [
+   AC_MSG_CHECKING([for $1 functions])
+   AC_CACHE_VAL(glibcpp_cv_func_$2_use, [
+     AC_LANG_SAVE
+     AC_LANG_CPLUSPLUS
+     AC_TRY_COMPILE([#include <math.h>],
+                    [ `for x in $3; do echo "$x (0);"; done` ],
+ 	           [glibcpp_cv_func_$2_use=yes],
+ 	           [glibcpp_cv_func_$2_use=no])
+     AC_LANG_RESTORE])
+   AC_MSG_RESULT($glibcpp_cv_func_$2_use)
+   if test x$glibcpp_cv_func_$2_use = x"yes"; then
+     AC_CHECK_FUNCS($3)
+   fi
+ ])
  
  dnl
  dnl Check to see if the (math function) argument passed is
*************** AC_DEFUN(GLIBCPP_CHECK_MATH_SUPPORT, [
*** 612,627 ****
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(qfpclass)
  
    dnl Check to see if basic C math functions have float versions.
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(isnanf)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(isinff)
-   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(acosf)
-   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(asinf)
-   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(atanf)
-   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(ceilf)
-   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(cosf)
-   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(coshf)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(fabsf)
-   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(floorf)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(fmodf)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(frexpf)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(ldexpf)
--- 632,648 ----
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(qfpclass)
  
    dnl Check to see if basic C math functions have float versions.
+   GLIBCPP_CHECK_MATH_DECLS_AND_LINKAGES_1(float trig,
+ 	                                  float_trig,
+ 	                                  acosf asinf atanf \
+                                           cosf sinf tanf \
+ 	                                  coshf sinhf tanhf)
+   GLIBCPP_CHECK_MATH_DECLS_AND_LINKAGES_1(float round,
+ 	                                  float_round,
+                                           ceilf floorf)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(isnanf)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(isinff)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(fabsf)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(fmodf)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(frexpf)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(ldexpf)
*************** AC_DEFUN(GLIBCPP_CHECK_MATH_SUPPORT, [
*** 629,656 ****
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(log10f)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(modff)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(powf)
-   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(sinf)
-   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(sinhf)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(sqrtf)
-   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(tanf)
-   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(tanhf)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_3(sincosf)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(finitef)
  
    dnl Check to see if basic C math functions have long double versions.
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(isnanl)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(isinfl)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(copysignl)
-   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(acosl)
-   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(asinl)
-   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(atanl)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(atan2l)
-   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(ceill)
-   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(cosl)
-   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(coshl)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(expl)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(fabsl)
-   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(floorl)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(fmodl)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(frexpl)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(ldexpl)
--- 650,674 ----
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(log10f)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(modff)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(powf)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(sqrtf)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_3(sincosf)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(finitef)
  
    dnl Check to see if basic C math functions have long double versions.
+   GLIBCPP_CHECK_MATH_DECLS_AND_LINKAGES_1(long double trig,
+ 	                                  long_double_trig,
+ 	                                  acosl asinl atanl \
+                                           cosl sinl tanl \
+ 	                                  coshl sinhl tanhl)
+   GLIBCPP_CHECK_MATH_DECLS_AND_LINKAGES_1(long double round,
+ 	                                  long_double_round,
+                                           ceill floorl)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(isnanl)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(isinfl)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(copysignl)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(atan2l)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(expl)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(fabsl)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(fmodl)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(frexpl)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(ldexpl)
*************** AC_DEFUN(GLIBCPP_CHECK_MATH_SUPPORT, [
*** 658,668 ****
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(log10l)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(modfl)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(powl)
-   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(sinl)
-   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(sinhl)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(sqrtl)
-   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(tanl)
-   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(tanhl)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_3(sincosl)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(finitel)
  
--- 676,682 ----
*************** AC_DEFUN(GLIBCPP_CHECK_MATH_SUPPORT, [
*** 679,694 ****
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_qfpclass)
  
    dnl Check to see if basic C math functions have float versions.
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_isnanf)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_isinff)
-   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_acosf)
-   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_asinf)
-   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_atanf)
-   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_ceilf)
-   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_cosf)
-   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_coshf)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_fabsf)
-   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_floorf)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(_fmodf)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(_frexpf)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(_ldexpf)
--- 693,709 ----
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_qfpclass)
  
    dnl Check to see if basic C math functions have float versions.
+   GLIBCPP_CHECK_MATH_DECLS_AND_LINKAGES_1(_float trig,
+ 	                                  _float_trig,
+ 	                                  _acosf _asinf _atanf \
+                                           _cosf _sinf _tanf \
+ 	                                  _coshf _sinhf _tanhf)
+   GLIBCPP_CHECK_MATH_DECLS_AND_LINKAGES_1(_float round,
+ 	                                  _float_round,
+                                           _ceilf _floorf)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_isnanf)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_isinff)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_fabsf)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(_fmodf)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(_frexpf)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(_ldexpf)
*************** AC_DEFUN(GLIBCPP_CHECK_MATH_SUPPORT, [
*** 696,723 ****
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_log10f)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(_modff)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(_powf)
-   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_sinf)
-   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_sinhf)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_sqrtf)
-   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_tanf)
-   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_tanhf)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_3(_sincosf)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_finitef)
  
    dnl Check to see if basic C math functions have long double versions.
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_isnanl)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_isinfl)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(_copysignl)
-   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_acosl)
-   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_asinl)
-   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_atanl)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(_atan2l)
-   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_ceill)
-   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_cosl)
-   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_coshl)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_expl)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_fabsl)
-   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_floorl)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(_fmodl)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(_frexpl)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(_ldexpl)
--- 711,735 ----
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_log10f)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(_modff)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(_powf)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_sqrtf)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_3(_sincosf)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_finitef)
  
    dnl Check to see if basic C math functions have long double versions.
+   GLIBCPP_CHECK_MATH_DECLS_AND_LINKAGES_1(_long double trig,
+ 	                                  _long_double_trig,
+ 	                                  _acosl _asinl _atanl \
+                                           _cosl _sinl _tanl \
+ 	                                  _coshl _sinhl _tanhl)
+   GLIBCPP_CHECK_MATH_DECLS_AND_LINKAGES_1(_long double round,
+ 	                                  _long_double_round,
+                                           _ceill _floorl)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_isnanl)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_isinfl)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(_copysignl)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(_atan2l)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_expl)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_fabsl)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(_fmodl)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(_frexpl)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(_ldexpl)
*************** AC_DEFUN(GLIBCPP_CHECK_MATH_SUPPORT, [
*** 725,735 ****
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_log10l)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(_modfl)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(_powl)
-   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_sinl)
-   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_sinhl)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_sqrtl)
-   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_tanl)
-   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_tanhl)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_3(_sincosl)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(_finitel)
  
--- 737,743 ----
*************** AC_DEFUN(GLIBCPP_CHECK_CTYPE_SUPPORT, [
*** 792,940 ****
    AC_CHECK_HEADER(ctype.h, [
      
      dnl If doesn't match any specified, go with defaults.
!     ctype_default=yes
! 
!     dnl Test for <ctype> functionality -- GNU/Linux
!     AC_MSG_CHECKING([<ctype> for GNU/Linux])
!     AC_TRY_COMPILE([#include <ctype.h>],
!     [int
!     foo (int a)
!     { return _ISspace + _ISprint + _IScntrl + _ISupper + _ISlower + _ISalpha \
!         + _ISdigit + _ISpunct + _ISxdigit + _ISalnum + _ISgraph \
!         + __ctype_tolower[a] + __ctype_toupper[a] + __ctype_b[a];}], \
!     ctype_linux=yes, ctype_linux=no)
!     AC_MSG_RESULT($ctype_linux)
!     if test $ctype_linux = "yes"; then
!       ctype_include_dir="config/os/gnu-linux"
!       ctype_default=no
!     fi
! 
!     dnl Test for <ctype> functionality -- FreeBSD 4.0
!     if test $ctype_default = "yes"; then
!     AC_MSG_CHECKING([<ctype> for FreeBSD 4.0])
!     AC_TRY_COMPILE([#include <ctype.h>],
!     [int
!     foo (int a)
!     { return _CTYPE_S + _CTYPE_R + _CTYPE_C + _CTYPE_U + _CTYPE_L + _CTYPE_A \
!         + _CTYPE_D + _CTYPE_P + _CTYPE_X + _CTYPE_G ;}], \
!     ctype_bsd=yes, ctype_bsd=no)
!     AC_MSG_RESULT($ctype_bsd)
!     if test $ctype_bsd = "yes"; then
!       ctype_include_dir="config/os/bsd/freebsd"
!       ctype_default=no
!     fi
!     fi
! 
!     dnl Test for <ctype> functionality -- FreeBSD 3.4
!     if test $ctype_default = "yes"; then
!     AC_MSG_CHECKING([<ctype> for FreeBSD 3.4])
!     AC_TRY_COMPILE([#include <ctype.h>],
!     [int
!     foo (int a)
!     { return _S + _R + _C + _U + _L + _A \
!       + _D + _P + _X + _G + __istype (a, 0);}], \
!     ctype_freebsd34=yes, ctype_freebsd34=no)
!     AC_MSG_RESULT($ctype_freebsd34)
!     if test $ctype_freebsd34 = "yes"; then
!       ctype_include_dir="config/os/bsd/freebsd"
!       ctype_default=no
!     fi
!     fi
! 
!     dnl Test for <ctype> functionality -- NetBSD
!     if test $ctype_default = "yes"; then
!     AC_MSG_CHECKING([<ctype> for NetBSD])
!     AC_TRY_COMPILE([#include <ctype.h>],
!     [int
!     foo (int a)
!     { return _S + _C + _U + _L \
!       + _N + _P + _X + _tolower_tab_[a] + _toupper_tab_[a];}], \
!     ctype_netbsd=yes, ctype_netbsd=no)
!     AC_MSG_RESULT($ctype_netbsd)
!     if test $ctype_netbsd = "yes"; then
!       ctype_include_dir="config/os/bsd/netbsd"
        ctype_default=no
!     fi
!     fi
! 
!     dnl Test for <ctype> functionality -- Solaris 2.6 and up
!     if test $ctype_default = "yes"; then
!     AC_MSG_CHECKING([<ctype> for Solaris 2.6,7,8])
!     AC_TRY_COMPILE([#include <ctype.h>],
!     [int
!     foo (int a)
!     { return _ISSPACE + _ISPRINT + _ISCNTRL + _ISUPPER + _ISLOWER + _ISALPHA \
!         + _ISDIGIT + _ISPUNCT + _ISXDIGIT + _ISALNUM + _ISGRAPH \
!         + __trans_lower[a] + __trans_upper[a] + __ctype_mask[a];}], \
!     ctype_solaris=yes, ctype_solaris=no)
!     AC_MSG_RESULT($ctype_solaris)
! 
!     if test $ctype_solaris = "yes"; then
!       AC_MSG_CHECKING([  for version])
!       AC_LANG_CPLUSPLUS 
!       AC_TRY_COMPILE([#include <ctype.h>],
!       [typedef long* __to_type; __to_type const& _M_toupper = __trans_upper;],\
!       ctype_solaris26=yes, ctype_solaris26=no)
!       AC_LANG_C
!       if test $ctype_solaris26 = "yes"; then
!         ctype_include_dir="config/os/solaris/solaris2.6"
!         AC_MSG_RESULT([Solaris 2.6])
!         ctype_default=no
!       else
!         ctype_include_dir="config/os/solaris/solaris2.7"
!         AC_MSG_RESULT([Solaris 7,8])
!         ctype_default=no
!       fi
!     fi
!     fi  
! 
!     dnl Test for <ctype> functionality -- Solaris 2.5.1
!     if test $ctype_default = "yes"; then
!     AC_MSG_CHECKING([<ctype> for Solaris 2.5.1])
!     AC_TRY_COMPILE([#include <ctype.h>],
!     [int
!     foo (int a)
!     { return _U + _L + _N + _S + _P + _C + _X + _B \
!         + __ctype[a];}], \
!     ctype_solaris25=yes, ctype_solaris25=no)
!     AC_MSG_RESULT($ctype_solaris25)
!     if test $ctype_solaris25 = "yes"; then
!       ctype_include_dir="config/os/solaris/solaris2.5"
!       ctype_default=no
!     fi
!     fi
! 
!     dnl Test for <ctype> functionality -- AIX
!     if test $ctype_default = "yes"; then
!     AC_MSG_CHECKING([<ctype> for AIX])
!     AC_TRY_COMPILE([#include <ctype.h>],
!     [int
!     foo (int a)
!     { return _ISSPACE + _ISPRINT + _ISCNTRL + _ISUPPER + _ISLOWER + _ISALPHA \
!         + _ISDIGIT + _ISPUNCT + _ISXDIGIT + _ISALNUM + _ISGRAPH \
!         + _VALC('a') + _IS('c', 0);}], \
!     ctype_aix=yes, ctype_aix=no)
!     AC_MSG_RESULT($ctype_aix)
!     if test $ctype_aix = "yes"; then
!       ctype_include_dir="config/os/aix"
!       ctype_default=no
!     fi
!     fi
! 
!     dnl Test for <ctype> functionality -- IRIX
!     if test $ctype_default = "yes"; then 
!     AC_MSG_CHECKING([<ctype> for IRIX])
!     AC_TRY_COMPILE([#include <ctype.h>],
!     [int
!     foo (int a)
!     { return _U + _L + _N + _S + _P + _C + _B + _X + \
!              _A + _PR + _G + _BL;}], \
!     ctype_irix=yes, ctype_irix=no)
!     AC_MSG_RESULT($ctype_irix)
!     if test $ctype_irix = "yes"; then
!       ctype_include_dir="config/os/irix"
!       ctype_default=no
!     fi
      fi
  
      dnl Test for <ctype> functionality -- newlib
--- 800,809 ----
    AC_CHECK_HEADER(ctype.h, [
      
      dnl If doesn't match any specified, go with defaults.
!     if test x$ctype_include_dir != x; then
        ctype_default=no
!     else
!       ctype_default=yes
      fi
  
      dnl Test for <ctype> functionality -- newlib
Index: aclocal.m4
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/aclocal.m4,v
retrieving revision 1.122
diff -c -p -r1.122 aclocal.m4
*** aclocal.m4	2001/01/12 19:39:07	1.122
--- aclocal.m4	2001/01/23 08:56:18
*************** AC_DEFUN(GLIBCPP_CHECK_MATH_DECL_AND_LIN
*** 365,370 ****
--- 365,390 ----
    fi
  ])
  
+ dnl
+ dnl Like GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1, but does a bunch of
+ dnl of functions at once.  It's an all-or-nothing check -- either 
+ dnl HAVE_XYZ is defined for each of the functions, or for none of them
+ dnl Doing it this way saves significant configure time.
+ AC_DEFUN(GLIBCPP_CHECK_MATH_DECLS_AND_LINKAGES_1, [
+   AC_MSG_CHECKING([for $1 functions])
+   AC_CACHE_VAL(glibcpp_cv_func_$2_use, [
+     AC_LANG_SAVE
+     AC_LANG_CPLUSPLUS
+     AC_TRY_COMPILE([#include <math.h>],
+                    [ `for x in $3; do echo "$x (0);"; done` ],
+ 	           [glibcpp_cv_func_$2_use=yes],
+ 	           [glibcpp_cv_func_$2_use=no])
+     AC_LANG_RESTORE])
+   AC_MSG_RESULT($glibcpp_cv_func_$2_use)
+   if test x$glibcpp_cv_func_$2_use = x"yes"; then
+     AC_CHECK_FUNCS($3)
+   fi
+ ])
  
  dnl
  dnl Check to see if the (math function) argument passed is
*************** AC_DEFUN(GLIBCPP_CHECK_MATH_SUPPORT, [
*** 624,639 ****
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(qfpclass)
  
    dnl Check to see if basic C math functions have float versions.
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(isnanf)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(isinff)
-   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(acosf)
-   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(asinf)
-   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(atanf)
-   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(ceilf)
-   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(cosf)
-   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(coshf)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(fabsf)
-   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(floorf)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(fmodf)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(frexpf)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(ldexpf)
--- 644,660 ----
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(qfpclass)
  
    dnl Check to see if basic C math functions have float versions.
+   GLIBCPP_CHECK_MATH_DECLS_AND_LINKAGES_1(float trig,
+ 	                                  float_trig,
+ 	                                  acosf asinf atanf \
+                                           cosf sinf tanf \
+ 	                                  coshf sinhf tanhf)
+   GLIBCPP_CHECK_MATH_DECLS_AND_LINKAGES_1(float round,
+ 	                                  float_round,
+                                           ceilf floorf)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(isnanf)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(isinff)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(fabsf)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(fmodf)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(frexpf)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(ldexpf)
*************** AC_DEFUN(GLIBCPP_CHECK_MATH_SUPPORT, [
*** 641,668 ****
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(log10f)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(modff)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(powf)
-   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(sinf)
-   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(sinhf)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(sqrtf)
-   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(tanf)
-   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(tanhf)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_3(sincosf)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(finitef)
  
    dnl Check to see if basic C math functions have long double versions.
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(isnanl)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(isinfl)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(copysignl)
-   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(acosl)
-   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(asinl)
-   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(atanl)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(atan2l)
-   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(ceill)
-   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(cosl)
-   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(coshl)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(expl)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(fabsl)
-   GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(floorl)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(fmodl)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(frexpl)
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(ldexpl)
--- 662,686 ----
    GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(log10f)
Index: configure.target
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/configure.target,v
retrieving revision 1.10
diff -c -p -r1.10 configure.target
*** configure.target	2001/01/12 19:39:07	1.10
--- configure.target	2001/01/23 08:56:23
*************** case "${target_os}" in
*** 77,88 ****
--- 77,91 ----
          enable_threads='no'
          ;;
      esac
+     ctype_include_dir=${os_include_dir}
      ;;
    aix*)
      os_include_dir="config/os/aix"
+     ctype_include_dir=${os_include_dir}
      ;;
    bsd* | freebsd* )
      os_include_dir="config/os/bsd/freebsd"
+     ctype_include_dir=${os_include_dir}
      ;;
    cygwin*)
      os_include_dir="config/os/newlib"
*************** case "${target_os}" in
*** 92,112 ****
--- 95,121 ----
      ;;
    linux* | gnu*)
      os_include_dir="config/os/gnu-linux"
+     ctype_include_dir=${os_include_dir}
      ;;
    irix*)
      os_include_dir="config/os/irix"
+     ctype_include_dir=${os_include_dir}
      ;;
    netbsd*)
      os_include_dir="config/os/bsd/netbsd"
+     ctype_include_dir=${os_include_dir}
      ;;
    solaris2.5*)
      os_include_dir="config/os/solaris/solaris2.5"
+     ctype_include_dir=${os_include_dir}
      ;;
    solaris2.6*)
      os_include_dir="config/os/solaris/solaris2.6"
+     ctype_include_dir=${os_include_dir}
      ;;
    solaris2.7* | solaris2.8*)
      os_include_dir="config/os/solaris/solaris2.7"
+     ctype_include_dir=${os_include_dir}
      ;;
    hpux)
      os_include_dir="config/os/hpux"
Index: libsupc++/Makefile.am
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/libsupc++/Makefile.am,v
retrieving revision 1.14
diff -c -p -r1.14 Makefile.am
*** Makefile.am	2000/12/23 07:13:57	1.14
--- Makefile.am	2001/01/23 08:56:23
***************
*** 1,6 ****
  ## Makefile for the GNU C++ Support library.
  ##
! ## Copyright (C) 2000 Free Software Foundation, Inc.
  ##
  ## Process this file with automake to produce Makefile.in.
  ##
--- 1,6 ----
  ## Makefile for the GNU C++ Support library.
  ##
! ## Copyright (C) 2000, 2001 Free Software Foundation, Inc.
  ##
  ## Process this file with automake to produce Makefile.in.
  ##
*************** AM_CXXFLAGS = \
*** 144,151 ****
  # can't decide which configuration to use, and it gives up.  The
  # correct solution is to add `--tag CXX' to LTCXXCOMPILE and maybe
  # CXXLINK, just after $(LIBTOOL), so that libtool doesn't have to
! # attempt to infer which configuration to use
! LTCXXCOMPILE = $(LIBTOOL) --tag CXX --mode=compile $(CXX) $(INCLUDES) \
  	       $(AM_CPPFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(AM_CXXFLAGS) 
  
  # 3) We have a problem when building the shared libstdc++ object if
--- 144,155 ----
  # can't decide which configuration to use, and it gives up.  The
  # correct solution is to add `--tag CXX' to LTCXXCOMPILE and maybe
  # CXXLINK, just after $(LIBTOOL), so that libtool doesn't have to
! # attempt to infer which configuration to use.
! #
! # We have to put --tag disable-shared after --tag CXX lest things
! # CXX undo the affect of disable-shared.
! LTCXXCOMPILE = $(LIBTOOL) --tag CXX --tag disable-shared \
!                --mode=compile $(CXX) $(INCLUDES) \
  	       $(AM_CPPFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(AM_CXXFLAGS) 
  
  # 3) We have a problem when building the shared libstdc++ object if
Index: libsupc++/Makefile.in
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/libsupc++/Makefile.in,v
retrieving revision 1.34
diff -c -p -r1.34 Makefile.in
*** Makefile.in	2001/01/11 07:27:48	1.34
--- Makefile.in	2001/01/23 08:56:24
*************** AM_CXXFLAGS =  	-fno-implicit-templates 
*** 195,202 ****
  # can't decide which configuration to use, and it gives up.  The
  # correct solution is to add `--tag CXX' to LTCXXCOMPILE and maybe
  # CXXLINK, just after $(LIBTOOL), so that libtool doesn't have to
! # attempt to infer which configuration to use
! LTCXXCOMPILE = $(LIBTOOL) --tag CXX --mode=compile $(CXX) $(INCLUDES) 	       $(AM_CPPFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(AM_CXXFLAGS) 
  
  
  # 3) We have a problem when building the shared libstdc++ object if
--- 195,205 ----
  # can't decide which configuration to use, and it gives up.  The
  # correct solution is to add `--tag CXX' to LTCXXCOMPILE and maybe
  # CXXLINK, just after $(LIBTOOL), so that libtool doesn't have to
! # attempt to infer which configuration to use.
! #
! # We have to put --tag disable-shared after --tag CXX lest things
! # CXX undo the affect of disable-shared.
! LTCXXCOMPILE = $(LIBTOOL) --tag CXX --tag disable-shared                --mode=compile $(CXX) $(INCLUDES) 	       $(AM_CPPFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(AM_CXXFLAGS) 
  
  
  # 3) We have a problem when building the shared libstdc++ object if
*************** CXXCOMPILE = $(CXX) $(DEFS) $(INCLUDES) 
*** 230,236 ****
  CXXLD = $(CXX)
  HEADERS =  $(glibcppinstall_HEADERS)
  
! DIST_COMMON =  ChangeLog Makefile.am Makefile.in configure configure.in
  
  
  DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
--- 233,239 ----
  CXXLD = $(CXX)
  HEADERS =  $(glibcppinstall_HEADERS)
  
! DIST_COMMON =  Makefile.am Makefile.in configure configure.in
  
  
  DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)


More information about the Gcc-patches mailing list