include $(TOPDIR)/rules.mk
PKG_NAME:=uclibc++
-PKG_VERSION:=0.2.3
+PKG_VERSION:=0.2.4
PKG_RELEASE:=1
PKG_SOURCE:=uClibc++-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=http://cxx.uclibc.org/src/
-PKG_MD5SUM:=fd71a433ce1de85885d658f47885ab30
+PKG_MD5SUM:=394c119363dd8b469fb898442a6764b8
PKG_BUILD_DIR:=$(BUILD_DIR)/uClibc++-$(PKG_VERSION)
PKG_BUILD_PARALLEL:=1
-diff -ur old/bin/Makefile dev/bin/Makefile
---- old/bin/Makefile Sat Oct 14 17:49:54 2006
-+++ dev/bin/Makefile Sat Oct 14 17:57:33 2006
-@@ -13,7 +13,7 @@
+--- a/bin/Makefile
++++ b/bin/Makefile
+@@ -13,7 +13,7 @@ install:
$(INSTALL) -m 755 $(WRAPPER) $(PREFIX)$(UCLIBCXX_RUNTIME_BINDIR)
- $(WRAPPER):
-- echo '#!/bin/sh' > $(WRAPPER)
-+ echo '#!/usr/bin/env bash' > $(WRAPPER)
- echo '' >> $(WRAPPER)
- echo 'WRAPPER_INCLUDEDIR="$${WRAPPER_INCLUDEDIR:=-I$(UCLIBCXX_RUNTIME_INCLUDEDIR)}"' >> $(WRAPPER)
- echo 'WRAPPER_LIBDIR="$${WRAPPER_LIBDIR:=-L$(UCLIBCXX_RUNTIME_LIBDIR)}"' >> $(WRAPPER)
+ $(WRAPPER): Makefile
+- echo '#!/bin/sh' > $@
++ echo '#!/usr/bin/env bash' > $@
+ echo '' >> $@
+ echo 'WRAPPER_INCLUDEDIR="$${WRAPPER_INCLUDEDIR:=-I$(UCLIBCXX_RUNTIME_INCLUDEDIR)}"' >> $@
+ echo 'WRAPPER_LIBDIR="$${WRAPPER_LIBDIR:=-L$(UCLIBCXX_RUNTIME_LIBDIR)}"' >> $@
+++ /dev/null
-diff -ur old/src/Makefile dev/src/Makefile
---- old/src/Makefile Sat Oct 14 17:49:54 2006
-+++ dev/src/Makefile Sat Oct 14 18:02:30 2006
-@@ -25,12 +25,14 @@
-
- all: libgcc_eh libsupc $(EXOBJS) $(ALLBIN)
-
-+CP = cp -fPR
-+
- install:
- $(INSTALL) -d $(PREFIX)$(UCLIBCXX_RUNTIME_LIBDIR)
- ifneq ($(BUILD_ONLY_STATIC_LIB),y)
- $(INSTALL) -m 755 $(SHARED_FULLNAME) \
- $(PREFIX)$(UCLIBCXX_RUNTIME_LIBDIR)
-- cp -fa $(SHARED_MAJORNAME) $(LIBNAME).so $(PREFIX)$(UCLIBCXX_RUNTIME_LIBDIR)
-+ $(CP) $(SHARED_MAJORNAME) $(LIBNAME).so $(PREFIX)$(UCLIBCXX_RUNTIME_LIBDIR)
- endif
- ifeq ($(BUILD_STATIC_LIB),y)
- $(INSTALL) -m 644 $(LIBNAME).a $(PREFIX)$(UCLIBCXX_RUNTIME_LIBDIR)
+++ /dev/null
-diff -ruN uClibc++-0.2.2-old/src/abi/libgcc_eh/Makefile uClibc++-0.2.2-new/src/abi/libgcc_eh/Makefile
---- uClibc++-0.2.2-old/src/abi/libgcc_eh/Makefile 2007-06-04 00:51:13.000000000 +0200
-+++ uClibc++-0.2.2-new/src/abi/libgcc_eh/Makefile 2007-09-03 21:51:07.000000000 +0200
-@@ -16,7 +16,7 @@
- #
- #else
- # echo Binary
-- $(AR) x $(shell CC=$(CC) $(TOPDIR)/scripts/find_libgcc_eh.sh)
-+ $(AR) x $(shell CC="$(CC)" $(TOPDIR)/scripts/find_libgcc_eh.sh)
- #endif
- #endif
-
-diff -ruN uClibc++-0.2.2-old/src/abi/libsupc/Makefile uClibc++-0.2.2-new/src/abi/libsupc/Makefile
---- uClibc++-0.2.2-old/src/abi/libsupc/Makefile 2007-06-04 00:51:13.000000000 +0200
-+++ uClibc++-0.2.2-new/src/abi/libsupc/Makefile 2007-09-03 21:51:17.000000000 +0200
-@@ -14,7 +14,7 @@
- #
- #else
- # echo Binary
-- $(AR) x $(shell CC=$(CC) $(TOPDIR)/scripts/find_libsupc.sh)
-+ $(AR) x $(shell CC="$(CC)" $(TOPDIR)/scripts/find_libsupc.sh)
- $(RM) -f new_op*.o del_op*.o pure.o new_handler.o eh_alloc.o eh_globals.o
- #
- #endif
+++ /dev/null
-diff -ruN uClibc++-0.2.2-old/bin/Makefile uClibc++-0.2.2-new/bin/Makefile
---- uClibc++-0.2.2-old/bin/Makefile 2007-09-23 13:46:10.000000000 +0200
-+++ uClibc++-0.2.2-new/bin/Makefile 2007-09-23 13:47:03.000000000 +0200
-@@ -25,7 +25,7 @@
- echo 'while [ -n "$$1" ]' >> $(WRAPPER)
- echo 'do' >> $(WRAPPER)
- echo ' WRAPPER_OPTIONS="$$WRAPPER_OPTIONS $$1"' >> $(WRAPPER)
-- echo ' if [ "$$1" = "-c" -o "$$1" = "-E" -o "$$1" = "-S" ]' >> $(WRAPPER)
-+ echo ' if [ "$$1" = "-c" -o "$$1" = "-E" -o "$$1" = "-S" -o "$$1" = "-MF" ]' >> $(WRAPPER)
- echo ' then' >> $(WRAPPER)
- echo ' WRAPPER_INCLIB="N"' >> $(WRAPPER)
- echo ' fi' >> $(WRAPPER)
-Index: uClibc++-0.2.2/include/typeinfo
-===================================================================
---- uClibc++-0.2.2.orig/include/typeinfo 2008-02-13 00:37:04.000000000 +0100
-+++ uClibc++-0.2.2/include/typeinfo 2008-02-13 00:37:34.000000000 +0100
-@@ -44,6 +44,7 @@
+--- a/include/typeinfo
++++ b/include/typeinfo
+@@ -44,6 +44,7 @@ namespace __cxxabiv1
class __class_type_info;
} // namespace __cxxabiv1
#if !__GXX_WEAK__
// If weak symbols are not supported, typeinfo names are not merged.
#define __GXX_MERGED_TYPEINFO_NAMES 0
-@@ -51,6 +52,7 @@
+@@ -51,6 +52,7 @@ namespace __cxxabiv1
// On platforms that support weak symbols, typeinfo names are merged.
#define __GXX_MERGED_TYPEINFO_NAMES 1
#endif
namespace std
{
-Index: uClibc++-0.2.2/include/unwind-cxx.h
-===================================================================
---- uClibc++-0.2.2.orig/include/unwind-cxx.h 2008-02-13 00:38:04.000000000 +0100
-+++ uClibc++-0.2.2/include/unwind-cxx.h 2008-02-13 00:40:32.000000000 +0100
-@@ -135,6 +135,7 @@
+--- a/include/unwind-cxx.h
++++ b/include/unwind-cxx.h
+@@ -173,6 +173,7 @@ extern std::unexpected_handler __unexpec
// This is the exception class we report -- "GNUCC++\0".
const _Unwind_Exception_Class __gxx_exception_class
= ((((((((_Unwind_Exception_Class) 'G'
<< 8 | (_Unwind_Exception_Class) 'N')
<< 8 | (_Unwind_Exception_Class) 'U')
-@@ -143,6 +144,9 @@
+@@ -181,6 +182,9 @@ const _Unwind_Exception_Class __gxx_exce
<< 8 | (_Unwind_Exception_Class) '+')
<< 8 | (_Unwind_Exception_Class) '+')
<< 8 | (_Unwind_Exception_Class) '\0');
+++ /dev/null
---- a/include/associative_base
-+++ b/include/associative_base
-@@ -511,7 +511,7 @@
-
- pair<iterator, bool> insert(const value_type& x){
- pair<iterator, bool> retval;
-- iterator location = lower_bound(value_to_key(x));
-+ iterator location = lower_bound(this->value_to_key(x));
- retval.second = true;
- //Empty list or need to insert at end
- if(end() == location){
-@@ -520,7 +520,7 @@
- return retval;
- }
- //Something in the list
-- if(c(value_to_key(x), value_to_key(*location))){
-+ if(c(this->value_to_key(x), this->value_to_key(*location))){
- location = backing.insert(location.base_iterator(), x);
- retval.first = location;
- }else{
-@@ -604,7 +604,7 @@
- }
-
- iterator insert(const value_type& x){
-- iterator location = lower_bound(value_to_key(x));
-+ iterator location = lower_bound(this->value_to_key(x));
-
- if(location == begin()){
- backing.push_front(x);
---- a/include/fstream
-+++ b/include/fstream
-@@ -72,9 +72,9 @@
- pbuffer = new char_type[__UCLIBCXX_IOSTREAM_BUFSIZE__];
- gbuffer = new char_type[__UCLIBCXX_IOSTREAM_BUFSIZE__];
-
-- setp(pbuffer, pbuffer + __UCLIBCXX_IOSTREAM_BUFSIZE__);
-+ this->setp(pbuffer, pbuffer + __UCLIBCXX_IOSTREAM_BUFSIZE__);
- //Position get buffer so that there is no data available
-- setg(gbuffer, gbuffer + __UCLIBCXX_IOSTREAM_BUFSIZE__,
-+ this->setg(gbuffer, gbuffer + __UCLIBCXX_IOSTREAM_BUFSIZE__,
- gbuffer + __UCLIBCXX_IOSTREAM_BUFSIZE__);
- }
-
---- a/include/string
-+++ b/include/string
-@@ -426,7 +426,7 @@
- }
- _UCXXEXPORT size_type find (Ch c, size_type pos = 0) const{
- for(size_type i = pos; i < length(); ++i){
-- if(operator[](i) == c){
-+ if(this->operator[](i) == c){
- return i;
- }
- }
-@@ -456,7 +456,7 @@
- _UCXXEXPORT size_type find_first_of(const basic_string& str, size_type pos = 0) const{
- for(size_type i = pos; i < length(); ++i){
- for(size_type j = 0; j < str.length() ; ++j){
-- if( Tr::eq(str[j], operator[](i)) ){
-+ if( Tr::eq(str[j], this->operator[](i)) ){
- return i;
- }
- }
-@@ -472,7 +472,7 @@
- }
- _UCXXEXPORT size_type find_first_of(Ch c, size_type pos = 0) const{
- for(size_type i = pos; i< length(); ++i){
-- if( Tr::eq(operator[](i), c) ){
-+ if( Tr::eq(this->operator[](i), c) ){
- return i;
- }
- }
-@@ -485,7 +485,7 @@
- }
- for(size_type i = pos; i >0 ; --i){
- for(size_type j = 0 ; j < str.length(); ++j){
-- if( Tr::eq(operator[](i-1), str[j]) ){
-+ if( Tr::eq(this->operator[](i-1), str[j]) ){
- return i-1;
- }
- }
-@@ -503,7 +503,7 @@
- pos = length();
- }
- for(size_type i = pos; i >0 ; --i){
-- if( Tr::eq(operator[](i-1), c) ){
-+ if( Tr::eq(this->operator[](i-1), c) ){
- return i-1;
- }
- }
-@@ -515,7 +515,7 @@
- for(size_type i = pos; i < length(); ++i){
- foundCharacter = false;
- for(size_type j = 0; j < str.length() ; ++j){
-- if( Tr::eq(str[j], operator[](i)) ){
-+ if( Tr::eq(str[j], this->operator[](i)) ){
- foundCharacter = true;
- }
- }
-@@ -534,7 +534,7 @@
- }
- _UCXXEXPORT size_type find_first_not_of(Ch c, size_type pos = 0) const{
- for(size_type i = pos; i < length() ; ++i){
-- if(operator[](i) != c){
-+ if(this->operator[](i) != c){
- return i;
- }
- }
-@@ -546,7 +546,7 @@
- xpos = pos;
- }
-
-- while(xpos != npos && npos != str.find_first_of(at(xpos))){
-+ while(xpos != npos && npos != str.find_first_of(this->at(xpos))){
- --xpos;
- }
-
-@@ -564,7 +564,7 @@
- if(xpos > pos){
- xpos = pos;
- }
-- while(xpos != npos && Tr::eq(at(xpos), c)){
-+ while(xpos != npos && Tr::eq(this->at(xpos), c)){
- --xpos;
- }
- return xpos;