OSDN Git Service

2003-04-28 Phil Edwards <pme@gcc.gnu.org>
authorpme <pme@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 28 Apr 2003 21:03:19 +0000 (21:03 +0000)
committerpme <pme@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 28 Apr 2003 21:03:19 +0000 (21:03 +0000)
* configure.in:  Test for libintl.h.
* include/bits/c++config:  Define __N for everybody.
* include/bits/basic_string.h, include/bits/stl_bvector.h,
include/bits/stl_deque.h, include/bits/stl_vector.h,
include/std/std_bitset.h:  Wrap all __throw* text with __N.
* po/Makefile.am (pot):  New rule, mostly working.
* src/functexcept.cc:  Call gettext on all __throw* arguments when
-fexceptions is in effect.
* po/Makefile.in, config.h.in, configure:  Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@66185 138bc75d-0d04-0410-961f-82ee72b054a4

13 files changed:
libstdc++-v3/ChangeLog
libstdc++-v3/config.h.in
libstdc++-v3/configure
libstdc++-v3/configure.in
libstdc++-v3/include/bits/basic_string.h
libstdc++-v3/include/bits/c++config
libstdc++-v3/include/bits/stl_bvector.h
libstdc++-v3/include/bits/stl_deque.h
libstdc++-v3/include/bits/stl_vector.h
libstdc++-v3/include/std/std_bitset.h
libstdc++-v3/po/Makefile.am
libstdc++-v3/po/Makefile.in
libstdc++-v3/src/functexcept.cc

index fa1adb1..75c8801 100644 (file)
@@ -1,3 +1,15 @@
+2003-04-28  Phil Edwards  <pme@gcc.gnu.org>
+
+       * configure.in:  Test for libintl.h.
+       * include/bits/c++config:  Define __N for everybody.
+       * include/bits/basic_string.h, include/bits/stl_bvector.h,
+       include/bits/stl_deque.h, include/bits/stl_vector.h,
+       include/std/std_bitset.h:  Wrap all __throw* text with __N.
+       * po/Makefile.am (pot):  New rule, mostly working.
+       * src/functexcept.cc:  Call gettext on all __throw* arguments when
+       -fexceptions is in effect.
+       * po/Makefile.in, config.h.in, configure:  Regenerate.
+
 2003-04-28  Petur Runolfsson  <peturr02@ru.is>
  
         PR libstdc++/9523
index 36e2ae5..efcda87 100644 (file)
 /* Define if you have the <inttypes.h> header file.  */
 #undef HAVE_INTTYPES_H
 
+/* Define if you have the <libintl.h> header file.  */
+#undef HAVE_LIBINTL_H
+
 /* Define if you have the <locale.h> header file.  */
 #undef HAVE_LOCALE_H
 
index c4a6a88..d97826e 100755 (executable)
@@ -840,7 +840,7 @@ test "$ac_cv_mingw32" = yes && MINGW32=yes
 
     
 
-  for ac_prog in gawk mawk nawk awk
+  for ac_prog in mawk gawk nawk awk
 do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
@@ -1468,7 +1468,7 @@ else
   if { (eval echo configure:1469: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
     for file in conftest.*; do
       case $file in
-      *.c | *.o | *.obj) ;;
+      *.$ac_ext | *.c | *.o | *.obj) ;;
       *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
       esac
     done
@@ -10527,7 +10527,7 @@ else
   # Check for available headers.
   for ac_hdr in nan.h ieeefp.h endian.h sys/isa_defs.h machine/endian.h \
   machine/param.h sys/machine.h fp.h locale.h float.h inttypes.h gconv.h \
-  sys/types.h
+  sys/types.h libintl.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
@@ -22992,7 +22992,7 @@ else
 fi
 rm -f conftest*
 
-  for ac_hdr in stdlib.h unistd.h sys/stat.h sys/types.h
+  for ac_hdr in unistd.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
@@ -23124,24 +23124,11 @@ else
 #include <fcntl.h>
 #include <sys/mman.h>
 
