[Buildroot] [PATCH 9/9] boost : new package
Chih-Min Chao
cmchao at gmail.com
Fri Mar 11 08:13:35 UTC 2011
Signed-off-by: Chih-Min Chao <cmchao at gmail.com>
---
package/Config.in | 1 +
package/boost/Config.in | 81 +++++++++++++++++++++++++++++++++
package/boost/boost.mk | 113 +++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 195 insertions(+), 0 deletions(-)
create mode 100644 package/boost/Config.in
create mode 100644 package/boost/boost.mk
diff --git a/package/Config.in b/package/Config.in
index eefcde8..91a8aa3 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -324,6 +324,7 @@ endmenu
menu "Other"
source "package/argp-standalone/Config.in"
+source "package/boost/Config.in"
source "package/libatomic_ops/Config.in"
source "package/libcap/Config.in"
source "package/libdaemon/Config.in"
diff --git a/package/boost/Config.in b/package/boost/Config.in
new file mode 100644
index 0000000..c0e3b7b
--- /dev/null
+++ b/package/boost/Config.in
@@ -0,0 +1,81 @@
+config BR2_PACKAGE_BOOST
+ bool "boost"
+ depends on BR2_INSTALL_LIBSTDCPP
+ help
+ A well-knownd C++ library
+ http://www.boost.org
+
+if BR2_PACKAGE_BOOST
+
+config BR2_PACKAGE_BOOST_DATETIME
+ bool "enable date_time library"
+ default n
+
+config BR2_PACKAGE_BOOST_FILESYSTEM
+ bool "enable filesystem library"
+ default n
+
+config BR2_PACKAGE_BOOST_GRAPH
+ bool "enable graph library"
+ default n
+
+config BR2_PACKAGE_BOOST_GRAPH_PARALLEL
+ bool "enable graph_parallel library"
+ default n
+
+config BR2_PACKAGE_BOOST_IOSTREAMS
+ bool "enable iostreams library"
+ select BR2_PACKAGE_ZLIB
+ select BR2_PACKAGE_BZIP2
+ default n
+
+config BR2_PACKAGE_BOOST_MATH
+ bool "enable math library"
+ default n
+
+config BR2_PACKAGE_BOOST_MPI
+ bool "enable mpi library"
+ default n
+
+config BR2_PACKAGE_BOOST_PROGRAM_OPTIONS
+ bool "enable program_options library"
+ default n
+
+config BR2_PACKAGE_BOOST_PYTHON
+ bool "enable python library"
+ select BR2_PACKAGE_PYTHON
+ default n
+
+config BR2_PACKAGE_BOOST_RANDOM
+ bool "enable random library"
+ default n
+
+config BR2_PACKAGE_BOOST_REGEX
+ bool "enable regex library"
+ default n
+
+config BR2_PACKAGE_BOOST_SERIALIZATION
+ bool "enable serialization library"
+ default n
+
+config BR2_PACKAGE_BOOST_SIGNALS
+ bool "enable signals library"
+ default n
+
+config BR2_PACKAGE_BOOST_SYSTEM
+ bool "enable system library"
+ default n
+
+config BR2_PACKAGE_BOOST_TEST
+ bool "enable test library"
+ default n
+
+config BR2_PACKAGE_BOOST_THREAD
+ bool "enable thread library"
+ default n
+
+config BR2_PACKAGE_BOOST_WAVE
+ bool "enable wave library"
+ default n
+
+endif #BR2_PACKAGE_BOOST
diff --git a/package/boost/boost.mk b/package/boost/boost.mk
new file mode 100644
index 0000000..7186010
--- /dev/null
+++ b/package/boost/boost.mk
@@ -0,0 +1,113 @@
+#############################################################
+#
+# bzip2
+#
+#############################################################
+BOOST_VERSION:=1_46_0
+BOOST_VERSION2:=1.46.0
+BOOST_SOURCE:=boost_$(BOOST_VERSION).tar.bz2
+BOOST_SITE:=http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/boost/
+#BOOST_INSTALL_STAGING=YES
+
+ifneq ($(BR2_PACKAGE_BOOST_DATETIME),y)
+BOOST_LIB_CONF += --without-date_time
+endif
+
+ifneq ($(BR2_PACKAGE_BOOST_FILESYSTEM),y)
+BOOST_LIB_CONF += --without-filesystem
+endif
+
+ifneq ($(BR2_PACKAGE_BOOST_GRAPH),y)
+BOOST_LIB_CONF += --without-graph
+endif
+
+ifneq ($(BR2_PACKAGE_BOOST_GRAPH_PARALLEL),y)
+BOOST_LIB_CONF += --without-graph_parallel
+endif
+
+ifneq ($(BR2_PACKAGE_BOOST_IOSTREAMS),y)
+BOOST_LIB_CONF += --without-iostreams
+else
+BOOST_DEPENDENCIES += zlib bzip2
+endif
+
+ifneq ($(BR2_PACKAGE_BOOST_MATH),y)
+BOOST_LIB_CONF += --without-math
+endif
+
+ifneq ($(BR2_PACKAGE_BOOST_MPI),y)
+BOOST_LIB_CONF += --without-mpi
+endif
+
+ifneq ($(BR2_PACKAGE_BOOST_PROGRAM_OPTIONS),y)
+BOOST_LIB_CONF += --without-program_options
+endif
+
+ifneq ($(BR2_PACKAGE_BOOST_PYTHON),y)
+BOOST_LIB_CONF += --without-python
+else
+BOOST_DEPENDENCIES += python
+endif
+
+ifneq ($(BR2_PACKAGE_BOOST_RANDOM),y)
+BOOST_LIB_CONF += --without-random
+endif
+
+ifneq ($(BR2_PACKAGE_BOOST_REGEX),y)
+BOOST_LIB_CONF += --without-regex
+endif
+
+ifneq ($(BR2_PACKAGE_BOOST_SERIALIZATION),y)
+BOOST_LIB_CONF += --without-serialization
+endif
+
+ifneq ($(BR2_PACKAGE_BOOST_SIGNALS),y)
+BOOST_LIB_CONF += --without-signals
+endif
+
+ifneq ($(BR2_PACKAGE_BOOST_SYSTEM),y)
+BOOST_LIB_CONF += --without-system
+endif
+
+ifneq ($(BR2_PACKAGE_BOOST_TEST),y)
+BOOST_LIB_CONF += --without-test
+endif
+
+ifneq ($(BR2_PACKAGE_BOOST_THREAD),y)
+BOOST_LIB_CONF += --without-thread
+endif
+
+ifneq ($(BR2_PACKAGE_BOOST_WAVE),y)
+BOOST_LIB_CONF += --without-wave
+endif
+
+define BOOST_BUILD_CMDS
+ (cd $(@D);\
+ ./bootstrap.sh \
+ )
+ $(SED) "s,using gcc,using gcc : $(ARCH) : $(TARGET_CXX),g" $(@D)/project-config.jam
+ $(SED) "s,using python : 2.6 : /usr,using python : $(PYTHON_VERSION_MAJOR) \
+ : $(STAGING_DIR)/usr,g" $(@D)/project-config.jam
+ (cd $(@D); \
+ ./bjam $(BOOST_LIB_CONF);\
+ )
+endef
+
+define BOOST_INSTALL_STAGING_CMDS
+ ./bjam install --prefix=$(STAGING_DIR)/usr --layout=system
+endef
+
+define BOOST_INSTALL_TARGET_CMDS
+ (cd $(@D); \
+ ./bjam install --prefix=$(TARGET_DIR)/usr --layout=system $(BOOST_LIB_CONF) ;\
+ )
+endef
+
+define BOOST_CLEAN_CMDS
+ rm -f $(TARGET_DIR)/lib/boost*
+ rm -f $(STAGING_DIR)/lib/boost*
+ rm -f $(TARGET_DIR)/include/boost
+ rm -f $(STAGING_DIR)/include/boost
+endef
+
+$(eval $(call GENTARGETS,package,boost))
--
1.7.0.4
More information about the buildroot
mailing list