aboutsummaryrefslogtreecommitdiffstats
path: root/package/libs/uclibc++/Makefile
diff options
context:
space:
mode:
authorRosen Penev <rosenp@gmail.com>2019-04-06 23:37:56 -0700
committerHauke Mehrtens <hauke@hauke-m.de>2019-05-11 23:10:10 +0200
commit0b2638253321db90e9844f04cd7299c1a2e1633a (patch)
tree0fd3af340c492fc4f201c3eec3e9e9659ce32cc8 /package/libs/uclibc++/Makefile
parente49b6bb61828b8b903db0ef48113b4065a215c63 (diff)
downloadupstream-0b2638253321db90e9844f04cd7299c1a2e1633a.tar.gz
upstream-0b2638253321db90e9844f04cd7299c1a2e1633a.tar.bz2
upstream-0b2638253321db90e9844f04cd7299c1a2e1633a.zip
uClibc++: Update to 0.2.5
Switched to xz archives for smaller size. Removed upstreamed patches. Reorganized Makefile a little bit for clarity. Build/Prepare is not useful anymore. Upstream converted the file to LF. Refreshed config. Removed -ansi option from the original CFLAGS as this was causing long long support to be missing. Removed fPIC. We have the macro $(FPIC) already used. No point in setting fpic and fPIC together. Removed pedantic -Wlong-long warnings as they are not useful. Removed -std=gnu++98. Not only is it unnecessary (it compiles against all standards), it actually results in a size increase. 75843 vs. 75222 (gcc in OpenWrt defaults to g++14). Added --gc-sections to linker flags to reduce size: 72653 vs 75222. Removed warn linker options. They have been upstreamed. Tested on Archer C7v2 and GnuBee PC1. Signed-off-by: Rosen Penev <rosenp@gmail.com>
Diffstat (limited to 'package/libs/uclibc++/Makefile')
-rw-r--r--package/libs/uclibc++/Makefile28
1 files changed, 10 insertions, 18 deletions
diff --git a/package/libs/uclibc++/Makefile b/package/libs/uclibc++/Makefile
index 7133a7ef33..763e0d9e4d 100644
--- a/package/libs/uclibc++/Makefile
+++ b/package/libs/uclibc++/Makefile
@@ -9,12 +9,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=uclibc++
-PKG_VERSION:=0.2.4
-PKG_RELEASE:=3
+PKG_VERSION:=0.2.5
+PKG_RELEASE:=1
-PKG_SOURCE:=uClibc++-$(PKG_VERSION).tar.bz2
-PKG_SOURCE_URL:=http://cxx.uclibc.org/src/
-PKG_HASH:=be16fc6a6eb2e59df420ee41e7042f38e27ebaf5c2762d90e75803364a7b00db
+PKG_SOURCE:=uClibc++-$(PKG_VERSION).tar.xz
+PKG_SOURCE_URL:=https://cxx.uclibc.org/src/
+PKG_HASH:=596fb9ed7295564ce4c70ae6076a18f92e72f70310d70c98520bbca85c77895a
PKG_BUILD_DIR:=$(BUILD_DIR)/uClibc++-$(PKG_VERSION)
PKG_BUILD_PARALLEL:=1
@@ -30,7 +30,7 @@ define Package/uclibcxx
SECTION:=libs
CATEGORY:=Libraries
TITLE:=C++ library for embedded systems
- URL:=http://cxx.uclibc.org/src/
+ URL:=https://cxx.uclibc.org/
endef
UCLIBC_TARGET_ARCH:=$(shell echo $(ARCH) | sed -e s'/-.*//' \
@@ -45,7 +45,8 @@ UCLIBC_TARGET_ARCH:=$(shell echo $(ARCH) | sed -e s'/-.*//' \
-e 's/mipsel.*/mips/' \
)
-TARGET_CFLAGS += $(FPIC)
+TARGET_CFLAGS += $(FPIC) -nostdinc++
+TARGET_LDFLAGS += -Wl,--gc-sections
ifneq ($(CONFIG_CCACHE),)
TARGET_CXX=$(TARGET_CXX_NOCACHE)
@@ -56,24 +57,15 @@ SSP_LIB=-lssp_nonshared
endif
MAKE_FLAGS:= \
- TOPDIR="$(PKG_BUILD_DIR)/" \
$(TARGET_CONFIGURE_OPTS) \
CPU_CFLAGS="$(TARGET_CFLAGS)" \
- CROSS="$(TARGET_CROSS)" \
- LDFLAGS="-Wl,--warn-common -Wl,--warn-once -Wl,-z,combreloc -Wl,-z,defs $(TARGET_LDFLAGS)" \
- CP="$(CP)" \
+ CROSS_COMPILE="$(TARGET_CROSS)" \
+ LDFLAGS="$(TARGET_LDFLAGS)" \
GEN_LIBS="-lc $(LIBGCC_S) $(SSP_LIB)" \
- GEN_CFLAGS="-std=gnu++98 -nostdinc++" \
check_as_needed=
# check_as_needed overrides dependency on libgcc_s
-define Build/Prepare
- $(PKG_UNPACK)
- $(SED) 's/\r$$$$//' $(PKG_BUILD_DIR)/include/unwind-cxx.h
- $(Build/Patch)
-endef
-
define Build/Configure
if [ -f ./files/config.$(UCLIBC_TARGET_ARCH) ]; then \
cp ./files/config.$(UCLIBC_TARGET_ARCH) $(PKG_BUILD_DIR)/.config; \