2 # Copyright (C) 2006 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
9 include $(TOPDIR
)/rules.mk
15 PKG_SOURCE
:=uClibc
++-$(PKG_VERSION
).
tar.bz2
16 PKG_SOURCE_URL
:=http
://cxx.uclibc.org
/src
/
17 PKG_MD5SUM
:=1ceef3209cca88be8f1bd9de99735954
20 PKG_BUILD_DIR
:=$(BUILD_DIR
)/uClibc
++-$(PKG_VERSION
)
22 include $(INCLUDE_DIR
)/package.mk
24 define Package
/uclibcxx
28 TITLE
:=C
++ library for embedded systems
29 URL
:=http
://cxx.uclibc.org
/src
/
32 UCLIBC_TARGET_ARCH
:=$(shell echo
$(ARCH
) | sed
-e s
'/-.*//' \
34 -e
's/sparc.*/sparc/' \
36 -e
's/ppc/powerpc/g' \
37 -e
's/v850.*/v850/g' \
39 -e
's/sh[234].*/sh/' \
41 -e
's/mipsel.*/mips/' \
46 TOPDIR
="$(PKG_BUILD_DIR)/" \
47 $(TARGET_CONFIGURE_OPTS
) \
48 ARCH_CFLAGS
="$(TARGET_CFLAGS)" \
49 CROSS
="$(TARGET_CROSS)" \
52 define Build
/Configure
53 if
[ -f .
/files
/config.
$(UCLIBC_TARGET_ARCH
) ]; then \
54 cp .
/files
/config.
$(UCLIBC_TARGET_ARCH
) $(PKG_BUILD_DIR
)/.config
; \
56 cp .
/files
/config.default
$(PKG_BUILD_DIR
)/.config
; \
61 $(MAKE
) -C
$(PKG_BUILD_DIR
) \
63 DESTDIR
="$(PKG_INSTALL_DIR)/usr" \
67 define Build
/InstallDev
68 mkdir
-p
$(STAGING_DIR
)/usr
/bin
69 $(CP
) $(PKG_INSTALL_DIR
)/usr
/bin
/g
++-uc
$(STAGING_DIR
)/usr
/bin
/
70 mkdir
-p
$(STAGING_DIR
)/usr
/include/uClibc
++
71 $(CP
) $(PKG_INSTALL_DIR
)/usr
/include/* $(STAGING_DIR
)/usr
/include/uClibc
++/
72 mkdir
-p
$(STAGING_DIR
)/usr
/lib
73 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/libuClibc
++*.
{a
,so
*} $(STAGING_DIR
)/usr
/lib
/
74 $(SED
) 's|-I/include/|-I$(STAGING_DIR)/usr/include/uClibc++/|g' $(STAGING_DIR
)/usr
/bin
/g
++-uc
75 $(SED
) 's|-L/lib/|-L$(STAGING_DIR)/usr/lib/|g' $(STAGING_DIR
)/usr
/bin
/g
++-uc
76 # add another wrapper which links against both uClibc++ and libstdc++
77 $(CP
) $(STAGING_DIR
)/usr
/bin
/g
++-uc
$(STAGING_DIR
)/usr
/bin
/g
++-uc
+std
78 $(SED
) 's|^WRAPPER_INCLUDEDIR=.*||g' $(STAGING_DIR
)/usr
/bin
/g
++-uc
+std
79 $(SED
) 's|-luClibc++|-Wl,-Bdynamic,-luClibc++,-Bstatic,-lstdc++,-Bdynamic|g' $(STAGING_DIR
)/usr
/bin
/g
++-uc
+std
80 $(SED
) 's|-nostdinc++||g' $(STAGING_DIR
)/usr
/bin
/g
++-uc
+std
83 define Build
/UninstallDev
84 rm -rf
$(STAGING_DIR
)/usr
/bin
/g
++-uc \
85 $(STAGING_DIR
)/usr
/bin
/g
++-uc
+std \
86 $(STAGING_DIR
)/usr
/include/uClibc
++ \
87 $(STAGING_DIR
)/usr
/lib
/libuClibc
++*.
{a
,so
*}
90 define Package
/uclibcxx
/install
91 $(INSTALL_DIR
) $(1)/usr
/lib
92 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/libuClibc
++.so.
* $(1)/usr
/lib
/
93 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/libuClibc
++-*.so
$(1)/usr
/lib
/
96 $(eval
$(call BuildPackage
,uclibcxx
))