[oe-commits] Frans Meulenbroeks : uclibc++: moved to git head

git version control git at git.openembedded.org
Tue Nov 23 00:01:48 UTC 2010


Module: openembedded.git
Branch: release-2010.12
Commit: 457b43edff4b801e5d0122a0adea83226d0f252d
URL:    http://gitweb.openembedded.net/?p=openembedded.git&a=commit;h=457b43edff4b801e5d0122a0adea83226d0f252d

Author: Frans Meulenbroeks <fransmeulenbroeks at gmail.com>
Date:   Mon Nov 22 20:51:10 2010 +0100

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 at gmail.com>
Acked-by: Khem Raj <raj.khem at gmail.com>
Acked-by: Graeme Gregory <dp at xora.org.uk>

---

 recipes/uclibc++/files/nobash.patch                |   13 ------
 recipes/uclibc++/uclibc++/006-eabi_fix.patch       |   42 ++++++++++++++++++++
 recipes/uclibc++/{files => uclibc++}/defconfig     |   37 ++++++-----------
 .../{uclibc++_0.1.9.bb => uclibc++_git.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 657c47b..0000000
--- 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 0000000..bc970a7
--- /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
similarity index 54%
rename from recipes/uclibc++/files/defconfig
rename to recipes/uclibc++/uclibc++/defconfig
index 19b4aa5..168e9a4 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
similarity index 78%
rename from recipes/uclibc++/uclibc++_0.1.9.bb
rename to recipes/uclibc++/uclibc++_git.bb
index be1ac14..5b0d374 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"





More information about the Openembedded-commits mailing list