From patchwork Mon Mar 10 08:38:48 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Johan Derycke X-Patchwork-Id: 328506 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from whitealder.osuosl.org (whitealder.osuosl.org [140.211.166.138]) by ozlabs.org (Postfix) with ESMTP id 4ACD02C00DF for ; Mon, 10 Mar 2014 19:39:10 +1100 (EST) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id 365118BCBF; Mon, 10 Mar 2014 08:39:09 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id laYZDjZ9Kirb; Mon, 10 Mar 2014 08:39:05 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by whitealder.osuosl.org (Postfix) with ESMTP id 005128BD13; Mon, 10 Mar 2014 08:39:04 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from hemlock.osuosl.org (hemlock.osuosl.org [140.211.166.133]) by ash.osuosl.org (Postfix) with ESMTP id A46D91BF831 for ; Mon, 10 Mar 2014 08:39:03 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by hemlock.osuosl.org (Postfix) with ESMTP id 9F0DE93319 for ; Mon, 10 Mar 2014 08:39:03 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from hemlock.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id b11ee0wlBAa8 for ; Mon, 10 Mar 2014 08:39:02 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-ee0-f46.google.com (mail-ee0-f46.google.com [74.125.83.46]) by hemlock.osuosl.org (Postfix) with ESMTPS id A47CC932DF for ; Mon, 10 Mar 2014 08:39:02 +0000 (UTC) Received: by mail-ee0-f46.google.com with SMTP id t10so2945224eei.33 for ; Mon, 10 Mar 2014 01:39:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id; bh=qfGQeqwdjekyn2jsEkv71zePJueuCjniifQ9Ye+dkd8=; b=0Zt0NHEv4DIIc2mVGuOd49PHFc+Y+4F4xcKubkzA/cayakyeQEk9ja68MtTu7hufpi AM/4N5K7bDWS2fiK5fpnUTiyeQtrSgloTfG6zmOI1zKc1D2yxfipZY8QqRSOPceXXkha guC6BypnGIvBPOIUptBSrggi0YGM1Fzx5a7NvcTsiPUu5myrReRJPSANldIl8wWC+G1C 58X1uj1wi0RluIUd+CzRTMZjPmWfJR376i9HGUjPpPnuDAzsafCWiht4A+fGU2/urwzb cx+np487GcaDw519MjLffBvcGVNqUjPXBm+CmdL93GiiwkxQpD8u2R8HWUyLqB85Pxwo Ev6A== X-Received: by 10.14.88.131 with SMTP id a3mr2982536eef.64.1394440740916; Mon, 10 Mar 2014 01:39:00 -0700 (PDT) Received: from kuuclt18625l.barco.com ([91.183.172.93]) by mx.google.com with ESMTPSA id 48sm42485104eee.2.2014.03.10.01.38.59 for (version=TLSv1.1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Mon, 10 Mar 2014 01:39:00 -0700 (PDT) From: Johan Derycke To: buildroot@buildroot.org Date: Mon, 10 Mar 2014 09:38:48 +0100 Message-Id: <1394440729-27664-1-git-send-email-johan.derycke@barco.com> X-Mailer: git-send-email 1.8.3.2 Cc: Johan Derycke Subject: [Buildroot] [PATCH v4 1/2] boost: make build with python an option X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.14 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: buildroot-bounces@busybox.net Sender: buildroot-bounces@busybox.net 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 --- 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) : \"$(TARGET_CXXFLAGS)\" \"$(TARGET_LDFLAGS)\" ;" > $(@D)/user-config.jam + echo "using gcc : $(TARGET_CC_VERSION) : $(TARGET_CXX) : \"$(BOOST_TARGET_CXXFLAGS)\" \"$(TARGET_LDFLAGS)\" ;" > $(@D)/user-config.jam echo "" >> $(@D)/user-config.jam endef