mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-22 15:02:32 +00:00
9390e20dba
Building with MIPS16 was disabled in 2013 due to an issue with GCC TLS: https://dev.archive.openwrt.org/ticket/13572. But after the problematic GCC version was retired, this change wasn't revisited. Re-enable MIPS16 builds to reduce average elfutils library sizes ~10%. This was compile-tested on malta/mips32be and malta/mips32le, and linked with iproute2 for run-testing. Package sizes follow: Library MIPS16:=0 MIPS16:=1 ------- --------- --------- libelf1 43217 37492 libasm1 12481 11658 libdw1 229723 205793 Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
101 lines
2.6 KiB
Makefile
101 lines
2.6 KiB
Makefile
#
|
|
# Copyright (C) 2010-2019 OpenWrt.org
|
|
#
|
|
# This is free software, licensed under the GNU General Public License v2.
|
|
# See /LICENSE for more information.
|
|
#
|
|
include $(TOPDIR)/rules.mk
|
|
|
|
PKG_NAME:=elfutils
|
|
PKG_VERSION:=0.180
|
|
PKG_RELEASE:=2
|
|
|
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
|
|
PKG_SOURCE_URL:=https://sourceware.org/$(PKG_NAME)/ftp/$(PKG_VERSION)
|
|
PKG_HASH:=b827b6e35c59d188ba97d7cf148fa8dc6f5c68eb6c5981888dfdbb758c0b569d
|
|
|
|
PKG_MAINTAINER:=Luiz Angelo Daros de Luca <luizluca@gmail.com>
|
|
PKG_LICENSE:=GPL-3.0-or-later
|
|
PKG_LICENSE_FILES:=COPYING COPYING-GPLV2 COPYING-LGPLV3
|
|
PKG_CPE_ID:=cpe:/a:elfutils_project:elfutils
|
|
|
|
PKG_FIXUP:=autoreconf
|
|
PKG_INSTALL:=1
|
|
PKG_USE_MIPS16:=1
|
|
PKG_BUILD_DEPENDS:=!USE_GLIBC:argp-standalone
|
|
|
|
include $(INCLUDE_DIR)/package.mk
|
|
include $(INCLUDE_DIR)/nls.mk
|
|
|
|
define Package/elfutils/Default
|
|
SECTION:=libs
|
|
CATEGORY:=Libraries
|
|
TITLE:=ELF manipulation libraries
|
|
URL:=https://fedorahosted.org/elfutils/
|
|
ABI_VERSION:=1
|
|
endef
|
|
|
|
define Package/libasm
|
|
$(call Package/elfutils/Default)
|
|
TITLE+= (libasm)
|
|
DEPENDS:=+libelf +libdw
|
|
endef
|
|
|
|
define Package/libdw
|
|
$(call Package/elfutils/Default)
|
|
DEPENDS:=+libelf +libbz2
|
|
TITLE+= (libdw)
|
|
endef
|
|
|
|
define Package/libelf
|
|
$(call Package/elfutils/Default)
|
|
DEPENDS:=$(INTL_DEPENDS) +zlib
|
|
TITLE+= (libelf)
|
|
PROVIDES:=libelf1
|
|
endef
|
|
|
|
ifeq ($(CONFIG_BUILD_NLS),y)
|
|
TARGET_LDFLAGS += -lintl
|
|
else
|
|
CONFIGURE_ARGS += --disable-nls
|
|
endif
|
|
|
|
CONFIGURE_ARGS += \
|
|
--program-prefix=eu- \
|
|
--disable-debuginfod \
|
|
--without-lzma
|
|
|
|
TARGET_CFLAGS += -D_GNU_SOURCE -Wno-unused-result -Wno-format-nonliteral
|
|
|
|
define Build/InstallDev
|
|
$(INSTALL_DIR) $(1)/usr/include
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/include/* $(1)/usr/include/
|
|
$(INSTALL_DIR) $(1)/usr/lib
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libasm*.{a,so*} $(1)/usr/lib/
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libdw*.{a,so*} $(1)/usr/lib/
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libelf*.{a,so*} $(1)/usr/lib/
|
|
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libelf.pc $(1)/usr/lib/pkgconfig/
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libdw.pc $(1)/usr/lib/pkgconfig/
|
|
endef
|
|
|
|
define Package/libasm/install
|
|
$(INSTALL_DIR) $(1)/usr/lib
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libasm{-*.so,*.so.*} $(1)/usr/lib/
|
|
endef
|
|
|
|
define Package/libdw/install
|
|
$(INSTALL_DIR) $(1)/usr/lib
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libdw{-*.so,*.so.*} $(1)/usr/lib/
|
|
endef
|
|
|
|
define Package/libelf/install
|
|
$(INSTALL_DIR) $(1)/usr/lib
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libelf{-*.so,*.so.*} $(1)/usr/lib/
|
|
endef
|
|
|
|
# these lines need to be ordered by dependency because of ABI versioning
|
|
$(eval $(call BuildPackage,libelf))
|
|
$(eval $(call BuildPackage,libdw))
|
|
$(eval $(call BuildPackage,libasm))
|