diff options
Diffstat (limited to 'recipes/uclibc++')
-rw-r--r-- | recipes/uclibc++/files/defconfig | 64 | ||||
-rw-r--r-- | recipes/uclibc++/files/nobash.patch | 13 | ||||
-rw-r--r-- | recipes/uclibc++/uclibc++_0.1.9.bb | 57 |
3 files changed, 134 insertions, 0 deletions
diff --git a/recipes/uclibc++/files/defconfig b/recipes/uclibc++/files/defconfig new file mode 100644 index 0000000000..19b4aa53ee --- /dev/null +++ b/recipes/uclibc++/files/defconfig @@ -0,0 +1,64 @@ +# +# 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 new file mode 100644 index 0000000000..657c47b99d --- /dev/null +++ b/recipes/uclibc++/files/nobash.patch @@ -0,0 +1,13 @@ +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++_0.1.9.bb b/recipes/uclibc++/uclibc++_0.1.9.bb new file mode 100644 index 0000000000..aaa9447f92 --- /dev/null +++ b/recipes/uclibc++/uclibc++_0.1.9.bb @@ -0,0 +1,57 @@ +DESCRIPTION = "A C++ standard library targeted towards the embedded \ +systems/software market." +HOMEPAGE = "http://cxx.uclibc.org/" +LICENSE = "LGPL" +PRIORITY = "optional" +SECTION = "libs" + +PR = "r1" + +SRC_URI = "http://cxx.uclibc.org/src/uClibc++-${PV}.tbz2 \ + file://nobash.patch;patch=1 \ + 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_stage () { + oe_runmake 'UCLIBCXX_RUNTIME_PREFIX=${STAGING_LIBDIR}/../' \ + install + chmod +x ${STAGING_LIBDIR}/libuClibc++.so.* +} + +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}" |