xref: /OK3568_Linux_fs/buildroot/package/omniorb/omniorb.mk (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1################################################################################
2#
3# omniorb
4#
5################################################################################
6
7OMNIORB_VERSION = 4.2.4
8OMNIORB_SITE = http://downloads.sourceforge.net/project/omniorb/omniORB/omniORB-$(OMNIORB_VERSION)
9OMNIORB_SOURCE = omniORB-$(OMNIORB_VERSION).tar.bz2
10OMNIORB_INSTALL_STAGING = YES
11OMNIORB_LICENSE = GPL2+, LGPL-2.1+
12OMNIORB_LICENSE_FILES = COPYING COPYING.LIB
13OMNIORB_DEPENDENCIES = host-omniorb
14HOST_OMNIORB_DEPENDENCIES = host-python
15
16# omniorb is not python3 friendly, so force the python interpreter
17OMNIORB_CONF_OPTS = ac_cv_path_PYTHON=$(HOST_DIR)/bin/python2
18HOST_OMNIORB_CONF_OPTS = ac_cv_path_PYTHON=$(HOST_DIR)/bin/python2
19
20# Defaulting long double support to a safe option for the
21# mix of embedded targets, this could later be automated
22# based on checking the capability of the cross toolchain
23# for "__LONG_DOUBLE_128__".  Currently the host and target
24# need to match because of the code generation done by the
25# host tools during the target compile (ie headers generated
26# on host are used in target build).
27OMNIORB_CONF_OPTS += --disable-longdouble
28HOST_OMNIORB_CONF_OPTS += --disable-longdouble
29
30ifeq ($(BR2_PACKAGE_OPENSSL),y)
31OMNIORB_CONF_OPTS += --with-openssl
32OMNIORB_DEPENDENCIES += openssl
33else
34OMNIORB_CONF_OPTS += --without-openssl
35endif
36
37ifeq ($(BR2_PACKAGE_ZLIB),y)
38OMNIORB_DEPENDENCIES += zlib
39endif
40
41# The EmbeddedSystem define (set below in OMNIORB_ADJUST_TOOLDIR)
42# enables building of just the lib and disables building of
43# tools/apps/services.  In some cases the apps/services are still
44# required.  The tools however are host related and should never
45# be required on target.
46define OMNIORB_ENABLE_EXTRA_APPS
47	$(SED) 's:SUBDIRS += lib:SUBDIRS += lib appl services:g' $(@D)/src/dir.mk
48endef
49
50ifeq ($(BR2_PACKAGE_OMNIORB_WITH_APPS),y)
51OMNIORB_POST_PATCH_HOOKS += OMNIORB_ENABLE_EXTRA_APPS
52endif
53
54ifeq ($(BR2_STATIC_LIBS),y)
55define OMNIORB_DISABLE_SHARED
56	echo "BuildSharedLibrary =" >> $(@D)/mk/beforeauto.mk
57endef
58OMNIORB_POST_CONFIGURE_HOOKS += OMNIORB_DISABLE_SHARED
59endif
60
61# omniORB is not completely cross-compile friendly and has some
62# assumptions where a couple host tools must be built and then
63# used by the target build.  The host tools generate code from
64# the IDL description language, which is then built into the
65# cross compiled target OMNIORB application.
66define OMNIORB_ADJUST_TOOLDIR
67	# Point to the host folder to get HOST_OMNIORB tools
68	$(SED) 's:TOOLBINDIR = $$(TOP)/$$(BINDIR):TOOLBINDIR = $(HOST_DIR)/bin:g' $(@D)/mk/beforeauto.mk
69	# Disables OMNIORB app/service/tool building
70	echo "EmbeddedSystem=1" >> $(@D)/mk/beforeauto.mk
71endef
72OMNIORB_POST_CONFIGURE_HOOKS += OMNIORB_ADJUST_TOOLDIR
73
74$(eval $(autotools-package))
75$(eval $(host-autotools-package))
76