From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from www.xora.org.uk ([80.68.91.202] helo=xora.vm.bytemark.co.uk) by linuxtogo.org with esmtp (Exim 4.69) (envelope-from ) id 1PKeS8-0006DH-GJ for openembedded-devel@lists.openembedded.org; Mon, 22 Nov 2010 23:01:38 +0100 Received: from localhost (localhost [127.0.0.1]) by xora.vm.bytemark.co.uk (Postfix) with ESMTP id 989CBA5480 for ; Mon, 22 Nov 2010 22:00:25 +0000 (GMT) X-Virus-Scanned: Debian amavisd-new at xora.vm.bytemark.co.uk Received: from xora.vm.bytemark.co.uk ([127.0.0.1]) by localhost (xora.vm.bytemark.co.uk [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id njahtHTbB6o6 for ; Mon, 22 Nov 2010 22:00:22 +0000 (GMT) Received: from [192.168.1.10] (188-220-34-37.zone11.bethere.co.uk [188.220.34.37]) by xora.vm.bytemark.co.uk (Postfix) with ESMTPSA id 2505FA4033 for ; Mon, 22 Nov 2010 22:00:22 +0000 (GMT) Message-ID: <4CEAE7F6.1010302@xora.org.uk> Date: Mon, 22 Nov 2010 22:00:22 +0000 From: Graeme Gregory User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-GB; rv:1.9.2.12) Gecko/20101027 Lightning/1.0b2 Thunderbird/3.1.6 MIME-Version: 1.0 To: openembedded-devel@lists.openembedded.org References: <1290455639-7387-1-git-send-email-fransmeulenbroeks@gmail.com> In-Reply-To: <1290455639-7387-1-git-send-email-fransmeulenbroeks@gmail.com> X-Enigmail-Version: 1.1.1 X-SA-Exim-Connect-IP: 80.68.91.202 X-SA-Exim-Mail-From: dp@xora.org.uk X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on discovery X-Spam-Level: X-Spam-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.2.5 X-SA-Exim-Version: 4.2.1 (built Wed, 25 Jun 2008 17:20:07 +0000) X-SA-Exim-Scanned: Yes (on linuxtogo.org) Subject: Re: [PATCH v3] uclibc++: moved to git head X-BeenThere: openembedded-devel@lists.openembedded.org X-Mailman-Version: 2.1.11 Precedence: list Reply-To: openembedded-devel@lists.openembedded.org List-Id: Using the OpenEmbedded metadata to build Distributions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 22 Nov 2010 22:01:38 -0000 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit This looks sane to me, Acked-by: Graeme Gregory On 22/11/2010 19:53, Frans Meulenbroeks wrote: > 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 > --- > > moved to latest git version > this also eliminated some patches that are now upstream > > recipes/uclibc++/files/defconfig | 64 -------------------------- > recipes/uclibc++/files/nobash.patch | 13 ----- > recipes/uclibc++/uclibc++/006-eabi_fix.patch | 42 +++++++++++++++++ > recipes/uclibc++/uclibc++/defconfig | 53 +++++++++++++++++++++ > recipes/uclibc++/uclibc++_0.1.9.bb | 54 ---------------------- > recipes/uclibc++/uclibc++_git.bb | 47 +++++++++++++++++++ > 6 files changed, 142 insertions(+), 131 deletions(-) > delete mode 100644 recipes/uclibc++/files/defconfig > delete mode 100644 recipes/uclibc++/files/nobash.patch > create mode 100644 recipes/uclibc++/uclibc++/006-eabi_fix.patch > create mode 100644 recipes/uclibc++/uclibc++/defconfig > delete mode 100644 recipes/uclibc++/uclibc++_0.1.9.bb > create mode 100644 recipes/uclibc++/uclibc++_git.bb > > diff --git a/recipes/uclibc++/files/defconfig b/recipes/uclibc++/files/defconfig > deleted file mode 100644 > index 19b4aa5..0000000 > --- a/recipes/uclibc++/files/defconfig > +++ /dev/null > @@ -1,64 +0,0 @@ > -# > -# 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 > -# > -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 > -WARNINGS="-Wall" > -HAVE_DOT_CONFIG=y > - > -# > -# String and I/O Stream Support > -# > -# UCLIBCXX_HAS_WCHAR is not set > -UCLIBCXX_IOSTREAM_BUFSIZE=32 > -UCLIBCXX_HAS_LFS=y > -UCLIBCXX_SUPPORT_CDIR=y > -UCLIBCXX_SUPPORT_CIN=y > -UCLIBCXX_SUPPORT_COUT=y > -UCLIBCXX_SUPPORT_CERR=y > - > -# > -# STL and Code Expansion > -# > -UCLIBCXX_STL_BUFFER_SIZE=32 > -UCLIBCXX_CODE_EXPANSION=y > -UCLIBCXX_EXPAND_STRING_CHAR=y > -UCLIBCXX_EXPAND_VECTOR_BASIC=y > -UCLIBCXX_EXPAND_ISTREAM_CHAR=y > -UCLIBCXX_EXPAND_OSTREAM_CHAR=y > -UCLIBCXX_EXPAND_FSTREAM_CHAR=y > - > -# > -# Library Installation Options > -# > -UCLIBCXX_RUNTIME_PREFIX="/usr/$(TARGET_ARCH)-linux-uclibc" > -UCLIBCXX_RUNTIME_INCLUDE_SUBDIR="/include" > -UCLIBCXX_RUNTIME_LIB_SUBDIR="/lib" > -UCLIBCXX_RUNTIME_BIN_SUBDIR="/bin" > -UCLIBCXX_EXCEPTION_SUPPORT=y > -IMPORT_LIBSUP=y > -# DODEBUG is not set > 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++/uclibc++/defconfig b/recipes/uclibc++/uclibc++/defconfig > new file mode 100644 > index 0000000..168e9a4 > --- /dev/null > +++ b/recipes/uclibc++/uclibc++/defconfig > @@ -0,0 +1,53 @@ > +# > +# Automatically generated make config: don't edit > +# > + > +# > +# Target Features and Options > +# > +# UCLIBCXX_HAS_FLOATS is not set > +UCLIBCXX_HAS_TLS=y > +WARNINGS="-Wall" > +BUILD_EXTRA_LIBRARIES="" > +HAVE_DOT_CONFIG=y > + > +# > +# String and I/O Stream Support > +# > +# UCLIBCXX_HAS_WCHAR is not set > +UCLIBCXX_IOSTREAM_BUFSIZE=32 > +UCLIBCXX_HAS_LFS=y > +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/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++_0.1.9.bb > deleted file mode 100644 > index be1ac14..0000000 > --- a/recipes/uclibc++/uclibc++_0.1.9.bb > +++ /dev/null > @@ -1,54 +0,0 @@ > -DESCRIPTION = "A C++ standard library targeted towards the embedded \ > -systems/software market." > -HOMEPAGE = "http://cxx.uclibc.org/" > -LICENSE = "LGPL" > -PRIORITY = "optional" > -SECTION = "libs" > - > -PR = "r2" > - > -SRC_URI = "http://cxx.uclibc.org/src/uClibc++-${PV}.tbz2 \ > - file://nobash.patch \ > - file://defconfig" > -S = "${WORKDIR}/uClibc++" > - > -# 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}",; \ > - s,^UCLIBCXX_RUNTIME_INCLUDE_SUBDIR=.*,UCLIBCXX_RUNTIME_INCLUDE_SUBDIR="/include/c++-uc",; \ > - s,^UCLIBCXX_RUNTIME_LIB_SUBDIR=.*,UCLIBCXX_RUNTIME_LIB_SUBDIR="/lib",; \ > - s,^UCLIBCXX_RUNTIME_BIN_SUBDIR=.*,UCLIBCXX_RUNTIME_BIN_SUBDIR="/bin",;' > -PARALLEL_MAKE = "" > - > -do_configure () { > - cp ${WORKDIR}/defconfig ${S}/.config > - > - perl -i -p -e 's,^CROSS=.*,TARGET_ARCH=${TARGET_ARCH}\nCROSS=${TARGET_PREFIX},g' ${S}/Rules.mak > - perl -i -p -e '${configmangle}' ${S}/.config > - > - oe_runmake oldconfig > -} > - > -do_install () { > - oe_runmake 'DESTDIR=${D}' install > - chmod +x ${D}${libdir}/libuClibc++.so.* > -} > - > -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" > diff --git a/recipes/uclibc++/uclibc++_git.bb b/recipes/uclibc++/uclibc++_git.bb > new file mode 100644 > index 0000000..5b0d374 > --- /dev/null > +++ b/recipes/uclibc++/uclibc++_git.bb > @@ -0,0 +1,47 @@ > +DESCRIPTION = "A C++ standard library targeted towards the embedded \ > +systems/software market." > +HOMEPAGE = "http://cxx.uclibc.org/" > +LICENSE = "LGPL" > +PRIORITY = "optional" > +SECTION = "libs" > + > +PR = "r0" > + > +SRCREV = "7efcc107b6bf7a59a85beaf7c7f35da6de0f321e" > + > +SRC_URI = "git://git.busybox.net/uClibc++;protocol=git \ > + file://006-eabi_fix.patch \ > + file://defconfig" > +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) > + > +EXTRA_OEMAKE = "'OPTIMIZATION=' 'XWARNINGS=' 'XARCH_CFLAGS=${CFLAGS}' \ > + 'CPU_FLAGS=' 'STRIPTOOL=true' 'LD=${LD}'" > +configmangle = 's,^UCLIBCXX_RUNTIME_PREFIX=.*,UCLIBCXX_RUNTIME_PREFIX="${exec_prefix}",; \ > + s,^UCLIBCXX_RUNTIME_INCLUDE_SUBDIR=.*,UCLIBCXX_RUNTIME_INCLUDE_SUBDIR="/include/c++-uc",; \ > + s,^UCLIBCXX_RUNTIME_LIB_SUBDIR=.*,UCLIBCXX_RUNTIME_LIB_SUBDIR="/lib",; \ > + s,^UCLIBCXX_RUNTIME_BIN_SUBDIR=.*,UCLIBCXX_RUNTIME_BIN_SUBDIR="/bin",;' > +PARALLEL_MAKE = "" > + > +do_configure () { > + cp ${WORKDIR}/defconfig ${S}/.config > + > + perl -i -p -e 's,^CROSS=.*,TARGET_ARCH=${TARGET_ARCH}\nCROSS=${TARGET_PREFIX},g' ${S}/Rules.mak > + perl -i -p -e '${configmangle}' ${S}/.config > + > + oe_runmake oldconfig > +} > + > +do_install () { > + oe_runmake 'DESTDIR=${D}' install > + chmod +x ${D}${libdir}/libuClibc++.so.* > +} > + > +PACKAGES = "g++-uc libuclibc++ libuclibc++-dev" > +FILES_g++-uc = "${bindir}/g++-uc" > +FILES_libuclibc++ = "${libdir}/*.so.*" > +FILES_libuclibc++-dev = "${FILES_uclibc++-dev}"