Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v4 1/2] boost: make build with python an option
@ 2014-03-10  8:38 Johan Derycke
  2014-03-10  8:38 ` [Buildroot] [PATCH v4 2/2] python-libconfig: new package Johan Derycke
  2014-03-29 15:55 ` [Buildroot] [PATCH v4 1/2] boost: make build with python an option Thomas Petazzoni
  0 siblings, 2 replies; 4+ messages in thread
From: Johan Derycke @ 2014-03-10  8:38 UTC (permalink / raw)
  To: buildroot

Add an option to boost to build the Boost.Python library.
http://www.boost.org/doc/libs/1_55_0/libs/python/doc/index.html

Signed-off-by: Johan Derycke <johan.derycke@barco.com>
---
Changes v3 -> v4:
  -Avoid line-wrap using "git send-email" with gmail
  -Fix builds with python3
Changes v2 -> v3:
  -Avoid line-wrap using "git send-email"
Changes v1 -> v2:
  -Fixed indentations and blank lines
  -Removed package/Config.in
  -Allow build with python3

 package/boost/Config.in |    4 ++++
 package/boost/boost.mk  |   20 ++++++++++++++++++--
 2 files changed, 22 insertions(+), 2 deletions(-)

diff --git a/package/boost/Config.in b/package/boost/Config.in
index 68c3909..a74c2d7 100644
--- a/package/boost/Config.in
+++ b/package/boost/Config.in
@@ -60,6 +60,10 @@ config BR2_PACKAGE_BOOST_MPI
 config BR2_PACKAGE_BOOST_PROGRAM_OPTIONS
 	bool "boost-program_options"
 
+config BR2_PACKAGE_BOOST_PYTHON
+	depends on BR2_PACKAGE_PYTHON || BR2_PACKAGE_PYTHON3
+	bool "boost-python"
+
 config BR2_PACKAGE_BOOST_RANDOM
 	bool "boost-random"
 
diff --git a/package/boost/boost.mk b/package/boost/boost.mk
index 7aab614..47e9c23 100644
--- a/package/boost/boost.mk
+++ b/package/boost/boost.mk
@@ -26,7 +26,7 @@ HOST_BOOST_FLAGS = --without-icu \
 # atomic library compile only with upstream version, wait for next release
 # coroutine breaks on some weak toolchains and it's new for 1.54+
 # log breaks with some toolchain combinations and it's new for 1.54+
-BOOST_WITHOUT_FLAGS = atomic coroutine log python
+BOOST_WITHOUT_FLAGS = atomic coroutine log
 
 BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_CHRONO),,chrono)
 BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_CONTEXT),,context)
@@ -40,6 +40,7 @@ BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_LOCALE),,locale)
 BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_MATH),,math)
 BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_MPI),,mpi)
 BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_PROGRAM_OPTIONS),,program_options)
+BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_PYTHON),,python)
 BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_RANDOM),,random)
 BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_REGEX),,regex)
 BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_SERIALIZATION),,serialization)
@@ -50,6 +51,8 @@ BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_THREAD),,thread)
 BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_TIMER),,timer)
 BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_WAVE),,wave)
 
+BOOST_TARGET_CXXFLAGS = $(TARGET_CXXFLAGS)
+
 ifeq ($(BR2_PACKAGE_ICU),y)
 BOOST_FLAGS += --with-icu=$(STAGING_DIR)/usr
 BOOST_DEPENDENCIES += icu
@@ -61,6 +64,19 @@ ifeq ($(BR2_PACKAGE_BOOST_IOSTREAMS),y)
 BOOST_DEPENDENCIES += bzip2 zlib
 endif
 
+ifeq ($(BR2_PACKAGE_BOOST_PYTHON),y)
+BOOST_FLAGS += --with-python-root=$(HOST_DIR)
+ifeq ($(BR2_PACKAGE_PYTHON3),y)
+BOOST_FLAGS += --with-python=$(HOST_DIR)/usr/bin/python$(PYTHON3_VERSION_MAJOR)
+BOOST_TARGET_CXXFLAGS += -I$(STAGING_DIR)/usr/include/python$(PYTHON3_VERSION_MAJOR)m
+BOOST_DEPENDENCIES += python3
+else
+BOOST_FLAGS += --with-python=$(HOST_DIR)/usr/bin/python$(PYTHON_VERSION_MAJOR)
+BOOST_TARGET_CXXFLAGS += -I$(STAGING_DIR)/usr/include/python$(PYTHON_VERSION_MAJOR)
+BOOST_DEPENDENCIES += python
+endif
+endif
+
 HOST_BOOST_OPT += toolset=gcc threading=multi variant=release link=shared \
 	runtime-link=shared
 
