update uclibc++ to latest upstream version (0.2.1), add portability fixes
git-svn-id: svn://svn.openwrt.org/openwrt/packages@5090 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
65b86e1221
commit
64c5bcb8ab
@ -9,13 +9,13 @@
|
|||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=uclibc++
|
PKG_NAME:=uclibc++
|
||||||
PKG_VERSION:=0.2.0
|
PKG_VERSION:=0.2.1
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
PKG_BUILD_DIR:=$(BUILD_DIR)/uClibc++-$(PKG_VERSION)
|
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_SOURCE_URL:=http://cxx.uclibc.org/src/
|
||||||
PKG_MD5SUM:=33e01302511c9a1987fb104f12d173e1
|
PKG_MD5SUM:=6e6032c49916b199ffe6a585552fd46b
|
||||||
PKG_CAT:=bzcat
|
PKG_CAT:=bzcat
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
@ -52,6 +52,7 @@ define Build/Compile
|
|||||||
$(TARGET_CONFIGURE_OPTS) \
|
$(TARGET_CONFIGURE_OPTS) \
|
||||||
ARCH_CFLAGS="$(TARGET_CFLAGS)" \
|
ARCH_CFLAGS="$(TARGET_CFLAGS)" \
|
||||||
CROSS="$(TARGET_CROSS)" \
|
CROSS="$(TARGET_CROSS)" \
|
||||||
|
CP="$(CP)" \
|
||||||
all
|
all
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
@ -1,41 +1,15 @@
|
|||||||
#
|
#
|
||||||
# Automatically generated make config: don't edit
|
# 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_FLOATS=y
|
||||||
# UCLIBCXX_HAS_LONG_DOUBLE is not set
|
# UCLIBCXX_HAS_LONG_DOUBLE is not set
|
||||||
|
# UCLIBCXX_HAS_TLS is not set
|
||||||
WARNINGS="-Wall"
|
WARNINGS="-Wall"
|
||||||
|
BUILD_EXTRA_LIBRARIES=""
|
||||||
HAVE_DOT_CONFIG=y
|
HAVE_DOT_CONFIG=y
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -1,44 +1,15 @@
|
|||||||
#
|
#
|
||||||
# Automatically generated make config: don't edit
|
# 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_FLOATS=y
|
||||||
UCLIBCXX_HAS_LONG_DOUBLE=y
|
UCLIBCXX_HAS_LONG_DOUBLE=y
|
||||||
|
# UCLIBCXX_HAS_TLS is not set
|
||||||
WARNINGS="-Wall"
|
WARNINGS="-Wall"
|
||||||
|
BUILD_EXTRA_LIBRARIES=""
|
||||||
HAVE_DOT_CONFIG=y
|
HAVE_DOT_CONFIG=y
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -1,32 +1,15 @@
|
|||||||
#
|
#
|
||||||
# Automatically generated make config: don't edit
|
# 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_FLOATS=y
|
||||||
# UCLIBCXX_HAS_LONG_DOUBLE is not set
|
# UCLIBCXX_HAS_LONG_DOUBLE is not set
|
||||||
|
# UCLIBCXX_HAS_TLS is not set
|
||||||
WARNINGS="-Wall"
|
WARNINGS="-Wall"
|
||||||
|
BUILD_EXTRA_LIBRARIES=""
|
||||||
HAVE_DOT_CONFIG=y
|
HAVE_DOT_CONFIG=y
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -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;
|
|
||||||
}
|
|
||||||
|
|
30
libs/uclibc++/patches/001-path_to_make.patch
Normal file
30
libs/uclibc++/patches/001-path_to_make.patch
Normal file
@ -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
|
||||||
|
|
12
libs/uclibc++/patches/002-path_to_bash.patch
Normal file
12
libs/uclibc++/patches/002-path_to_bash.patch
Normal file
@ -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)
|
19
libs/uclibc++/patches/003-cp_command.patch
Normal file
19
libs/uclibc++/patches/003-cp_command.patch
Normal file
@ -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)
|
Loading…
x
Reference in New Issue
Block a user