-#if HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-
-#if HAVE_STDLIB_H
-# include <stdlib.h>
-#endif
-
-#if HAVE_SYS_STAT_H
-# include <sys/stat.h>
-#endif
-
-#if HAVE_UNISTD_H
-# include <unistd.h>
-#endif
-
 /* This mess was copied from the GNU getpagesize.h.  */
 #ifndef HAVE_GETPAGESIZE
+# ifdef HAVE_UNISTD_H
+#  include <unistd.h>
+# endif
 
 /* Assume that all systems that can run configure have sys/param.h.  */
 # ifndef HAVE_SYS_PARAM_H
@@ -23249,7 +23236,7 @@ main()
 }
 
 EOF
-if { (eval echo configure:23253: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:23240: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_func_mmap_fixed_mapped=yes
 else
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:23284: checking for $ac_hdr" >&5
+echo "configure:23271: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 23289 "configure"
+#line 23276 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:23294: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:23281: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -23323,7 +23310,7 @@ done
     # Can't do these in a loop, else the resulting syntax is wrong.
     
   cat > conftest.$ac_ext <<EOF
-#line 23327 "configure"
+#line 23314 "configure"
 #include "confdefs.h"
 #include <unistd.h>
                   #include <sys/time.h>
@@ -23333,7 +23320,7 @@ int main() {
  int f = RLIMIT_DATA ; 
 ; return 0; }
 EOF
-if { (eval echo configure:23337: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:23324: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_mresult=1
 else
@@ -23350,7 +23337,7 @@ EOF
 
     
   cat > conftest.$ac_ext <<EOF
-#line 23354 "configure"
+#line 23341 "configure"
 #include "confdefs.h"
 #include <unistd.h>
                   #include <sys/time.h>
@@ -23360,7 +23347,7 @@ int main() {
  int f = RLIMIT_RSS ; 
 ; return 0; }
 EOF
-if { (eval echo configure:23364: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:23351: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_mresult=1
 else
@@ -23377,7 +23364,7 @@ EOF
 
     
   cat > conftest.$ac_ext <<EOF
-#line 23381 "configure"
+#line 23368 "configure"
 #include "confdefs.h"
 #include <unistd.h>
                   #include <sys/time.h>
@@ -23387,7 +23374,7 @@ int main() {
  int f = RLIMIT_VMEM ; 
 ; return 0; }
 EOF
-if { (eval echo configure:23391: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:23378: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_mresult=1
 else
@@ -23404,7 +23391,7 @@ EOF
 
     
   cat > conftest.$ac_ext <<EOF
-#line 23408 "configure"
+#line 23395 "configure"
 #include "confdefs.h"
 #include <unistd.h>
                   #include <sys/time.h>
@@ -23414,7 +23401,7 @@ int main() {
  int f = RLIMIT_AS ; 
 ; return 0; }
 EOF
-if { (eval echo configure:23418: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:23405: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_mresult=1
 else
@@ -23436,7 +23423,7 @@ EOF
 else
   
       cat > conftest.$ac_ext <<EOF
-#line 23440 "configure"
+#line 23427 "configure"
 #include "confdefs.h"
 #include <unistd.h>
                   #include <sys/time.h>
@@ -23446,7 +23433,7 @@ int main() {
  struct rlimit r; setrlimit(0, &r);
 ; return 0; }
 EOF
-if { (eval echo configure:23450: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:23437: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_setrlimit=yes
 else
@@ -23462,7 +23449,7 @@ fi
   fi
 
   echo $ac_n "checking for testsuite memory limit support""... $ac_c" 1>&6
-echo "configure:23466: checking for testsuite memory limit support" >&5
+echo "configure:23453: checking for testsuite memory limit support" >&5
   if test $setrlimit_have_headers = yes && test $ac_setrlimit = yes; then
     ac_mem_limits=yes
     cat >> confdefs.h <<\EOF
@@ -23478,7 +23465,7 @@ EOF
   # Look for setenv, so that extended locale tests can be performed.
   
   echo $ac_n "checking for setenv declaration""... $ac_c" 1>&6
-echo "configure:23482: checking for setenv declaration" >&5
+echo "configure:23469: checking for setenv declaration" >&5
   if test x${glibcpp_cv_func_setenv_use+set} != xset; then
     if eval "test \"`echo '$''{'glibcpp_cv_func_setenv_use'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -23493,14 +23480,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
       cat > conftest.$ac_ext <<EOF
-#line 23497 "configure"
+#line 23484 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 int main() {
  setenv(0, 0, 0);
 ; return 0; }
 EOF
-if { (eval echo configure:23504: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:23491: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   glibcpp_cv_func_setenv_use=yes
 else
     for ac_func in setenv
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:23530: checking for $ac_func" >&5
+echo "configure:23517: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 23535 "configure"
+#line 23522 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -23554,7 +23541,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:23558: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:23545: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
 # Check to see if libgcc_s exists, indicating that shared libgcc is possible.
 if test $enable_symvers != no; then
   echo $ac_n "checking for shared libgcc""... $ac_c" 1>&6
-echo "configure:23635: checking for shared libgcc" >&5
+echo "configure:23622: checking for shared libgcc" >&5
   ac_save_CFLAGS="$CFLAGS"
   CFLAGS=' -lgcc_s'
   cat > conftest.$ac_ext <<EOF
-#line 23639 "configure"
+#line 23626 "configure"
 #include "confdefs.h"
 
 int main() {
 return 0
 ; return 0; }
 EOF
-if { (eval echo configure:23646: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:23633: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   glibcpp_shared_libgcc=yes
 else
@@ -23677,14 +23664,14 @@ if test $enable_symvers = yes ; then
       echo 'FOO { global: f[a-z]o; local: *; };' > conftest.map
       
       cat > conftest.$ac_ext <<EOF
-#line 23681 "configure"
+#line 23668 "configure"
 #include "confdefs.h"
 int foo;
 int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:23688: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:23675: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   enable_symvers=gnu
 else
@@ -23730,7 +23717,7 @@ else
   GLIBCPP_BUILD_VERSIONED_SHLIB_FALSE=
 fi
 echo $ac_n "checking versioning on shared library symbols""... $ac_c" 1>&6
-echo "configure:23734: checking versioning on shared library symbols" >&5
+echo "configure:23721: checking versioning on shared library symbols" >&5
 echo "$ac_t""$enable_symvers" 1>&6
 
 
@@ -23817,7 +23804,7 @@ glibcpp_prefixdir=${prefix}
 
 # Process the option --with-gxx-include-dir=<path to include-files directory>
 echo $ac_n "checking for --with-gxx-include-dir""... $ac_c" 1>&6
-echo "configure:23821: checking for --with-gxx-include-dir" >&5
+echo "configure:23808: checking for --with-gxx-include-dir" >&5
 # Check whether --with-gxx-include-dir or --without-gxx-include-dir was given.
 if test "${with_gxx_include_dir+set}" = set; then
   withval="$with_gxx_include_dir"
@@ -23841,7 +23828,7 @@ echo "$ac_t""$gxx_include_dir" 1>&6
 
 # Process the option "--enable-version-specific-runtime-libs"
 echo $ac_n "checking for --enable-version-specific-runtime-libs""... $ac_c" 1>&6
-echo "configure:23845: checking for --enable-version-specific-runtime-libs" >&5
+echo "configure:23832: checking for --enable-version-specific-runtime-libs" >&5
 # Check whether --enable-version-specific-runtime-libs or --disable-version-specific-runtime-libs was given.
 if test "${enable_version_specific_runtime_libs+set}" = set; then
   enableval="$enable_version_specific_runtime_libs"
@@ -23892,7 +23879,7 @@ if test x"$glibcpp_toolexecdir" = x"no"; then
 fi
 
 echo $ac_n "checking for install location""... $ac_c" 1>&6
-echo "configure:23896: checking for install location" >&5
+echo "configure:23883: checking for install location" >&5
 echo "$ac_t""$gxx_include_dir" 1>&6
 
 
index 553359b..09285aa 100644 (file)
@@ -401,7 +401,7 @@ else
   # Check for available headers.
   AC_CHECK_HEADERS([nan.h ieeefp.h endian.h sys/isa_defs.h machine/endian.h \
   machine/param.h sys/machine.h fp.h locale.h float.h inttypes.h gconv.h \
-  sys/types.h])
+  sys/types.h libintl.h])
 
   GLIBCPP_CHECK_COMPILER_FEATURES
   GLIBCPP_CHECK_LINKER_FEATURES
index 61ddee3..bdbd2dd 100644 (file)
@@ -275,7 +275,7 @@ namespace std
       _M_check(size_type __pos) const
       {
        if (__pos > this->size())
-         __throw_out_of_range("basic_string::_M_check");
+         __throw_out_of_range(__N("basic_string::_M_check"));
        return _M_ibegin() + __pos;
       }
 
@@ -447,7 +447,7 @@ namespace std
       at(size_type __n) const
       {
        if (__n >= this->size())
-         __throw_out_of_range("basic_string::at");
+         __throw_out_of_range(__N("basic_string::at"));
        return _M_data()[__n];
       }
 
@@ -455,7 +455,7 @@ namespace std
       at(size_type __n)
       {
        if (__n >= size())
-         __throw_out_of_range("basic_string::at");
+         __throw_out_of_range(__N("basic_string::at"));
        _M_leak();
        return _M_data()[__n];
       }
@@ -818,7 +818,7 @@ namespace std
       substr(size_type __pos = 0, size_type __n = npos) const
       {
        if (__pos > this->size())
-         __throw_out_of_range("basic_string::substr");
+         __throw_out_of_range(__N("basic_string::substr"));
        return basic_string(*this, __pos, __n);
       }
 
index 2abaed7..21c1067 100644 (file)
 # define _GLIBCPP_FAST_MATH 0
 #endif
 
+// This marks string literals in header files to be extracted for eventual
+// translation.  It is primarily used for messages in thrown exceptions; see
+// src/functexcept.cc.  We use __N because the more traditional _N is used
+// for something else under certain OSes (see BADNAMES).
+#define __N(msgid)     (msgid)
+
 // End of prewritten config; the discovered settings follow.
index d334a72..29fd692 100644 (file)
@@ -480,7 +480,7 @@ template <typename _Alloc>
   
     void _M_range_check(size_type __n) const {
       if (__n >= this->size())
-        __throw_out_of_range("vector<bool>");
+        __throw_out_of_range(__N("vector<bool>"));
     }
   
     reference at(size_type __n)
@@ -607,7 +607,7 @@ template <typename _Alloc>
   
     void reserve(size_type __n) {
       if (__n > this->max_size())
-       __throw_length_error("vector::reserve");
+       __throw_length_error(__N("vector::reserve"));
       if (this->capacity() < __n) {
         _Bit_type * __q = _M_bit_alloc(__n);
         this->_M_finish = copy(begin(), end(), iterator(__q, 0));
index 916a1dc..63257e2 100644 (file)
@@ -940,7 +940,7 @@ namespace std
     _M_range_check(size_type __n) const
     {
       if (__n >= this->size())
-        __throw_out_of_range("deque [] access out of range");
+        __throw_out_of_range(__N("std::deque [] access out of range"));
     }
   
   public:
index f0da72a..bf28813 100644 (file)
@@ -524,7 +524,7 @@ namespace std
       _M_range_check(size_type __n) const
       {
        if (__n >= this->size())
-         __throw_out_of_range("vector [] access out of range");
+         __throw_out_of_range(__N("std::vector [] access out of range"));
       }
       
     public:
index c6e993a..4292a44 100644 (file)
@@ -264,7 +264,7 @@ namespace std
     {
       for (size_t __i = 1; __i < _Nw; ++__i)
        if (_M_w[__i])
-         __throw_overflow_error("bitset -- too large to fit in unsigned long");
+         __throw_overflow_error(__N("bitset value is too large to fit in unsigned long"));
       return _M_w[0];
     }
 
@@ -466,7 +466,7 @@ namespace std
       // localized to this single should-never-get-this-far function.
       _WordT&
       _M_getword(size_t) const
-      { __throw_out_of_range("bitset -- zero-length"); return *new _WordT; }
+      { __throw_out_of_range(__N("bitset is zero-length")); return *new _WordT; }
 
       _WordT
       _M_hiword() const { return 0; }
@@ -862,7 +862,7 @@ namespace std
     set(size_t __pos, bool __val = true)
     {
       if (__pos >= _Nb)
-       __throw_out_of_range("bitset -- set() argument too large");
+       __throw_out_of_range(__N("bitset::set() argument too large"));
       return _Unchecked_set(__pos, __val);
     }
 
@@ -887,7 +887,7 @@ namespace std
     reset(size_t __pos)
     {
       if (__pos >= _Nb)
-       __throw_out_of_range("bitset -- reset() argument too large");
+       __throw_out_of_range(__N("bitset::reset() argument too large"));
       return _Unchecked_reset(__pos);
     }
 
@@ -911,7 +911,7 @@ namespace std
     flip(size_t __pos)
     {
       if (__pos >= _Nb)
-       __throw_out_of_range("bitset -- flip() argument too large");
+       __throw_out_of_range(__N("bitset::flip() argument too large"));
       return _Unchecked_flip(__pos);
     }
 
@@ -1014,7 +1014,7 @@ namespace std
     test(size_t __pos) const
     {
       if (__pos >= _Nb)
-       __throw_out_of_range("bitset -- test() argument too large");
+       __throw_out_of_range(__N("bitset::test() argument too large"));
       return _Unchecked_test(__pos);
     }
 
index 95b0553..9065757 100644 (file)
@@ -22,6 +22,7 @@
 ## USA.
 
 PACKAGE = @PACKAGE@
+glibcpp_srcdir = @glibcpp_srcdir@
 
 # Location of installation directories.
 mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs
@@ -77,5 +78,13 @@ install-data-local-yes: all-local-yes
          $(INSTALL_DATA) $$cat $$install_dir/$(PACKAGE).mo; \
        done
 
+# Maintainence of the .po template file.  This rule is never run automatically,
+# and updates the source directory.
+pot:
+       cd $(glibcpp_srcdir); \
+       xgettext --default-domain=$(PACKAGE) --add-comments --c++ --debug \
+         --join-existing -o po/$(PACKAGE).pot --keyword=__N \
+         `grep -r -l '__N(".*")' .`
+
 # Specify what gets cleaned up on a 'make clean'
 CLEANFILES = $(LOCALE_OUT) 
index 1bf5304..a579970 100644 (file)
@@ -1,4 +1,4 @@
-# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am
+# Makefile.in generated automatically by automake 1.4-p6 from Makefile.am
 
 # Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
@@ -133,7 +133,6 @@ glibcpp_basedir = @glibcpp_basedir@
 glibcpp_builddir = @glibcpp_builddir@
 glibcpp_localedir = @glibcpp_localedir@
 glibcpp_prefixdir = @glibcpp_prefixdir@
-glibcpp_srcdir = @glibcpp_srcdir@
 glibcpp_thread_h = @glibcpp_thread_h@
 glibcpp_toolexecdir = @glibcpp_toolexecdir@
 glibcpp_toolexeclibdir = @glibcpp_toolexeclibdir@
@@ -144,6 +143,7 @@ libtool_VERSION = @libtool_VERSION@
 toplevel_srcdir = @toplevel_srcdir@
 
 PACKAGE = @PACKAGE@
+glibcpp_srcdir = @glibcpp_srcdir@
 
 # Location of installation directories.
 mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs
@@ -159,9 +159,7 @@ LOCALE_OUT = @glibcpp_MOFILES@
 MSGFMT = msgfmt
 
 # 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'
@@ -176,15 +174,15 @@ LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
 DIST_COMMON =  Makefile.am Makefile.in
 
 
-TAR = gtar
+TAR = tar
 GZIP_ENV = --best
 all: all-redirect
 .SUFFIXES:
 .SUFFIXES: .mo .po
 $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
-       cd $(top_srcdir) && $(AUTOMAKE) --cygnus po/Makefile
+       cd $(top_srcdir) && $(AUTOMAKE) --gnu po/Makefile
 
-Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
+Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status $(BUILT_SOURCES)
        cd $(top_builddir) \
          && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
 
@@ -197,8 +195,13 @@ distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
 subdir = po
 
 distdir: $(DISTFILES)
+       here=`cd $(top_builddir) && pwd`; \
+       top_distdir=`cd $(top_distdir) && pwd`; \
+       distdir=`cd $(distdir) && pwd`; \
+       cd $(top_srcdir) \
+         && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu po/Makefile
        @for file in $(DISTFILES); do \
-         if test -f $$file; then d=.; else d=$(srcdir); fi; \
+         d=$(srcdir); \
          if test -d $$d/$$file; then \
            cp -pr $$d/$$file $(distdir)/$$file; \
          else \
@@ -211,12 +214,10 @@ info-am:
 info: info-am
 dvi-am:
 dvi: dvi-am
-check-am:
+check-am: all-am
 check: check-am
 installcheck-am:
 installcheck: installcheck-am
-install-info-am: 
-install-info: install-info-am
 install-exec-am:
 install-exec: install-exec-am
 
@@ -265,12 +266,11 @@ maintainer-clean-am:  maintainer-clean-generic distclean-am
 maintainer-clean: maintainer-clean-am
 
 .PHONY: tags distdir info-am info dvi-am dvi check check-am \
-installcheck-am installcheck install-info-am install-info \
-install-exec-am install-exec install-data-local install-data-am \
-install-data install-am install uninstall-am uninstall all-local \
-all-redirect all-am all installdirs mostlyclean-generic \
-distclean-generic clean-generic maintainer-clean-generic clean \
-mostlyclean distclean maintainer-clean
+installcheck-am installcheck install-exec-am install-exec \
+install-data-local install-data-am install-data install-am install \
+uninstall-am uninstall all-local all-redirect all-am all installdirs \
+mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
 
 
 .po.mo:
@@ -309,6 +309,14 @@ install-data-local-yes: all-local-yes
          $(INSTALL_DATA) $$cat $$install_dir/$(PACKAGE).mo; \
        done
 
+# Maintainence of the .po template file.  This rule is never run automatically,
+# and updates the source directory.
+pot:
+       cd $(glibcpp_srcdir); \
+       xgettext --default-domain=$(PACKAGE) --add-comments --c++ --debug \
+         --join-existing -o po/$(PACKAGE).pot --keyword=__N \
+         `grep -r -l '__N(".*")' .`
+
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
index dab6f2f..82a0e88 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2003 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
 #include <new>
 #include <typeinfo>
 #include <ios>
+#ifdef _GLIBCPP_HAVE_LIBINTL_H
+# include <libintl.h>
+# define _(msgid)   gettext (msgid)
+#else
+# define _(msgid)   (msgid)
+#endif
 
 namespace std 
 {
@@ -54,43 +60,43 @@ namespace std
 
   void
   __throw_logic_error(const char* __s)
-  { throw logic_error(__s); }
+  { throw logic_error(_(__s)); }
 
   void
   __throw_domain_error(const char* __s)
-  { throw domain_error(__s); }
+  { throw domain_error(_(__s)); }
 
   void
   __throw_invalid_argument(const char* __s)
-  { throw invalid_argument(__s); }
+  { throw invalid_argument(_(__s)); }
 
   void
   __throw_length_error(const char* __s)
-  { throw length_error(__s); }
+  { throw length_error(_(__s)); }
 
   void
   __throw_out_of_range(const char* __s)
-  { throw out_of_range(__s); }
+  { throw out_of_range(_(__s)); }
 
   void
   __throw_runtime_error(const char* __s)
-  { throw runtime_error(__s); }
+  { throw runtime_error(_(__s)); }
 
   void
   __throw_range_error(const char* __s)
-  { throw range_error(__s); }
+  { throw range_error(_(__s)); }
 
   void
   __throw_overflow_error(const char* __s)
-  { throw overflow_error(__s); }
+  { throw overflow_error(_(__s)); }
 
   void
   __throw_underflow_error(const char* __s)
-  { throw underflow_error(__s); }
+  { throw underflow_error(_(__s)); }
 
   void
   __throw_ios_failure(const char* __s)
-  { throw ios_base::failure(__s); }
+  { throw ios_base::failure(_(__s)); }
 #else
   void
   __throw_bad_exception(void)