From patchwork Tue Oct 1 20:34:19 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matt Weber X-Patchwork-Id: 279576 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from fraxinus.osuosl.org (fraxinus.osuosl.org [140.211.166.137]) by ozlabs.org (Postfix) with ESMTP id 542822C00A2 for ; Wed, 2 Oct 2013 06:34:26 +1000 (EST) Received: from localhost (localhost [127.0.0.1]) by fraxinus.osuosl.org (Postfix) with ESMTP id 8F94C8AF7E; Tue, 1 Oct 2013 20:34:25 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from fraxinus.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id cExzdYQRn-Ms; Tue, 1 Oct 2013 20:34:25 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by fraxinus.osuosl.org (Postfix) with ESMTP id DAC058AF7F; Tue, 1 Oct 2013 20:34:24 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from whitealder.osuosl.org (whitealder.osuosl.org [140.211.166.138]) by ash.osuosl.org (Postfix) with ESMTP id E8E3B1BFAA2 for ; Tue, 1 Oct 2013 20:34:22 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id E0C588C86A for ; Tue, 1 Oct 2013 20:34:22 +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 xZw4fP556QZs for ; Tue, 1 Oct 2013 20:34:22 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from secvs02.rockwellcollins.com (secvs02.rockwellcollins.com [205.175.225.241]) by whitealder.osuosl.org (Postfix) with ESMTPS id 46EF58C3D2 for ; Tue, 1 Oct 2013 20:34:22 +0000 (UTC) Received: from nosuchhost.198.131.in-addr.arpa (HELO collinscrsmtp02.rockwellcollins.com) ([131.198.63.133]) by mail-virt.rockwellcollins.com with ESMTP; 01 Oct 2013 15:34:21 -0500 Received: from ares ([131.198.63.11]) by collinscrsmtp02.rockwellcollins.com (Lotus Domino Release 8.5.2FP2 HF162) with ESMTP id 2013100115342128-1984720 ; Tue, 1 Oct 2013 15:34:21 -0500 From: Matt Weber To: buildroot@busybox.net Date: Tue, 1 Oct 2013 15:34:19 -0500 Message-Id: <1380659659-886-1-git-send-email-mlweber1@rockwellcollins.com> X-Mailer: git-send-email 1.7.1 X-MIMETrack: Itemize by SMTP Server on CollinsCRSMTP02/CedarRapids/RockwellCollins(Release 8.5.2FP2 HF162|May 16, 2011) at 10/01/2013 03:34:21 PM, Serialize by Router on CollinsCRSMTP02/CedarRapids/RockwellCollins(Release 8.5.2FP2 HF162|May 16, 2011) at 10/01/2013 03:34:21 PM, Serialize complete at 10/01/2013 03:34:21 PM X-TNEFEvaluated: 1 Subject: [Buildroot] [PATCH v2] omniorb: cleanup autobuild failure, CFLAGS issue 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 Fixed: http://autobuild.buildroot.net/results/a08baf8821e3ee1fb9c36c8f74c4ced466af167b/ http://autobuild.buildroot.net/results/f0c7379c1f405385d3a64c0349c3d9565065e8a7/ http://autobuild.buildroot.net/results/c3de25ca52fdb8ffda7472cf9f7b64514954cbb1/ Change Log: The target CFLAGS were getting mixed in during a manual build of some omniorb pkg tools that could be viewed as host tools. This manual build was a dirty workaround and created some bad cornercases. So I converted the package over to actually using the host pkg build and removed the need for a patch and custom mods in the build. Also there wasn't a dependency on the target having python, just host-python for performing the initial build. So depends were adjusted accordingly. If python bindings are required, they can be found in a different package called omniORBpy. The omniORB package only uses python for the build process. Fixed a bug with long double support. Currently leaving it disabled as most targets won't use it. This allows greater toolchain compatibility. Signed-off-by: Matt Weber --- Changes v1 -> v2: * Moved host dependencies up by target depends package/omniorb/Config.in (suggested by Arnout) * Added host conf opt to also host disable longdouble (host and target are forced to match, since tools share headers) * Renamed post config hook package/omniorb/Config.in (suggested by Arnout) package/omniorb/omniorb.mk | 53 ++++++++++++++++++++------------------------ 1 files changed, 24 insertions(+), 29 deletions(-) diff --git a/package/omniorb/omniorb.mk b/package/omniorb/omniorb.mk index 8a41dc7..490ff93 100644 --- a/package/omniorb/omniorb.mk +++ b/package/omniorb/omniorb.mk @@ -10,37 +10,32 @@ OMNIORB_SOURCE = omniORB-$(OMNIORB_VERSION).tar.bz2 OMNIORB_INSTALL_STAGING = YES OMNIORB_LICENSE = GPL2+ LGPLv2.1+ OMNIORB_LICENSE_FILES = COPYING COPYING.LIB -# Required for internal code generation scripts -OMNIORB_DEPENDENCIES = host-python +OMNIORB_DEPENDENCIES = host-omniorb +HOST_OMNIORB_DEPENDENCIES = host-python +OMNIORB_INSTALL_TARGET = YES -ifeq ($(BR2_PACKAGE_PYTHON),y) - OMNIORB_DEPENDENCIES += python - OMNIORB_CONF_OPT += --enable-python-bindings -else - OMNIORB_CONF_OPT += --disable-python-bindings -endif +# Defaulting long double support to a safe option for the +# mix of embedded targets, this could later be automated +# based on checking the capability of the cross toolchain +# for "__LONG_DOUBLE_128__". Currently the host and target +# need to match because of the code generation done by the +# host tools during the target compile (ie headers generated +# on host are used in target build). +OMNIORB_CONF_OPT += --disable-longdouble +HOST_OMNIORB_CONF_OPT += --disable-longdouble -# omniORB is currently not cross-compile friendly and has some assumptions -# where a couple host tools are built in place and then used during the -# build. The tools generate code from the IDL description language, which -# is then built into the cross compiled OMNIORB application. -# So this first hook builds the tools required for the host side -# generation of code. Then the second hook cleans up before the install. -define OMNIORB_BUILD_TOOLS - $(HOST_MAKE_ENV) $(MAKE) $(HOST_CONFIGURE_OPTS) \ - -C $(@D)/src/tool export +# omniORB is not completely cross-compile friendly and has some +# assumptions where a couple host tools must be built and then +# used by the target build. The host tools generate code from +# the IDL description language, which is then built into the +# cross compiled target OMNIORB application. +define OMNIORB_ADJUST_TOOLDIR + # Point to the host folder to get HOST_OMNIORB tools + $(SED) 's:TOOLBINDIR = $$(TOP)/$$(BINDIR):TOOLBINDIR = $(HOST_DIR)/usr/bin:g' $(@D)/mk/beforeauto.mk + # Disables OMNIORB tool building + echo "EmbeddedSystem=1" >> $(@D)/mk/beforeauto.mk endef -OMNIORB_POST_CONFIGURE_HOOKS += OMNIORB_BUILD_TOOLS - -define OMNIORB_CLEAN_TOOLS - $(HOST_MAKE_ENV) $(MAKE) $(HOST_CONFIGURE_OPTS) \ - -C $(@D)/src/tool clean -endef -OMNIORB_POST_BUILD_HOOKS += OMNIORB_CLEAN_TOOLS - -define OMNIORB_FIXUP_FILE_PATHS_HOOK - $(SED) "s:$(HOST_DIR)/usr:/usr:g" $(STAGING_DIR)/usr/bin/omniidl -endef -OMNIORB_POST_INSTALL_STAGING_HOOKS += OMNIORB_FIXUP_FILE_PATHS_HOOK +OMNIORB_POST_CONFIGURE_HOOKS += OMNIORB_ADJUST_TOOLDIR $(eval $(autotools-package)) +$(eval $(host-autotools-package))