@@ -84,7 +100,7 @@ BOOST_FLAGS += $(if $(BOOST_WITHOUT_FLAGS_COMMASEPERATED), --without-libraries=$
 
 define BOOST_CONFIGURE_CMDS
 	(cd $(@D) && ./bootstrap.sh $(BOOST_FLAGS))
-	echo "using gcc : $(TARGET_CC_VERSION) : $(TARGET_CXX) : <cxxflags>\"$(TARGET_CXXFLAGS)\" <linkflags>\"$(TARGET_LDFLAGS)\" ;" > $(@D)/user-config.jam
+	echo "using gcc : $(TARGET_CC_VERSION) : $(TARGET_CXX) : <cxxflags>\"$(BOOST_TARGET_CXXFLAGS)\" <linkflags>\"$(TARGET_LDFLAGS)\" ;" > $(@D)/user-config.jam
 	echo "" >> $(@D)/user-config.jam
 endef
 
-- 
1.7.10.4

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [Buildroot] [PATCH v4 2/2] python-libconfig: new package
  2014-03-10  8:38 [Buildroot] [PATCH v4 1/2] boost: make build with python an option Johan Derycke
@ 2014-03-10  8:38 ` Johan Derycke
  2014-03-29 17:27   ` Thomas Petazzoni
  2014-03-29 15:55 ` [Buildroot] [PATCH v4 1/2] boost: make build with python an option Thomas Petazzoni
  1 sibling, 1 reply; 4+ messages in thread
From: Johan Derycke @ 2014-03-10  8:38 UTC (permalink / raw)
  To: buildroot

Python bindings to the C++ library libconfig 
https://github.com/cnangel/python-libconfig

Signed-off-by: Johan Derycke <johan.derycke@barco.com>
---
Changes v3 -> v4:
  -Avoid line-wrap using "git send-email" with gmail
  -Also builds with python3
  -Select BR2_PACKAGE_BOOST
Changes v2 -> v3:
  -Avoid line-wrap using "git send-email"
Changes v1 -> v2:
  -Fixed indentations and blank lines
  -Added package/Config.in

 package/Config.in                            |    1 +
 package/python-libconfig/Config.in           |   20 ++++++++++++++++++++
 package/python-libconfig/python-libconfig.mk |   17 +++++++++++++++++
 3 files changed, 38 insertions(+)
 create mode 100644 package/python-libconfig/Config.in
 create mode 100644 package/python-libconfig/python-libconfig.mk

diff --git a/package/Config.in b/package/Config.in
index 417c9b8..fb29097 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -442,6 +442,7 @@ source "package/python-id3/Config.in"
 source "package/python-ipy/Config.in"
 source "package/python-json-schema-validator/Config.in"
 source "package/python-keyring/Config.in"
+source "package/python-libconfig/Config.in"
 source "package/python-mad/Config.in"
 source "package/python-meld3/Config.in"
 source "package/python-msgpack/Config.in"
diff --git a/package/python-libconfig/Config.in b/package/python-libconfig/Config.in
new file mode 100644
index 0000000..35e9804
--- /dev/null
+++ b/package/python-libconfig/Config.in
@@ -0,0 +1,20 @@
+comment "python-libconfig needs a toolchain w/ C++, largefile, threads"
+	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_LARGEFILE || !BR2_TOOLCHAIN_HAS_THREADS
+
+
+config BR2_PACKAGE_PYTHON_LIBCONFIG
+	bool "python-libconfig"
+	depends on BR2_PACKAGE_PYTHON || BR2_PACKAGE_PYTHON3
+	select BR2_PACKAGE_BOOST
+	select BR2_PACKAGE_BOOST_PYTHON
+	select BR2_PACKAGE_LIBCONFIG
+	help
+	  Python bindings to the C++ library libconfig
+
+	  https://github.com/cnangel/python-libconfig
+
+	  Libconfig is a simple library for manipulating structured
+	  configuration files. The file format is more compact and more
+	  readable than XML. And unlike XML, it is type-aware, so it is
+	  not necessary to do string parsing in application code.
+	  http://www.hyperrealm.com/libconfig/
diff --git a/package/python-libconfig/python-libconfig.mk b/package/python-libconfig/python-libconfig.mk
new file mode 100644
index 0000000..3f5984b
--- /dev/null
+++ b/package/python-libconfig/python-libconfig.mk
@@ -0,0 +1,17 @@
+################################################################################
+#
+# python-libconfig
+#
+################################################################################
+
+PYTHON_LIBCONFIG_VERSION = b271c3d9dac938ad5cd29b67bd08cc5536a5a391
+PYTHON_LIBCONFIG_SITE = $(call github,cnangel,python-libconfig,$(PYTHON_LIBCONFIG_VERSION))
+
+PYTHON_LIBCONFIG_LICENSE = BSD
+PYTHON_LIBCONFIG_LICENSE_FILES = README
+
+PYTHON_LIBCONFIG_SETUP_TYPE = setuptools
+
+PYTHON_LIBCONFIG_DEPENDENCIES = libconfig boost
+
+$(eval $(python-package))
-- 
1.7.10.4

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [Buildroot] [PATCH v4 1/2] boost: make build with python an option
  2014-03-10  8:38 [Buildroot] [PATCH v4 1/2] boost: make build with python an option Johan Derycke
  2014-03-10  8:38 ` [Buildroot] [PATCH v4 2/2] python-libconfig: new package Johan Derycke
@ 2014-03-29 15:55 ` Thomas Petazzoni
  1 sibling, 0 replies; 4+ messages in thread
From: Thomas Petazzoni @ 2014-03-29 15:55 UTC (permalink / raw)
  To: buildroot

Dear Johan Derycke,

On Mon, 10 Mar 2014 09:38:48 +0100, Johan Derycke wrote:
> Add an option to boost to build the Boost.Python library.
> http://www.boost.org/doc/libs/1_55_0/libs/python/doc/index.html
> 
> Signed-off-by: Johan Derycke <johan.derycke@barco.com>
> ---
> Changes v3 -> v4:
>   -Avoid line-wrap using "git send-email" with gmail
>   -Fix builds with python3
> Changes v2 -> v3:
>   -Avoid line-wrap using "git send-email"
> Changes v1 -> v2:
>   -Fixed indentations and blank lines
>   -Removed package/Config.in
>   -Allow build with python3
> 
>  package/boost/Config.in |    4 ++++
>  package/boost/boost.mk  |   20 ++++++++++++++++++--
>  2 files changed, 22 insertions(+), 2 deletions(-)

Applied, thanks.

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Buildroot] [PATCH v4 2/2] python-libconfig: new package
  2014-03-10  8:38 ` [Buildroot] [PATCH v4 2/2] python-libconfig: new package Johan Derycke
@ 2014-03-29 17:27   ` Thomas Petazzoni
  0 siblings, 0 replies; 4+ messages in thread
From: Thomas Petazzoni @ 2014-03-29 17:27 UTC (permalink / raw)
  To: buildroot

Dear Johan Derycke,

On Mon, 10 Mar 2014 09:38:49 +0100, Johan Derycke wrote:
> Python bindings to the C++ library libconfig 
> https://github.com/cnangel/python-libconfig
> 
> Signed-off-by: Johan Derycke <johan.derycke@barco.com>
> ---
> Changes v3 -> v4:
>   -Avoid line-wrap using "git send-email" with gmail
>   -Also builds with python3
>   -Select BR2_PACKAGE_BOOST
> Changes v2 -> v3:
>   -Avoid line-wrap using "git send-email"
> Changes v1 -> v2:
>   -Fixed indentations and blank lines
>   -Added package/Config.in

Applied, thanks.

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2014-03-29 17:27 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-03-10  8:38 [Buildroot] [PATCH v4 1/2] boost: make build with python an option Johan Derycke
2014-03-10  8:38 ` [Buildroot] [PATCH v4 2/2] python-libconfig: new package Johan Derycke
2014-03-29 17:27   ` Thomas Petazzoni
2014-03-29 15:55 ` [Buildroot] [PATCH v4 1/2] boost: make build with python an option Thomas Petazzoni

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox