buildrootschalter/package/omniorb/omniorb.mk
Samuel Martin bd67fdee79 omniorb: force python interperter
Omniorb build-system requires python2 interpreter.

By default, it looks for python program, which may fallback on the system
python interpreter in case python is disabled and python3 is enabled.

So, this patch enforces the python interpreter to python2 built by
Buildroot.

Fixes:
  http://autobuild.buildroot.org/results/b4f/b4f3a2602ba0224ac3253c4bf6ed87ec045df772/

Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-04-14 23:14:11 +02:00

59 lines
2.4 KiB
Makefile

################################################################################
#
# omniorb
#
################################################################################
OMNIORB_VERSION = 4.1.6
OMNIORB_SITE = http://downloads.sourceforge.net/project/omniorb/omniORB/omniORB-$(OMNIORB_VERSION)
OMNIORB_SOURCE = omniORB-$(OMNIORB_VERSION).tar.bz2
OMNIORB_INSTALL_STAGING = YES
OMNIORB_LICENSE = GPL2+ LGPLv2.1+
OMNIORB_LICENSE_FILES = COPYING COPYING.LIB
OMNIORB_DEPENDENCIES = host-omniorb
HOST_OMNIORB_DEPENDENCIES = host-python
OMNIORB_INSTALL_TARGET = YES
# omniorb is not python3 friendly, so force the python interpreter
OMNIORB_CONF_OPT = ac_cv_path_PYTHON=$(HOST_DIR)/usr/bin/python2
HOST_OMNIORB_CONF_OPT = ac_cv_path_PYTHON=$(HOST_DIR)/usr/bin/python2
# 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
# The EmbeddedSystem define (set below in OMNIORB_ADJUST_TOOLDIR)
# enables building of just the lib and disables building of
# tools/apps/services. In some cases the apps/services are still
# required. The tools however are host related and should never
# be required on target.
define OMNIORB_ENABLE_EXTRA_APPS
$(SED) 's:SUBDIRS += lib:SUBDIRS += lib appl services:g' $(@D)/src/dir.mk
endef
ifeq ($(BR2_PACKAGE_OMNIORB_WITH_APPS),y)
OMNIORB_POST_PATCH_HOOKS += OMNIORB_ENABLE_EXTRA_APPS
endif
# 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 app/service/tool building
echo "EmbeddedSystem=1" >> $(@D)/mk/beforeauto.mk
endef
OMNIORB_POST_CONFIGURE_HOOKS += OMNIORB_ADJUST_TOOLDIR
$(eval $(autotools-package))
$(eval $(host-autotools-package))