07730ff346
This reduces open coding and allows to easily add a knob to enable it treewide, where chosen packages can still opt-out via "no-lto". Some packages used LTO, but not the linker plugin. This unifies 'em all to attempt to produce better code. Quoting man gcc(1): "This improves the quality of optimization by exposing more code to the link-time optimizer." Also use -flto=auto instead of -flto=jobserver, as it's not guaranteed that every buildsystem uses +$(MAKE) correctly. Signed-off-by: Andre Heider <a.heider@gmail.com>
52 lines
1.2 KiB
Makefile
52 lines
1.2 KiB
Makefile
#
|
|
# Copyright (C) 2011-2017 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:=jansson
|
|
PKG_VERSION:=2.14
|
|
PKG_RELEASE:=3
|
|
|
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
|
PKG_SOURCE_URL:=https://codeload.github.com/akheron/$(PKG_NAME)/tar.gz/v$(PKG_VERSION)?
|
|
PKG_HASH:=c739578bf6b764aa0752db9a2fdadcfe921c78f1228c7ec0bb47fa804c55d17b
|
|
|
|
PKG_LICENSE:=MIT
|
|
PKG_LICENSE_FILES:=LICENSE
|
|
PKG_CPE_ID:=cpe:/a:jansson_project:jansson
|
|
|
|
PKG_BUILD_FLAGS:=lto
|
|
|
|
include $(INCLUDE_DIR)/package.mk
|
|
include $(INCLUDE_DIR)/cmake.mk
|
|
|
|
CMAKE_INSTALL:=1
|
|
CMAKE_OPTIONS += \
|
|
-DJANSSON_BUILD_DOCS:BOOL=OFF \
|
|
-DJANSSON_BUILD_SHARED_LIBS:BOOL=ON \
|
|
-DJANSSON_EXAMPLES:BOOL=OFF \
|
|
-DJANSSON_WITHOUT_TESTS:BOOL=ON
|
|
|
|
define Package/jansson
|
|
SECTION:=libs
|
|
CATEGORY:=Libraries
|
|
TITLE:=Jansson library
|
|
URL:=http://www.digip.org/jansson/
|
|
ABI_VERSION:=4
|
|
endef
|
|
|
|
define Package/jansson/description
|
|
Jansson is a C library for encoding, decoding and manipulating JSON data
|
|
endef
|
|
|
|
define Package/jansson/install
|
|
$(INSTALL_DIR) $(1)/usr/lib
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libjansson*so.* $(1)/usr/lib/
|
|
endef
|
|
|
|
$(eval $(call BuildPackage,jansson))
|