summaryrefslogtreecommitdiff
path: root/package/uclibc++
diff options
context:
space:
mode:
authorwbx <wbx@hydrogenium.(none)>2009-05-17 14:41:34 +0200
committerwbx <wbx@hydrogenium.(none)>2009-05-17 14:41:34 +0200
commit219a6dab8995aad9ac4860cc1a84d6f3509a03a4 (patch)
treeb9c0f3c43aebba2fcfef777592d0add39f2072f4 /package/uclibc++
Initial import
Diffstat (limited to 'package/uclibc++')
-rw-r--r--package/uclibc++/Config.in8
-rw-r--r--package/uclibc++/Makefile36
-rw-r--r--package/uclibc++/files/config57
-rw-r--r--package/uclibc++/files/config.mips57
-rw-r--r--package/uclibc++/files/config.x8657
-rw-r--r--package/uclibc++/ipkg/uclibc++.control4
-rw-r--r--package/uclibc++/patches/patch-bin_Makefile12
-rw-r--r--package/uclibc++/patches/patch-fstream_eof15
-rw-r--r--package/uclibc++/patches/patch-include_locale19
-rw-r--r--package/uclibc++/patches/patch-include_string17
-rw-r--r--package/uclibc++/patches/patch-src_string_cpp17
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);