diff options
author | wbx <wbx@hydrogenium.(none)> | 2009-05-17 14:41:34 +0200 |
---|---|---|
committer | wbx <wbx@hydrogenium.(none)> | 2009-05-17 14:41:34 +0200 |
commit | 219a6dab8995aad9ac4860cc1a84d6f3509a03a4 (patch) | |
tree | b9c0f3c43aebba2fcfef777592d0add39f2072f4 /package/uclibc++ |
Initial import
Diffstat (limited to 'package/uclibc++')
-rw-r--r-- | package/uclibc++/Config.in | 8 | ||||
-rw-r--r-- | package/uclibc++/Makefile | 36 | ||||
-rw-r--r-- | package/uclibc++/files/config | 57 | ||||
-rw-r--r-- | package/uclibc++/files/config.mips | 57 | ||||
-rw-r--r-- | package/uclibc++/files/config.x86 | 57 | ||||
-rw-r--r-- | package/uclibc++/ipkg/uclibc++.control | 4 | ||||
-rw-r--r-- | package/uclibc++/patches/patch-bin_Makefile | 12 | ||||
-rw-r--r-- | package/uclibc++/patches/patch-fstream_eof | 15 | ||||
-rw-r--r-- | package/uclibc++/patches/patch-include_locale | 19 | ||||
-rw-r--r-- | package/uclibc++/patches/patch-include_string | 17 | ||||
-rw-r--r-- | package/uclibc++/patches/patch-src_string_cpp | 17 |
11 files changed, 299 insertions, 0 deletions
diff --git a/package/uclibc++/Config.in b/package/uclibc++/Config.in new file mode 100644 index 000000000..468493b37 --- /dev/null +++ b/package/uclibc++/Config.in @@ -0,0 +1,8 @@ +config ADK_PACKAGE_UCLIBCXX + prompt "uClibc++.......................... C++ library for embedded systems" + tristate + depends on ADK_CXX + default n + help + A standard C++ library for embedded systems + diff --git a/package/uclibc++/Makefile b/package/uclibc++/Makefile new file mode 100644 index 000000000..95e616cc4 --- /dev/null +++ b/package/uclibc++/Makefile @@ -0,0 +1,36 @@ +# $Id$ +#- +# This file is part of the OpenADK project. OpenADK is copyrighted +# material, please see the LICENCE file in the top-level directory. + +include ${TOPDIR}/rules.mk + +PKG_NAME:= uClibc++ +PKG_VERSION:= 0.2.1 +PKG_RELEASE:= 1 +PKG_MD5SUM:= 6e6032c49916b199ffe6a585552fd46b + +MASTER_SITES:= http://cxx.uclibc.org/src/ +DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.bz2 + +include ${TOPDIR}/mk/package.mk + +$(eval $(call PKG_template,UCLIBCXX,uclibc++,${PKG_VERSION}-${PKG_RELEASE},${ARCH})) + +BUILD_STYLE:= auto +MAKE_FLAGS+= TOPDIR="${WRKBUILD}/" \ + ${TARGET_CONFIGURE_OPTS} \ + ARCH_CFLAGS="${TARGET_CFLAGS}" \ + CROSS="${TARGET_CROSS}" +TARGET_CONFIGURE_OPTS= + +do-configure: + ${CP} ./files/config ${WRKBUILD}/.config + +do-install: + ${INSTALL_DIR} ${IDIR_UCLIBCXX}/usr/lib + ${CP} ${WRKBUILD}/src/libuClibc++*.so* ${IDIR_UCLIBCXX}/usr/lib/ + ${INSTALL_DIR} ${WRKINST}/usr/include + ${CP} ${WRKBUILD}/include ${WRKINST}/usr/include/uClibc++ + +include ${TOPDIR}/mk/pkg-bottom.mk diff --git a/package/uclibc++/files/config b/package/uclibc++/files/config new file mode 100644 index 000000000..f6ef07573 --- /dev/null +++ b/package/uclibc++/files/config @@ -0,0 +1,57 @@ +# +# Automatically generated make config: don't edit +# + +# +# Target Features and Options +# +UCLIBCXX_HAS_FLOATS=y +# UCLIBCXX_HAS_LONG_DOUBLE is not set +# UCLIBCXX_HAS_TLS is not set +WARNINGS="-Wall" +BUILD_EXTRA_LIBRARIES="" +HAVE_DOT_CONFIG=y + +# +# String and I/O Stream Support +# +UCLIBCXX_HAS_WCHAR=y +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 +# UCLIBCXX_SUPPORT_WCIN is not set +# UCLIBCXX_SUPPORT_WCOUT is not set +# UCLIBCXX_SUPPORT_WCERR is not set +# UCLIBCXX_SUPPORT_WCLOG is not set + +# +# STL and Code Expansion +# +UCLIBCXX_STL_BUFFER_SIZE=32 +UCLIBCXX_CODE_EXPANSION=y +# UCLIBCXX_EXPAND_CONSTRUCTORS_DESTRUCTORS is not set +UCLIBCXX_EXPAND_STRING_CHAR=y +UCLIBCXX_EXPAND_VECTOR_BASIC=y +# UCLIBCXX_EXPAND_IOS_CHAR is not set +# UCLIBCXX_EXPAND_STREAMBUF_CHAR is not set +UCLIBCXX_EXPAND_ISTREAM_CHAR=y +UCLIBCXX_EXPAND_OSTREAM_CHAR=y +UCLIBCXX_EXPAND_FSTREAM_CHAR=y +# UCLIBCXX_EXPAND_SSTREAM_CHAR is not set + +# +# Library Installation Options +# +UCLIBCXX_RUNTIME_PREFIX="" +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 is not set +# BUILD_STATIC_LIB is not set +# DODEBUG is not set diff --git a/package/uclibc++/files/config.mips b/package/uclibc++/files/config.mips new file mode 100644 index 000000000..f6ef07573 --- /dev/null +++ b/package/uclibc++/files/config.mips @@ -0,0 +1,57 @@ +# +# Automatically generated make config: don't edit +# + +# +# Target Features and Options +# +UCLIBCXX_HAS_FLOATS=y +# UCLIBCXX_HAS_LONG_DOUBLE is not set +# UCLIBCXX_HAS_TLS is not set +WARNINGS="-Wall" +BUILD_EXTRA_LIBRARIES="" +HAVE_DOT_CONFIG=y + +# +# String and I/O Stream Support +# +UCLIBCXX_HAS_WCHAR=y +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 +# UCLIBCXX_SUPPORT_WCIN is not set +# UCLIBCXX_SUPPORT_WCOUT is not set +# UCLIBCXX_SUPPORT_WCERR is not set +# UCLIBCXX_SUPPORT_WCLOG is not set + +# +# STL and Code Expansion +# +UCLIBCXX_STL_BUFFER_SIZE=32 +UCLIBCXX_CODE_EXPANSION=y +# UCLIBCXX_EXPAND_CONSTRUCTORS_DESTRUCTORS is not set +UCLIBCXX_EXPAND_STRING_CHAR=y +UCLIBCXX_EXPAND_VECTOR_BASIC=y +# UCLIBCXX_EXPAND_IOS_CHAR is not set +# UCLIBCXX_EXPAND_STREAMBUF_CHAR is not set +UCLIBCXX_EXPAND_ISTREAM_CHAR=y +UCLIBCXX_EXPAND_OSTREAM_CHAR=y +UCLIBCXX_EXPAND_FSTREAM_CHAR=y +# UCLIBCXX_EXPAND_SSTREAM_CHAR is not set + +# +# Library Installation Options +# +UCLIBCXX_RUNTIME_PREFIX="" +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 is not set +# BUILD_STATIC_LIB is not set +# DODEBUG is not set diff --git a/package/uclibc++/files/config.x86 b/package/uclibc++/files/config.x86 new file mode 100644 index 000000000..f6ef07573 --- /dev/null +++ b/package/uclibc++/files/config.x86 @@ -0,0 +1,57 @@ +# +# Automatically generated make config: don't edit +# + +# +# Target Features and Options +# +UCLIBCXX_HAS_FLOATS=y +# UCLIBCXX_HAS_LONG_DOUBLE is not set +# UCLIBCXX_HAS_TLS is not set +WARNINGS="-Wall" +BUILD_EXTRA_LIBRARIES="" +HAVE_DOT_CONFIG=y + +# +# String and I/O Stream Support +# +UCLIBCXX_HAS_WCHAR=y +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 +# UCLIBCXX_SUPPORT_WCIN is not set +# UCLIBCXX_SUPPORT_WCOUT is not set +# UCLIBCXX_SUPPORT_WCERR is not set +# UCLIBCXX_SUPPORT_WCLOG is not set + +# +# STL and Code Expansion +# +UCLIBCXX_STL_BUFFER_SIZE=32 +UCLIBCXX_CODE_EXPANSION=y +# UCLIBCXX_EXPAND_CONSTRUCTORS_DESTRUCTORS is not set +UCLIBCXX_EXPAND_STRING_CHAR=y +UCLIBCXX_EXPAND_VECTOR_BASIC=y +# UCLIBCXX_EXPAND_IOS_CHAR is not set +# UCLIBCXX_EXPAND_STREAMBUF_CHAR is not set +UCLIBCXX_EXPAND_ISTREAM_CHAR=y +UCLIBCXX_EXPAND_OSTREAM_CHAR=y +UCLIBCXX_EXPAND_FSTREAM_CHAR=y +# UCLIBCXX_EXPAND_SSTREAM_CHAR is not set + +# +# Library Installation Options +# +UCLIBCXX_RUNTIME_PREFIX="" +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 is not set +# BUILD_STATIC_LIB is not set +# DODEBUG is not set diff --git a/package/uclibc++/ipkg/uclibc++.control b/package/uclibc++/ipkg/uclibc++.control new file mode 100644 index 000000000..5919e20c2 --- /dev/null +++ b/package/uclibc++/ipkg/uclibc++.control @@ -0,0 +1,4 @@ +Package: uclibc++ +Priority: optional +Section: libs +Description: A standard c++ library for embedded systems diff --git a/package/uclibc++/patches/patch-bin_Makefile b/package/uclibc++/patches/patch-bin_Makefile new file mode 100644 index 000000000..6be4e2b38 --- /dev/null +++ b/package/uclibc++/patches/patch-bin_Makefile @@ -0,0 +1,12 @@ +$Id: update-patches 24 2008-08-31 14:56:13Z wbx $ +--- uClibc++-0.2.1.orig/bin/Makefile 2006-09-04 04:28:02.000000000 +0200 ++++ uClibc++-0.2.1/bin/Makefile 2009-04-29 19:45:06.704996078 +0200 +@@ -13,7 +13,7 @@ install: + $(INSTALL) -m 755 $(WRAPPER) $(PREFIX)$(UCLIBCXX_RUNTIME_BINDIR) + + $(WRAPPER): +- echo "#!/bin/bash" > $(WRAPPER) ++ echo "#!/usr/bin/env bash" > $(WRAPPER) + echo "" >> $(WRAPPER) + echo 'WRAPPER_INCLUDEDIR="$${WRAPPER_INCLUDEDIR:=-I$(UCLIBCXX_RUNTIME_INCLUDEDIR)}"' >> $(WRAPPER) + echo 'WRAPPER_LIBDIR="$${WRAPPER_LIBDIR:=-L$(UCLIBCXX_RUNTIME_LIBDIR)}"' >> $(WRAPPER) diff --git a/package/uclibc++/patches/patch-fstream_eof b/package/uclibc++/patches/patch-fstream_eof new file mode 100644 index 000000000..d60bee8b1 --- /dev/null +++ b/package/uclibc++/patches/patch-fstream_eof @@ -0,0 +1,15 @@ +$Id$ + * fix crash on reading from closed fstream + +--- uClibc++-0.2.1.orig/include/fstream 2006-09-04 04:28:09.000000000 +0200 ++++ uClibc++-0.2.1/include/fstream 2008-12-14 18:20:27.000000000 +0100 +@@ -201,6 +201,9 @@ namespace std{ + + */ + ++ if(fp == 0) ++ return traits::eof(); ++ + if(basic_streambuf<charT,traits>::eback() == 0){ + //No buffer, so... + charT c; diff --git a/package/uclibc++/patches/patch-include_locale b/package/uclibc++/patches/patch-include_locale new file mode 100644 index 000000000..2ecee1c11 --- /dev/null +++ b/package/uclibc++/patches/patch-include_locale @@ -0,0 +1,19 @@ +$Id: update-patches 24 2008-08-31 14:56:13Z wbx $ +--- uClibc++-0.2.1.orig/include/locale 2006-09-04 04:28:07.000000000 +0200 ++++ uClibc++-0.2.1/include/locale 2009-04-29 19:48:20.096785868 +0200 +@@ -19,6 +19,7 @@ + + #include <basic_definitions> + #include <cstddef> ++#include <string> + + #ifndef __HEADER_STD_LOCALE + #define __HEADER_STD_LOCALE 1 +@@ -56,6 +57,7 @@ namespace std{ + const locale& operator=(const locale&) throw(){ + return *this; + } ++ std::string name() const { return "C"; } + }; + + class _UCXXEXPORT locale::facet { diff --git a/package/uclibc++/patches/patch-include_string b/package/uclibc++/patches/patch-include_string new file mode 100644 index 000000000..46f900bb5 --- /dev/null +++ b/package/uclibc++/patches/patch-include_string @@ -0,0 +1,17 @@ +$Id: update-patches 24 2008-08-31 14:56:13Z wbx $ +--- uClibc++-0.2.1.orig/include/string 2006-09-04 04:28:07.000000000 +0200 ++++ uClibc++-0.2.1/include/string 2008-12-14 18:22:26.000000000 +0100 +@@ -1010,11 +1010,11 @@ template<class charT, class traits, clas + + template <> _UCXXEXPORT bool operator==(const string & lhs, const string & rhs); + template <> _UCXXEXPORT bool operator==(const char * lhs, const string & rhs); +-template <> _UCXXEXPORT bool operator==(const string & rhs, const char * rhs); ++template <> _UCXXEXPORT bool operator==(const string & lhs, const char * rhs); + + template <> _UCXXEXPORT bool operator!=(const string & lhs, const string & rhs); + template <> _UCXXEXPORT bool operator!=(const char * lhs, const string & rhs); +-template <> _UCXXEXPORT bool operator!=(const string & rhs, const char * rhs); ++template <> _UCXXEXPORT bool operator!=(const string & lhs, const char * rhs); + + template <> _UCXXEXPORT string operator+(const string & lhs, const char* rhs); + template <> _UCXXEXPORT string operator+(const char* lhs, const string & rhs); diff --git a/package/uclibc++/patches/patch-src_string_cpp b/package/uclibc++/patches/patch-src_string_cpp new file mode 100644 index 000000000..e1b56a985 --- /dev/null +++ b/package/uclibc++/patches/patch-src_string_cpp @@ -0,0 +1,17 @@ +$Id: update-patches 24 2008-08-31 14:56:13Z wbx $ +--- uClibc++-0.2.1.orig/src/string.cpp 2006-09-04 04:28:07.000000000 +0200 ++++ uClibc++-0.2.1/src/string.cpp 2008-12-14 18:23:21.000000000 +0100 +@@ -74,11 +74,11 @@ namespace std{ + + template _UCXXEXPORT bool operator==(const string & lhs, const string & rhs); + template _UCXXEXPORT bool operator==(const char * lhs, const string & rhs); +- template _UCXXEXPORT bool operator==(const string & rhs, const char * rhs); ++ template _UCXXEXPORT bool operator==(const string & lhs, const char * rhs); + + template _UCXXEXPORT bool operator!=(const string & lhs, const string & rhs); + template _UCXXEXPORT bool operator!=(const char * lhs, const string & rhs); +- template _UCXXEXPORT bool operator!=(const string & rhs, const char * rhs); ++ template _UCXXEXPORT bool operator!=(const string & lhs, const char * rhs); + + template _UCXXEXPORT string operator+(const string & lhs, const char* rhs); + template _UCXXEXPORT string operator+(const char* lhs, const string & rhs); |