diff options
author | Frans Meulenbroeks <fransmeulenbroeks@gmail.com> | 2010-11-22 20:51:10 +0100 |
---|---|---|
committer | Frans Meulenbroeks <fransmeulenbroeks@gmail.com> | 2010-11-22 23:05:45 +0100 |
commit | 458075f8b00a5d37dfb01db188154873e1974c25 (patch) | |
tree | ee40780817ab44dbb2dbc298b5d384c4d8bf53c5 /recipes/uclibc++ | |
parent | e42fed4d392dbde88260bc616041c96920c71df6 (diff) | |
download | openembedded-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.patch | 13 | ||||
-rw-r--r-- | recipes/uclibc++/uclibc++/006-eabi_fix.patch | 42 | ||||
-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" |