aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/uclibc++
diff options
context:
space:
mode:
authorFrans Meulenbroeks <fransmeulenbroeks@gmail.com>2010-11-22 20:51:10 +0100
committerFrans Meulenbroeks <fransmeulenbroeks@gmail.com>2010-11-22 23:05:45 +0100
commit458075f8b00a5d37dfb01db188154873e1974c25 (patch)
treeee40780817ab44dbb2dbc298b5d384c4d8bf53c5 /recipes/uclibc++
parente42fed4d392dbde88260bc616041c96920c71df6 (diff)
downloadopenembedded-458075f8b00a5d37dfb01db188154873e1974c25.tar.gz
uclibc++: moved to git head
Removed the 0.1.9 version as it is quite old and does not compile renamed files dir to uclibc++ added patches to get things compiling. Patches are gracefully picked from openwrt (https://dev.openwrt.org/browser/packages/libs/uclibc%2B%2B/patches?rev=24017) note that it was decided to move to git head instead of the latest release (0.2.2) because there were quite some patches after 0.2.2 was made and it does not look like there will be a new release soon (there is hardly any activity last 2 years or so). Signed-off-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com> Acked-by: Khem Raj <raj.khem@gmail.com> Acked-by: Graeme Gregory <dp@xora.org.uk>
Diffstat (limited to 'recipes/uclibc++')
-rw-r--r--recipes/uclibc++/files/nobash.patch13
-rw-r--r--recipes/uclibc++/uclibc++/006-eabi_fix.patch42
-rw-r--r--recipes/uclibc++/uclibc++/defconfig (renamed from recipes/uclibc++/files/defconfig)37
-rw-r--r--recipes/uclibc++/uclibc++_git.bb (renamed from recipes/uclibc++/uclibc++_0.1.9.bb)19
4 files changed, 61 insertions, 50 deletions
diff --git a/recipes/uclibc++/files/nobash.patch b/recipes/uclibc++/files/nobash.patch
deleted file mode 100644
index 657c47b99d..0000000000
--- a/recipes/uclibc++/files/nobash.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: uClibc++/bin/Makefile
-===================================================================
---- uClibc++.orig/bin/Makefile 2005-01-18 12:22:26.000000000 -0500
-+++ uClibc++/bin/Makefile 2005-03-10 18:19:30.799531304 -0500
-@@ -26,7 +26,7 @@
- $(INSTALL) -m 755 $(WRAPPER) $(PREFIX)$(UCLIBCXX_RUNTIME_PREFIX)$(UCLIBCXX_RUNTIME_BIN_SUBDIR)
-
- $(WRAPPER):
-- echo "#!/bin/bash" > $(WRAPPER)
-+ echo "#!/bin/sh" > $(WRAPPER)
- echo "" >> $(WRAPPER)
- echo "OPTIONS=\"$(INITIALOPTIONS)\"" >> $(WRAPPER)
- echo 'INCLIB="Y"' >> $(WRAPPER)
diff --git a/recipes/uclibc++/uclibc++/006-eabi_fix.patch b/recipes/uclibc++/uclibc++/006-eabi_fix.patch
new file mode 100644
index 0000000000..bc970a7169
--- /dev/null
+++ b/recipes/uclibc++/uclibc++/006-eabi_fix.patch
@@ -0,0 +1,42 @@
+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 @@
+ class __class_type_info;
+ } // namespace __cxxabiv1
+
++#ifndef __GXX_MERGED_TYPEINFO_NAMES
+ #if !__GXX_WEAK__
+ // If weak symbols are not supported, typeinfo names are not merged.
+ #define __GXX_MERGED_TYPEINFO_NAMES 0
+@@ -51,6 +52,7 @@
+ // On platforms that support weak symbols, typeinfo names are merged.
+ #define __GXX_MERGED_TYPEINFO_NAMES 1
+ #endif
++#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 @@
+
+ // This is the exception class we report -- "GNUCC++\0".
+ const _Unwind_Exception_Class __gxx_exception_class
++#ifndef __ARM_EABI_UNWINDER__
+ = ((((((((_Unwind_Exception_Class) 'G'
+ << 8 | (_Unwind_Exception_Class) 'N')
+ << 8 | (_Unwind_Exception_Class) 'U')
+@@ -143,6 +144,9 @@
+ << 8 | (_Unwind_Exception_Class) '+')
+ << 8 | (_Unwind_Exception_Class) '+')
+ << 8 | (_Unwind_Exception_Class) '\0');
++#else
++= "GNUC++";
++#endif
+
+ // GNU C++ personality routine, Version 0.
+ extern "C" _Unwind_Reason_Code __gxx_personality_v0
diff --git a/recipes/uclibc++/files/defconfig b/recipes/uclibc++/uclibc++/defconfig
index 19b4aa53ee..168e9a4a3c 100644
--- a/recipes/uclibc++/files/defconfig
+++ b/recipes/uclibc++/uclibc++/defconfig
@@ -1,33 +1,14 @@
#
# Automatically generated make config: don't edit
#
-# TARGET_arm is not set
-TARGET_i386=y
-# TARGET_powerpc is not set
#
-# Target Architecture Features and Options
+# Target Features and Options
#
-HAVE_ELF=y
-TARGET_ARCH="i386"
-# CONFIG_GENERIC_386 is not set
-# 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=y
-# 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
-ARCH_LITTLE_ENDIAN=y
-# ARCH_BIG_ENDIAN is not set
-UCLIBCXX_HAS_FLOATS=y
+# UCLIBCXX_HAS_FLOATS is not set
+UCLIBCXX_HAS_TLS=y
WARNINGS="-Wall"
+BUILD_EXTRA_LIBRARIES=""
HAVE_DOT_CONFIG=y
#
@@ -40,25 +21,33 @@ UCLIBCXX_SUPPORT_CDIR=y
UCLIBCXX_SUPPORT_CIN=y
UCLIBCXX_SUPPORT_COUT=y
UCLIBCXX_SUPPORT_CERR=y
+# UCLIBCXX_SUPPORT_CLOG is not set
#
# STL and Code Expansion
#
UCLIBCXX_STL_BUFFER_SIZE=32
UCLIBCXX_CODE_EXPANSION=y
+UCLIBCXX_EXPAND_CONSTRUCTORS_DESTRUCTORS=y
UCLIBCXX_EXPAND_STRING_CHAR=y
UCLIBCXX_EXPAND_VECTOR_BASIC=y
+UCLIBCXX_EXPAND_IOS_CHAR=y
+UCLIBCXX_EXPAND_STREAMBUF_CHAR=y
UCLIBCXX_EXPAND_ISTREAM_CHAR=y
UCLIBCXX_EXPAND_OSTREAM_CHAR=y
UCLIBCXX_EXPAND_FSTREAM_CHAR=y
+UCLIBCXX_EXPAND_SSTREAM_CHAR=y
#
# Library Installation Options
#
-UCLIBCXX_RUNTIME_PREFIX="/usr/$(TARGET_ARCH)-linux-uclibc"
+UCLIBCXX_RUNTIME_PREFIX="/usr/uClibc++"
UCLIBCXX_RUNTIME_INCLUDE_SUBDIR="/include"
UCLIBCXX_RUNTIME_LIB_SUBDIR="/lib"
UCLIBCXX_RUNTIME_BIN_SUBDIR="/bin"
UCLIBCXX_EXCEPTION_SUPPORT=y
IMPORT_LIBSUP=y
+IMPORT_LIBGCC_EH=y
+BUILD_STATIC_LIB=y
+# BUILD_ONLY_STATIC_LIB is not set
# DODEBUG is not set
diff --git a/recipes/uclibc++/uclibc++_0.1.9.bb b/recipes/uclibc++/uclibc++_git.bb
index be1ac1435c..5b0d374ecd 100644
--- a/recipes/uclibc++/uclibc++_0.1.9.bb
+++ b/recipes/uclibc++/uclibc++_git.bb
@@ -5,24 +5,20 @@ LICENSE = "LGPL"
PRIORITY = "optional"
SECTION = "libs"
-PR = "r2"
+PR = "r0"
-SRC_URI = "http://cxx.uclibc.org/src/uClibc++-${PV}.tbz2 \
- file://nobash.patch \
+SRCREV = "7efcc107b6bf7a59a85beaf7c7f35da6de0f321e"
+
+SRC_URI = "git://git.busybox.net/uClibc++;protocol=git \
+ file://006-eabi_fix.patch \
file://defconfig"
-S = "${WORKDIR}/uClibc++"
+S = "${WORKDIR}/git"
# uClibc++ runtime prefix directory (UCLIBCXX_RUNTIME_PREFIX) [/usr/$(TARGET_ARCH)-linux-uclibc] (NEW)
# uClibc++ header file subdirectory (UCLIBCXX_RUNTIME_INCLUDE_SUBDIR) [/include] (NEW)
# uClibc++ library subdirectory (UCLIBCXX_RUNTIME_LIB_SUBDIR) [/lib] (NEW)
# uClibc++ application file subdirectory (UCLIBCXX_RUNTIME_BIN_SUBDIR) [/bin] (NEW)
-do_unpack_real () {
- bzcat uClibc++-${PV}.tbz2 | tar -xvf -
-}
-do_unpack_real[dirs] = "${WORKDIR}"
-addtask unpack_real before do_patch after do_unpack
-
EXTRA_OEMAKE = "'OPTIMIZATION=' 'XWARNINGS=' 'XARCH_CFLAGS=${CFLAGS}' \
'CPU_FLAGS=' 'STRIPTOOL=true' 'LD=${LD}'"
configmangle = 's,^UCLIBCXX_RUNTIME_PREFIX=.*,UCLIBCXX_RUNTIME_PREFIX="${exec_prefix}",; \
@@ -49,6 +45,3 @@ PACKAGES = "g++-uc libuclibc++ libuclibc++-dev"
FILES_g++-uc = "${bindir}/g++-uc"
FILES_libuclibc++ = "${libdir}/*.so.*"
FILES_libuclibc++-dev = "${FILES_uclibc++-dev}"
-
-SRC_URI[md5sum] = "ebf58e04d72eab5c131c2c9118737024"
-SRC_URI[sha256sum] = "82342a5d6088421e79699dd7af614ebecf6dd335eabce07690902a379f5ea8de"