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.

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