Commit e08138aa by Benjamin Kosnik Committed by Benjamin Kosnik

Implement std::time_put.


2001-09-19  Benjamin Kosnik  <bkoz@redhat.com>

	Implement std::time_put.
	* include/bits/locale_facets.h: Include time_members.h.
	(__timepunct): New.
	(time_put): Implement.
	* include/bits/locale_facets.tcc (do_put): Put generic versions here.
	* include/bits/localefwd.h: Bump number of facets.
	* config/locale/time_members_generic.h: New file.
	* config/locale/time_members_gnu.h: New file.
	* config/locale/c_locale_generic.h: Include clocale.
	* src/locale-inst.cc: Add use_facet instantiations for __timepunct.
	* src/locale.cc: Add __timepunct initializations.
	* src/localename.cc (locale::_Impl::_Impl(string, size_t)): Same.
	* include/Makefile.am (stamp-target): Add time_members.h.
	* include/Makefile.in: Regenerate.
	* acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): Add CTIME_H.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* testsuite/22_locale/time_put.cc: New file.
	* testsuite/22_locale/time_put_members_char.cc: New file.

	* docs/html/22_locale/locale.html: Add note.

From-SVN: r45702
parent 10bd1d78
2001-09-19 Benjamin Kosnik <bkoz@redhat.com>
Implement std::time_put.
* include/bits/locale_facets.h: Include time_members.h.
(__timepunct): New.
(time_put): Implement.
* include/bits/locale_facets.tcc (do_put): Put generic versions here.
* include/bits/localefwd.h: Bump number of facets.
* config/locale/time_members_generic.h: New file.
* config/locale/time_members_gnu.h: New file.
* config/locale/c_locale_generic.h: Include clocale.
* src/locale-inst.cc: Add use_facet instantiations for __timepunct.
* src/locale.cc: Add __timepunct initializations.
* src/localename.cc (locale::_Impl::_Impl(string, size_t)): Same.
* include/Makefile.am (stamp-target): Add time_members.h.
* include/Makefile.in: Regenerate.
* acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): Add CTIME_H.
* aclocal.m4: Regenerate.
* configure: Regenerate.
* testsuite/22_locale/time_put.cc: New file.
* testsuite/22_locale/time_put_members_char.cc: New file.
* docs/html/22_locale/locale.html: Add note.
2001-09-17 Phil Edwards <pme@gcc.gnu.org> 2001-09-17 Phil Edwards <pme@gcc.gnu.org>
* docs/html/configopts.html: HTML to XHTML change. Lowercase tags. * docs/html/configopts.html: HTML to XHTML change. Lowercase tags.
......
# Makefile.in generated automatically by automake 1.4 from Makefile.am # Makefile.in generated automatically by automake 1.4-p5 from Makefile.am
# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. # Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
...@@ -67,6 +67,7 @@ AR = @AR@ ...@@ -67,6 +67,7 @@ AR = @AR@
AS = @AS@ AS = @AS@
ATOMICITY_INC_SRCDIR = @ATOMICITY_INC_SRCDIR@ ATOMICITY_INC_SRCDIR = @ATOMICITY_INC_SRCDIR@
BASIC_FILE_H = @BASIC_FILE_H@ BASIC_FILE_H = @BASIC_FILE_H@
BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
CATALOGS = @CATALOGS@ CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@ CATOBJEXT = @CATOBJEXT@
CC = @CC@ CC = @CC@
...@@ -77,6 +78,7 @@ CMESSAGES_H = @CMESSAGES_H@ ...@@ -77,6 +78,7 @@ CMESSAGES_H = @CMESSAGES_H@
CPP = @CPP@ CPP = @CPP@
CSHADOW_FLAGS = @CSHADOW_FLAGS@ CSHADOW_FLAGS = @CSHADOW_FLAGS@
CSTDIO_H = @CSTDIO_H@ CSTDIO_H = @CSTDIO_H@
CTIME_H = @CTIME_H@
CXX = @CXX@ CXX = @CXX@
CXXCPP = @CXXCPP@ CXXCPP = @CXXCPP@
C_INCLUDE_DIR = @C_INCLUDE_DIR@ C_INCLUDE_DIR = @C_INCLUDE_DIR@
...@@ -88,17 +90,17 @@ EXTRA_CXX_FLAGS = @EXTRA_CXX_FLAGS@ ...@@ -88,17 +90,17 @@ EXTRA_CXX_FLAGS = @EXTRA_CXX_FLAGS@
GCJ = @GCJ@ GCJ = @GCJ@
GCJFLAGS = @GCJFLAGS@ GCJFLAGS = @GCJFLAGS@
GENCAT = @GENCAT@ GENCAT = @GENCAT@
GLIBC21 = @GLIBC21@
GLIBCPP_INCLUDES = @GLIBCPP_INCLUDES@ GLIBCPP_INCLUDES = @GLIBCPP_INCLUDES@
GLIBCPP_IS_CROSS_COMPILING = @GLIBCPP_IS_CROSS_COMPILING@ GLIBCPP_IS_CROSS_COMPILING = @GLIBCPP_IS_CROSS_COMPILING@
GMOFILES = @GMOFILES@ GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@ GMSGFMT = @GMSGFMT@
GT_NO = @GT_NO@
GT_YES = @GT_YES@
INCLUDE_LOCALE_H = @INCLUDE_LOCALE_H@
INSTOBJEXT = @INSTOBJEXT@ INSTOBJEXT = @INSTOBJEXT@
INTLDEPS = @INTLDEPS@ INTLBISON = @INTLBISON@
INTLLIBS = @INTLLIBS@ INTLLIBS = @INTLLIBS@
INTLOBJS = @INTLOBJS@ INTLOBJS = @INTLOBJS@
INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
LIBICONV = @LIBICONV@
LIBIO_INCLUDES = @LIBIO_INCLUDES@ LIBIO_INCLUDES = @LIBIO_INCLUDES@
LIBMATHOBJS = @LIBMATHOBJS@ LIBMATHOBJS = @LIBMATHOBJS@
LIBMATH_INCLUDES = @LIBMATH_INCLUDES@ LIBMATH_INCLUDES = @LIBMATH_INCLUDES@
...@@ -145,7 +147,6 @@ glibcpp_toolexecdir = @glibcpp_toolexecdir@ ...@@ -145,7 +147,6 @@ glibcpp_toolexecdir = @glibcpp_toolexecdir@
glibcpp_toolexeclibdir = @glibcpp_toolexeclibdir@ glibcpp_toolexeclibdir = @glibcpp_toolexeclibdir@
gxx_include_dir = @gxx_include_dir@ gxx_include_dir = @gxx_include_dir@
ifGNUmake = @ifGNUmake@ ifGNUmake = @ifGNUmake@
l = @l@
libio_la = @libio_la@ libio_la = @libio_la@
libtool_VERSION = @libtool_VERSION@ libtool_VERSION = @libtool_VERSION@
release_VERSION = @release_VERSION@ release_VERSION = @release_VERSION@
...@@ -172,7 +173,44 @@ MULTICLEAN = true ...@@ -172,7 +173,44 @@ MULTICLEAN = true
# Work around what appears to be a GNU make bug handling MAKEFLAGS # Work around what appears to be a GNU make bug handling MAKEFLAGS
# values defined in terms of make variables, as is the case for CC and # values defined in terms of make variables, as is the case for CC and
# friends when we are called from the top level Makefile. # friends when we are called from the top level Makefile.
AM_MAKEFLAGS = "AR_FLAGS=$(AR_FLAGS)" "CC_FOR_BUILD=$(CC_FOR_BUILD)" "CC_FOR_TARGET=$(CC_FOR_TARGET)" "CFLAGS=$(CFLAGS)" "CXXFLAGS=$(CXXFLAGS)" "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" "INSTALL=$(INSTALL)" "INSTALL_DATA=$(INSTALL_DATA)" "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" "LDFLAGS=$(LDFLAGS)" "LIBCFLAGS=$(LIBCFLAGS)" "LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" "MAKE=$(MAKE)" "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" "PICFLAG=$(PICFLAG)" "PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" "SHELL=$(SHELL)" "RUNTESTFLAGS=$(RUNTESTFLAGS)" "exec_prefix=$(exec_prefix)" "infodir=$(infodir)" "libdir=$(libdir)" "includedir=$(includedir)" "prefix=$(prefix)" "tooldir=$(tooldir)" "AR=$(AR)" "AS=$(AS)" "LD=$(LD)" "LIBCFLAGS=$(LIBCFLAGS)" "PICFLAG=$(PICFLAG)" "RANLIB=$(RANLIB)" "NM=$(NM)" "NM_FOR_BUILD=$(NM_FOR_BUILD)" "NM_FOR_TARGET=$(NM_FOR_TARGET)" "DESTDIR=$(DESTDIR)" "WERROR=$(WERROR)" AM_MAKEFLAGS = \
"AR_FLAGS=$(AR_FLAGS)" \
"CC_FOR_BUILD=$(CC_FOR_BUILD)" \
"CC_FOR_TARGET=$(CC_FOR_TARGET)" \
"CFLAGS=$(CFLAGS)" \
"CXXFLAGS=$(CXXFLAGS)" \
"CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
"CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \
"INSTALL=$(INSTALL)" \
"INSTALL_DATA=$(INSTALL_DATA)" \
"INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
"INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \
"LDFLAGS=$(LDFLAGS)" \
"LIBCFLAGS=$(LIBCFLAGS)" \
"LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \
"MAKE=$(MAKE)" \
"MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \
"PICFLAG=$(PICFLAG)" \
"PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \
"SHELL=$(SHELL)" \
"RUNTESTFLAGS=$(RUNTESTFLAGS)" \
"exec_prefix=$(exec_prefix)" \
"infodir=$(infodir)" \
"libdir=$(libdir)" \
"includedir=$(includedir)" \
"prefix=$(prefix)" \
"tooldir=$(tooldir)" \
"AR=$(AR)" \
"AS=$(AS)" \
"LD=$(LD)" \
"LIBCFLAGS=$(LIBCFLAGS)" \
"PICFLAG=$(PICFLAG)" \
"RANLIB=$(RANLIB)" \
"NM=$(NM)" \
"NM_FOR_BUILD=$(NM_FOR_BUILD)" \
"NM_FOR_TARGET=$(NM_FOR_TARGET)" \
"DESTDIR=$(DESTDIR)" \
"WERROR=$(WERROR)"
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
CONFIG_HEADER = config.h CONFIG_HEADER = config.h
...@@ -271,7 +309,7 @@ maintainer-clean-recursive: ...@@ -271,7 +309,7 @@ maintainer-clean-recursive:
dot_seen=no; \ dot_seen=no; \
rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \ rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \
rev="$$subdir $$rev"; \ rev="$$subdir $$rev"; \
test "$$subdir" = "." && dot_seen=yes; \ test "$$subdir" != "." || dot_seen=yes; \
done; \ done; \
test "$$dot_seen" = "no" && rev=". $$rev"; \ test "$$dot_seen" = "no" && rev=". $$rev"; \
target=`echo $@ | sed s/-recursive//`; \ target=`echo $@ | sed s/-recursive//`; \
......
...@@ -1063,6 +1063,7 @@ AC_DEFUN(GLIBCPP_ENABLE_CLOCALE, [ ...@@ -1063,6 +1063,7 @@ AC_DEFUN(GLIBCPP_ENABLE_CLOCALE, [
CMESSAGES_CC=config/locale/messages_members_generic.cc CMESSAGES_CC=config/locale/messages_members_generic.cc
CMONEY_CC=config/locale/moneypunct_members_generic.cc CMONEY_CC=config/locale/moneypunct_members_generic.cc
CNUMERIC_CC=config/locale/numpunct_members_generic.cc CNUMERIC_CC=config/locale/numpunct_members_generic.cc
CTIME_H=config/locale/time_members_generic.h
;; ;;
xgnu) xgnu)
AC_MSG_RESULT(gnu) AC_MSG_RESULT(gnu)
...@@ -1091,6 +1092,7 @@ AC_DEFUN(GLIBCPP_ENABLE_CLOCALE, [ ...@@ -1091,6 +1092,7 @@ AC_DEFUN(GLIBCPP_ENABLE_CLOCALE, [
CMESSAGES_CC=config/locale/messages_members_gnu.cc CMESSAGES_CC=config/locale/messages_members_gnu.cc
CMONEY_CC=config/locale/moneypunct_members_gnu.cc CMONEY_CC=config/locale/moneypunct_members_gnu.cc
CNUMERIC_CC=config/locale/numpunct_members_gnu.cc CNUMERIC_CC=config/locale/numpunct_members_gnu.cc
CTIME_H=config/locale/time_members_gnu.h
;; ;;
xieee_1003.1) xieee_1003.1)
AC_MSG_RESULT(generic) AC_MSG_RESULT(generic)
...@@ -1106,6 +1108,7 @@ AC_DEFUN(GLIBCPP_ENABLE_CLOCALE, [ ...@@ -1106,6 +1108,7 @@ AC_DEFUN(GLIBCPP_ENABLE_CLOCALE, [
CMESSAGES_CC=config/locale/messages_members_ieee_1003.1-200x.cc CMESSAGES_CC=config/locale/messages_members_ieee_1003.1-200x.cc
CMONEY_CC=config/locale/moneypunct_members_generic.cc CMONEY_CC=config/locale/moneypunct_members_generic.cc
CNUMERIC_CC=config/locale/numpunct_members_generic.cc CNUMERIC_CC=config/locale/numpunct_members_generic.cc
CTIME_H=config/locale/time_members_generic.h
;; ;;
*) *)
echo "$enable_clocale is an unknown locale package" 1>&2 echo "$enable_clocale is an unknown locale package" 1>&2
...@@ -1122,6 +1125,7 @@ AC_DEFUN(GLIBCPP_ENABLE_CLOCALE, [ ...@@ -1122,6 +1125,7 @@ AC_DEFUN(GLIBCPP_ENABLE_CLOCALE, [
AC_SUBST(CLOCALE_H) AC_SUBST(CLOCALE_H)
AC_SUBST(CCODECVT_H) AC_SUBST(CCODECVT_H)
AC_SUBST(CMESSAGES_H) AC_SUBST(CMESSAGES_H)
AC_SUBST(CTIME_H)
AC_LINK_FILES($CLOCALE_CC, src/c++locale.cc) AC_LINK_FILES($CLOCALE_CC, src/c++locale.cc)
AC_LINK_FILES($CCOLLATE_CC, src/collate.cc) AC_LINK_FILES($CCOLLATE_CC, src/collate.cc)
AC_LINK_FILES($CMESSAGES_CC, src/messages.cc) AC_LINK_FILES($CMESSAGES_CC, src/messages.cc)
......
dnl aclocal.m4 generated automatically by aclocal 1.4 dnl aclocal.m4 generated automatically by aclocal 1.4-p5
dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. dnl Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it, dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved. dnl with or without modifications, as long as this notice is preserved.
...@@ -1075,6 +1075,7 @@ AC_DEFUN(GLIBCPP_ENABLE_CLOCALE, [ ...@@ -1075,6 +1075,7 @@ AC_DEFUN(GLIBCPP_ENABLE_CLOCALE, [
CMESSAGES_CC=config/locale/messages_members_generic.cc CMESSAGES_CC=config/locale/messages_members_generic.cc
CMONEY_CC=config/locale/moneypunct_members_generic.cc CMONEY_CC=config/locale/moneypunct_members_generic.cc
CNUMERIC_CC=config/locale/numpunct_members_generic.cc CNUMERIC_CC=config/locale/numpunct_members_generic.cc
CTIME_H=config/locale/time_members_generic.h
;; ;;
xgnu) xgnu)
AC_MSG_RESULT(gnu) AC_MSG_RESULT(gnu)
...@@ -1103,6 +1104,7 @@ AC_DEFUN(GLIBCPP_ENABLE_CLOCALE, [ ...@@ -1103,6 +1104,7 @@ AC_DEFUN(GLIBCPP_ENABLE_CLOCALE, [
CMESSAGES_CC=config/locale/messages_members_gnu.cc CMESSAGES_CC=config/locale/messages_members_gnu.cc
CMONEY_CC=config/locale/moneypunct_members_gnu.cc CMONEY_CC=config/locale/moneypunct_members_gnu.cc
CNUMERIC_CC=config/locale/numpunct_members_gnu.cc CNUMERIC_CC=config/locale/numpunct_members_gnu.cc
CTIME_H=config/locale/time_members_gnu.h
;; ;;
xieee_1003.1) xieee_1003.1)
AC_MSG_RESULT(generic) AC_MSG_RESULT(generic)
...@@ -1118,6 +1120,7 @@ AC_DEFUN(GLIBCPP_ENABLE_CLOCALE, [ ...@@ -1118,6 +1120,7 @@ AC_DEFUN(GLIBCPP_ENABLE_CLOCALE, [
CMESSAGES_CC=config/locale/messages_members_ieee_1003.1-200x.cc CMESSAGES_CC=config/locale/messages_members_ieee_1003.1-200x.cc
CMONEY_CC=config/locale/moneypunct_members_generic.cc CMONEY_CC=config/locale/moneypunct_members_generic.cc
CNUMERIC_CC=config/locale/numpunct_members_generic.cc CNUMERIC_CC=config/locale/numpunct_members_generic.cc
CTIME_H=config/locale/time_members_generic.h
;; ;;
*) *)
echo "$enable_clocale is an unknown locale package" 1>&2 echo "$enable_clocale is an unknown locale package" 1>&2
...@@ -1134,6 +1137,7 @@ AC_DEFUN(GLIBCPP_ENABLE_CLOCALE, [ ...@@ -1134,6 +1137,7 @@ AC_DEFUN(GLIBCPP_ENABLE_CLOCALE, [
AC_SUBST(CLOCALE_H) AC_SUBST(CLOCALE_H)
AC_SUBST(CCODECVT_H) AC_SUBST(CCODECVT_H)
AC_SUBST(CMESSAGES_H) AC_SUBST(CMESSAGES_H)
AC_SUBST(CTIME_H)
AC_LINK_FILES($CLOCALE_CC, src/c++locale.cc) AC_LINK_FILES($CLOCALE_CC, src/c++locale.cc)
AC_LINK_FILES($CCOLLATE_CC, src/collate.cc) AC_LINK_FILES($CCOLLATE_CC, src/collate.cc)
AC_LINK_FILES($CMESSAGES_CC, src/messages.cc) AC_LINK_FILES($CMESSAGES_CC, src/messages.cc)
...@@ -1931,12 +1935,30 @@ AC_DEFUN(AC_LC_MESSAGES, [ ...@@ -1931,12 +1935,30 @@ AC_DEFUN(AC_LC_MESSAGES, [
]) ])
#serial 1
# This test replaces the one in autoconf.
# Currently this macro should have the same name as the autoconf macro
# because gettext's gettext.m4 (distributed in the automake package)
# still uses it. Otherwise, the use in gettext.m4 makes autoheader
# give these diagnostics:
# configure.in:556: AC_TRY_COMPILE was called before AC_ISC_POSIX
# configure.in:556: AC_TRY_RUN was called before AC_ISC_POSIX
undefine([AC_ISC_POSIX])
AC_DEFUN([AC_ISC_POSIX],
[
dnl This test replaces the obsolescent AC_ISC_POSIX kludge.
AC_CHECK_LIB(cposix, strerror, [LIBS="$LIBS -lcposix"])
]
)
# Add --enable-maintainer-mode option to configure. # Add --enable-maintainer-mode option to configure.
# From Jim Meyering # From Jim Meyering
# serial 1 # serial 1
AC_DEFUN(AM_MAINTAINER_MODE, AC_DEFUN([AM_MAINTAINER_MODE],
[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) [AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
dnl maintainer-mode is disabled by default dnl maintainer-mode is disabled by default
AC_ARG_ENABLE(maintainer-mode, AC_ARG_ENABLE(maintainer-mode,
...@@ -1953,7 +1975,7 @@ AC_DEFUN(AM_MAINTAINER_MODE, ...@@ -1953,7 +1975,7 @@ AC_DEFUN(AM_MAINTAINER_MODE,
# Define a conditional. # Define a conditional.
AC_DEFUN(AM_CONDITIONAL, AC_DEFUN([AM_CONDITIONAL],
[AC_SUBST($1_TRUE) [AC_SUBST($1_TRUE)
AC_SUBST($1_FALSE) AC_SUBST($1_FALSE)
if $2; then if $2; then
...@@ -1972,9 +1994,37 @@ fi]) ...@@ -1972,9 +1994,37 @@ fi])
# but which still want to provide support for the GNU gettext functionality. # but which still want to provide support for the GNU gettext functionality.
# Please note that the actual code is *not* freely available. # Please note that the actual code is *not* freely available.
# serial 5 # serial 9
AC_DEFUN(AM_WITH_NLS, dnl Usage: AM_WITH_NLS([TOOLSYMBOL], [NEEDSYMBOL], [LIBDIR]).
dnl If TOOLSYMBOL is specified and is 'use-libtool', then a libtool library
dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static,
dnl depending on --{enable,disable}-{shared,static} and on the presence of
dnl AM-DISABLE-SHARED). Otherwise, a static library
dnl $(top_builddir)/intl/libintl.a will be created.
dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext
dnl implementations (in libc or libintl) without the ngettext() function
dnl will be ignored.
dnl LIBDIR is used to find the intl libraries. If empty,
dnl the value `$(top_builddir)/intl/' is used.
dnl
dnl The result of the configuration is one of three cases:
dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled
dnl and used.
dnl Catalog format: GNU --> install in $(datadir)
dnl Catalog extension: .mo after installation, .gmo in source tree
dnl 2) GNU gettext has been found in the system's C library.
dnl Catalog format: GNU --> install in $(datadir)
dnl Catalog extension: .mo after installation, .gmo in source tree
dnl 3) No internationalization, always use English msgid.
dnl Catalog format: none
dnl Catalog extension: none
dnl The use of .gmo is historical (it was needed to avoid overwriting the
dnl GNU format catalogs when building on a platform with an X/Open gettext),
dnl but we keep it in order not to force irrelevant filename changes on the
dnl maintainers.
dnl
AC_DEFUN([AM_WITH_NLS],
[AC_MSG_CHECKING([whether NLS is requested]) [AC_MSG_CHECKING([whether NLS is requested])
dnl Default is enabled NLS dnl Default is enabled NLS
AC_ARG_ENABLE(nls, AC_ARG_ENABLE(nls,
...@@ -1983,11 +2033,15 @@ AC_DEFUN(AM_WITH_NLS, ...@@ -1983,11 +2033,15 @@ AC_DEFUN(AM_WITH_NLS,
AC_MSG_RESULT($USE_NLS) AC_MSG_RESULT($USE_NLS)
AC_SUBST(USE_NLS) AC_SUBST(USE_NLS)
BUILD_INCLUDED_LIBINTL=no
USE_INCLUDED_LIBINTL=no USE_INCLUDED_LIBINTL=no
INTLLIBS=
dnl If we use NLS figure out what method dnl If we use NLS figure out what method
if test "$USE_NLS" = "yes"; then if test "$USE_NLS" = "yes"; then
AC_DEFINE(ENABLE_NLS) AC_DEFINE(ENABLE_NLS, 1,
[Define to 1 if translation of program messages to the user's native language
is requested.])
AC_MSG_CHECKING([whether included gettext is requested]) AC_MSG_CHECKING([whether included gettext is requested])
AC_ARG_WITH(included-gettext, AC_ARG_WITH(included-gettext,
[ --with-included-gettext use the GNU gettext library included here], [ --with-included-gettext use the GNU gettext library included here],
...@@ -1998,86 +2052,74 @@ AC_DEFUN(AM_WITH_NLS, ...@@ -1998,86 +2052,74 @@ AC_DEFUN(AM_WITH_NLS,
nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext" nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
if test "$nls_cv_force_use_gnu_gettext" != "yes"; then if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
dnl User does not insist on using GNU NLS library. Figure out what dnl User does not insist on using GNU NLS library. Figure out what
dnl to use. If gettext or catgets are available (in this order) we dnl to use. If GNU gettext is available we use this. Else we have
dnl use this. Else we have to fall back to GNU NLS library. dnl to fall back to GNU NLS library.
dnl catgets is only used if permitted by option --with-catgets.
nls_cv_header_intl=
nls_cv_header_libgt=
CATOBJEXT=NONE CATOBJEXT=NONE
dnl Add a version number to the cache macros.
define(gt_cv_func_gnugettext_libc, [gt_cv_func_gnugettext]ifelse([$2], need-ngettext, 2, 1)[_libc])
define(gt_cv_func_gnugettext_libintl, [gt_cv_func_gnugettext]ifelse([$2], need-ngettext, 2, 1)[_libintl])
AC_CHECK_HEADER(libintl.h, AC_CHECK_HEADER(libintl.h,
[AC_CACHE_CHECK([for gettext in libc], gt_cv_func_gettext_libc, [AC_CACHE_CHECK([for GNU gettext in libc], gt_cv_func_gnugettext_libc,
[AC_TRY_LINK([#include <libintl.h>], [return (int) gettext ("")], [AC_TRY_LINK([#include <libintl.h>
gt_cv_func_gettext_libc=yes, gt_cv_func_gettext_libc=no)]) extern int _nl_msg_cat_cntr;],
[bindtextdomain ("", "");
if test "$gt_cv_func_gettext_libc" != "yes"; then return (int) gettext ("")]ifelse([$2], need-ngettext, [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr],
AC_CHECK_LIB(intl, bindtextdomain, gt_cv_func_gnugettext_libc=yes,
[AC_CACHE_CHECK([for gettext in libintl], gt_cv_func_gnugettext_libc=no)])
gt_cv_func_gettext_libintl,
[AC_CHECK_LIB(intl, gettext, if test "$gt_cv_func_gnugettext_libc" != "yes"; then
gt_cv_func_gettext_libintl=yes, AC_CACHE_CHECK([for GNU gettext in libintl],
gt_cv_func_gettext_libintl=no)], gt_cv_func_gnugettext_libintl,
gt_cv_func_gettext_libintl=no)]) [gt_save_LIBS="$LIBS"
fi LIBS="$LIBS -lintl $LIBICONV"
AC_TRY_LINK([#include <libintl.h>
if test "$gt_cv_func_gettext_libc" = "yes" \ extern int _nl_msg_cat_cntr;],
|| test "$gt_cv_func_gettext_libintl" = "yes"; then [bindtextdomain ("", "");
AC_DEFINE(HAVE_GETTEXT) return (int) gettext ("")]ifelse([$2], need-ngettext, [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr],
gt_cv_func_gnugettext_libintl=yes,
gt_cv_func_gnugettext_libintl=no)
LIBS="$gt_save_LIBS"])
fi
dnl If an already present or preinstalled GNU gettext() is found,
dnl use it. But if this macro is used in GNU gettext, and GNU
dnl gettext is already preinstalled in libintl, we update this
dnl libintl. (Cf. the install rule in intl/Makefile.in.)
if test "$gt_cv_func_gnugettext_libc" = "yes" \
|| { test "$gt_cv_func_gnugettext_libintl" = "yes" \
&& test "$PACKAGE" != gettext; }; then
AC_DEFINE(HAVE_GETTEXT, 1,
[Define if the GNU gettext() function is already present or preinstalled.])
if test "$gt_cv_func_gnugettext_libintl" = "yes"; then
dnl If iconv() is in a separate libiconv library, then anyone
dnl linking with libintl{.a,.so} also needs to link with
dnl libiconv.
INTLLIBS="-lintl $LIBICONV"
fi
gt_save_LIBS="$LIBS"
LIBS="$LIBS $INTLLIBS"
AC_CHECK_FUNCS(dcgettext)
LIBS="$gt_save_LIBS"
AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
[test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)dnl [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)dnl
if test "$MSGFMT" != "no"; then if test "$MSGFMT" != "no"; then
AC_CHECK_FUNCS(dcgettext)
AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
[test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
AC_TRY_LINK(, [extern int _nl_msg_cat_cntr;
return _nl_msg_cat_cntr],
[CATOBJEXT=.gmo
DATADIRNAME=share],
[CATOBJEXT=.mo
DATADIRNAME=lib])
INSTOBJEXT=.mo
fi fi
fi
])
if test "$CATOBJEXT" = "NONE"; then
AC_MSG_CHECKING([whether catgets can be used])
AC_ARG_WITH(catgets,
[ --with-catgets use catgets functions if available],
nls_cv_use_catgets=$withval, nls_cv_use_catgets=no)
AC_MSG_RESULT($nls_cv_use_catgets)
if test "$nls_cv_use_catgets" = "yes"; then
dnl No gettext in C library. Try catgets next.
AC_CHECK_LIB(i, main)
AC_CHECK_FUNC(catgets,
[AC_DEFINE(HAVE_CATGETS)
INTLOBJS="\$(CATOBJS)"
AC_PATH_PROG(GENCAT, gencat, no)dnl
if test "$GENCAT" != "no"; then
AC_PATH_PROG(GMSGFMT, gmsgfmt, no)
if test "$GMSGFMT" = "no"; then
AM_PATH_PROG_WITH_TEST(GMSGFMT, msgfmt,
[test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)
fi
AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
[test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :) [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
USE_INCLUDED_LIBINTL=yes
CATOBJEXT=.cat CATOBJEXT=.gmo
INSTOBJEXT=.cat
DATADIRNAME=lib
INTLDEPS='$(top_builddir)/intl/libintl.a'
INTLLIBS=$INTLDEPS
LIBS=`echo $LIBS | sed -e 's/-lintl//'`
nls_cv_header_intl=intl/libintl.h
nls_cv_header_libgt=intl/libgettext.h
fi])
fi
fi fi
])
if test "$CATOBJEXT" = "NONE"; then if test "$CATOBJEXT" = "NONE"; then
dnl Neither gettext nor catgets in included in the C library. dnl GNU gettext is not found in the C library.
dnl Fall back on GNU gettext library. dnl Fall back on GNU gettext library.
nls_cv_use_gnu_gettext=yes nls_cv_use_gnu_gettext=yes
fi fi
...@@ -2092,15 +2134,11 @@ AC_DEFUN(AM_WITH_NLS, ...@@ -2092,15 +2134,11 @@ AC_DEFUN(AM_WITH_NLS,
AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
[test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :) [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
AC_SUBST(MSGFMT) AC_SUBST(MSGFMT)
BUILD_INCLUDED_LIBINTL=yes
USE_INCLUDED_LIBINTL=yes USE_INCLUDED_LIBINTL=yes
CATOBJEXT=.gmo CATOBJEXT=.gmo
INSTOBJEXT=.mo INTLLIBS="ifelse([$3],[],\$(top_builddir)/intl,[$3])/libintl.ifelse([$1], use-libtool, [l], [])a $LIBICONV"
DATADIRNAME=share LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'`
INTLDEPS='$(top_builddir)/intl/libintl.a'
INTLLIBS=$INTLDEPS
LIBS=`echo $LIBS | sed -e 's/-lintl//'`
nls_cv_header_intl=intl/libintl.h
nls_cv_header_libgt=intl/libgettext.h
fi fi
dnl Test whether we really found GNU xgettext. dnl Test whether we really found GNU xgettext.
...@@ -2116,25 +2154,73 @@ AC_DEFUN(AM_WITH_NLS, ...@@ -2116,25 +2154,73 @@ AC_DEFUN(AM_WITH_NLS,
fi fi
fi fi
# We need to process the po/ directory. dnl We need to process the po/ directory.
POSUB=po POSUB=po
else
DATADIRNAME=share
nls_cv_header_intl=intl/libintl.h
nls_cv_header_libgt=intl/libgettext.h
fi fi
AC_LINK_FILES($nls_cv_header_libgt, $nls_cv_header_intl)
AC_OUTPUT_COMMANDS( AC_OUTPUT_COMMANDS(
[case "$CONFIG_FILES" in *po/Makefile.in*) [for ac_file in $CONFIG_FILES; do
sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile # Support "outfile[:infile[:infile...]]"
esac]) case "$ac_file" in
*:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
esac
# PO directories have a Makefile.in generated from Makefile.in.in.
case "$ac_file" in */Makefile.in)
# Adjust a relative srcdir.
ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
case "$ac_given_srcdir" in
.) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
/*) top_srcdir="$ac_given_srcdir" ;;
*) top_srcdir="$ac_dots$ac_given_srcdir" ;;
esac
if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
rm -f "$ac_dir/POTFILES"
echo creating "$ac_dir/POTFILES"
sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," -e "\$s/\(.*\) \\\\/\1/" < "$ac_given_srcdir/$ac_dir/POTFILES.in" > "$ac_dir/POTFILES"
echo creating "$ac_dir/Makefile"
sed -e "/POTFILES =/r $ac_dir/POTFILES" "$ac_dir/Makefile.in" > "$ac_dir/Makefile"
fi
;;
esac
done])
# If this is used in GNU gettext we have to set USE_NLS to `yes' dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL
# because some of the sources are only built for this goal. dnl to 'yes' because some of the testsuite requires it.
if test "$PACKAGE" = gettext; then if test "$PACKAGE" = gettext; then
USE_NLS=yes BUILD_INCLUDED_LIBINTL=yes
USE_INCLUDED_LIBINTL=yes fi
dnl intl/plural.c is generated from intl/plural.y. It requires bison,
dnl because plural.y uses bison specific features. It requires at least
dnl bison-1.26 because earlier versions generate a plural.c that doesn't
dnl compile.
dnl bison is only needed for the maintainer (who touches plural.y). But in
dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put
dnl the rule in general Makefile. Now, some people carelessly touch the
dnl files or have a broken "make" program, hence the plural.c rule will
dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not
dnl present or too old.
AC_CHECK_PROGS([INTLBISON], [bison])
if test -z "$INTLBISON"; then
ac_verc_fail=yes
else
dnl Found it, now check the version.
AC_MSG_CHECKING([version of bison])
changequote(<<,>>)dnl
ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison .* \([0-9]*\.[0-9.]*\).*$/\1/p'`
case $ac_prog_version in
'') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*)
changequote([,])dnl
ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
*) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
esac
AC_MSG_RESULT([$ac_prog_version])
fi
if test $ac_verc_fail = yes; then
INTLBISON=:
fi fi
dnl These rules are solely for the distribution goal. While doing this dnl These rules are solely for the distribution goal. While doing this
...@@ -2146,22 +2232,38 @@ AC_DEFUN(AM_WITH_NLS, ...@@ -2146,22 +2232,38 @@ AC_DEFUN(AM_WITH_NLS,
done done
dnl Make all variables we use known to autoconf. dnl Make all variables we use known to autoconf.
AC_SUBST(BUILD_INCLUDED_LIBINTL)
AC_SUBST(USE_INCLUDED_LIBINTL) AC_SUBST(USE_INCLUDED_LIBINTL)
AC_SUBST(CATALOGS) AC_SUBST(CATALOGS)
AC_SUBST(CATOBJEXT) AC_SUBST(CATOBJEXT)
AC_SUBST(DATADIRNAME)
AC_SUBST(GMOFILES) AC_SUBST(GMOFILES)
AC_SUBST(INSTOBJEXT)
AC_SUBST(INTLDEPS)
AC_SUBST(INTLLIBS) AC_SUBST(INTLLIBS)
AC_SUBST(INTLOBJS) AC_SUBST(INTLOBJS)
AC_SUBST(POFILES) AC_SUBST(POFILES)
AC_SUBST(POSUB) AC_SUBST(POSUB)
dnl For backward compatibility. Some configure.ins may be using this.
nls_cv_header_intl=
nls_cv_header_libgt=
dnl For backward compatibility. Some Makefiles may be using this.
DATADIRNAME=share
AC_SUBST(DATADIRNAME)
dnl For backward compatibility. Some Makefiles may be using this.
INSTOBJEXT=.mo
AC_SUBST(INSTOBJEXT)
dnl For backward compatibility. Some Makefiles may be using this.
GENCAT=gencat
AC_SUBST(GENCAT)
]) ])
AC_DEFUN(AM_GNU_GETTEXT, dnl Usage: Just like AM_WITH_NLS, which see.
AC_DEFUN([AM_GNU_GETTEXT],
[AC_REQUIRE([AC_PROG_MAKE_SET])dnl [AC_REQUIRE([AC_PROG_MAKE_SET])dnl
AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([AC_PROG_CC])dnl
AC_REQUIRE([AC_CANONICAL_HOST])dnl
AC_REQUIRE([AC_PROG_RANLIB])dnl AC_REQUIRE([AC_PROG_RANLIB])dnl
AC_REQUIRE([AC_ISC_POSIX])dnl AC_REQUIRE([AC_ISC_POSIX])dnl
AC_REQUIRE([AC_HEADER_STDC])dnl AC_REQUIRE([AC_HEADER_STDC])dnl
...@@ -2171,21 +2273,18 @@ AC_DEFUN(AM_GNU_GETTEXT, ...@@ -2171,21 +2273,18 @@ AC_DEFUN(AM_GNU_GETTEXT,
AC_REQUIRE([AC_TYPE_SIZE_T])dnl AC_REQUIRE([AC_TYPE_SIZE_T])dnl
AC_REQUIRE([AC_FUNC_ALLOCA])dnl AC_REQUIRE([AC_FUNC_ALLOCA])dnl
AC_REQUIRE([AC_FUNC_MMAP])dnl AC_REQUIRE([AC_FUNC_MMAP])dnl
AC_REQUIRE([jm_GLIBC21])dnl
AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h string.h \ AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h stddef.h \
unistd.h sys/param.h]) stdlib.h string.h unistd.h sys/param.h])
AC_CHECK_FUNCS([getcwd munmap putenv setenv setlocale strchr strcasecmp \ AC_CHECK_FUNCS([feof_unlocked fgets_unlocked getcwd getegid geteuid \
strdup __argz_count __argz_stringify __argz_next]) getgid getuid mempcpy munmap putenv setenv setlocale stpcpy strchr strcasecmp \
strdup strtoul tsearch __argz_count __argz_stringify __argz_next])
if test "${ac_cv_func_stpcpy+set}" != "set"; then
AC_CHECK_FUNCS(stpcpy)
fi
if test "${ac_cv_func_stpcpy}" = "yes"; then
AC_DEFINE(HAVE_STPCPY)
fi
AM_ICONV
AM_LANGINFO_CODESET
AM_LC_MESSAGES AM_LC_MESSAGES
AM_WITH_NLS AM_WITH_NLS([$1],[$2],[$3])
if test "x$CATOBJEXT" != "x"; then if test "x$CATOBJEXT" != "x"; then
if test "x$ALL_LINGUAS" = "x"; then if test "x$ALL_LINGUAS" = "x"; then
...@@ -2193,11 +2292,22 @@ strdup __argz_count __argz_stringify __argz_next]) ...@@ -2193,11 +2292,22 @@ strdup __argz_count __argz_stringify __argz_next])
else else
AC_MSG_CHECKING(for catalogs to be installed) AC_MSG_CHECKING(for catalogs to be installed)
NEW_LINGUAS= NEW_LINGUAS=
for lang in ${LINGUAS=$ALL_LINGUAS}; do for presentlang in $ALL_LINGUAS; do
case "$ALL_LINGUAS" in useit=no
*$lang*) NEW_LINGUAS="$NEW_LINGUAS $lang" ;; for desiredlang in ${LINGUAS-$ALL_LINGUAS}; do
# Use the presentlang catalog if desiredlang is
# a. equal to presentlang, or
# b. a variant of presentlang (because in this case,
# presentlang can be used as a fallback for messages
# which are not translated in the desiredlang catalog).
case "$desiredlang" in
"$presentlang"*) useit=yes;;
esac esac
done done
if test $useit = yes; then
NEW_LINGUAS="$NEW_LINGUAS $presentlang"
fi
done
LINGUAS=$NEW_LINGUAS LINGUAS=$NEW_LINGUAS
AC_MSG_RESULT($LINGUAS) AC_MSG_RESULT($LINGUAS)
fi fi
...@@ -2208,47 +2318,8 @@ strdup __argz_count __argz_stringify __argz_next]) ...@@ -2208,47 +2318,8 @@ strdup __argz_count __argz_stringify __argz_next])
fi fi
fi fi
dnl The reference to <locale.h> in the installed <libintl.h> file
dnl must be resolved because we cannot expect the users of this
dnl to define HAVE_LOCALE_H.
if test $ac_cv_header_locale_h = yes; then
INCLUDE_LOCALE_H="#include <locale.h>"
else
INCLUDE_LOCALE_H="\
/* The system does not provide the header <locale.h>. Take care yourself. */"
fi
AC_SUBST(INCLUDE_LOCALE_H)
dnl Determine which catalog format we have (if any is needed)
dnl For now we know about two different formats:
dnl Linux libc-5 and the normal X/Open format
test -d intl || mkdir intl
if test "$CATOBJEXT" = ".cat"; then
AC_CHECK_HEADER(linux/version.h, msgformat=linux, msgformat=xopen)
dnl Transform the SED scripts while copying because some dumb SEDs
dnl cannot handle comments.
sed -e '/^#/d' $srcdir/intl/$msgformat-msg.sed > intl/po2msg.sed
fi
dnl po2tbl.sed is always needed.
sed -e '/^#.*[^\\]$/d' -e '/^#$/d' \
$srcdir/intl/po2tbl.sed.in > intl/po2tbl.sed
dnl In the intl/Makefile.in we have a special dependency which makes
dnl only sense for gettext. We comment this out for non-gettext
dnl packages.
if test "$PACKAGE" = "gettext"; then
GT_NO="#NO#"
GT_YES=
else
GT_NO=
GT_YES="#YES#"
fi
AC_SUBST(GT_NO)
AC_SUBST(GT_YES)
dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly
dnl find the mkinstalldirs script in another subdir but ($top_srcdir). dnl find the mkinstalldirs script in another subdir but $(top_srcdir).
dnl Try to locate is. dnl Try to locate is.
MKINSTALLDIRS= MKINSTALLDIRS=
if test -n "$ac_aux_dir"; then if test -n "$ac_aux_dir"; then
...@@ -2259,25 +2330,9 @@ strdup __argz_count __argz_stringify __argz_next]) ...@@ -2259,25 +2330,9 @@ strdup __argz_count __argz_stringify __argz_next])
fi fi
AC_SUBST(MKINSTALLDIRS) AC_SUBST(MKINSTALLDIRS)
dnl *** For now the libtool support in intl/Makefile is not for real. dnl Enable libtool support if the surrounding package wishes it.
l= INTL_LIBTOOL_SUFFIX_PREFIX=ifelse([$1], use-libtool, [l], [])
AC_SUBST(l) AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX)
dnl Generate list of files to be processed by xgettext which will
dnl be included in po/Makefile.
test -d po || mkdir po
if test "x$srcdir" != "x."; then
if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then
posrcprefix="$srcdir/"
else
posrcprefix="../$srcdir/"
fi
else
posrcprefix="../"
fi
rm -f po/POTFILES
sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \
< $srcdir/po/POTFILES.in > po/POTFILES
]) ])
# Search path for a program which passes the given test. # Search path for a program which passes the given test.
...@@ -2292,7 +2347,7 @@ strdup __argz_count __argz_stringify __argz_next]) ...@@ -2292,7 +2347,7 @@ strdup __argz_count __argz_stringify __argz_next])
dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR, dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
AC_DEFUN(AM_PATH_PROG_WITH_TEST, AC_DEFUN([AM_PATH_PROG_WITH_TEST],
[# Extract the first word of "$2", so it can be a program name with args. [# Extract the first word of "$2", so it can be a program name with args.
set dummy $2; ac_word=[$]2 set dummy $2; ac_word=[$]2
AC_MSG_CHECKING([for $ac_word]) AC_MSG_CHECKING([for $ac_word])
...@@ -2328,6 +2383,121 @@ fi ...@@ -2328,6 +2383,121 @@ fi
AC_SUBST($1)dnl AC_SUBST($1)dnl
]) ])
#serial 2
# Test for the GNU C Library, version 2.1 or newer.
# From Bruno Haible.
AC_DEFUN([jm_GLIBC21],
[
AC_CACHE_CHECK(whether we are using the GNU C Library 2.1 or newer,
ac_cv_gnu_library_2_1,
[AC_EGREP_CPP([Lucky GNU user],
[
#include <features.h>
#ifdef __GNU_LIBRARY__
#if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2)
Lucky GNU user
#endif
#endif
],
ac_cv_gnu_library_2_1=yes,
ac_cv_gnu_library_2_1=no)
]
)
AC_SUBST(GLIBC21)
GLIBC21="$ac_cv_gnu_library_2_1"
]
)
#serial AM2
dnl From Bruno Haible.
AC_DEFUN([AM_ICONV],
[
dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
dnl those with the standalone portable GNU libiconv installed).
AC_ARG_WITH([libiconv-prefix],
[ --with-libiconv-prefix=DIR search for libiconv in DIR/include and DIR/lib], [
for dir in `echo "$withval" | tr : ' '`; do
if test -d $dir/include; then CPPFLAGS="$CPPFLAGS -I$dir/include"; fi
if test -d $dir/lib; then LDFLAGS="$LDFLAGS -L$dir/lib"; fi
done
])
AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [
am_cv_func_iconv="no, consider installing GNU libiconv"
am_cv_lib_iconv=no
AC_TRY_LINK([#include <stdlib.h>
#include <iconv.h>],
[iconv_t cd = iconv_open("","");
iconv(cd,NULL,NULL,NULL,NULL);
iconv_close(cd);],
am_cv_func_iconv=yes)
if test "$am_cv_func_iconv" != yes; then
am_save_LIBS="$LIBS"
LIBS="$LIBS -liconv"
AC_TRY_LINK([#include <stdlib.h>
#include <iconv.h>],
[iconv_t cd = iconv_open("","");
iconv(cd,NULL,NULL,NULL,NULL);
iconv_close(cd);],
am_cv_lib_iconv=yes
am_cv_func_iconv=yes)
LIBS="$am_save_LIBS"
fi
])
if test "$am_cv_func_iconv" = yes; then
AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.])
AC_MSG_CHECKING([for iconv declaration])
AC_CACHE_VAL(am_cv_proto_iconv, [
AC_TRY_COMPILE([
#include <stdlib.h>
#include <iconv.h>
extern
#ifdef __cplusplus
"C"
#endif
#if defined(__STDC__) || defined(__cplusplus)
size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
#else
size_t iconv();
#endif
], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const")
am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"])
am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
AC_MSG_RESULT([$]{ac_t:-
}[$]am_cv_proto_iconv)
AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1,
[Define as const if the declaration of iconv() needs const.])
fi
LIBICONV=
if test "$am_cv_lib_iconv" = yes; then
LIBICONV="-liconv"
fi
AC_SUBST(LIBICONV)
])
#serial AM1
dnl From Bruno Haible.
AC_DEFUN([AM_LANGINFO_CODESET],
[
AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset,
[AC_TRY_LINK([#include <langinfo.h>],
[char* cs = nl_langinfo(CODESET);],
am_cv_langinfo_codeset=yes,
am_cv_langinfo_codeset=no)
])
if test $am_cv_langinfo_codeset = yes; then
AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
[Define if you have <langinfo.h> and nl_langinfo(CODESET).])
fi
])
# Check whether LC_MESSAGES is available in <locale.h>. # Check whether LC_MESSAGES is available in <locale.h>.
# Ulrich Drepper <drepper@cygnus.com>, 1995. # Ulrich Drepper <drepper@cygnus.com>, 1995.
# #
...@@ -2336,15 +2506,16 @@ AC_SUBST($1)dnl ...@@ -2336,15 +2506,16 @@ AC_SUBST($1)dnl
# but which still want to provide support for the GNU gettext functionality. # but which still want to provide support for the GNU gettext functionality.
# Please note that the actual code is *not* freely available. # Please note that the actual code is *not* freely available.
# serial 1 # serial 2
AC_DEFUN(AM_LC_MESSAGES, AC_DEFUN([AM_LC_MESSAGES],
[if test $ac_cv_header_locale_h = yes; then [if test $ac_cv_header_locale_h = yes; then
AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES, AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
[AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES], [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)]) am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])
if test $am_cv_val_LC_MESSAGES = yes; then if test $am_cv_val_LC_MESSAGES = yes; then
AC_DEFINE(HAVE_LC_MESSAGES) AC_DEFINE(HAVE_LC_MESSAGES, 1,
[Define if your <locale.h> file defines LC_MESSAGES.])
fi fi
fi]) fi])
...@@ -2357,7 +2528,7 @@ AC_DEFUN(AM_LC_MESSAGES, ...@@ -2357,7 +2528,7 @@ AC_DEFUN(AM_LC_MESSAGES,
dnl Usage: dnl Usage:
dnl AM_INIT_AUTOMAKE(package,version, [no-define]) dnl AM_INIT_AUTOMAKE(package,version, [no-define])
AC_DEFUN(AM_INIT_AUTOMAKE, AC_DEFUN([AM_INIT_AUTOMAKE],
[AC_REQUIRE([AC_PROG_INSTALL]) [AC_REQUIRE([AC_PROG_INSTALL])
PACKAGE=[$1] PACKAGE=[$1]
AC_SUBST(PACKAGE) AC_SUBST(PACKAGE)
...@@ -2385,7 +2556,7 @@ AC_REQUIRE([AC_PROG_MAKE_SET])]) ...@@ -2385,7 +2556,7 @@ AC_REQUIRE([AC_PROG_MAKE_SET])])
# Check to make sure that the build environment is sane. # Check to make sure that the build environment is sane.
# #
AC_DEFUN(AM_SANITY_CHECK, AC_DEFUN([AM_SANITY_CHECK],
[AC_MSG_CHECKING([whether build environment is sane]) [AC_MSG_CHECKING([whether build environment is sane])
# Just in case # Just in case
sleep 1 sleep 1
...@@ -2426,7 +2597,7 @@ AC_MSG_RESULT(yes)]) ...@@ -2426,7 +2597,7 @@ AC_MSG_RESULT(yes)])
dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY) dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
dnl The program must properly implement --version. dnl The program must properly implement --version.
AC_DEFUN(AM_MISSING_PROG, AC_DEFUN([AM_MISSING_PROG],
[AC_MSG_CHECKING(for working $2) [AC_MSG_CHECKING(for working $2)
# Run test in a subshell; some versions of sh will print an error if # Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected. # an executable is not found, even if stderr is redirected.
...@@ -2442,7 +2613,7 @@ AC_SUBST($1)]) ...@@ -2442,7 +2613,7 @@ AC_SUBST($1)])
# Like AC_CONFIG_HEADER, but automatically create stamp file. # Like AC_CONFIG_HEADER, but automatically create stamp file.
AC_DEFUN(AM_CONFIG_HEADER, AC_DEFUN([AM_CONFIG_HEADER],
[AC_PREREQ([2.12]) [AC_PREREQ([2.12])
AC_CONFIG_HEADER([$1]) AC_CONFIG_HEADER([$1])
dnl When config.status generates a header, we must update the stamp-h file. dnl When config.status generates a header, we must update the stamp-h file.
......
...@@ -3,9 +3,6 @@ ...@@ -3,9 +3,6 @@
/* Define if you have a working `mmap' system call. */ /* Define if you have a working `mmap' system call. */
#undef HAVE_MMAP #undef HAVE_MMAP
/* Define if you need to in order for stat and other things to work. */
#undef _POSIX_SOURCE
// Define if GCC supports weak symbols // Define if GCC supports weak symbols
#undef _GLIBCPP_SUPPORTS_WEAK #undef _GLIBCPP_SUPPORTS_WEAK
...@@ -693,6 +690,9 @@ ...@@ -693,6 +690,9 @@
/* Define if you have the <nan.h> header file. */ /* Define if you have the <nan.h> header file. */
#undef HAVE_NAN_H #undef HAVE_NAN_H
/* Define if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H
/* Define if you have the <sys/isa_defs.h> header file. */ /* Define if you have the <sys/isa_defs.h> header file. */
#undef HAVE_SYS_ISA_DEFS_H #undef HAVE_SYS_ISA_DEFS_H
...@@ -702,6 +702,9 @@ ...@@ -702,6 +702,9 @@
/* Define if you have the <sys/resource.h> header file. */ /* Define if you have the <sys/resource.h> header file. */
#undef HAVE_SYS_RESOURCE_H #undef HAVE_SYS_RESOURCE_H
/* Define if you have the <sys/stat.h> header file. */
#undef HAVE_SYS_STAT_H
/* Define if you have the <sys/types.h> header file. */ /* Define if you have the <sys/types.h> header file. */
#undef HAVE_SYS_TYPES_H #undef HAVE_SYS_TYPES_H
......
...@@ -33,6 +33,8 @@ ...@@ -33,6 +33,8 @@
// Written by Benjamin Kosnik <bkoz@redhat.com> // Written by Benjamin Kosnik <bkoz@redhat.com>
#include <clocale>
namespace std namespace std
{ {
typedef int* __c_locale; typedef int* __c_locale;
......
// std::time_get, std::time_put implementation, generic version -*- C++ -*-
// Copyright (C) 2001 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
// templates or use macros or inline functions from this file, or you compile
// this file and link it with other files to produce an executable, this
// file does not by itself cause the resulting executable to be covered by
// the GNU General Public License. This exception does not however
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
//
// ISO C++ 14882: 22.2.5.1.2 - time_get virtual functions
// ISO C++ 14882: 22.2.5.3.2 - time_put virtual functions
//
// Written by Benjamin Kosnik <bkoz@redhat.com>
template<typename _CharT>
void
__timepunct<_CharT>::_M_put_helper(char* __s, size_t __maxlen,
const char* __format,
const tm* __tm) const
{
setlocale(LC_ALL, _M_name_timepunct);
strftime(__s, __maxlen, __format, __tm);
}
// std::time_get, std::time_put implementation, GNU version -*- C++ -*-
// Copyright (C) 2001 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
// templates or use macros or inline functions from this file, or you compile
// this file and link it with other files to produce an executable, this
// file does not by itself cause the resulting executable to be covered by
// the GNU General Public License. This exception does not however
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
//
// ISO C++ 14882: 22.2.5.1.2 - time_get virtual functions
// ISO C++ 14882: 22.2.5.3.2 - time_put virtual functions
//
// Written by Benjamin Kosnik <bkoz@redhat.com>
template<typename _CharT>
void
__timepunct<_CharT>::_M_put_helper(char* __s, size_t __maxlen,
const char* __format,
const tm* __tm) const
{
#if 0
// Requires glibc 2.3
if (_M_c_locale_timepunct)
__strftime_l(__s, __maxlen, _M_c_locale_timepunct, __format, __tm);
else
strftime(__s, __maxlen, __format, __tm);
#else
setlocale(LC_ALL, _M_name_timepunct);
strftime(__s, __maxlen, __format, __tm);
#endif
}
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -105,8 +105,11 @@ More information can be found in the following testcases: ...@@ -105,8 +105,11 @@ More information can be found in the following testcases:
use "de" information? What is the rule for locales composed of use "de" information? What is the rule for locales composed of
just an ISO language code (say, "de") and locales with both an just an ISO language code (say, "de") and locales with both an
ISO language code and ISO country code (say, "de_DE"). ISO language code and ISO country code (say, "de_DE").
</ul>
<li> what should non-required facet instantiations do? If the
generic implemenation is provided, then how to end-users
provide specializations?
</ul>
<p> <p>
<h2> <h2>
...@@ -139,5 +142,3 @@ Stroustrup, Bjarne, Appendix D, The C++ Programming Language, Special Edition, A ...@@ -139,5 +142,3 @@ Stroustrup, Bjarne, Appendix D, The C++ Programming Language, Special Edition, A
System Interface Definitions, Issue 6 (IEEE Std. 1003.1-200x) System Interface Definitions, Issue 6 (IEEE Std. 1003.1-200x)
The Open Group/The Institute of Electrical and Electronics Engineers, Inc. The Open Group/The Institute of Electrical and Electronics Engineers, Inc.
http://www.opennc.org/austin/docreg.html http://www.opennc.org/austin/docreg.html
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
## Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, ## Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
## USA. ## USA.
## $Id: Makefile.am,v 1.9 2001/08/29 00:32:49 ljrittle Exp $ ## $Id: Makefile.am,v 1.10 2001/09/10 18:13:16 bkoz Exp $
AUTOMAKE_OPTIONS = 1.3 gnits AUTOMAKE_OPTIONS = 1.3 gnits
MAINT_CHARSET = latin1 MAINT_CHARSET = latin1
...@@ -337,6 +337,7 @@ stamp-target: ${target_headers} ${target_builddir} ...@@ -337,6 +337,7 @@ stamp-target: ${target_headers} ${target_builddir}
@LN_S@ ${glibcpp_srcdir}/@CSTDIO_H@ c++io.h ;\ @LN_S@ ${glibcpp_srcdir}/@CSTDIO_H@ c++io.h ;\
@LN_S@ ${glibcpp_srcdir}/@CLOCALE_H@ c++locale.h ;\ @LN_S@ ${glibcpp_srcdir}/@CLOCALE_H@ c++locale.h ;\
@LN_S@ ${glibcpp_srcdir}/@CMESSAGES_H@ messages_members.h ;\ @LN_S@ ${glibcpp_srcdir}/@CMESSAGES_H@ messages_members.h ;\
@LN_S@ ${glibcpp_srcdir}/@CTIME_H@ time_members.h ;\
@LN_S@ ${glibcpp_srcdir}/@CCODECVT_H@ codecvt_specializations.h ;\ @LN_S@ ${glibcpp_srcdir}/@CCODECVT_H@ codecvt_specializations.h ;\
echo `date` > stamp-target; \ echo `date` > stamp-target; \
fi fi
......
# Makefile.in generated automatically by automake 1.4 from Makefile.am # Makefile.in generated automatically by automake 1.4-p5 from Makefile.am
# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. # Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
...@@ -67,6 +67,7 @@ AR = @AR@ ...@@ -67,6 +67,7 @@ AR = @AR@
AS = @AS@ AS = @AS@
ATOMICITY_INC_SRCDIR = @ATOMICITY_INC_SRCDIR@ ATOMICITY_INC_SRCDIR = @ATOMICITY_INC_SRCDIR@
BASIC_FILE_H = @BASIC_FILE_H@ BASIC_FILE_H = @BASIC_FILE_H@
BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
CATALOGS = @CATALOGS@ CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@ CATOBJEXT = @CATOBJEXT@
CC = @CC@ CC = @CC@
...@@ -77,6 +78,7 @@ CMESSAGES_H = @CMESSAGES_H@ ...@@ -77,6 +78,7 @@ CMESSAGES_H = @CMESSAGES_H@
CPP = @CPP@ CPP = @CPP@
CSHADOW_FLAGS = @CSHADOW_FLAGS@ CSHADOW_FLAGS = @CSHADOW_FLAGS@
CSTDIO_H = @CSTDIO_H@ CSTDIO_H = @CSTDIO_H@
CTIME_H = @CTIME_H@
CXXCPP = @CXXCPP@ CXXCPP = @CXXCPP@
C_INCLUDE_DIR = @C_INCLUDE_DIR@ C_INCLUDE_DIR = @C_INCLUDE_DIR@
DATADIRNAME = @DATADIRNAME@ DATADIRNAME = @DATADIRNAME@
...@@ -87,17 +89,17 @@ EXTRA_CXX_FLAGS = @EXTRA_CXX_FLAGS@ ...@@ -87,17 +89,17 @@ EXTRA_CXX_FLAGS = @EXTRA_CXX_FLAGS@
GCJ = @GCJ@ GCJ = @GCJ@
GCJFLAGS = @GCJFLAGS@ GCJFLAGS = @GCJFLAGS@
GENCAT = @GENCAT@ GENCAT = @GENCAT@
GLIBC21 = @GLIBC21@
GLIBCPP_INCLUDES = @GLIBCPP_INCLUDES@ GLIBCPP_INCLUDES = @GLIBCPP_INCLUDES@
GLIBCPP_IS_CROSS_COMPILING = @GLIBCPP_IS_CROSS_COMPILING@ GLIBCPP_IS_CROSS_COMPILING = @GLIBCPP_IS_CROSS_COMPILING@
GMOFILES = @GMOFILES@ GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@ GMSGFMT = @GMSGFMT@
GT_NO = @GT_NO@
GT_YES = @GT_YES@
INCLUDE_LOCALE_H = @INCLUDE_LOCALE_H@
INSTOBJEXT = @INSTOBJEXT@ INSTOBJEXT = @INSTOBJEXT@
INTLDEPS = @INTLDEPS@ INTLBISON = @INTLBISON@
INTLLIBS = @INTLLIBS@ INTLLIBS = @INTLLIBS@
INTLOBJS = @INTLOBJS@ INTLOBJS = @INTLOBJS@
INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
LIBICONV = @LIBICONV@
LIBIO_INCLUDES = @LIBIO_INCLUDES@ LIBIO_INCLUDES = @LIBIO_INCLUDES@
LIBMATHOBJS = @LIBMATHOBJS@ LIBMATHOBJS = @LIBMATHOBJS@
LIBMATH_INCLUDES = @LIBMATH_INCLUDES@ LIBMATH_INCLUDES = @LIBMATH_INCLUDES@
...@@ -140,7 +142,6 @@ glibcpp_prefixdir = @glibcpp_prefixdir@ ...@@ -140,7 +142,6 @@ glibcpp_prefixdir = @glibcpp_prefixdir@
glibcpp_toolexecdir = @glibcpp_toolexecdir@ glibcpp_toolexecdir = @glibcpp_toolexecdir@
glibcpp_toolexeclibdir = @glibcpp_toolexeclibdir@ glibcpp_toolexeclibdir = @glibcpp_toolexeclibdir@
ifGNUmake = @ifGNUmake@ ifGNUmake = @ifGNUmake@
l = @l@
libio_la = @libio_la@ libio_la = @libio_la@
libtool_VERSION = @libtool_VERSION@ libtool_VERSION = @libtool_VERSION@
release_VERSION = @release_VERSION@ release_VERSION = @release_VERSION@
...@@ -158,42 +159,255 @@ glibcpp_builddir = @glibcpp_builddir@ ...@@ -158,42 +159,255 @@ glibcpp_builddir = @glibcpp_builddir@
bits_srcdir = ${glibcpp_srcdir}/include/bits bits_srcdir = ${glibcpp_srcdir}/include/bits
bits_builddir = ./bits bits_builddir = ./bits
bits_headers = ${bits_srcdir}/basic_file.h ${bits_srcdir}/basic_ios.h ${bits_srcdir}/basic_ios.tcc ${bits_srcdir}/basic_string.h ${bits_srcdir}/basic_string.tcc ${bits_srcdir}/boost_concept_check.h ${bits_srcdir}/char_traits.h ${bits_srcdir}/codecvt.h ${bits_srcdir}/concept_check.h ${bits_srcdir}/cpp_type_traits.h ${bits_srcdir}/fpos.h ${bits_srcdir}/fstream.tcc ${bits_srcdir}/functexcept.h ${bits_srcdir}/generic_shadow.h ${bits_srcdir}/gslice.h ${bits_srcdir}/gslice_array.h ${bits_srcdir}/indirect_array.h ${bits_srcdir}/ios_base.h ${bits_srcdir}/istream.tcc ${bits_srcdir}/locale_facets.h ${bits_srcdir}/locale_facets.tcc ${bits_srcdir}/localefwd.h ${bits_srcdir}/mask_array.h ${bits_srcdir}/ostream.tcc ${bits_srcdir}/pthread_allocimpl.h ${bits_srcdir}/stream_iterator.h ${bits_srcdir}/streambuf_iterator.h ${bits_srcdir}/slice.h ${bits_srcdir}/slice_array.h ${bits_srcdir}/sstream.tcc ${bits_srcdir}/std_algorithm.h ${bits_srcdir}/std_bitset.h ${bits_srcdir}/std_complex.h ${bits_srcdir}/std_deque.h ${bits_srcdir}/std_fstream.h ${bits_srcdir}/std_functional.h ${bits_srcdir}/std_iomanip.h ${bits_srcdir}/std_ios.h ${bits_srcdir}/std_iosfwd.h ${bits_srcdir}/std_iostream.h ${bits_srcdir}/std_istream.h ${bits_srcdir}/std_iterator.h ${bits_srcdir}/std_limits.h ${bits_srcdir}/std_list.h ${bits_srcdir}/std_locale.h ${bits_srcdir}/std_map.h ${bits_srcdir}/std_memory.h ${bits_srcdir}/std_numeric.h ${bits_srcdir}/std_ostream.h ${bits_srcdir}/std_queue.h ${bits_srcdir}/std_set.h ${bits_srcdir}/std_sstream.h ${bits_srcdir}/std_stack.h ${bits_srcdir}/std_stdexcept.h ${bits_srcdir}/std_streambuf.h ${bits_srcdir}/std_string.h ${bits_srcdir}/std_utility.h ${bits_srcdir}/std_valarray.h ${bits_srcdir}/std_vector.h ${bits_srcdir}/stl_algo.h ${bits_srcdir}/stl_algobase.h ${bits_srcdir}/stl_alloc.h ${bits_srcdir}/stl_bvector.h ${bits_srcdir}/stl_construct.h ${bits_srcdir}/stl_deque.h ${bits_srcdir}/stl_function.h ${bits_srcdir}/stl_heap.h ${bits_srcdir}/stl_iterator.h ${bits_srcdir}/stl_iterator_base_funcs.h ${bits_srcdir}/stl_iterator_base_types.h ${bits_srcdir}/stl_list.h ${bits_srcdir}/stl_map.h ${bits_srcdir}/stl_multimap.h ${bits_srcdir}/stl_multiset.h ${bits_srcdir}/stl_numeric.h ${bits_srcdir}/stl_pair.h ${bits_srcdir}/stl_pthread_alloc.h ${bits_srcdir}/stl_queue.h ${bits_srcdir}/stl_raw_storage_iter.h ${bits_srcdir}/stl_relops.h ${bits_srcdir}/stl_set.h ${bits_srcdir}/stl_stack.h ${bits_srcdir}/stl_tempbuf.h ${bits_srcdir}/stl_threads.h ${bits_srcdir}/stl_tree.h ${bits_srcdir}/stl_uninitialized.h ${bits_srcdir}/stl_vector.h ${bits_srcdir}/streambuf.tcc ${bits_srcdir}/stringfwd.h ${bits_srcdir}/type_traits.h ${bits_srcdir}/valarray_array.h ${bits_srcdir}/valarray_array.tcc ${bits_srcdir}/valarray_meta.h bits_headers = \
${bits_srcdir}/basic_file.h \
${bits_srcdir}/basic_ios.h \
${bits_srcdir}/basic_ios.tcc \
${bits_srcdir}/basic_string.h \
${bits_srcdir}/basic_string.tcc \
${bits_srcdir}/boost_concept_check.h \
${bits_srcdir}/char_traits.h \
${bits_srcdir}/codecvt.h \
${bits_srcdir}/concept_check.h \
${bits_srcdir}/cpp_type_traits.h \
${bits_srcdir}/fpos.h \
${bits_srcdir}/fstream.tcc \
${bits_srcdir}/functexcept.h \
${bits_srcdir}/generic_shadow.h \
${bits_srcdir}/gslice.h \
${bits_srcdir}/gslice_array.h \
${bits_srcdir}/indirect_array.h \
${bits_srcdir}/ios_base.h \
${bits_srcdir}/istream.tcc \
${bits_srcdir}/locale_facets.h \
${bits_srcdir}/locale_facets.tcc \
${bits_srcdir}/localefwd.h \
${bits_srcdir}/mask_array.h \
${bits_srcdir}/ostream.tcc \
${bits_srcdir}/pthread_allocimpl.h \
${bits_srcdir}/stream_iterator.h \
${bits_srcdir}/streambuf_iterator.h \
${bits_srcdir}/slice.h \
${bits_srcdir}/slice_array.h \
${bits_srcdir}/sstream.tcc \
${bits_srcdir}/std_algorithm.h \
${bits_srcdir}/std_bitset.h \
${bits_srcdir}/std_complex.h \
${bits_srcdir}/std_deque.h \
${bits_srcdir}/std_fstream.h \
${bits_srcdir}/std_functional.h \
${bits_srcdir}/std_iomanip.h \
${bits_srcdir}/std_ios.h \
${bits_srcdir}/std_iosfwd.h \
${bits_srcdir}/std_iostream.h \
${bits_srcdir}/std_istream.h \
${bits_srcdir}/std_iterator.h \
${bits_srcdir}/std_limits.h \
${bits_srcdir}/std_list.h \
${bits_srcdir}/std_locale.h \
${bits_srcdir}/std_map.h \
${bits_srcdir}/std_memory.h \
${bits_srcdir}/std_numeric.h \
${bits_srcdir}/std_ostream.h \
${bits_srcdir}/std_queue.h \
${bits_srcdir}/std_set.h \
${bits_srcdir}/std_sstream.h \
${bits_srcdir}/std_stack.h \
${bits_srcdir}/std_stdexcept.h \
${bits_srcdir}/std_streambuf.h \
${bits_srcdir}/std_string.h \
${bits_srcdir}/std_utility.h \
${bits_srcdir}/std_valarray.h \
${bits_srcdir}/std_vector.h \
${bits_srcdir}/stl_algo.h \
${bits_srcdir}/stl_algobase.h \
${bits_srcdir}/stl_alloc.h \
${bits_srcdir}/stl_bvector.h \
${bits_srcdir}/stl_construct.h \
${bits_srcdir}/stl_deque.h \
${bits_srcdir}/stl_function.h \
${bits_srcdir}/stl_heap.h \
${bits_srcdir}/stl_iterator.h \
${bits_srcdir}/stl_iterator_base_funcs.h \
${bits_srcdir}/stl_iterator_base_types.h \
${bits_srcdir}/stl_list.h \
${bits_srcdir}/stl_map.h \
${bits_srcdir}/stl_multimap.h \
${bits_srcdir}/stl_multiset.h \
${bits_srcdir}/stl_numeric.h \
${bits_srcdir}/stl_pair.h \
${bits_srcdir}/stl_pthread_alloc.h \
${bits_srcdir}/stl_queue.h \
${bits_srcdir}/stl_raw_storage_iter.h \
${bits_srcdir}/stl_relops.h \
${bits_srcdir}/stl_set.h \
${bits_srcdir}/stl_stack.h \
${bits_srcdir}/stl_tempbuf.h \
${bits_srcdir}/stl_threads.h \
${bits_srcdir}/stl_tree.h \
${bits_srcdir}/stl_uninitialized.h \
${bits_srcdir}/stl_vector.h \
${bits_srcdir}/streambuf.tcc \
${bits_srcdir}/stringfwd.h \
${bits_srcdir}/type_traits.h \
${bits_srcdir}/valarray_array.h \
${bits_srcdir}/valarray_array.tcc \
${bits_srcdir}/valarray_meta.h
backward_srcdir = ${glibcpp_srcdir}/include/backward backward_srcdir = ${glibcpp_srcdir}/include/backward
backward_builddir = ./backward backward_builddir = ./backward
backward_headers = ${backward_srcdir}/complex.h ${backward_srcdir}/iomanip.h ${backward_srcdir}/istream.h ${backward_srcdir}/ostream.h ${backward_srcdir}/stream.h ${backward_srcdir}/streambuf.h ${backward_srcdir}/algo.h ${backward_srcdir}/algobase.h ${backward_srcdir}/alloc.h ${backward_srcdir}/bvector.h ${backward_srcdir}/defalloc.h ${backward_srcdir}/deque.h ${backward_srcdir}/function.h ${backward_srcdir}/hash_map.h ${backward_srcdir}/hash_set.h ${backward_srcdir}/hashtable.h ${backward_srcdir}/heap.h ${backward_srcdir}/iostream.h ${backward_srcdir}/iterator.h ${backward_srcdir}/list.h ${backward_srcdir}/map.h ${backward_srcdir}/multimap.h ${backward_srcdir}/new.h ${backward_srcdir}/multiset.h ${backward_srcdir}/pair.h ${backward_srcdir}/queue.h ${backward_srcdir}/rope.h ${backward_srcdir}/set.h ${backward_srcdir}/slist.h ${backward_srcdir}/stack.h ${backward_srcdir}/tempbuf.h ${backward_srcdir}/tree.h ${backward_srcdir}/vector.h ${backward_srcdir}/fstream.h ${backward_srcdir}/strstream.h ${backward_srcdir}/strstream ${backward_srcdir}/backward_warning.h backward_headers = \
${backward_srcdir}/complex.h \
${backward_srcdir}/iomanip.h \
${backward_srcdir}/istream.h \
${backward_srcdir}/ostream.h \
${backward_srcdir}/stream.h \
${backward_srcdir}/streambuf.h \
${backward_srcdir}/algo.h \
${backward_srcdir}/algobase.h \
${backward_srcdir}/alloc.h \
${backward_srcdir}/bvector.h \
${backward_srcdir}/defalloc.h \
${backward_srcdir}/deque.h \
${backward_srcdir}/function.h \
${backward_srcdir}/hash_map.h \
${backward_srcdir}/hash_set.h \
${backward_srcdir}/hashtable.h \
${backward_srcdir}/heap.h \
${backward_srcdir}/iostream.h \
${backward_srcdir}/iterator.h \
${backward_srcdir}/list.h \
${backward_srcdir}/map.h \
${backward_srcdir}/multimap.h \
${backward_srcdir}/new.h \
${backward_srcdir}/multiset.h \
${backward_srcdir}/pair.h \
${backward_srcdir}/queue.h \
${backward_srcdir}/rope.h \
${backward_srcdir}/set.h \
${backward_srcdir}/slist.h \
${backward_srcdir}/stack.h \
${backward_srcdir}/tempbuf.h \
${backward_srcdir}/tree.h \
${backward_srcdir}/vector.h \
${backward_srcdir}/fstream.h \
${backward_srcdir}/strstream.h \
${backward_srcdir}/strstream \
${backward_srcdir}/backward_warning.h
ext_srcdir = ${glibcpp_srcdir}/include/ext ext_srcdir = ${glibcpp_srcdir}/include/ext
ext_builddir = ./ext ext_builddir = ./ext
ext_headers = ${ext_srcdir}/rope ${ext_srcdir}/ropeimpl.h ${ext_srcdir}/stl_rope.h ${ext_srcdir}/slist ${ext_srcdir}/hash_map ${ext_srcdir}/hash_set ${ext_srcdir}/stl_hashtable.h ${ext_srcdir}/stl_hash_fun.h ext_headers = \
${ext_srcdir}/rope \
${ext_srcdir}/ropeimpl.h \
${ext_srcdir}/stl_rope.h \
${ext_srcdir}/slist \
${ext_srcdir}/hash_map \
${ext_srcdir}/hash_set \
${ext_srcdir}/stl_hashtable.h \
${ext_srcdir}/stl_hash_fun.h
# This is the common subset of files that all three "C" header models use. # This is the common subset of files that all three "C" header models use.
c_base_srcdir = @C_INCLUDE_DIR@/bits c_base_srcdir = @C_INCLUDE_DIR@/bits
c_base_builddir = ./bits c_base_builddir = ./bits
c_base_headers = ${c_base_srcdir}/std_cassert.h ${c_base_srcdir}/std_cctype.h ${c_base_srcdir}/std_cerrno.h ${c_base_srcdir}/std_cfloat.h ${c_base_srcdir}/std_climits.h ${c_base_srcdir}/std_clocale.h ${c_base_srcdir}/std_cmath.h ${c_base_srcdir}/std_csetjmp.h ${c_base_srcdir}/std_csignal.h ${c_base_srcdir}/std_cstdarg.h ${c_base_srcdir}/std_cstddef.h ${c_base_srcdir}/std_cstdio.h ${c_base_srcdir}/std_cstdlib.h ${c_base_srcdir}/std_cstring.h ${c_base_srcdir}/std_ctime.h ${c_base_srcdir}/std_cwchar.h ${c_base_srcdir}/std_cwctype.h ${c_base_srcdir}/cmath.tcc c_base_headers = \
${c_base_srcdir}/std_cassert.h \
${c_base_srcdir}/std_cctype.h \
${c_base_srcdir}/std_cerrno.h \
${c_base_srcdir}/std_cfloat.h \
${c_base_srcdir}/std_climits.h \
${c_base_srcdir}/std_clocale.h \
${c_base_srcdir}/std_cmath.h \
${c_base_srcdir}/std_csetjmp.h \
${c_base_srcdir}/std_csignal.h \
${c_base_srcdir}/std_cstdarg.h \
${c_base_srcdir}/std_cstddef.h \
${c_base_srcdir}/std_cstdio.h \
${c_base_srcdir}/std_cstdlib.h \
${c_base_srcdir}/std_cstring.h \
${c_base_srcdir}/std_ctime.h \
${c_base_srcdir}/std_cwchar.h \
${c_base_srcdir}/std_cwctype.h \
${c_base_srcdir}/cmath.tcc
std_srcdir = ${glibcpp_srcdir}/include/std std_srcdir = ${glibcpp_srcdir}/include/std
std_builddir = ./ std_builddir = ./
std_headers = ${std_srcdir}/algorithm ${std_srcdir}/bitset ${std_srcdir}/complex ${std_srcdir}/deque ${std_srcdir}/fstream ${std_srcdir}/functional ${std_srcdir}/iomanip ${std_srcdir}/ios ${std_srcdir}/iosfwd ${std_srcdir}/iostream ${std_srcdir}/istream ${std_srcdir}/iterator ${std_srcdir}/limits ${std_srcdir}/list ${std_srcdir}/locale ${std_srcdir}/map ${std_srcdir}/memory ${std_srcdir}/numeric ${std_srcdir}/ostream ${std_srcdir}/queue ${std_srcdir}/set ${std_srcdir}/sstream ${std_srcdir}/stack ${std_srcdir}/stdexcept ${std_srcdir}/streambuf ${std_srcdir}/string ${std_srcdir}/utility ${std_srcdir}/valarray ${std_srcdir}/vector ${std_srcdir}/cassert ${std_srcdir}/cctype ${std_srcdir}/cerrno ${std_srcdir}/cfloat ${std_srcdir}/climits ${std_srcdir}/clocale ${std_srcdir}/ciso646 ${std_srcdir}/cmath ${std_srcdir}/csetjmp ${std_srcdir}/csignal ${std_srcdir}/cstdarg ${std_srcdir}/cstddef ${std_srcdir}/cstdio ${std_srcdir}/cstdlib ${std_srcdir}/cstring ${std_srcdir}/ctime ${std_srcdir}/cwchar ${std_srcdir}/cwctype std_headers = \
${std_srcdir}/algorithm \
${std_srcdir}/bitset \
${std_srcdir}/complex \
${std_srcdir}/deque \
${std_srcdir}/fstream \
${std_srcdir}/functional \
${std_srcdir}/iomanip \
${std_srcdir}/ios \
${std_srcdir}/iosfwd \
${std_srcdir}/iostream \
${std_srcdir}/istream \
${std_srcdir}/iterator \
${std_srcdir}/limits \
${std_srcdir}/list \
${std_srcdir}/locale \
${std_srcdir}/map \
${std_srcdir}/memory \
${std_srcdir}/numeric \
${std_srcdir}/ostream \
${std_srcdir}/queue \
${std_srcdir}/set \
${std_srcdir}/sstream \
${std_srcdir}/stack \
${std_srcdir}/stdexcept \
${std_srcdir}/streambuf \
${std_srcdir}/string \
${std_srcdir}/utility \
${std_srcdir}/valarray \
${std_srcdir}/vector \
${std_srcdir}/cassert \
${std_srcdir}/cctype \
${std_srcdir}/cerrno \
${std_srcdir}/cfloat \
${std_srcdir}/climits \
${std_srcdir}/clocale \
${std_srcdir}/ciso646 \
${std_srcdir}/cmath \
${std_srcdir}/csetjmp \
${std_srcdir}/csignal \
${std_srcdir}/cstdarg \
${std_srcdir}/cstddef \
${std_srcdir}/cstdio \
${std_srcdir}/cstdlib \
${std_srcdir}/cstring \
${std_srcdir}/ctime \
${std_srcdir}/cwchar \
${std_srcdir}/cwctype
target_srcdir = ${glibcpp_srcdir}/@OS_INC_SRCDIR@ target_srcdir = ${glibcpp_srcdir}/@OS_INC_SRCDIR@
target_builddir = ./${target_alias}/bits target_builddir = ./${target_alias}/bits
target_headers = ${target_srcdir}/ctype_base.h ${target_srcdir}/ctype_inline.h ${target_srcdir}/ctype_noninline.h ${target_srcdir}/os_defines.h ${glibcpp_srcdir}/@ATOMICITY_INC_SRCDIR@/atomicity.h ${glibcpp_srcdir}/@LIMITS_INC_SRCDIR@/limits.h target_headers = \
${target_srcdir}/ctype_base.h \
${target_srcdir}/ctype_inline.h \
${target_srcdir}/ctype_noninline.h \
${target_srcdir}/os_defines.h \
${glibcpp_srcdir}/@ATOMICITY_INC_SRCDIR@/atomicity.h \
${glibcpp_srcdir}/@LIMITS_INC_SRCDIR@/limits.h
thread_builddir = ./${target_alias}/bits thread_builddir = ./${target_alias}/bits
thread_headers = ${thread_builddir}/gthr.h ${thread_builddir}/gthr-single.h ${thread_builddir}/gthr-default.h thread_headers = \
${thread_builddir}/gthr.h \
${thread_builddir}/gthr-single.h \
${thread_builddir}/gthr-default.h
# List of all timestamp files. By keeping only one copy of this list, both # List of all timestamp files. By keeping only one copy of this list, both
# CLEANFILES and all-local are kept up-to-date. # CLEANFILES and all-local are kept up-to-date.
allstamps = stamp-std stamp-bits stamp-c_base stamp-backward stamp-ext stamp-target stamp-thread allstamps = stamp-std stamp-bits stamp-c_base stamp-backward stamp-ext \
stamp-target stamp-thread
# Target includes for threads # Target includes for threads
...@@ -363,6 +577,7 @@ stamp-target: ${target_headers} ${target_builddir} ...@@ -363,6 +577,7 @@ stamp-target: ${target_headers} ${target_builddir}
@LN_S@ ${glibcpp_srcdir}/@CSTDIO_H@ c++io.h ;\ @LN_S@ ${glibcpp_srcdir}/@CSTDIO_H@ c++io.h ;\
@LN_S@ ${glibcpp_srcdir}/@CLOCALE_H@ c++locale.h ;\ @LN_S@ ${glibcpp_srcdir}/@CLOCALE_H@ c++locale.h ;\
@LN_S@ ${glibcpp_srcdir}/@CMESSAGES_H@ messages_members.h ;\ @LN_S@ ${glibcpp_srcdir}/@CMESSAGES_H@ messages_members.h ;\
@LN_S@ ${glibcpp_srcdir}/@CTIME_H@ time_members.h ;\
@LN_S@ ${glibcpp_srcdir}/@CCODECVT_H@ codecvt_specializations.h ;\ @LN_S@ ${glibcpp_srcdir}/@CCODECVT_H@ codecvt_specializations.h ;\
echo `date` > stamp-target; \ echo `date` > stamp-target; \
fi fi
......
...@@ -1037,7 +1037,6 @@ namespace std ...@@ -1037,7 +1037,6 @@ namespace std
class collate_byname : public collate<_CharT> class collate_byname : public collate<_CharT>
{ {
public: public:
// Types:
typedef _CharT char_type; typedef _CharT char_type;
typedef basic_string<_CharT> string_type; typedef basic_string<_CharT> string_type;
...@@ -1058,6 +1057,57 @@ namespace std ...@@ -1058,6 +1057,57 @@ namespace std
enum dateorder { no_order, dmy, mdy, ymd, ydm }; enum dateorder { no_order, dmy, mdy, ymd, ydm };
}; };
template<typename _CharT>
class __timepunct : public locale::facet
{
public:
// Types:
typedef _CharT char_type;
typedef basic_string<_CharT> string_type;
static locale::id id;
protected:
__c_locale _M_c_locale_timepunct;
#if 1
// Only needed if glibc < 2.3
const char* _M_name_timepunct;
#endif
public:
explicit
__timepunct(size_t __refs = 0)
: locale::facet(__refs), _M_c_locale_timepunct(NULL),
_M_name_timepunct("C")
{
// _M_initialize_numpunct();
}
explicit
__timepunct(__c_locale __cloc, const char* __s, size_t __refs = 0)
: locale::facet(__refs)
{
_M_name_timepunct = __s;
if (__cloc)
_M_c_locale_timepunct = _S_clone_c_locale(__cloc);
}
void
_M_put_helper(char* __s, size_t __maxlen, const char* __format,
const tm* __tm) const;
protected:
virtual
~__timepunct()
{
if (_M_c_locale_timepunct)
_S_destroy_c_locale(_M_c_locale_timepunct);
}
};
template<typename _CharT>
locale::id __timepunct<_CharT>::id;
template<typename _CharT, typename _InIter> template<typename _CharT, typename _InIter>
class time_get : public locale::facet, public time_base class time_get : public locale::facet, public time_base
{ {
...@@ -1068,6 +1118,11 @@ namespace std ...@@ -1068,6 +1118,11 @@ namespace std
static locale::id id; static locale::id id;
protected:
mutable basic_string<_CharT>* _M_daynames;
mutable basic_string<_CharT>* _M_monthnames;
public:
explicit explicit
time_get(size_t __refs = 0) time_get(size_t __refs = 0)
: locale::facet (__refs), _M_daynames(0), _M_monthnames(0) { } : locale::facet (__refs), _M_daynames(0), _M_monthnames(0) { }
...@@ -1077,29 +1132,29 @@ namespace std ...@@ -1077,29 +1132,29 @@ namespace std
{ return do_date_order(); } { return do_date_order(); }
iter_type iter_type
get_time(iter_type __s, iter_type __end, ios_base& __f, get_time(iter_type __s, iter_type __end, ios_base& __io,
ios_base::iostate& __err, tm* __t) const ios_base::iostate& __err, tm* __t) const
{ return do_get_time(__s, __end, __f, __err, __t); } { return do_get_time(__s, __end, __io, __err, __t); }
iter_type iter_type
get_date(iter_type __s, iter_type __end, ios_base& __f, get_date(iter_type __s, iter_type __end, ios_base& __io,
ios_base::iostate& __err, tm* __t) const ios_base::iostate& __err, tm* __t) const
{ return do_get_date(__s, __end, __f, __err, __t); } { return do_get_date(__s, __end, __io, __err, __t); }
iter_type iter_type
get_weekday(iter_type __s, iter_type __end, ios_base& __f, get_weekday(iter_type __s, iter_type __end, ios_base& __io,
ios_base::iostate& __err, tm* __t) const ios_base::iostate& __err, tm* __t) const
{ return do_get_weekday(__s,__end,__f,__err,__t); } { return this->do_get_weekday(__s, __end, __io, __err, __t); }
iter_type iter_type
get_monthname(iter_type __s, iter_type __end, ios_base& __f, get_monthname(iter_type __s, iter_type __end, ios_base& __io,
ios_base::iostate& __err, tm* __t) const ios_base::iostate& __err, tm* __t) const
{ return do_get_monthname(__s,__end,__f,__err,__t); } { return this->do_get_monthname(__s, __end, __io, __err, __t); }
iter_type iter_type
get_year(iter_type __s, iter_type __end, ios_base& __f, get_year(iter_type __s, iter_type __end, ios_base& __io,
ios_base::iostate& __err, tm* __t) const ios_base::iostate& __err, tm* __t) const
{ return do_get_year(__s,__end,__f,__err,__t); } { return this->do_get_year(__s, __end, __io, __err, __t); }
protected: protected:
virtual virtual
...@@ -1135,9 +1190,6 @@ namespace std ...@@ -1135,9 +1190,6 @@ namespace std
do_get_year(iter_type __s, iter_type /*__end*/, ios_base&, do_get_year(iter_type __s, iter_type /*__end*/, ios_base&,
ios_base::iostate& /*__err*/, tm* /*__t*/) const ios_base::iostate& /*__err*/, tm* /*__t*/) const
{ return __s; } { return __s; }
mutable basic_string<_CharT>* _M_daynames;
mutable basic_string<_CharT>* _M_monthnames;
}; };
template<typename _CharT, typename _InIter> template<typename _CharT, typename _InIter>
...@@ -1162,34 +1214,33 @@ namespace std ...@@ -1162,34 +1214,33 @@ namespace std
class time_put : public locale::facet, public time_base class time_put : public locale::facet, public time_base
{ {
public: public:
// Types:
typedef _CharT char_type; typedef _CharT char_type;
typedef _OutIter iter_type; typedef _OutIter iter_type;
static locale::id id; static locale::id id;
explicit explicit
time_put(size_t __refs = 0) : locale::facet (__refs) { } time_put(size_t __refs = 0)
: locale::facet(__refs) { }
// NB: this is a nonvirtual, calls do_put in a loop.
iter_type iter_type
put(iter_type __s, ios_base& /*__f*/, char_type /*__fill*/, put(iter_type __s, ios_base& __io, char_type __fill, const tm* __tm,
const tm* /*__tmb*/, const _CharT* /*__pattern*/, const _CharT* __beg, const _CharT* __end) const;
const _CharT* /*__pat_end*/) const
{ return __s; }
iter_type iter_type
put(iter_type __s, ios_base& __f, char_type __fill, put(iter_type __s, ios_base& __io, char_type __fill,
const tm* __tmb, char __format, char __modifier = 0) const const tm* __tm, char __format, char __mod = 0) const
{ return do_put(__s, __f, __fill, __tmb, __format, __modifier); } { return this->do_put(__s, __io, __fill, __tm, __format, __mod); }
protected: protected:
virtual virtual
~time_put() { } ~time_put()
{ }
virtual iter_type virtual iter_type
do_put(iter_type __s, ios_base&, char_type, const tm* /*__t*/, do_put(iter_type __s, ios_base& __io, char_type __fill, const tm* __tm,
char /*__format*/, char /*__mod*/) const char __format, char __mod) const;
{ return __s; }
}; };
template<typename _CharT, typename _OutIter> template<typename _CharT, typename _OutIter>
...@@ -1199,18 +1250,23 @@ namespace std ...@@ -1199,18 +1250,23 @@ namespace std
class time_put_byname : public time_put<_CharT, _OutIter> class time_put_byname : public time_put<_CharT, _OutIter>
{ {
public: public:
// Types:
typedef _CharT char_type; typedef _CharT char_type;
typedef _OutIter iter_type; typedef _OutIter iter_type;
explicit explicit
time_put_byname(const char*, size_t __refs = 0) time_put_byname(const char* /*__s*/, size_t __refs = 0)
: time_put<_CharT, _OutIter> (__refs) { } : time_put<_CharT, _OutIter>(__refs)
{ };
protected: protected:
virtual virtual
~time_put_byname() { } ~time_put_byname() { }
}; };
// Include host and configuration specific messages virtual functions.
#include <bits/time_members.h>
struct money_base struct money_base
{ {
...@@ -1409,28 +1465,26 @@ namespace std ...@@ -1409,28 +1465,26 @@ namespace std
money_get(size_t __refs = 0) : locale::facet(__refs) { } money_get(size_t __refs = 0) : locale::facet(__refs) { }
iter_type iter_type
get(iter_type __s, iter_type __end, bool __intl, get(iter_type __s, iter_type __end, bool __intl, ios_base& __io,
ios_base& __f, ios_base::iostate& __err, long double& __units) const ios_base::iostate& __err, long double& __units) const
{ return this->do_get(__s, __end, __intl, __f, __err, __units); } { return this->do_get(__s, __end, __intl, __io, __err, __units); }
iter_type iter_type
get(iter_type __s, iter_type __end, bool __intl, ios_base& __f, get(iter_type __s, iter_type __end, bool __intl, ios_base& __io,
ios_base::iostate& __err, string_type& __digits) const ios_base::iostate& __err, string_type& __digits) const
{ return this->do_get(__s, __end, __intl, __f, __err, __digits); } { return this->do_get(__s, __end, __intl, __io, __err, __digits); }
protected: protected:
virtual virtual
~money_get() { } ~money_get() { }
virtual iter_type virtual iter_type
do_get(iter_type __s, iter_type __end, bool __intl, do_get(iter_type __s, iter_type __end, bool __intl, ios_base& __io,
ios_base& __io, ios_base::iostate& __err, ios_base::iostate& __err, long double& __units) const;
long double& __units) const;
virtual iter_type virtual iter_type
do_get(iter_type __s, iter_type __end, bool __intl, do_get(iter_type __s, iter_type __end, bool __intl, ios_base& __io,
ios_base& __io, ios_base::iostate& __err, ios_base::iostate& __err, string_type& __digits) const;
string_type& __digits) const;
}; };
template<typename _CharT, typename _InIter> template<typename _CharT, typename _InIter>
...@@ -1450,14 +1504,14 @@ namespace std ...@@ -1450,14 +1504,14 @@ namespace std
money_put(size_t __refs = 0) : locale::facet(__refs) { } money_put(size_t __refs = 0) : locale::facet(__refs) { }
iter_type iter_type
put(iter_type __s, bool __intl, ios_base& __f, put(iter_type __s, bool __intl, ios_base& __io,
char_type __fill, long double __units) const char_type __fill, long double __units) const
{ return this->do_put(__s, __intl, __f, __fill, __units); } { return this->do_put(__s, __intl, __io, __fill, __units); }
iter_type iter_type
put(iter_type __s, bool __intl, ios_base& __f, put(iter_type __s, bool __intl, ios_base& __io,
char_type __fill, const string_type& __digits) const char_type __fill, const string_type& __digits) const
{ return this->do_put(__s, __intl, __f, __fill, __digits); } { return this->do_put(__s, __intl, __io, __fill, __digits); }
protected: protected:
virtual virtual
...@@ -1493,10 +1547,10 @@ namespace std ...@@ -1493,10 +1547,10 @@ namespace std
// Underlying "C" library locale information saved from // Underlying "C" library locale information saved from
// initialization, needed by messages_byname as well. // initialization, needed by messages_byname as well.
__c_locale _M_c_locale_messages; __c_locale _M_c_locale_messages;
#if 1 #if 1
// Only needed if glibc < 2.3 // Only needed if glibc < 2.3
const char* _M_name_messages; const char* _M_name_messages;
#endif #endif
public: public:
static locale::id id; static locale::id id;
......
...@@ -166,7 +166,7 @@ namespace std ...@@ -166,7 +166,7 @@ namespace std
void void
_Format_cache<_CharT>::_M_populate(ios_base& __io) _Format_cache<_CharT>::_M_populate(ios_base& __io)
{ {
locale __loc = __io.getloc (); locale __loc = __io.getloc();
numpunct<_CharT> const& __np = use_facet<numpunct<_CharT> >(__loc); numpunct<_CharT> const& __np = use_facet<numpunct<_CharT> >(__loc);
_M_truename = __np.truename(); _M_truename = __np.truename();
_M_falsename = __np.falsename(); _M_falsename = __np.falsename();
...@@ -1511,6 +1511,83 @@ namespace std ...@@ -1511,6 +1511,83 @@ namespace std
} }
} }
template<typename _CharT, typename _OutIter>
time_put<_CharT, _OutIter>::iter_type
time_put<_CharT, _OutIter>::put(iter_type __s, ios_base& __io,
char_type, const tm* __tm,
const _CharT* __beg,
const _CharT* __end) const
{
locale __loc = __io.getloc();
ctype<_CharT> const& __ctype = use_facet<ctype<_CharT> >(__loc);
while (__beg != __end)
{
char __c = __ctype.narrow(*__beg, 0);
++__beg;
if (__c == '%')
{
char __format;
char __mod = 0;
size_t __len = 1;
__c = __ctype.narrow(*__beg, 0);
++__beg;
if (__c == 'E' || __c == 'O')
{
__mod = __c;
__format = __ctype.narrow(*__beg, 0);
++__beg;
}
else
__format = __c;
this->do_put(__s, __io, char_type(), __tm, __format, __mod);
}
else
__s = __c;
}
return __s;
}
template<typename _CharT, typename _OutIter>
time_put<_CharT, _OutIter>::iter_type
time_put<_CharT, _OutIter>::do_put(iter_type __s, ios_base& __io,
char_type, const tm* __tm,
char __format, char __mod) const
{
// NB: This size is arbitrary. Should this be a data member,
// initialized at construction?
const size_t __maxlen = 64;
char* __res = static_cast<char*>(__builtin_alloca(__maxlen));
// NB: In IEE 1003.1-200x, and perhaps other locale models, it
// is possible that the format character will be longer than one
// character. Possibilities include 'E' or 'O' followed by a
// format charcter: if __mod is not the default argument, assume
// it's a valid modifier.
char __fmt[4];
__fmt[0] = '%';
if (!__mod)
{
__fmt[1] = __format;
__fmt[2] = '\0';
}
else
{
__fmt[1] = __mod;
__fmt[2] = __format;
__fmt[3] = '\0';
}
locale __loc = __io.getloc();
__timepunct<_CharT> const& __tp = use_facet<__timepunct<_CharT> >(__loc);
__tp._M_put_helper(__res, __maxlen, __fmt, __tm);
// Write resulting, fully-formatted string to output iterator.
size_t __len = strlen(__res);
for (size_t __i = 0; __i < __len; ++__i)
__s = __res[__i];
return __s;
}
// Support for time_get: // Support for time_get:
// Note that these partial specializations could, and maybe should, // Note that these partial specializations could, and maybe should,
// be changed to full specializations (by eliminating the _Dummy // be changed to full specializations (by eliminating the _Dummy
......
...@@ -47,9 +47,9 @@ namespace std ...@@ -47,9 +47,9 @@ namespace std
{ {
// NB: Don't instantiate required wchar_t facets if no wchar_t support. // NB: Don't instantiate required wchar_t facets if no wchar_t support.
#ifdef _GLIBCPP_USE_WCHAR_T #ifdef _GLIBCPP_USE_WCHAR_T
# define _GLIBCPP_NUM_FACETS 26 # define _GLIBCPP_NUM_FACETS 28
#else #else
# define _GLIBCPP_NUM_FACETS 13 # define _GLIBCPP_NUM_FACETS 14
#endif #endif
// 22.1.1 Locale // 22.1.1 Locale
......
# Makefile.in generated automatically by automake 1.4 from Makefile.am # Makefile.in generated automatically by automake 1.4-p5 from Makefile.am
# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. # Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
...@@ -67,6 +67,7 @@ AR = @AR@ ...@@ -67,6 +67,7 @@ AR = @AR@
AS = @AS@ AS = @AS@
ATOMICITY_INC_SRCDIR = @ATOMICITY_INC_SRCDIR@ ATOMICITY_INC_SRCDIR = @ATOMICITY_INC_SRCDIR@
BASIC_FILE_H = @BASIC_FILE_H@ BASIC_FILE_H = @BASIC_FILE_H@
BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
CATALOGS = @CATALOGS@ CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@ CATOBJEXT = @CATOBJEXT@
CC = @CC@ CC = @CC@
...@@ -77,6 +78,7 @@ CMESSAGES_H = @CMESSAGES_H@ ...@@ -77,6 +78,7 @@ CMESSAGES_H = @CMESSAGES_H@
CPP = @CPP@ CPP = @CPP@
CSHADOW_FLAGS = @CSHADOW_FLAGS@ CSHADOW_FLAGS = @CSHADOW_FLAGS@
CSTDIO_H = @CSTDIO_H@ CSTDIO_H = @CSTDIO_H@
CTIME_H = @CTIME_H@
CXX = @CXX@ CXX = @CXX@
CXXCPP = @CXXCPP@ CXXCPP = @CXXCPP@
C_INCLUDE_DIR = @C_INCLUDE_DIR@ C_INCLUDE_DIR = @C_INCLUDE_DIR@
...@@ -88,16 +90,16 @@ EXTRA_CXX_FLAGS = @EXTRA_CXX_FLAGS@ ...@@ -88,16 +90,16 @@ EXTRA_CXX_FLAGS = @EXTRA_CXX_FLAGS@
GCJ = @GCJ@ GCJ = @GCJ@
GCJFLAGS = @GCJFLAGS@ GCJFLAGS = @GCJFLAGS@
GENCAT = @GENCAT@ GENCAT = @GENCAT@
GLIBC21 = @GLIBC21@
GLIBCPP_IS_CROSS_COMPILING = @GLIBCPP_IS_CROSS_COMPILING@ GLIBCPP_IS_CROSS_COMPILING = @GLIBCPP_IS_CROSS_COMPILING@
GMOFILES = @GMOFILES@ GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@ GMSGFMT = @GMSGFMT@
GT_NO = @GT_NO@
GT_YES = @GT_YES@
INCLUDE_LOCALE_H = @INCLUDE_LOCALE_H@
INSTOBJEXT = @INSTOBJEXT@ INSTOBJEXT = @INSTOBJEXT@
INTLDEPS = @INTLDEPS@ INTLBISON = @INTLBISON@
INTLLIBS = @INTLLIBS@ INTLLIBS = @INTLLIBS@
INTLOBJS = @INTLOBJS@ INTLOBJS = @INTLOBJS@
INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
LIBICONV = @LIBICONV@
LIBMATHOBJS = @LIBMATHOBJS@ LIBMATHOBJS = @LIBMATHOBJS@
LIBMATH_INCLUDES = @LIBMATH_INCLUDES@ LIBMATH_INCLUDES = @LIBMATH_INCLUDES@
LIBSUPCXX_INCLUDES = @LIBSUPCXX_INCLUDES@ LIBSUPCXX_INCLUDES = @LIBSUPCXX_INCLUDES@
...@@ -142,7 +144,6 @@ glibcpp_toolexecdir = @glibcpp_toolexecdir@ ...@@ -142,7 +144,6 @@ glibcpp_toolexecdir = @glibcpp_toolexecdir@
glibcpp_toolexeclibdir = @glibcpp_toolexeclibdir@ glibcpp_toolexeclibdir = @glibcpp_toolexeclibdir@
gxx_include_dir = @gxx_include_dir@ gxx_include_dir = @gxx_include_dir@
ifGNUmake = @ifGNUmake@ ifGNUmake = @ifGNUmake@
l = @l@
libio_la = @libio_la@ libio_la = @libio_la@
libtool_VERSION = @libtool_VERSION@ libtool_VERSION = @libtool_VERSION@
release_VERSION = @release_VERSION@ release_VERSION = @release_VERSION@
...@@ -151,7 +152,7 @@ toplevel_srcdir = @toplevel_srcdir@ ...@@ -151,7 +152,7 @@ toplevel_srcdir = @toplevel_srcdir@
AUTOMAKE_OPTIONS = 1.3 cygnus AUTOMAKE_OPTIONS = 1.3 cygnus
mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs
@GLIBCPP_BUILD_LIBIO_TRUE@noinst_LTLIBRARIES = libio.la @GLIBCPP_BUILD_LIBIO_TRUE@noinst_LTLIBRARIES = @GLIBCPP_BUILD_LIBIO_TRUE@libio.la
@GLIBCPP_BUILD_LIBIO_FALSE@noinst_LTLIBRARIES = @GLIBCPP_BUILD_LIBIO_FALSE@noinst_LTLIBRARIES =
# Use common includes from acinclude.m4/GLIBCPP_EXPORT_INCLUDES # Use common includes from acinclude.m4/GLIBCPP_EXPORT_INCLUDES
...@@ -159,14 +160,20 @@ GLIBCPP_INCLUDES = @GLIBCPP_INCLUDES@ ...@@ -159,14 +160,20 @@ GLIBCPP_INCLUDES = @GLIBCPP_INCLUDES@
TOPLEVEL_INCLUDES = @TOPLEVEL_INCLUDES@ TOPLEVEL_INCLUDES = @TOPLEVEL_INCLUDES@
LIBIO_INCLUDES = @LIBIO_INCLUDES@ LIBIO_INCLUDES = @LIBIO_INCLUDES@
INCLUDES = -nostdinc++ $(GLIBCPP_INCLUDES) $(LIBIO_INCLUDES) $(TOPLEVEL_INCLUDES) INCLUDES = \
-nostdinc++ \
$(GLIBCPP_INCLUDES) $(LIBIO_INCLUDES) $(TOPLEVEL_INCLUDES)
libio_headers = libio.h libioP.h iolibio.h libio_headers = \
libio.h libioP.h iolibio.h
@GLIBCPP_NEED_LIBIO_TRUE@LIBIO_SRCS = filedoalloc.c genops.c fileops.c stdfiles.c c_codecvt.c iofclose.c iofopen.c @GLIBCPP_NEED_LIBIO_TRUE@LIBIO_SRCS = @GLIBCPP_NEED_LIBIO_TRUE@\
@GLIBCPP_NEED_LIBIO_TRUE@ filedoalloc.c genops.c fileops.c stdfiles.c c_codecvt.c \
@GLIBCPP_NEED_LIBIO_TRUE@ iofclose.c iofopen.c
@GLIBCPP_NEED_LIBIO_FALSE@LIBIO_SRCS = @GLIBCPP_NEED_LIBIO_FALSE@LIBIO_SRCS =
@GLIBCPP_NEED_WLIBIO_TRUE@LIBIO_WSRCS = wfiledoalloc.c wfileops.c wgenops.c iofwide.c @GLIBCPP_NEED_WLIBIO_TRUE@LIBIO_WSRCS = @GLIBCPP_NEED_WLIBIO_TRUE@\
@GLIBCPP_NEED_WLIBIO_TRUE@ wfiledoalloc.c wfileops.c wgenops.c iofwide.c
@GLIBCPP_NEED_WLIBIO_FALSE@LIBIO_WSRCS = @GLIBCPP_NEED_WLIBIO_FALSE@LIBIO_WSRCS =
EXTRA_DIST = iostreamP.h EXTRA_DIST = iostreamP.h
......
# Makefile.in generated automatically by automake 1.4 from Makefile.am # Makefile.in generated automatically by automake 1.4-p5 from Makefile.am
# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. # Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
...@@ -67,6 +67,7 @@ AR = @AR@ ...@@ -67,6 +67,7 @@ AR = @AR@
AS = @AS@ AS = @AS@
ATOMICITY_INC_SRCDIR = @ATOMICITY_INC_SRCDIR@ ATOMICITY_INC_SRCDIR = @ATOMICITY_INC_SRCDIR@
BASIC_FILE_H = @BASIC_FILE_H@ BASIC_FILE_H = @BASIC_FILE_H@
BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
CATALOGS = @CATALOGS@ CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@ CATOBJEXT = @CATOBJEXT@
CC = @CC@ CC = @CC@
...@@ -77,6 +78,7 @@ CMESSAGES_H = @CMESSAGES_H@ ...@@ -77,6 +78,7 @@ CMESSAGES_H = @CMESSAGES_H@
CPP = @CPP@ CPP = @CPP@
CSHADOW_FLAGS = @CSHADOW_FLAGS@ CSHADOW_FLAGS = @CSHADOW_FLAGS@
CSTDIO_H = @CSTDIO_H@ CSTDIO_H = @CSTDIO_H@
CTIME_H = @CTIME_H@
CXX = @CXX@ CXX = @CXX@
CXXCPP = @CXXCPP@ CXXCPP = @CXXCPP@
C_INCLUDE_DIR = @C_INCLUDE_DIR@ C_INCLUDE_DIR = @C_INCLUDE_DIR@
...@@ -88,17 +90,17 @@ EXTRA_CXX_FLAGS = @EXTRA_CXX_FLAGS@ ...@@ -88,17 +90,17 @@ EXTRA_CXX_FLAGS = @EXTRA_CXX_FLAGS@
GCJ = @GCJ@ GCJ = @GCJ@
GCJFLAGS = @GCJFLAGS@ GCJFLAGS = @GCJFLAGS@
GENCAT = @GENCAT@ GENCAT = @GENCAT@
GLIBC21 = @GLIBC21@
GLIBCPP_INCLUDES = @GLIBCPP_INCLUDES@ GLIBCPP_INCLUDES = @GLIBCPP_INCLUDES@
GLIBCPP_IS_CROSS_COMPILING = @GLIBCPP_IS_CROSS_COMPILING@ GLIBCPP_IS_CROSS_COMPILING = @GLIBCPP_IS_CROSS_COMPILING@
GMOFILES = @GMOFILES@ GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@ GMSGFMT = @GMSGFMT@
GT_NO = @GT_NO@
GT_YES = @GT_YES@
INCLUDE_LOCALE_H = @INCLUDE_LOCALE_H@
INSTOBJEXT = @INSTOBJEXT@ INSTOBJEXT = @INSTOBJEXT@
INTLDEPS = @INTLDEPS@ INTLBISON = @INTLBISON@
INTLLIBS = @INTLLIBS@ INTLLIBS = @INTLLIBS@
INTLOBJS = @INTLOBJS@ INTLOBJS = @INTLOBJS@
INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
LIBICONV = @LIBICONV@
LIBIO_INCLUDES = @LIBIO_INCLUDES@ LIBIO_INCLUDES = @LIBIO_INCLUDES@
LIBMATHOBJS = @LIBMATHOBJS@ LIBMATHOBJS = @LIBMATHOBJS@
LIBMATH_INCLUDES = @LIBMATH_INCLUDES@ LIBMATH_INCLUDES = @LIBMATH_INCLUDES@
...@@ -144,7 +146,6 @@ glibcpp_toolexecdir = @glibcpp_toolexecdir@ ...@@ -144,7 +146,6 @@ glibcpp_toolexecdir = @glibcpp_toolexecdir@
glibcpp_toolexeclibdir = @glibcpp_toolexeclibdir@ glibcpp_toolexeclibdir = @glibcpp_toolexeclibdir@
gxx_include_dir = @gxx_include_dir@ gxx_include_dir = @gxx_include_dir@
ifGNUmake = @ifGNUmake@ ifGNUmake = @ifGNUmake@
l = @l@
libio_la = @libio_la@ libio_la = @libio_la@
libtool_VERSION = @libtool_VERSION@ libtool_VERSION = @libtool_VERSION@
release_VERSION = @release_VERSION@ release_VERSION = @release_VERSION@
...@@ -160,7 +161,9 @@ EXTRA_LONG_DOUBLE_yes = signbitl.c ...@@ -160,7 +161,9 @@ EXTRA_LONG_DOUBLE_yes = signbitl.c
EXTRA_DIST = $(EXTRA_LONG_DOUBLE_yes) EXTRA_DIST = $(EXTRA_LONG_DOUBLE_yes)
libmath_la_LIBADD = @LIBMATHOBJS@ $(EXTRA_LONG_DOUBLE_$(USE_COMPLEX_LONG_DOUBLE)) libmath_la_LIBADD = \
@LIBMATHOBJS@ \
$(EXTRA_LONG_DOUBLE_$(USE_COMPLEX_LONG_DOUBLE))
libmath_la_DEPENDENCIES = $(libmath_la_LIBADD) libmath_la_DEPENDENCIES = $(libmath_la_LIBADD)
...@@ -172,7 +175,8 @@ LINK = $(LIBTOOL) --mode=link "$(CCLD)" $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ ...@@ -172,7 +175,8 @@ LINK = $(LIBTOOL) --mode=link "$(CCLD)" $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
# Use common includes from acinclude.m4/GLIBCPP_EXPORT_INCLUDES # Use common includes from acinclude.m4/GLIBCPP_EXPORT_INCLUDES
TOPLEVEL_INCLUDES = @TOPLEVEL_INCLUDES@ TOPLEVEL_INCLUDES = @TOPLEVEL_INCLUDES@
INCLUDES = $(TOPLEVEL_INCLUDES) INCLUDES = \
$(TOPLEVEL_INCLUDES)
CONFIG_HEADER = ../config.h CONFIG_HEADER = ../config.h
CONFIG_CLEAN_FILES = CONFIG_CLEAN_FILES =
......
# Makefile.in generated automatically by automake 1.4 from Makefile.am # Makefile.in generated automatically by automake 1.4-p5 from Makefile.am
# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. # Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
...@@ -67,6 +67,7 @@ AR = @AR@ ...@@ -67,6 +67,7 @@ AR = @AR@
AS = @AS@ AS = @AS@
ATOMICITY_INC_SRCDIR = @ATOMICITY_INC_SRCDIR@ ATOMICITY_INC_SRCDIR = @ATOMICITY_INC_SRCDIR@
BASIC_FILE_H = @BASIC_FILE_H@ BASIC_FILE_H = @BASIC_FILE_H@
BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
CATALOGS = @CATALOGS@ CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@ CATOBJEXT = @CATOBJEXT@
CC = @CC@ CC = @CC@
...@@ -77,6 +78,7 @@ CMESSAGES_H = @CMESSAGES_H@ ...@@ -77,6 +78,7 @@ CMESSAGES_H = @CMESSAGES_H@
CPP = @CPP@ CPP = @CPP@
CSHADOW_FLAGS = @CSHADOW_FLAGS@ CSHADOW_FLAGS = @CSHADOW_FLAGS@
CSTDIO_H = @CSTDIO_H@ CSTDIO_H = @CSTDIO_H@
CTIME_H = @CTIME_H@
CXXCPP = @CXXCPP@ CXXCPP = @CXXCPP@
C_INCLUDE_DIR = @C_INCLUDE_DIR@ C_INCLUDE_DIR = @C_INCLUDE_DIR@
DATADIRNAME = @DATADIRNAME@ DATADIRNAME = @DATADIRNAME@
...@@ -87,16 +89,16 @@ EXTRA_CXX_FLAGS = @EXTRA_CXX_FLAGS@ ...@@ -87,16 +89,16 @@ EXTRA_CXX_FLAGS = @EXTRA_CXX_FLAGS@
GCJ = @GCJ@ GCJ = @GCJ@
GCJFLAGS = @GCJFLAGS@ GCJFLAGS = @GCJFLAGS@
GENCAT = @GENCAT@ GENCAT = @GENCAT@
GLIBC21 = @GLIBC21@
GLIBCPP_IS_CROSS_COMPILING = @GLIBCPP_IS_CROSS_COMPILING@ GLIBCPP_IS_CROSS_COMPILING = @GLIBCPP_IS_CROSS_COMPILING@
GMOFILES = @GMOFILES@ GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@ GMSGFMT = @GMSGFMT@
GT_NO = @GT_NO@
GT_YES = @GT_YES@
INCLUDE_LOCALE_H = @INCLUDE_LOCALE_H@
INSTOBJEXT = @INSTOBJEXT@ INSTOBJEXT = @INSTOBJEXT@
INTLDEPS = @INTLDEPS@ INTLBISON = @INTLBISON@
INTLLIBS = @INTLLIBS@ INTLLIBS = @INTLLIBS@
INTLOBJS = @INTLOBJS@ INTLOBJS = @INTLOBJS@
INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
LIBICONV = @LIBICONV@
LIBIO_INCLUDES = @LIBIO_INCLUDES@ LIBIO_INCLUDES = @LIBIO_INCLUDES@
LIBMATHOBJS = @LIBMATHOBJS@ LIBMATHOBJS = @LIBMATHOBJS@
LIBMATH_INCLUDES = @LIBMATH_INCLUDES@ LIBMATH_INCLUDES = @LIBMATH_INCLUDES@
...@@ -141,7 +143,6 @@ glibcpp_toolexecdir = @glibcpp_toolexecdir@ ...@@ -141,7 +143,6 @@ glibcpp_toolexecdir = @glibcpp_toolexecdir@
glibcpp_toolexeclibdir = @glibcpp_toolexeclibdir@ glibcpp_toolexeclibdir = @glibcpp_toolexeclibdir@
gxx_include_dir = @gxx_include_dir@ gxx_include_dir = @gxx_include_dir@
ifGNUmake = @ifGNUmake@ ifGNUmake = @ifGNUmake@
l = @l@
libio_la = @libio_la@ libio_la = @libio_la@
libtool_VERSION = @libtool_VERSION@ libtool_VERSION = @libtool_VERSION@
release_VERSION = @release_VERSION@ release_VERSION = @release_VERSION@
...@@ -171,24 +172,50 @@ OPTIMIZE_CXXFLAGS = @OPTIMIZE_CXXFLAGS@ ...@@ -171,24 +172,50 @@ OPTIMIZE_CXXFLAGS = @OPTIMIZE_CXXFLAGS@
# These bits are all figured out from configure. Look in acinclude.m4 # These bits are all figured out from configure. Look in acinclude.m4
# or configure.in to see how they are set. See GLIBCPP_EXPORT_FLAGS # or configure.in to see how they are set. See GLIBCPP_EXPORT_FLAGS
# NB: DEBUGFLAGS have to be at the end so that -O2 can be overridden. # NB: DEBUGFLAGS have to be at the end so that -O2 can be overridden.
CONFIG_CXXFLAGS = @EXTRA_CXX_FLAGS@ @SECTION_FLAGS@ @CSHADOW_FLAGS@ @DEBUG_FLAGS@ CONFIG_CXXFLAGS = \
@EXTRA_CXX_FLAGS@ @SECTION_FLAGS@ @CSHADOW_FLAGS@ @DEBUG_FLAGS@
# Warning flags to use. # Warning flags to use.
WARN_CXXFLAGS = @WARN_FLAGS@ $(WERROR) -fdiagnostics-show-location=once WARN_CXXFLAGS = \
@WARN_FLAGS@ $(WERROR) -fdiagnostics-show-location=once
# Use common includes from acinclude.m4/GLIBCPP_EXPORT_INCLUDES # Use common includes from acinclude.m4/GLIBCPP_EXPORT_INCLUDES
GLIBCPP_INCLUDES = @GLIBCPP_INCLUDES@ GLIBCPP_INCLUDES = @GLIBCPP_INCLUDES@
LIBSUPCXX_INCLUDES = @LIBSUPCXX_INCLUDES@ LIBSUPCXX_INCLUDES = @LIBSUPCXX_INCLUDES@
INCLUDES = -I$(toplevel_srcdir)/gcc -I$(toplevel_srcdir)/include $(GLIBCPP_INCLUDES) $(LIBSUPCXX_INCLUDES) INCLUDES = \
-I$(toplevel_srcdir)/gcc -I$(toplevel_srcdir)/include \
$(GLIBCPP_INCLUDES) $(LIBSUPCXX_INCLUDES)
headers = exception new typeinfo cxxabi.h exception_defines.h
headers = \
sources = del_op.cc del_opnt.cc del_opv.cc del_opvnt.cc eh_alloc.cc eh_aux_runtime.cc eh_catch.cc eh_exception.cc eh_globals.cc eh_personality.cc eh_terminate.cc eh_throw.cc new_handler.cc new_op.cc new_opnt.cc new_opv.cc new_opvnt.cc pure.cc tinfo.cc tinfo2.cc vec.cc exception new typeinfo cxxabi.h exception_defines.h
sources = \
del_op.cc \
del_opnt.cc \
del_opv.cc \
del_opvnt.cc \
eh_alloc.cc \
eh_aux_runtime.cc \
eh_catch.cc \
eh_exception.cc \
eh_globals.cc \
eh_personality.cc \
eh_terminate.cc \
eh_throw.cc \
new_handler.cc \
new_op.cc \
new_opnt.cc \
new_opv.cc \
new_opvnt.cc \
pure.cc \
tinfo.cc \
tinfo2.cc \
vec.cc
libsupc___la_SOURCES = $(sources) libsupc___la_SOURCES = $(sources)
...@@ -204,7 +231,12 @@ LIBSUPCXX_CXXFLAGS = $(LIBSUPCXX_PICFLAGS) ...@@ -204,7 +231,12 @@ LIBSUPCXX_CXXFLAGS = $(LIBSUPCXX_PICFLAGS)
# set this option because CONFIG_CXXFLAGS has to be after # set this option because CONFIG_CXXFLAGS has to be after
# OPTIMIZE_CXXFLAGS on the compile line so that -O2 can be overridden # OPTIMIZE_CXXFLAGS on the compile line so that -O2 can be overridden
# as the occasion call for it. (ie, --enable-debug) # as the occasion call for it. (ie, --enable-debug)
AM_CXXFLAGS = -fno-implicit-templates $(LIBSUPCXX_CXXFLAGS) $(WARN_CXXFLAGS) $(OPTIMIZE_CXXFLAGS) $(CONFIG_CXXFLAGS) AM_CXXFLAGS = \
-fno-implicit-templates \
$(LIBSUPCXX_CXXFLAGS) \
$(WARN_CXXFLAGS) \
$(OPTIMIZE_CXXFLAGS) \
$(CONFIG_CXXFLAGS)
# libstdc++ libtool notes # libstdc++ libtool notes
...@@ -228,7 +260,9 @@ AM_CXXFLAGS = -fno-implicit-templates $(LIBSUPCXX_CXXFLAGS) $(WARN_CXXFLAGS) ...@@ -228,7 +260,9 @@ AM_CXXFLAGS = -fno-implicit-templates $(LIBSUPCXX_CXXFLAGS) $(WARN_CXXFLAGS)
# #
# We have to put --tag disable-shared after --tag CXX lest things # We have to put --tag disable-shared after --tag CXX lest things
# CXX undo the affect of disable-shared. # CXX undo the affect of disable-shared.
LTCXXCOMPILE = $(LIBTOOL) --tag CXX --tag disable-shared --mode=compile $(CXX) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(AM_CXXFLAGS) LTCXXCOMPILE = $(LIBTOOL) --tag CXX --tag disable-shared \
--mode=compile $(CXX) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(AM_CXXFLAGS)
# 3) We'd have a problem when building the shared libstdc++ object if # 3) We'd have a problem when building the shared libstdc++ object if
...@@ -237,7 +271,9 @@ LTCXXCOMPILE = $(LIBTOOL) --tag CXX --tag disable-shared --mode=c ...@@ -237,7 +271,9 @@ LTCXXCOMPILE = $(LIBTOOL) --tag CXX --tag disable-shared --mode=c
# course is problematic at this point. So, we get the top-level # course is problematic at this point. So, we get the top-level
# directory to configure libstdc++-v3 to use gcc as the C++ # directory to configure libstdc++-v3 to use gcc as the C++
# compilation driver. # compilation driver.
CXXLINK = $(LIBTOOL) --tag CXX --tag disable-shared --mode=link $(CXX) @OPT_LDFLAGS@ @SECTION_LDFLAGS@ $(AM_CXXFLAGS) $(LDFLAGS) -o $@ CXXLINK = $(LIBTOOL) --tag CXX --tag disable-shared \
--mode=link $(CXX) \
@OPT_LDFLAGS@ @SECTION_LDFLAGS@ $(AM_CXXFLAGS) $(LDFLAGS) -o $@
CONFIG_HEADER = ../config.h CONFIG_HEADER = ../config.h
CONFIG_CLEAN_FILES = CONFIG_CLEAN_FILES =
......
# Makefile.in generated automatically by automake 1.4 from Makefile.am # Makefile.in generated automatically by automake 1.4-p5 from Makefile.am
# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. # Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
...@@ -67,6 +67,7 @@ AR = @AR@ ...@@ -67,6 +67,7 @@ AR = @AR@
AS = @AS@ AS = @AS@
ATOMICITY_INC_SRCDIR = @ATOMICITY_INC_SRCDIR@ ATOMICITY_INC_SRCDIR = @ATOMICITY_INC_SRCDIR@
BASIC_FILE_H = @BASIC_FILE_H@ BASIC_FILE_H = @BASIC_FILE_H@
BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
CATALOGS = @CATALOGS@ CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@ CATOBJEXT = @CATOBJEXT@
CC = @CC@ CC = @CC@
...@@ -77,6 +78,7 @@ CMESSAGES_H = @CMESSAGES_H@ ...@@ -77,6 +78,7 @@ CMESSAGES_H = @CMESSAGES_H@
CPP = @CPP@ CPP = @CPP@
CSHADOW_FLAGS = @CSHADOW_FLAGS@ CSHADOW_FLAGS = @CSHADOW_FLAGS@
CSTDIO_H = @CSTDIO_H@ CSTDIO_H = @CSTDIO_H@
CTIME_H = @CTIME_H@
CXX = @CXX@ CXX = @CXX@
CXXCPP = @CXXCPP@ CXXCPP = @CXXCPP@
C_INCLUDE_DIR = @C_INCLUDE_DIR@ C_INCLUDE_DIR = @C_INCLUDE_DIR@
...@@ -88,17 +90,17 @@ EXTRA_CXX_FLAGS = @EXTRA_CXX_FLAGS@ ...@@ -88,17 +90,17 @@ EXTRA_CXX_FLAGS = @EXTRA_CXX_FLAGS@
GCJ = @GCJ@ GCJ = @GCJ@
GCJFLAGS = @GCJFLAGS@ GCJFLAGS = @GCJFLAGS@
GENCAT = @GENCAT@ GENCAT = @GENCAT@
GLIBC21 = @GLIBC21@
GLIBCPP_INCLUDES = @GLIBCPP_INCLUDES@ GLIBCPP_INCLUDES = @GLIBCPP_INCLUDES@
GLIBCPP_IS_CROSS_COMPILING = @GLIBCPP_IS_CROSS_COMPILING@ GLIBCPP_IS_CROSS_COMPILING = @GLIBCPP_IS_CROSS_COMPILING@
GMOFILES = @GMOFILES@ GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@ GMSGFMT = @GMSGFMT@
GT_NO = @GT_NO@
GT_YES = @GT_YES@
INCLUDE_LOCALE_H = @INCLUDE_LOCALE_H@
INSTOBJEXT = @INSTOBJEXT@ INSTOBJEXT = @INSTOBJEXT@
INTLDEPS = @INTLDEPS@ INTLBISON = @INTLBISON@
INTLLIBS = @INTLLIBS@ INTLLIBS = @INTLLIBS@
INTLOBJS = @INTLOBJS@ INTLOBJS = @INTLOBJS@
INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
LIBICONV = @LIBICONV@
LIBIO_INCLUDES = @LIBIO_INCLUDES@ LIBIO_INCLUDES = @LIBIO_INCLUDES@
LIBMATHOBJS = @LIBMATHOBJS@ LIBMATHOBJS = @LIBMATHOBJS@
LIBMATH_INCLUDES = @LIBMATH_INCLUDES@ LIBMATH_INCLUDES = @LIBMATH_INCLUDES@
...@@ -143,7 +145,6 @@ glibcpp_toolexecdir = @glibcpp_toolexecdir@ ...@@ -143,7 +145,6 @@ glibcpp_toolexecdir = @glibcpp_toolexecdir@
glibcpp_toolexeclibdir = @glibcpp_toolexeclibdir@ glibcpp_toolexeclibdir = @glibcpp_toolexeclibdir@
gxx_include_dir = @gxx_include_dir@ gxx_include_dir = @gxx_include_dir@
ifGNUmake = @ifGNUmake@ ifGNUmake = @ifGNUmake@
l = @l@
libio_la = @libio_la@ libio_la = @libio_la@
libtool_VERSION = @libtool_VERSION@ libtool_VERSION = @libtool_VERSION@
release_VERSION = @release_VERSION@ release_VERSION = @release_VERSION@
...@@ -164,7 +165,9 @@ LOCALE_OUT = @glibcpp_MOFILES@ ...@@ -164,7 +165,9 @@ LOCALE_OUT = @glibcpp_MOFILES@
MSGFMT = msgfmt MSGFMT = msgfmt
# Necessary files. # Necessary files.
DISTFILES = Makefile.am Makefile.in string_literals.cc POTFILES.in $(PACKAGE).pot $(LOCALE_IN) DISTFILES = \
Makefile.am Makefile.in string_literals.cc POTFILES.in $(PACKAGE).pot \
$(LOCALE_IN)
# Specify what gets cleaned up on a 'make clean' # Specify what gets cleaned up on a 'make clean'
......
# Makefile.in generated automatically by automake 1.4 from Makefile.am # Makefile.in generated automatically by automake 1.4-p5 from Makefile.am
# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. # Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
...@@ -66,6 +66,7 @@ AR = @AR@ ...@@ -66,6 +66,7 @@ AR = @AR@
AS = @AS@ AS = @AS@
ATOMICITY_INC_SRCDIR = @ATOMICITY_INC_SRCDIR@ ATOMICITY_INC_SRCDIR = @ATOMICITY_INC_SRCDIR@
BASIC_FILE_H = @BASIC_FILE_H@ BASIC_FILE_H = @BASIC_FILE_H@
BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
CATALOGS = @CATALOGS@ CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@ CATOBJEXT = @CATOBJEXT@
CC = @CC@ CC = @CC@
...@@ -76,6 +77,7 @@ CMESSAGES_H = @CMESSAGES_H@ ...@@ -76,6 +77,7 @@ CMESSAGES_H = @CMESSAGES_H@
CPP = @CPP@ CPP = @CPP@
CSHADOW_FLAGS = @CSHADOW_FLAGS@ CSHADOW_FLAGS = @CSHADOW_FLAGS@
CSTDIO_H = @CSTDIO_H@ CSTDIO_H = @CSTDIO_H@
CTIME_H = @CTIME_H@
CXXCPP = @CXXCPP@ CXXCPP = @CXXCPP@
C_INCLUDE_DIR = @C_INCLUDE_DIR@ C_INCLUDE_DIR = @C_INCLUDE_DIR@
DATADIRNAME = @DATADIRNAME@ DATADIRNAME = @DATADIRNAME@
...@@ -86,16 +88,16 @@ EXTRA_CXX_FLAGS = @EXTRA_CXX_FLAGS@ ...@@ -86,16 +88,16 @@ EXTRA_CXX_FLAGS = @EXTRA_CXX_FLAGS@
GCJ = @GCJ@ GCJ = @GCJ@
GCJFLAGS = @GCJFLAGS@ GCJFLAGS = @GCJFLAGS@
GENCAT = @GENCAT@ GENCAT = @GENCAT@
GLIBC21 = @GLIBC21@
GLIBCPP_IS_CROSS_COMPILING = @GLIBCPP_IS_CROSS_COMPILING@ GLIBCPP_IS_CROSS_COMPILING = @GLIBCPP_IS_CROSS_COMPILING@
GMOFILES = @GMOFILES@ GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@ GMSGFMT = @GMSGFMT@
GT_NO = @GT_NO@
GT_YES = @GT_YES@
INCLUDE_LOCALE_H = @INCLUDE_LOCALE_H@
INSTOBJEXT = @INSTOBJEXT@ INSTOBJEXT = @INSTOBJEXT@
INTLDEPS = @INTLDEPS@ INTLBISON = @INTLBISON@
INTLLIBS = @INTLLIBS@ INTLLIBS = @INTLLIBS@
INTLOBJS = @INTLOBJS@ INTLOBJS = @INTLOBJS@
INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
LIBICONV = @LIBICONV@
LIBMATHOBJS = @LIBMATHOBJS@ LIBMATHOBJS = @LIBMATHOBJS@
LIBSUPCXX_PICFLAGS = @LIBSUPCXX_PICFLAGS@ LIBSUPCXX_PICFLAGS = @LIBSUPCXX_PICFLAGS@
LIBTOOL = @LIBTOOL@ LIBTOOL = @LIBTOOL@
...@@ -137,7 +139,6 @@ glibcpp_toolexecdir = @glibcpp_toolexecdir@ ...@@ -137,7 +139,6 @@ glibcpp_toolexecdir = @glibcpp_toolexecdir@
glibcpp_toolexeclibdir = @glibcpp_toolexeclibdir@ glibcpp_toolexeclibdir = @glibcpp_toolexeclibdir@
gxx_include_dir = @gxx_include_dir@ gxx_include_dir = @gxx_include_dir@
ifGNUmake = @ifGNUmake@ ifGNUmake = @ifGNUmake@
l = @l@
libio_la = @libio_la@ libio_la = @libio_la@
libtool_VERSION = @libtool_VERSION@ libtool_VERSION = @libtool_VERSION@
release_VERSION = @release_VERSION@ release_VERSION = @release_VERSION@
...@@ -161,11 +162,13 @@ OPTIMIZE_CXXFLAGS = @OPTIMIZE_CXXFLAGS@ ...@@ -161,11 +162,13 @@ OPTIMIZE_CXXFLAGS = @OPTIMIZE_CXXFLAGS@
# These bits are all figured out from configure. Look in acinclude.m4 # These bits are all figured out from configure. Look in acinclude.m4
# or configure.in to see how they are set. See GLIBCPP_EXPORT_FLAGS # or configure.in to see how they are set. See GLIBCPP_EXPORT_FLAGS
# NB: DEBUGFLAGS have to be at the end so that -O2 can be overridden. # NB: DEBUGFLAGS have to be at the end so that -O2 can be overridden.
CONFIG_CXXFLAGS = @EXTRA_CXX_FLAGS@ @SECTION_FLAGS@ @CSHADOW_FLAGS@ @DEBUG_FLAGS@ CONFIG_CXXFLAGS = \
@EXTRA_CXX_FLAGS@ @SECTION_FLAGS@ @CSHADOW_FLAGS@ @DEBUG_FLAGS@
# Warning flags to use. # Warning flags to use.
WARN_CXXFLAGS = @WARN_FLAGS@ $(WERROR) -fdiagnostics-show-location=once WARN_CXXFLAGS = \
@WARN_FLAGS@ $(WERROR) -fdiagnostics-show-location=once
# Use common includes from acinclude.m4/GLIBCPP_EXPORT_INCLUDES # Use common includes from acinclude.m4/GLIBCPP_EXPORT_INCLUDES
...@@ -175,17 +178,29 @@ LIBSUPCXX_INCLUDES = @LIBSUPCXX_INCLUDES@ ...@@ -175,17 +178,29 @@ LIBSUPCXX_INCLUDES = @LIBSUPCXX_INCLUDES@
LIBIO_INCLUDES = @LIBIO_INCLUDES@ LIBIO_INCLUDES = @LIBIO_INCLUDES@
TOPLEVEL_INCLUDES = @TOPLEVEL_INCLUDES@ TOPLEVEL_INCLUDES = @TOPLEVEL_INCLUDES@
INCLUDES = -nostdinc++ $(GLIBCPP_INCLUDES) $(LIBSUPCXX_INCLUDES) $(LIBIO_INCLUDES) $(LIBMATH_INCLUDES) $(TOPLEVEL_INCLUDES) INCLUDES = \
-nostdinc++ \
$(GLIBCPP_INCLUDES) \
$(LIBSUPCXX_INCLUDES) $(LIBIO_INCLUDES) $(LIBMATH_INCLUDES) \
$(TOPLEVEL_INCLUDES)
sources = basic_file.cc bitset.cc c++locale.cc cmath.cc codecvt.cc complex_io.cc functexcept.cc globals.cc ios.cc limits.cc locale.cc locale-inst.cc localename.cc collate.cc messages.cc moneypunct.cc numpunct.cc misc-inst.cc stdexcept.cc stl-inst.cc string-inst.cc strstream.cc valarray-inst.cc wstring-inst.cc sources = \
basic_file.cc bitset.cc c++locale.cc cmath.cc codecvt.cc \
complex_io.cc functexcept.cc globals.cc ios.cc limits.cc \
locale.cc locale-inst.cc localename.cc \
collate.cc messages.cc moneypunct.cc numpunct.cc \
misc-inst.cc stdexcept.cc stl-inst.cc string-inst.cc strstream.cc \
valarray-inst.cc wstring-inst.cc
VPATH = $(top_srcdir):$(top_srcdir)/src VPATH = $(top_srcdir):$(top_srcdir)/src
libstdc___la_SOURCES = $(sources) libstdc___la_SOURCES = $(sources)
libstdc___la_LIBADD = ../libmath/libmath.la @libio_la@ ../libsupc++/libsupc++convenience.la libstdc___la_LIBADD = \
../libmath/libmath.la @libio_la@ \
../libsupc++/libsupc++convenience.la
libstdc___la_LDFLAGS = -version-info @libtool_VERSION@ -lm libstdc___la_LDFLAGS = -version-info @libtool_VERSION@ -lm
...@@ -205,7 +220,12 @@ GLIBCPP_INCLUDE_DIR = @glibcpp_builddir@/include ...@@ -205,7 +220,12 @@ GLIBCPP_INCLUDE_DIR = @glibcpp_builddir@/include
# The no-implicit-templates flag will generate unresolved references to # The no-implicit-templates flag will generate unresolved references to
# the concept-checking symbols. So we must disable the checks while # the concept-checking symbols. So we must disable the checks while
# actually building the library. # actually building the library.
AM_CXXFLAGS = -fno-implicit-templates $(LIBSUPCXX_CXXFLAGS) $(WARN_CXXFLAGS) $(OPTIMIZE_CXXFLAGS) $(CONFIG_CXXFLAGS) AM_CXXFLAGS = \
-fno-implicit-templates \
$(LIBSUPCXX_CXXFLAGS) \
$(WARN_CXXFLAGS) \
$(OPTIMIZE_CXXFLAGS) \
$(CONFIG_CXXFLAGS)
# libstdc++ libtool notes # libstdc++ libtool notes
...@@ -226,7 +246,8 @@ AM_CXXFLAGS = -fno-implicit-templates $(LIBSUPCXX_CXXFLAGS) $(WARN_CXXFLAGS) ...@@ -226,7 +246,8 @@ AM_CXXFLAGS = -fno-implicit-templates $(LIBSUPCXX_CXXFLAGS) $(WARN_CXXFLAGS)
# correct solution is to add `--tag CXX' to LTCXXCOMPILE and maybe # correct solution is to add `--tag CXX' to LTCXXCOMPILE and maybe
# CXXLINK, just after $(LIBTOOL), so that libtool doesn't have to # CXXLINK, just after $(LIBTOOL), so that libtool doesn't have to
# attempt to infer which configuration to use # attempt to infer which configuration to use
LTCXXCOMPILE = $(LIBTOOL) --tag CXX --mode=compile $(CXX) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(AM_CXXFLAGS) LTCXXCOMPILE = $(LIBTOOL) --tag CXX --mode=compile $(CXX) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(AM_CXXFLAGS)
# 3) We'd have a problem when building the shared libstdc++ object if # 3) We'd have a problem when building the shared libstdc++ object if
...@@ -235,7 +256,8 @@ LTCXXCOMPILE = $(LIBTOOL) --tag CXX --mode=compile $(CXX) $(INCLUDES) $( ...@@ -235,7 +256,8 @@ LTCXXCOMPILE = $(LIBTOOL) --tag CXX --mode=compile $(CXX) $(INCLUDES) $(
# course is problematic at this point. So, we get the top-level # course is problematic at this point. So, we get the top-level
# directory to configure libstdc++-v3 to use gcc as the C++ # directory to configure libstdc++-v3 to use gcc as the C++
# compilation driver. # compilation driver.
CXXLINK = $(LIBTOOL) --tag CXX --mode=link $(CXX) @OPT_LDFLAGS@ @SECTION_LDFLAGS@ $(AM_CXXFLAGS) $(LDFLAGS) -o $@ CXXLINK = $(LIBTOOL) --tag CXX --mode=link $(CXX) \
@OPT_LDFLAGS@ @SECTION_LDFLAGS@ $(AM_CXXFLAGS) $(LDFLAGS) -o $@
CONFIG_HEADER = ../config.h CONFIG_HEADER = ../config.h
CONFIG_CLEAN_FILES = CONFIG_CLEAN_FILES =
......
...@@ -81,12 +81,14 @@ namespace std ...@@ -81,12 +81,14 @@ namespace std
#endif #endif
// time_get and time_put // time_get and time_put
template class __timepunct<char>;
template class time_put<char, obuf_iterator>; template class time_put<char, obuf_iterator>;
template class time_put_byname<char, obuf_iterator>; template class time_put_byname<char, obuf_iterator>;
template class time_get<char, ibuf_iterator>; template class time_get<char, ibuf_iterator>;
template class time_get_byname<char, ibuf_iterator>; template class time_get_byname<char, ibuf_iterator>;
#ifdef _GLIBCPP_USE_WCHAR_T #ifdef _GLIBCPP_USE_WCHAR_T
template class __timepunct<wchar_t>;
template class time_put<wchar_t, wobuf_iterator>; template class time_put<wchar_t, wobuf_iterator>;
template class time_put_byname<wchar_t, wobuf_iterator>; template class time_put_byname<wchar_t, wobuf_iterator>;
template class time_get<wchar_t, wibuf_iterator>; template class time_get<wchar_t, wibuf_iterator>;
...@@ -131,48 +133,69 @@ namespace std ...@@ -131,48 +133,69 @@ namespace std
// use_facet // use_facet
template template
const numpunct<char>&
use_facet<numpunct<char> >(const locale&);
template
const num_put<char, obuf_iterator >& const num_put<char, obuf_iterator >&
use_facet<num_put<char, obuf_iterator> >(const locale&); use_facet<num_put<char, obuf_iterator> >(const locale&);
template template
const num_get<char, ibuf_iterator >& const num_get<char, ibuf_iterator >&
use_facet<num_get<char, ibuf_iterator> >(const locale&); use_facet<num_get<char, ibuf_iterator> >(const locale&);
template template
const codecvt<char, char, mbstate_t>& const codecvt<char, char, mbstate_t>&
use_facet<codecvt<char, char, mbstate_t> >(const locale&); use_facet<codecvt<char, char, mbstate_t> >(const locale&);
template
const numpunct<char>&
use_facet<numpunct<char> >(const locale&);
template template
const collate<char>& const collate<char>&
use_facet<collate<char> >(const locale&); use_facet<collate<char> >(const locale&);
template template
const moneypunct<char, true>& const moneypunct<char, true>&
use_facet<moneypunct<char, true> >(const locale&); use_facet<moneypunct<char, true> >(const locale&);
template template
const moneypunct<char, false>& const moneypunct<char, false>&
use_facet<moneypunct<char, false> >(const locale&); use_facet<moneypunct<char, false> >(const locale&);
template
const __timepunct<char>&
use_facet<__timepunct<char> >(const locale&);
#ifdef _GLIBCPP_USE_WCHAR_T #ifdef _GLIBCPP_USE_WCHAR_T
template template
const numpunct<wchar_t>&
use_facet<numpunct<wchar_t> >(const locale&);
template
const num_put<wchar_t, wobuf_iterator>& const num_put<wchar_t, wobuf_iterator>&
use_facet<num_put<wchar_t, wobuf_iterator> >(const locale&); use_facet<num_put<wchar_t, wobuf_iterator> >(const locale&);
template template
const num_get<wchar_t, wibuf_iterator>& const num_get<wchar_t, wibuf_iterator>&
use_facet<num_get<wchar_t, wibuf_iterator> >(const locale&); use_facet<num_get<wchar_t, wibuf_iterator> >(const locale&);
template template
const codecvt<wchar_t, char, mbstate_t>& const codecvt<wchar_t, char, mbstate_t>&
use_facet<codecvt<wchar_t, char, mbstate_t> >(locale const&); use_facet<codecvt<wchar_t, char, mbstate_t> >(locale const&);
template
const numpunct<wchar_t>&
use_facet<numpunct<wchar_t> >(const locale&);
template template
const collate<wchar_t>& const collate<wchar_t>&
use_facet<collate<wchar_t> >(const locale&); use_facet<collate<wchar_t> >(const locale&);
template template
const moneypunct<wchar_t, true>& const moneypunct<wchar_t, true>&
use_facet<moneypunct<wchar_t, true> >(const locale&); use_facet<moneypunct<wchar_t, true> >(const locale&);
template template
const moneypunct<wchar_t, false>& const moneypunct<wchar_t, false>&
use_facet<moneypunct<wchar_t, false> >(const locale&); use_facet<moneypunct<wchar_t, false> >(const locale&);
template
const __timepunct<wchar_t>&
use_facet<__timepunct<wchar_t> >(const locale&);
#endif #endif
// has_facet // has_facet
......
...@@ -114,9 +114,11 @@ namespace std ...@@ -114,9 +114,11 @@ namespace std
const locale::id* const const locale::id* const
locale::_Impl::_S_id_time[] = locale::_Impl::_S_id_time[] =
{ {
&__timepunct<char>::id,
&time_get<char>::id, &time_get<char>::id,
&time_put<char>::id, &time_put<char>::id,
#ifdef _GLIBCPP_USE_WCHAR_T #ifdef _GLIBCPP_USE_WCHAR_T
&__timepunct<wchar_t>::id,
&time_get<wchar_t>::id, &time_get<wchar_t>::id,
&time_put<wchar_t>::id, &time_put<wchar_t>::id,
#endif #endif
......
...@@ -90,8 +90,7 @@ namespace std ...@@ -90,8 +90,7 @@ namespace std
_M_names[i] = __str; _M_names[i] = __str;
// Construct all standard facets and add them to _M_facets. // Construct all standard facets and add them to _M_facets.
// XXX Eventually, all should use __clocale ctor like numpunct // XXX How to deal cleanly, consistently with null ("C") __cloc?
// XXX how to deal cleanly, consistently with null ("C") __cloc?
_M_init_facet(new std::collate<char>(__cloc)); _M_init_facet(new std::collate<char>(__cloc));
_M_init_facet(new std::ctype<char>); _M_init_facet(new std::ctype<char>);
_M_init_facet(new codecvt<char, char, mbstate_t>); _M_init_facet(new codecvt<char, char, mbstate_t>);
...@@ -102,6 +101,7 @@ namespace std ...@@ -102,6 +101,7 @@ namespace std
_M_init_facet(new numpunct<char>(__cloc)); _M_init_facet(new numpunct<char>(__cloc));
_M_init_facet(new num_get<char>); _M_init_facet(new num_get<char>);
_M_init_facet(new num_put<char>); _M_init_facet(new num_put<char>);
_M_init_facet(new __timepunct<char>(__cloc, __str.c_str()));
_M_init_facet(new time_get<char>); _M_init_facet(new time_get<char>);
_M_init_facet(new time_put<char>); _M_init_facet(new time_put<char>);
_M_init_facet(new std::messages<char>(__cloc, __str.c_str())); _M_init_facet(new std::messages<char>(__cloc, __str.c_str()));
...@@ -117,6 +117,7 @@ namespace std ...@@ -117,6 +117,7 @@ namespace std
_M_init_facet(new numpunct<wchar_t>(__cloc)); _M_init_facet(new numpunct<wchar_t>(__cloc));
_M_init_facet(new num_get<wchar_t>); _M_init_facet(new num_get<wchar_t>);
_M_init_facet(new num_put<wchar_t>); _M_init_facet(new num_put<wchar_t>);
_M_init_facet(new __timepunct<wchar_t>(__cloc, __str.c_str()));
_M_init_facet(new time_get<wchar_t>); _M_init_facet(new time_get<wchar_t>);
_M_init_facet(new time_put<wchar_t>); _M_init_facet(new time_put<wchar_t>);
_M_init_facet(new std::messages<wchar_t>(__cloc, __str.c_str())); _M_init_facet(new std::messages<wchar_t>(__cloc, __str.c_str()));
......
// 2001-09-17 Benjamin Kosnik <bkoz@redhat.com>
// Copyright (C) 2001 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// 22.2.5.3 Template class time_put
#include <locale>
void test01()
{
// Check for required base class.
typedef std::time_put<char> test_type;
typedef std::locale::facet base_type;
const test_type& obj = std::use_facet<test_type>(std::locale());
const base_type* base = &obj;
// Check for required typedefs
typedef test_type::char_type char_type;
typedef test_type::iter_type iter_type;
}
// Should be able to instantiate this for other types besides char, wchar_t
class gnu_time_put: public std::time_put<unsigned char>
{ };
void test02()
{
gnu_time_put facet01;
}
int main()
{
test01();
test02();
return 0;
}
// 2001-09-17 Benjamin Kosnik <bkoz@redhat.com>
// Copyright (C) 2001 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// 22.2.5.3.1 time_put members
#include <locale>
#include <sstream>
#include <testsuite_hooks.h>
// test string version
void test01()
{
using namespace std;
typedef ostreambuf_iterator<char> iterator_type;
bool test = true;
// basic construction and sanity checks.
locale loc_c = locale::classic();
locale loc_hk("en_HK");
locale loc_fr("fr_FR@euro");
locale loc_de("de_DE");
VERIFY( loc_hk != loc_c );
VERIFY( loc_hk != loc_fr );
VERIFY( loc_hk != loc_de );
VERIFY( loc_de != loc_fr );
// cache the moneypunct facets, for quicker gdb inspection
const time_put<char>& timp_c = use_facet<time_put<char> >(loc_c);
const time_put<char>& timp_de = use_facet<time_put<char> >(loc_de);
const time_put<char>& timp_hk = use_facet<time_put<char> >(loc_hk);
const time_put<char>& timp_fr = use_facet<time_put<char> >(loc_fr);
// create an ostream-derived object, cache the time_put facet
const string empty;
ostringstream oss;
const time_put<char>& tim_put = use_facet<time_put<char> >(oss.getloc());
// create "C" time objects
tm time1 = { 0, 0, 12, 4, 3, 71 };
const char* all = "%a %A %b %B %c %d %H %I %j %m %M %p %s %U "
"%w %W %x %X %y %Y %Z %%";
const char* date = "%A, the second of %B";
const char* date_ex = "%Ex";
// 1
// iter_type
// put(iter_type s, ios_base& str, char_type fill, const tm* t,
// char format, char modifier = 0) const;
oss.str(empty);
oss.imbue(loc_c);
iterator_type os_it01 = tim_put.put(oss.rdbuf(), oss, '*', &time1, 'a');
string result1 = oss.str();
VERIFY( result1 == "Sun" );
oss.str(empty);
oss.imbue(loc_de);
iterator_type os_it02 = tim_put.put(oss.rdbuf(), oss, '*', &time1, 'a');
string result2 = oss.str();
VERIFY( result2 == "Son" );
oss.str(empty);
oss.imbue(loc_hk);
iterator_type os_it03 = tim_put.put(oss.rdbuf(), oss, '*', &time1, 'a');
string result3 = oss.str();
VERIFY( result3 == "Sun" );
oss.str(empty);
oss.imbue(loc_fr);
iterator_type os_it04 = tim_put.put(oss.rdbuf(), oss, '*', &time1, 'a');
string result4 = oss.str();
VERIFY( result4 == "dim" );
// 2
oss.str(empty);
oss.imbue(loc_c);
iterator_type os_it05 = tim_put.put(oss.rdbuf(), oss, '*', &time1,
date, date + strlen(date));
string result5 = oss.str();
VERIFY( result5 == "Sunday, the second of April");
iterator_type os_it06 = tim_put.put(oss.rdbuf(), oss, '*', &time1,
date_ex, date_ex + strlen(date));
string result6 = oss.str();
VERIFY( result6 != result5 );
oss.str(empty);
oss.imbue(loc_de);
iterator_type os_it07 = tim_put.put(oss.rdbuf(), oss, '*', &time1,
date, date + strlen(date));
string result7 = oss.str();
VERIFY( result7 == "Sonntag, the second of April");
iterator_type os_it08 = tim_put.put(oss.rdbuf(), oss, '*', &time1,
date_ex, date_ex + strlen(date));
string result8 = oss.str();
VERIFY( result8 != result7 );
oss.str(empty);
oss.imbue(loc_hk);
iterator_type os_it09 = tim_put.put(oss.rdbuf(), oss, '*', &time1,
date, date + strlen(date));
string result9 = oss.str();
VERIFY( result9 == "Sunday, the second of April");
iterator_type os_it10 = tim_put.put(oss.rdbuf(), oss, '*', &time1,
date_ex, date_ex + strlen(date));
string result10 = oss.str();
VERIFY( result10 != result9 );
oss.str(empty);
oss.imbue(loc_fr);
iterator_type os_it11 = tim_put.put(oss.rdbuf(), oss, '*', &time1,
date, date + strlen(date));
string result11 = oss.str();
VERIFY( result11 == "dimanche, the second of avril");
iterator_type os_it12 = tim_put.put(oss.rdbuf(), oss, '*', &time1,
date_ex, date_ex + strlen(date));
string result12 = oss.str();
VERIFY( result12 != result11 );
}
int main()
{
test01();
return 0;
}
# Makefile.in generated automatically by automake 1.4 from Makefile.am # Makefile.in generated automatically by automake 1.4-p5 from Makefile.am
# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. # Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
...@@ -67,6 +67,7 @@ AR = @AR@ ...@@ -67,6 +67,7 @@ AR = @AR@
AS = @AS@ AS = @AS@
ATOMICITY_INC_SRCDIR = @ATOMICITY_INC_SRCDIR@ ATOMICITY_INC_SRCDIR = @ATOMICITY_INC_SRCDIR@
BASIC_FILE_H = @BASIC_FILE_H@ BASIC_FILE_H = @BASIC_FILE_H@
BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
CATALOGS = @CATALOGS@ CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@ CATOBJEXT = @CATOBJEXT@
CC = @CC@ CC = @CC@
...@@ -77,6 +78,7 @@ CMESSAGES_H = @CMESSAGES_H@ ...@@ -77,6 +78,7 @@ CMESSAGES_H = @CMESSAGES_H@
CPP = @CPP@ CPP = @CPP@
CSHADOW_FLAGS = @CSHADOW_FLAGS@ CSHADOW_FLAGS = @CSHADOW_FLAGS@
CSTDIO_H = @CSTDIO_H@ CSTDIO_H = @CSTDIO_H@
CTIME_H = @CTIME_H@
CXX = @CXX@ CXX = @CXX@
CXXCPP = @CXXCPP@ CXXCPP = @CXXCPP@
C_INCLUDE_DIR = @C_INCLUDE_DIR@ C_INCLUDE_DIR = @C_INCLUDE_DIR@
...@@ -88,17 +90,17 @@ EXTRA_CXX_FLAGS = @EXTRA_CXX_FLAGS@ ...@@ -88,17 +90,17 @@ EXTRA_CXX_FLAGS = @EXTRA_CXX_FLAGS@
GCJ = @GCJ@ GCJ = @GCJ@
GCJFLAGS = @GCJFLAGS@ GCJFLAGS = @GCJFLAGS@
GENCAT = @GENCAT@ GENCAT = @GENCAT@
GLIBC21 = @GLIBC21@
GLIBCPP_INCLUDES = @GLIBCPP_INCLUDES@ GLIBCPP_INCLUDES = @GLIBCPP_INCLUDES@
GLIBCPP_IS_CROSS_COMPILING = @GLIBCPP_IS_CROSS_COMPILING@ GLIBCPP_IS_CROSS_COMPILING = @GLIBCPP_IS_CROSS_COMPILING@
GMOFILES = @GMOFILES@ GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@ GMSGFMT = @GMSGFMT@
GT_NO = @GT_NO@
GT_YES = @GT_YES@
INCLUDE_LOCALE_H = @INCLUDE_LOCALE_H@
INSTOBJEXT = @INSTOBJEXT@ INSTOBJEXT = @INSTOBJEXT@
INTLDEPS = @INTLDEPS@ INTLBISON = @INTLBISON@
INTLLIBS = @INTLLIBS@ INTLLIBS = @INTLLIBS@
INTLOBJS = @INTLOBJS@ INTLOBJS = @INTLOBJS@
INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
LIBICONV = @LIBICONV@
LIBIO_INCLUDES = @LIBIO_INCLUDES@ LIBIO_INCLUDES = @LIBIO_INCLUDES@
LIBMATHOBJS = @LIBMATHOBJS@ LIBMATHOBJS = @LIBMATHOBJS@
LIBMATH_INCLUDES = @LIBMATH_INCLUDES@ LIBMATH_INCLUDES = @LIBMATH_INCLUDES@
...@@ -145,7 +147,6 @@ glibcpp_toolexecdir = @glibcpp_toolexecdir@ ...@@ -145,7 +147,6 @@ glibcpp_toolexecdir = @glibcpp_toolexecdir@
glibcpp_toolexeclibdir = @glibcpp_toolexeclibdir@ glibcpp_toolexeclibdir = @glibcpp_toolexeclibdir@
gxx_include_dir = @gxx_include_dir@ gxx_include_dir = @gxx_include_dir@
ifGNUmake = @ifGNUmake@ ifGNUmake = @ifGNUmake@
l = @l@
libio_la = @libio_la@ libio_la = @libio_la@
libtool_VERSION = @libtool_VERSION@ libtool_VERSION = @libtool_VERSION@
release_VERSION = @release_VERSION@ release_VERSION = @release_VERSION@
...@@ -155,10 +156,14 @@ AUTOMAKE_OPTIONS = foreign dejagnu ...@@ -155,10 +156,14 @@ AUTOMAKE_OPTIONS = foreign dejagnu
DEJATOOL = libstdc++-v3 DEJATOOL = libstdc++-v3
EXPECT = `if [ -f @glibcpp_builddir@/../../expect/expect ] ; then echo @glibcpp_builddir@/../../expect/expect ; else echo expect ; fi` EXPECT = `if [ -f @glibcpp_builddir@/../../expect/expect ] ; then \
echo @glibcpp_builddir@/../../expect/expect ; \
else echo expect ; fi`
RUNTEST = `if [ -f @glibcpp_srcdir@/../dejagnu/runtest ] ; then echo @glibcpp_srcdir@/../dejagnu/runtest ; else echo runtest; fi` RUNTEST = `if [ -f @glibcpp_srcdir@/../dejagnu/runtest ] ; then \
echo @glibcpp_srcdir@/../dejagnu/runtest ; \
else echo runtest; fi`
RUNTESTFLAGS = RUNTESTFLAGS =
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment