You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

538 lines
18 KiB

  1. #
  2. # This is free software, licensed under the GNU General Public License v2.
  3. # See /LICENSE for more information.
  4. #
  5. #
  6. # Original Boost 1.51 Makefile by Mirko Vogt <mirko@openwrt.org>
  7. # Dude, this "boost" is really one of the most crude stuff I ported yet.
  8. #
  9. include $(TOPDIR)/rules.mk
  10. PKG_NAME:=boost
  11. PKG_VERSION:=1.69.0
  12. PKG_SOURCE_VERSION:=1_69_0
  13. PKG_RELEASE:=2
  14. PKG_SOURCE:=$(PKG_NAME)_$(PKG_SOURCE_VERSION).tar.bz2
  15. PKG_SOURCE_URL:=@SF/$(PKG_NAME)/$(PKG_NAME)/$(PKG_VERSION) https://dl.bintray.com/boostorg/release/$(PKG_VERSION)/source/
  16. PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)_$(PKG_SOURCE_VERSION)
  17. HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/$(PKG_NAME)_$(PKG_SOURCE_VERSION)
  18. PKG_HASH:=8f32d4617390d1c2d16f26a27ab60d97807b35440d45891fa340fc2648b04406
  19. PKG_LICENSE:=Boost Software License <http://www.boost.org/users/license.html>
  20. PKG_MAINTAINER:=Carlos M. Ferreira <carlosmf.pt@gmail.com>
  21. PKG_BUILD_PARALLEL:=1
  22. PKG_USE_MIPS16:=0
  23. include $(INCLUDE_DIR)/package.mk
  24. include $(INCLUDE_DIR)/nls.mk
  25. define Package/boost/Default
  26. SECTION:=libs
  27. CATEGORY:=Libraries
  28. TITLE:=Boost C++ source library
  29. URL:=http://www.boost.org
  30. DEPENDS:=+libstdcpp +libpthread +librt
  31. endef
  32. define Package/boost/description
  33. This package provides the Boost v1.69.0 libraries.
  34. Boost is a set of free, peer-reviewed, portable C++ source libraries.
  35. -----------------------------------------------------------------------------
  36. | Warning |
  37. | In order to build all of the Boost Libraries, it is necessary |
  38. | to use, at least, GCC version 5 (C++14 support) and, it is necessary to |
  39. | compile the kernel with Full Language Support. |
  40. | Without these requirerements, the following libs will not be available: |
  41. | - Boost.Locale |
  42. | - Boost.Coroutine2 (header-only library - requires C++11) |
  43. | - Boost.Fiber (requires C++14) |
  44. -----------------------------------------------------------------------------
  45. This package provides the following run-time libraries:
  46. - atomic
  47. - chrono
  48. - container
  49. - context
  50. - contract
  51. - coroutine (Deprecated - use Coroutine2)
  52. - - coroutine2 (Requires GCC v5 and up)
  53. - date_time
  54. - exception
  55. - filesystem
  56. - fiber (Requires GCC v5 and up)
  57. - graph
  58. - - graph-parallel
  59. - iostreams
  60. - locale (Requires kernel being compiled with full language support)
  61. - log
  62. - math
  63. - program_options
  64. - python
  65. - python3
  66. - random
  67. - regex
  68. - serialization and wserialization
  69. - stackstrace
  70. - system
  71. - thread
  72. - timer
  73. - type_erasure
  74. - wave
  75. There are many more header-only libraries supported by Boost.
  76. See more at http://www.boost.org/doc/libs/1_69_0/
  77. endef
  78. PKG_BUILD_DEPENDS:=boost/host PACKAGE_python:python PACKAGE_python3:python3
  79. include ../../lang/python/python-version.mk
  80. BOOST_PYTHON_VER=$(PYTHON_VERSION)
  81. include ../../lang/python/python3-version.mk
  82. BOOST_PYTHON3_VER=$(PYTHON3_VERSION)
  83. BOOST_LIBS =
  84. define Package/boost-libs
  85. $(call Package/boost/Default)
  86. TITLE+= (all libs)
  87. DEPENDS+= $(BOOST_DEPENDS)
  88. HIDDEN:=1
  89. endef
  90. define Package/boost-libs/description
  91. This meta package contains only dependencies to the other libraries from
  92. the boost libraries collection.
  93. endef
  94. # Create a meta-package of dependent libraries (for ALL)
  95. define Package/boost-libs/install
  96. true
  97. endef
  98. define Package/boost/install
  99. true
  100. endef
  101. define Package/boost
  102. $(call Package/boost/Default)
  103. TITLE+= packages
  104. endef
  105. define Package/boost/config
  106. menu "Select Boost Options"
  107. depends on PACKAGE_boost
  108. comment "Boost compilation options."
  109. choice
  110. prompt "Compile Visibility."
  111. default boost-compile-visibility-hidden
  112. help
  113. Choose Boost symbols compilation visibility.
  114. -> Global:
  115. - a.k.a. "default" in gcc documentation. Global symbols are considered public,
  116. they are exported from shared libraries and can be redefined by another
  117. shared library or executable.
  118. -> Protected:
  119. - a.k.a. "symbolic". Protected symbols are exported from shared libraries but
  120. cannot be redefined by another shared library or executable. This mode is
  121. not supported on some platforms, for example OS X.
  122. -> Hidden:
  123. - Hidden symbols are not exported from shared libraries and cannot be
  124. redefined by a different shared library or executable loaded in a process.
  125. In this mode, public symbols have to be explicitly marked in the source code
  126. to be exported from shared libraries. This is the recommended mode.
  127. config boost-compile-visibility-global
  128. bool "Global"
  129. config boost-compile-visibility-protected
  130. bool "Protected"
  131. config boost-compile-visibility-hidden
  132. bool "Hidden"
  133. endchoice
  134. choice
  135. prompt "Compile Boost libraries."
  136. default boost-static-and-shared-libs
  137. help
  138. Choose which version to compile.
  139. -> Shared:
  140. - Only Shared libs will be compiled.
  141. -> Static:
  142. - Only Static libs will be compiled.
  143. -> Both:
  144. - Both Static and Shared libs will be compiled.
  145. config boost-shared-libs
  146. bool "Shared"
  147. config boost-static-libs
  148. bool "Static"
  149. config boost-static-and-shared-libs
  150. bool "Both"
  151. endchoice
  152. choice
  153. prompt "Selects Boost Runtime linkage."
  154. default boost-runtime-shared
  155. help
  156. Choose which C and C++ runtimes to use:
  157. -> Use Shared runtimes.
  158. -> Use Static runtimes.
  159. - Not available if Shared libs are to be built.
  160. -> Use both runtimes.
  161. - Not available if Shared libs are to be built.
  162. - Two separate versions of Boost are built, linking each to a different runtime.
  163. - This option requires "Use tagged names" option to be active.
  164. config boost-runtime-shared
  165. bool "Shared"
  166. config boost-runtime-static
  167. depends on @(!boost-shared-libs&&!boost-static-and-shared-libs)
  168. bool "Static"
  169. config boost-runtime-static-and-shared
  170. depends on @(boost-use-name-tags&&!boost-shared-libs&&!boost-static-and-shared-libs)
  171. bool "Both"
  172. endchoice
  173. choice
  174. prompt "Select a Variant."
  175. default boost-variant-release
  176. help
  177. Chooses which boost variant should be selected:
  178. -> Release: Optimizes Boost for release.
  179. - Optimization: Speed; Debug Symbols: Off; Inlining: Full; Runtime Debugging: Off.
  180. -> Debug:
  181. - Optimization: Off; Debug Symbols: On; Inlining: Off; Runtime Debugging: On.
  182. -> Profile:
  183. - Profiling: On; Debug Symbols: On.
  184. config boost-variant-release
  185. bool "Release"
  186. config boost-variant-debug
  187. bool "Debug"
  188. config boost-variant-profile
  189. bool "Profile"
  190. endchoice
  191. config boost-use-name-tags
  192. bool "Use tagged names."
  193. help
  194. Add name tags the lib files, to diferentiate each library version:
  195. "-mt" for multi-threading.
  196. "-d" for debugging.
  197. "-s" for runtime static link".
  198. Might break compatibility with libraries that expect boost libs with default names.
  199. default n
  200. config boost-single-thread
  201. depends on @boost-use-name-tags
  202. bool "Single thread Support."
  203. help
  204. Compile Boost libraries in single-thread mode.
  205. default n
  206. config boost-build-type-complete
  207. depends on @boost-use-name-tags
  208. bool "Complete Boost Build."
  209. help
  210. Builds both release and debug libs. It will take much longer to compile.
  211. default n
  212. endmenu
  213. menu "Select Boost libraries"
  214. depends on PACKAGE_boost
  215. comment "Libraries"
  216. config boost-libs-all
  217. bool "Include all Boost libraries."
  218. default m if ALL
  219. select PACKAGE_boost-libs
  220. select boost-test-pkg
  221. select boost-coroutine2
  222. select boost-graph-parallel
  223. # Invisible config dependency
  224. config boost-fiber-exclude
  225. bool
  226. default y if (CPU_TYPE=mips32 || CPU_TYPE=mips64)
  227. config boost-test-pkg
  228. bool "Boost test package."
  229. default m if ALL
  230. select PACKAGE_boost-test
  231. config boost-coroutine2
  232. depends on !@GCC_VERSION_4_8
  233. bool "Boost couroutine2 support."
  234. select PACKAGE_boost-coroutine
  235. default n
  236. config boost-graph-parallel
  237. bool "Boost parallel graph support."
  238. select PACKAGE_boost-graph
  239. default n
  240. $(foreach lib,$(BOOST_LIBS), \
  241. config PACKAGE_boost-$(lib)
  242. prompt "Boost $(lib) $(if $(findstring python,$(lib)),$(paren_left)v$(if $(findstring 3,$(lib)),$(BOOST_PYTHON3_VER),$(BOOST_PYTHON_VER))$(paren_right) ,)library."
  243. default m if ALL
  244. $(if $(findstring locale,$(lib)),depends on BUILD_NLS,)\
  245. $(if $(findstring python,$(lib)),depends on PACKAGE_$(lib),)\
  246. $(if $(findstring fiber,$(lib)),depends on (CPU_TYPE!=mips32 && CPU_TYPE!=mips64),)
  247. )
  248. endmenu
  249. endef
  250. PKG_CONFIG_DEPENDS:= CONFIG_PACKAGE_boost-test
  251. define Package/boost-test
  252. $(call Package/boost/Default)
  253. TITLE+= (test)
  254. HIDDEN:=1
  255. DEPENDS+=+boost-system +boost-timer
  256. endef
  257. define Build/Configure
  258. endef
  259. # 1: short name
  260. # 2: dependencies on other boost libraries (short name)
  261. # 3: dependencies on other packages
  262. # 4: conditional/inward dependencies
  263. define DefineBoostLibrary
  264. BOOST_DEPENDS+= +$(if $(4),$(4):boost-$(1),boost-$(1))
  265. PKG_CONFIG_DEPENDS+= CONFIG_PACKAGE_boost-$(1)
  266. BOOST_LIBS+= $(1)
  267. define Package/boost-$(1)
  268. $(call Package/boost/Default)
  269. TITLE+= ($(1))
  270. DEPENDS+= $$(foreach lib,$(2),+boost-$$(lib)) $(3) $(if $(4),@$(4),)
  271. HIDDEN:=1
  272. endef
  273. define Package/boost-$(1)/description
  274. This package contains the Boost $(1) library.
  275. endef
  276. endef
  277. $(eval $(call DefineBoostLibrary,atomic,system,))
  278. $(eval $(call DefineBoostLibrary,chrono,system,))
  279. $(eval $(call DefineBoostLibrary,container,,))
  280. $(eval $(call DefineBoostLibrary,context,chrono system thread,))
  281. $(eval $(call DefineBoostLibrary,contract,system,))
  282. $(eval $(call DefineBoostLibrary,coroutine,system chrono context thread,))
  283. $(eval $(call DefineBoostLibrary,date_time,,))
  284. #$(eval $(call DefineBoostLibrary,exception,,))
  285. $(eval $(call DefineBoostLibrary,fiber,coroutine filesystem,,!boost-fiber-exclude))
  286. $(eval $(call DefineBoostLibrary,filesystem,system,))
  287. $(eval $(call DefineBoostLibrary,graph,regex,))
  288. $(eval $(call DefineBoostLibrary,iostreams,,+zlib +liblzma +libbz2))
  289. $(eval $(call DefineBoostLibrary,locale,system,$(ICONV_DEPENDS),BUILD_NLS))
  290. $(eval $(call DefineBoostLibrary,log,system chrono date_time thread filesystem regex,))
  291. $(eval $(call DefineBoostLibrary,math,,))
  292. #$(eval $(call DefineBoostLibrary,mpi,,)) # OpenMPI does no exist in OpenWRT at this time.
  293. $(eval $(call DefineBoostLibrary,program_options,,))
  294. $(eval $(call DefineBoostLibrary,python,,,PACKAGE_python))
  295. $(eval $(call DefineBoostLibrary,python3,,,PACKAGE_python3))
  296. $(eval $(call DefineBoostLibrary,random,system,))
  297. $(eval $(call DefineBoostLibrary,regex,,))
  298. $(eval $(call DefineBoostLibrary,serialization,,))
  299. $(eval $(call DefineBoostLibrary,wserialization,serialization,))
  300. $(eval $(call DefineBoostLibrary,stacktrace,,))
  301. $(eval $(call DefineBoostLibrary,system,,))
  302. $(eval $(call DefineBoostLibrary,thread,system chrono atomic,))
  303. $(eval $(call DefineBoostLibrary,timer,chrono))
  304. $(eval $(call DefineBoostLibrary,type_erasure,chrono system thread,))
  305. $(eval $(call DefineBoostLibrary,wave,date_time thread filesystem,))
  306. include $(INCLUDE_DIR)/host-build.mk
  307. define Host/Compile
  308. # b2 does not provide a configure-script nor a Makefile
  309. ( cd $(HOST_BUILD_DIR)/tools/build/src/engine ; ./build.sh gcc )
  310. endef
  311. CONFIGURE_PREFIX:=$(PKG_INSTALL_DIR)
  312. TARGET_LDFLAGS += -pthread -lrt
  313. TARGET_CFLAGS += \
  314. $(if $(CONFIG_SOFT_FLOAT),-DBOOST_NO_FENV_H) -fPIC
  315. EXTRA_CXXFLAGS += $(if $(CONFIG_GCC_VERSION_4_8),-std=gnu++11,-std=gnu++14)
  316. ifneq ($(findstring mips,$(ARCH)),)
  317. BOOST_ABI = o32
  318. ifneq ($(findstring 64,$(ARCH)),)
  319. BOOST_ABI = o64
  320. endif
  321. else ifneq ($(findstring arm,$(ARCH)),)
  322. BOOST_ABI = aapcs
  323. else ifeq ($(ARCH),aarch64)
  324. BOOST_ABI = aapcs
  325. else
  326. BOOST_ABI = sysv
  327. endif
  328. comma := ,
  329. define Build/Compile
  330. $(info Selected Boost API $(BOOST_ABI) for architecture $(ARCH) and cpu $(CONFIG_CPU_TYPE) $(if $(CONFIG_CPU_SUBTYPE),and cpu subtype $(CONFIG_CPU_SUBTYPE),))
  331. ( cd $(PKG_BUILD_DIR) ; \
  332. echo "using gcc : $(ARCH) : $(GNU_TARGET_NAME)-gcc : <compileflags>\"$(TARGET_CFLAGS)\" <cxxflags>\"$(TARGET_CXXFLAGS) $(EXTRA_CXXFLAGS)\" <linkflags>\"$(TARGET_LDFLAGS)\" ;" > \
  333. tools/build/src/user-config.jam ; \
  334. b2 \
  335. $(CONFIGURE_ARGS) \
  336. --ignore-site-config \
  337. --toolset=gcc-$(ARCH) abi=$(BOOST_ABI) \
  338. --disable-long-double \
  339. $(if $(CONFIG_boost-compile-visibility-global), visibility=global,) \
  340. $(if $(CONFIG_boost-compile-visibility-protected), visibility=protected,) \
  341. $(if $(CONFIG_boost-compile-visibility-hidden), visibility=hidden,) \
  342. $(if $(CONFIG_boost-variant-release), variant=release,) \
  343. $(if $(CONFIG_boost-variant-debug), variant=debug,) \
  344. $(if $(CONFIG_boost-variant-profile), variant=profile,) \
  345. $(if $(CONFIG_boost-use-name-tags),--layout=tagged,--layout=system) \
  346. $(if $(CONFIG_boost-build-type-complete),--build-type=complete,--build-type=minimal) \
  347. $(if $(CONFIG_boost-shared-libs),link=shared,) \
  348. $(if $(CONFIG_boost-static-libs),link=static,) \
  349. $(if $(CONFIG_boost-static-and-shared-libs),link=static$(comma)shared,) \
  350. $(if $(CONFIG_boost-runtime-shared),runtime-link=shared,) \
  351. $(if $(CONFIG_boost-runtime-static),runtime-link=static,) \
  352. $(if $(CONFIG_boost-runtime-static-and-shared),runtime-link=shared$(comma)static,) \
  353. $(if $(CONFIG_boost-single-thread),threading=single,) \
  354. threading=multi \
  355. --without-mpi \
  356. $(if $(CONFIG_boost-graph-parallel),,--without-graph_parallel) \
  357. $(if $(CONFIG_PACKAGE_boost-test),,--without-test) \
  358. --without-python \
  359. $(foreach lib,$(BOOST_LIBS), \
  360. $(if $(findstring python,$(lib)),, \
  361. $(if $(CONFIG_PACKAGE_boost-$(lib)),, \
  362. $(if $(findstring wserialization,$(lib)),,--without-$(lib)) \
  363. ) \
  364. ) \
  365. ) \
  366. $(if $(CONFIG_PACKAGE_boost-locale),boost.locale.iconv=on -sICONV_PATH=$(ICONV_PREFIX) boost.locale.posix=$(if $(USE_MUSL),on,off), \
  367. boost.locale.iconv=off) \
  368. \
  369. $(if $(CONFIG_PACKAGE_boost-iostreams),-sNO_BZIP2=1 -sZLIB_INCLUDE=$(STAGING_DIR)/usr/include \
  370. -sZLIB_LIBPATH=$(STAGING_DIR)/usr/lib) \
  371. install ;\
  372. $(if $(CONFIG_PACKAGE_boost-python), \
  373. echo "using gcc : $(ARCH) : $(GNU_TARGET_NAME)-gcc : <compileflags>\"$(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include/python$(BOOST_PYTHON_VER)/ \" <cxxflags>\"$(TARGET_CXXFLAGS) $(EXTRA_CXXFLAGS)\" <linkflags>\"$(TARGET_LDFLAGS)\" ;" > \
  374. tools/build/src/user-config.jam ; \
  375. echo "using python : $(BOOST_PYTHON_VER) : : $(STAGING_DIR)/usr/include/python$(BOOST_PYTHON_VER)/ : $(STAGING_DIR)/usr/lib/libpython$(BOOST_PYTHON_VER).so ;" >> \
  376. tools/build/src/user-config.jam; \
  377. b2 -a \
  378. $(CONFIGURE_ARGS) \
  379. --ignore-site-config \
  380. --toolset=gcc-$(ARCH) abi=$(BOOST_ABI) \
  381. --disable-long-double \
  382. $(if $(CONFIG_boost-variant-release), variant=release,) \
  383. $(if $(CONFIG_boost-variant-debug), variant=debug,) \
  384. $(if $(CONFIG_boost-variant-profile), variant=profile,) \
  385. $(if $(CONFIG_boost-use-name-tags),--layout=tagged,--layout=system) \
  386. $(if $(CONFIG_boost-build-type-complete),--build-type=complete,--build-type=minimal) \
  387. $(if $(CONFIG_boost-shared-libs),link=shared,) \
  388. $(if $(CONFIG_boost-static-libs),link=static,) \
  389. $(if $(CONFIG_boost-static-and-shared-libs),link=static$(comma)shared,) \
  390. $(if $(CONFIG_boost-runtime-shared),runtime-link=shared,) \
  391. $(if $(CONFIG_boost-runtime-static),runtime-link=static,) \
  392. $(if $(CONFIG_boost-runtime-static-and-shared),runtime-link=shared$(comma)static,) \
  393. $(if $(CONFIG_boost-single-thread),threading=single,) \
  394. threading=multi \
  395. --with-python \
  396. install ;\
  397. ,) \
  398. $(if $(CONFIG_PACKAGE_boost-python3), \
  399. echo "using gcc : $(ARCH) : $(GNU_TARGET_NAME)-gcc : <compileflags>\"$(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include/python$(BOOST_PYTHON3_VER)/ \" <cxxflags>\"$(TARGET_CXXFLAGS) $(EXTRA_CXXFLAGS)\" <linkflags>\"$(TARGET_LDFLAGS)\" ;" > \
  400. tools/build/src/user-config.jam ; \
  401. echo "using python : $(BOOST_PYTHON3_VER) : : $(STAGING_DIR)/usr/include/python$(BOOST_PYTHON3_VER)/ : $(STAGING_DIR)/usr/lib/libpython$(BOOST_PYTHON3_VER).so ;" >> \
  402. tools/build/src/user-config.jam; \
  403. b2 -a \
  404. $(CONFIGURE_ARGS) \
  405. --ignore-site-config \
  406. --toolset=gcc-$(ARCH) abi=$(BOOST_ABI) \
  407. --disable-long-double \
  408. $(if $(CONFIG_boost-variant-release), variant=release,) \
  409. $(if $(CONFIG_boost-variant-debug), variant=debug,) \
  410. $(if $(CONFIG_boost-variant-profile), variant=profile,) \
  411. $(if $(CONFIG_boost-use-name-tags),--layout=tagged,--layout=system) \
  412. $(if $(CONFIG_boost-build-type-complete),--build-type=complete,--build-type=minimal) \
  413. $(if $(CONFIG_boost-shared-libs),link=shared,) \
  414. $(if $(CONFIG_boost-static-libs),link=static,) \
  415. $(if $(CONFIG_boost-static-and-shared-libs),link=static$(comma)shared,) \
  416. $(if $(CONFIG_boost-runtime-shared),runtime-link=shared,) \
  417. $(if $(CONFIG_boost-runtime-static),runtime-link=static,) \
  418. $(if $(CONFIG_boost-runtime-static-and-shared),runtime-link=shared$(comma)static,) \
  419. $(if $(CONFIG_boost-single-thread),threading=single,) \
  420. threading=multi \
  421. --with-python \
  422. install ;\
  423. ,) \
  424. )
  425. endef
  426. define Build/InstallDev
  427. $(INSTALL_DIR) \
  428. $(1)/usr/include/boost/
  429. $(CP) \
  430. $(PKG_INSTALL_DIR)/include/boost/* \
  431. $(1)/usr/include/boost/ \
  432. # copies _all_ header files - independent of <--with-library>-argument above
  433. $(INSTALL_DIR) $(1)/usr/lib
  434. # copies all compiled archive and shared object files
  435. $(CP) -v $(PKG_INSTALL_DIR)/lib/*.{a,so*} $(1)/usr/lib/ || :
  436. endef
  437. define Host/Install
  438. $(INSTALL_DIR) $(STAGING_DIR_HOSTPKG)/bin
  439. $(CP) $(HOST_BUILD_DIR)/tools/build/src/engine/bin.*/b2 $(STAGING_DIR_HOSTPKG)/bin/
  440. endef
  441. define Package/boost/Default/install
  442. $(INSTALL_DIR) $(1)/usr/lib
  443. $(if $(findstring python,$(2)), $(if $(findstring 3,$(2)), \
  444. $(CP) $(PKG_INSTALL_DIR)/lib/libboost_python3*.so* $(1)/usr/lib/ , \
  445. $(CP) $(PKG_INSTALL_DIR)/lib/libboost_python2*.so* $(1)/usr/lib/ ), \
  446. $(CP) $(PKG_INSTALL_DIR)/lib/libboost_$(2)*.so* $(1)/usr/lib/ )
  447. endef
  448. define Package/boost-test/install
  449. $(INSTALL_DIR) $(1)/usr/lib
  450. $(CP) $(PKG_INSTALL_DIR)/lib/libboost_unit_test_framework*.so* $(1)/usr/lib/
  451. $(CP) $(PKG_INSTALL_DIR)/lib/libboost_prg_exec_monitor*.so* $(1)/usr/lib/
  452. endef
  453. define BuildBoostLibrary
  454. define Package/boost-$(1)/install
  455. $(call Package/boost/Default/install,$$(1),$(1))
  456. endef
  457. $$(eval $$(call BuildPackage,boost-$(1)))
  458. endef
  459. $(eval $(call HostBuild))
  460. $(foreach lib,$(BOOST_LIBS),$(eval $(call BuildBoostLibrary,$(lib))))
  461. $(eval $(call BuildPackage,boost-test))
  462. $(eval $(call BuildPackage,boost-libs))
  463. $(eval $(call BuildPackage,boost))