From 0b2638253321db90e9844f04cd7299c1a2e1633a Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Sat, 6 Apr 2019 23:37:56 -0700 Subject: 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 --- package/libs/uclibc++/Makefile | 28 ++++++++++------------------ 1 file changed, 10 insertions(+), 18 deletions(-) (limited to 'package/libs/uclibc++/Makefile') 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; \ -- cgit v1.2.3