update uclibc++ to latest upstream version (0.2.1), add portability fixes
authorFelix Fietkau <nbd@openwrt.org>
Sat, 14 Oct 2006 16:10:11 +0000 (16:10 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Sat, 14 Oct 2006 16:10:11 +0000 (16:10 +0000)
SVN-Revision: 5090

libs/uclibc++/Makefile
libs/uclibc++/files/config.armeb
libs/uclibc++/files/config.i386
libs/uclibc++/files/config.mips
libs/uclibc++/patches/001-lower_bound.patch [deleted file]
libs/uclibc++/patches/001-path_to_make.patch [new file with mode: 0644]
libs/uclibc++/patches/002-path_to_bash.patch [new file with mode: 0644]
libs/uclibc++/patches/003-cp_command.patch [new file with mode: 0644]

index 0e8e966..3723411 100644 (file)
@@ -9,13 +9,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=uclibc++
-PKG_VERSION:=0.2.0
+PKG_VERSION:=0.2.1
 PKG_RELEASE:=1
 
 PKG_BUILD_DIR:=$(BUILD_DIR)/uClibc++-$(PKG_VERSION)
-PKG_SOURCE:=uClibc++-$(PKG_VERSION).tbz2
+PKG_SOURCE:=uClibc++-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=http://cxx.uclibc.org/src/
-PKG_MD5SUM:=33e01302511c9a1987fb104f12d173e1
+PKG_MD5SUM:=6e6032c49916b199ffe6a585552fd46b
 PKG_CAT:=bzcat
 
 include $(INCLUDE_DIR)/package.mk
@@ -52,6 +52,7 @@ define Build/Compile
                $(TARGET_CONFIGURE_OPTS) \
                ARCH_CFLAGS="$(TARGET_CFLAGS)" \
                CROSS="$(TARGET_CROSS)" \
+               CP="$(CP)" \
                all
 endef
 
index 3324505..944e1a6 100644 (file)
@@ -1,41 +1,15 @@
 #
 # Automatically generated make config: don't edit
 #
-# TARGET_alpha is not set
-TARGET_arm=y
-# TARGET_i386 is not set
-# TARGET_mips is not set
-# TARGET_parisc is not set
-# TARGET_powerpc is not set
-# TARGET_x86_64 is not set
 
 #
-# Target Architecture Features and Options
+# Target Features and Options
 #
-TARGET_ARCH="arm"
-ARCH_SUPPORTS_LITTLE_ENDIAN=y
-ARCH_SUPPORTS_BIG_ENDIAN=y
-# CONFIG_GENERIC_ARM is not set
-# CONFIG_ARM610 is not set
-# CONFIG_ARM710 is not set
-# CONFIG_ARM720T is not set
-# CONFIG_ARM920T is not set
-# CONFIG_ARM922T is not set
-# CONFIG_ARM926T is not set
-# CONFIG_ARM_SA110 is not set
-# CONFIG_ARM_SA1100 is not set
-CONFIG_ARM_XSCALE=y
-# CONFIG_MIPS_ISA_1 is not set
-# CONFIG_MIPS_ISA_2 is not set
-# CONFIG_MIPS_ISA_3 is not set
-# CONFIG_MIPS_ISA_4 is not set
-# CONFIG_MIPS_ISA_MIPS32 is not set
-# CONFIG_MIPS_ISA_MIPS64 is not set
-# ARCH_LITTLE_ENDIAN is not set
-ARCH_BIG_ENDIAN=y
 UCLIBCXX_HAS_FLOATS=y
 # UCLIBCXX_HAS_LONG_DOUBLE is not set
+# UCLIBCXX_HAS_TLS is not set
 WARNINGS="-Wall"
+BUILD_EXTRA_LIBRARIES=""
 HAVE_DOT_CONFIG=y
 
 #
index e90d77e..ee8fa74 100644 (file)
@@ -1,44 +1,15 @@
 #
 # Automatically generated make config: don't edit
 #
-# TARGET_alpha is not set
-# TARGET_arm is not set
-TARGET_i386=y
-# TARGET_mips is not set
-# TARGET_parisc is not set
-# TARGET_powerpc is not set
-# TARGET_x86_64 is not set
 
 #
-# Target Architecture Features and Options
+# Target Features and Options
 #
-TARGET_ARCH="i386"
-ARCH_SUPPORTS_LITTLE_ENDIAN=y
-CONFIG_GENERIC_386=y
-# CONFIG_386 is not set
-# CONFIG_486 is not set
-# CONFIG_586 is not set
-# CONFIG_586MMX is not set
-# CONFIG_686 is not set
-# CONFIG_PENTIUMIII is not set
-# CONFIG_PENTIUM4 is not set
-# CONFIG_K6 is not set
-# CONFIG_K7 is not set
-# CONFIG_CRUSOE is not set
-# CONFIG_WINCHIPC6 is not set
-# CONFIG_WINCHIP2 is not set
-# CONFIG_CYRIXIII is not set
-# CONFIG_MIPS_ISA_1 is not set
-# CONFIG_MIPS_ISA_2 is not set
-# CONFIG_MIPS_ISA_3 is not set
-# CONFIG_MIPS_ISA_4 is not set
-# CONFIG_MIPS_ISA_MIPS32 is not set
-# CONFIG_MIPS_ISA_MIPS64 is not set
-ARCH_LITTLE_ENDIAN=y
-# ARCH_BIG_ENDIAN is not set
 UCLIBCXX_HAS_FLOATS=y
 UCLIBCXX_HAS_LONG_DOUBLE=y
+# UCLIBCXX_HAS_TLS is not set
 WARNINGS="-Wall"
+BUILD_EXTRA_LIBRARIES=""
 HAVE_DOT_CONFIG=y
 
 #
index 9137af6..944e1a6 100644 (file)
@@ -1,32 +1,15 @@
 #
 # Automatically generated make config: don't edit
 #
-# TARGET_alpha is not set
-# TARGET_arm is not set
-# TARGET_i386 is not set
-TARGET_mips=y
-# TARGET_parisc is not set
-# TARGET_powerpc is not set
-# TARGET_x86_64 is not set
 
 #
-# Target Architecture Features and Options
+# Target Features and Options
 #
-TARGET_ARCH="mips"
-ARCH_SUPPORTS_LITTLE_ENDIAN=y
-ARCH_CFLAGS="-mno-split-addresses"
-ARCH_SUPPORTS_BIG_ENDIAN=y
-# CONFIG_MIPS_ISA_1 is not set
-# CONFIG_MIPS_ISA_2 is not set
-# CONFIG_MIPS_ISA_3 is not set
-# CONFIG_MIPS_ISA_4 is not set
-CONFIG_MIPS_ISA_MIPS32=y
-# CONFIG_MIPS_ISA_MIPS64 is not set
-ARCH_LITTLE_ENDIAN=y
-# ARCH_BIG_ENDIAN is not set
 UCLIBCXX_HAS_FLOATS=y
 # UCLIBCXX_HAS_LONG_DOUBLE is not set
+# UCLIBCXX_HAS_TLS is not set
 WARNINGS="-Wall"
+BUILD_EXTRA_LIBRARIES=""
 HAVE_DOT_CONFIG=y
 
 #
diff --git a/libs/uclibc++/patches/001-lower_bound.patch b/libs/uclibc++/patches/001-lower_bound.patch
deleted file mode 100644 (file)
index 9780b97..0000000
+++ /dev/null
@@ -1,157 +0,0 @@
-diff -Nur uClibc++-0.2.0/include/map uClibc++-0.2.0-patched/include/map
---- uClibc++-0.2.0/include/map 2006-02-28 17:35:16.000000000 -0800
-+++ uClibc++-0.2.0-patched/include/map 2006-09-06 00:42:25.000000000 -0700
-@@ -599,7 +599,7 @@
-                       return retval;
-                 }
--              retval.first = lower_bound(x.first);
-+              retval.first = __base_map<Key, T, Compare, Allocator>::lower_bound(x.first);
-               //No match - this should never happen
-               if(retval.first == end()){
-@@ -616,7 +616,7 @@
-               typename deque<pair<Key, T>, allocator<pair<Key, T> > >::iterator q(&data, retval.first.element);
-               data.insert(q, x);
--              retval.first = lower_bound(x.first);        //Need to refind because insert can move data around
-+              retval.first = __base_map<Key, T, Compare, Allocator>::lower_bound(x.first);        //Need to refind because insert can move data around
-               retval.second = true;
-               return retval;
-@@ -680,7 +680,7 @@
-                       return end();
-               }
--              iterator retval = lower_bound(x);
-+              iterator retval = __base_map<Key, T, Compare, Allocator>::lower_bound(x);
-               if(retval == end()){
-                       return retval;
-@@ -702,7 +702,7 @@
-                       return end();
-               }
--              const_iterator retval = lower_bound(x);
-+              const_iterator retval = __base_map<Key, T, Compare, Allocator>::lower_bound(x);
-               if(retval == end()){
-                       return retval;
-@@ -730,7 +730,7 @@
-               typename map<Key, T, Compare, Allocator>::iterator
-               map<Key, T, Compare, Allocator>::upper_bound(const key_type& x)
-       {
--              typename map<Key, T, Compare, Allocator>::iterator i = lower_bound(x);
-+              typename map<Key, T, Compare, Allocator>::iterator i = __base_map<Key, T, Compare, Allocator>::lower_bound(x);
-               if( i != end() && !c(x, i->first) ){
-                       ++i;
-               }
-@@ -741,7 +741,7 @@
-               typename map<Key, T, Compare, Allocator>::const_iterator
-               map<Key, T, Compare, Allocator>::upper_bound(const key_type& x) const
-       {
--              typename map<Key, T, Compare, Allocator>::const_iterator i = lower_bound(x);
-+              typename map<Key, T, Compare, Allocator>::const_iterator i = __base_map<Key, T, Compare, Allocator>::lower_bound(x);
-               if(i != end() && !c(x, i->first)){
-                       ++i;
-               }
-@@ -757,8 +757,8 @@
-               pair<   typename map<Key, T, Compare, Allocator>::iterator,
-                         typename map<Key, T, Compare, Allocator>::iterator
-                 > retval;
--              retval.first = lower_bound(x);
--              retval.second = upper_bound(x);
-+              retval.first = __base_map<Key, T, Compare, Allocator>::lower_bound(x);
-+              retval.second = __base_map<Key, T, Compare, Allocator>::upper_bound(x);
-               return retval;          
-       }
-@@ -770,8 +770,8 @@
-               pair<   typename map<Key, T, Compare, Allocator>::const_iterator,
-                         typename map<Key, T, Compare, Allocator>::const_iterator
-                 > retval;
--              retval.first = lower_bound(x);
--              retval.second = upper_bound(x);
-+              retval.first = __base_map<Key, T, Compare, Allocator>::lower_bound(x);
-+              retval.second = __base_map<Key, T, Compare, Allocator>::upper_bound(x);
-               return retval;          
-       }
-@@ -902,7 +902,7 @@
-                       return end();
-                 }
--              retval = lower_bound(x.first);
-+              retval = __base_map<Key, T, Compare, Allocator>::lower_bound(x.first);
-               //No match - this should never happen
-               if(retval == end()){
-@@ -973,8 +973,8 @@
-               typename multimap<Key, T, Compare, Allocator>::size_type
-               multimap<Key, T, Compare, Allocator>::erase(const key_type& x)
-       {
--              typename multimap<Key, T, Compare, Allocator>::iterator f = lower_bound(x);
--              typename multimap<Key, T, Compare, Allocator>::iterator l = upper_bound(x);
-+              typename multimap<Key, T, Compare, Allocator>::iterator f = __base_map<Key, T, Compare, Allocator>::lower_bound(x);
-+              typename multimap<Key, T, Compare, Allocator>::iterator l = __base_map<Key, T, Compare, Allocator>::upper_bound(x);
-               size_type t = l.element - f.element;
-               erase(f, l);
-               return t;
-@@ -999,7 +999,7 @@
-                       return end();
-               }
--              iterator retval = lower_bound(x);
-+              iterator retval = __base_map<Key, T, Compare, Allocator>::lower_bound(x);
-               if(retval == end()){
-                       return retval;
-@@ -1027,7 +1027,7 @@
-               if(data.size() == 0){
-                       return end();
-               }
--              const_iterator retval = lower_bound(x);
-+              const_iterator retval = __base_map<Key, T, Compare, Allocator>::lower_bound(x);
-               if(retval == end()){
-                       return retval;
-@@ -1065,7 +1065,7 @@
-               typename multimap<Key, T, Compare, Allocator>::iterator
-               multimap<Key, T, Compare, Allocator>::upper_bound(const key_type& x)
-       {
--              typename multimap<Key, T, Compare, Allocator>::iterator i = lower_bound(x);
-+              typename multimap<Key, T, Compare, Allocator>::iterator i = __base_map<Key, T, Compare, Allocator>::lower_bound(x);
-               while(i != end() && !c(x, i->first)){
-                       ++i;
-@@ -1077,7 +1077,7 @@
-               typename multimap<Key, T, Compare, Allocator>::const_iterator
-               multimap<Key, T, Compare, Allocator>::upper_bound(const key_type& x) const
-       {
--              typename multimap<Key, T, Compare, Allocator>::const_iterator i = lower_bound(x);
-+              typename multimap<Key, T, Compare, Allocator>::const_iterator i = __base_map<Key, T, Compare, Allocator>::lower_bound(x);
-               while(i != end() && !c(x, i->first)){
-                       ++i;
-@@ -1094,8 +1094,8 @@
-               pair<   typename multimap<Key, T, Compare, Allocator>::iterator,
-                         typename multimap<Key, T, Compare, Allocator>::iterator
-                 > retval;
--              retval.first = lower_bound(x);
--              retval.second = upper_bound(x);
-+              retval.first = __base_map<Key, T, Compare, Allocator>::lower_bound(x);
-+              retval.second = __base_map<Key, T, Compare, Allocator>::upper_bound(x);
-               return retval;          
-       }
-@@ -1107,8 +1107,8 @@
-               pair<   typename multimap<Key, T, Compare, Allocator>::const_iterator,
-                         typename multimap<Key, T, Compare, Allocator>::const_iterator
-                 > retval;
--              retval.first = lower_bound(x);
--              retval.second = upper_bound(x);
-+              retval.first = __base_map<Key, T, Compare, Allocator>::lower_bound(x);
-+              retval.second = __base_map<Key, T, Compare, Allocator>::upper_bound(x);
-               return retval;          
-       }
diff --git a/libs/uclibc++/patches/001-path_to_make.patch b/libs/uclibc++/patches/001-path_to_make.patch
new file mode 100644 (file)
index 0000000..840dac3
--- /dev/null
@@ -0,0 +1,30 @@
+diff -ur old/Makefile dev/Makefile
+--- old/Makefile       Sat Oct 14 17:49:55 2006
++++ dev/Makefile       Sat Oct 14 17:50:18 2006
+@@ -1,4 +1,3 @@
+-MAKE    = make
+ SUBDIRS = bin include src
+ # User defines:
+@@ -43,10 +42,10 @@
+ #Menu configuration system
+ extra/config/conf:
+-      make -C extra/config conf
++      $(MAKE) -C extra/config conf
+ extra/config/mconf:
+-      make -C extra/config ncurses mconf
++      $(MAKE) -C extra/config ncurses mconf
+ menuconfig: extra/config/mconf
+       @./extra/config/mconf extra/Configs/Config.in
+@@ -71,7 +70,7 @@
+ include/system_configuration.h: .config
+       @if [ ! -x ./extra/config/conf ] ; then \
+-              make -C extra/config conf; \
++              $(MAKE) -C extra/config conf; \
+       fi;
+       @./extra/config/conf -o extra/Configs/Config.in
diff --git a/libs/uclibc++/patches/002-path_to_bash.patch b/libs/uclibc++/patches/002-path_to_bash.patch
new file mode 100644 (file)
index 0000000..46b793b
--- /dev/null
@@ -0,0 +1,12 @@
+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 @@
+       $(INSTALL) -m 755 $(WRAPPER) $(PREFIX)$(UCLIBCXX_RUNTIME_BINDIR)
+ $(WRAPPER):
+-      echo "#!/bin/bash" > $(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)
diff --git a/libs/uclibc++/patches/003-cp_command.patch b/libs/uclibc++/patches/003-cp_command.patch
new file mode 100644 (file)
index 0000000..53d0ed7
--- /dev/null
@@ -0,0 +1,19 @@
+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)