boost: add host library build for boost

Summary: Currently, boost host build doesn't actually compile boost
libraries for the host arch. If there are host tools that would want
to link against boost, it can't right now.

This diff adds support for compiling host boost library as well.
Any packages that need to depend on a host boost library can depend on
CONFIG_boost-host-build-<lib>.

Test Plan: Compiled fbthrift and verified that it works.
used openwrt master using nbg6817

Maintainer: @ClaymorePT

Signed-off-by: Amol Bhave <ambhave@fb.com>
This commit is contained in:
Amol Bhave 2019-04-21 12:29:42 -07:00
parent 148e921279
commit 7c42ddf9ff

View file

@ -13,7 +13,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=boost
PKG_VERSION:=1.70.0
PKG_SOURCE_VERSION:=1_70_0
PKG_RELEASE:=4
PKG_RELEASE:=5
PKG_SOURCE:=$(PKG_NAME)_$(PKG_SOURCE_VERSION).tar.bz2
PKG_SOURCE_URL:=@SF/$(PKG_NAME)/$(PKG_NAME)/$(PKG_VERSION) https://dl.bintray.com/boostorg/release/$(PKG_VERSION)/source/
@ -294,6 +294,16 @@ define Package/boost/config
)
endmenu
menu "Select Boost libraries for Host build"
comment "Libraries for Host build"
$(foreach lib,$(BOOST_LIBS), \
config boost-host-build-$(lib)
bool "Boost $(lib) $(if $(findstring python,$(lib)),$(paren_left)v$(if $(findstring 3,$(lib)),$(BOOST_PYTHON3_VER),$(BOOST_PYTHON_VER))$(paren_right) ,)library."
default n
)
endmenu
endef
PKG_CONFIG_DEPENDS:= CONFIG_PACKAGE_boost-test
@ -316,6 +326,7 @@ define DefineBoostLibrary
BOOST_DEPENDS+= +$(if $(4),$(4):boost-$(1),boost-$(1))
PKG_CONFIG_DEPENDS+= CONFIG_PACKAGE_boost-$(1)
HOST_CONFIG_DEPENDS+= CONFIG_boost-host-build-$(1)
BOOST_LIBS+= $(1)
@ -366,6 +377,14 @@ include $(INCLUDE_DIR)/host-build.mk
define Host/Compile
# b2 does not provide a configure-script nor a Makefile
( cd $(HOST_BUILD_DIR)/tools/build/src/engine ; ./build.sh gcc )
( cd $(HOST_BUILD_DIR) ; \
./bootstrap.sh --prefix=$(STAGING_DIR_HOST) \
--with-libraries=$(subst $() $(),$(comma),$(strip \
headers \
$(foreach lib,$(BOOST_LIBS), \
$(if $(findstring python,$(lib)),,$(if $(CONFIG_boost-host-build-$(lib)),$(lib)))))) ; \
./b2 install )
endef
CONFIGURE_PREFIX:=$(PKG_INSTALL_DIR)