omniorb.mk 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. ################################################################################
  2. #
  3. # omniorb
  4. #
  5. ################################################################################
  6. OMNIORB_VERSION = 4.2.0
  7. OMNIORB_SITE = http://downloads.sourceforge.net/project/omniorb/omniORB/omniORB-$(OMNIORB_VERSION)
  8. OMNIORB_SOURCE = omniORB-$(OMNIORB_VERSION).tar.bz2
  9. OMNIORB_INSTALL_STAGING = YES
  10. OMNIORB_LICENSE = GPL2+ LGPLv2.1+
  11. OMNIORB_LICENSE_FILES = COPYING COPYING.LIB
  12. OMNIORB_DEPENDENCIES = host-omniorb
  13. HOST_OMNIORB_DEPENDENCIES = host-python
  14. OMNIORB_INSTALL_TARGET = YES
  15. # 0001-uclinux-is-also-linux.patch touches configure.ac
  16. OMNIORB_AUTORECONF = YES
  17. # omniorb is not python3 friendly, so force the python interpreter
  18. OMNIORB_CONF_OPTS = ac_cv_path_PYTHON=$(HOST_DIR)/usr/bin/python2
  19. HOST_OMNIORB_CONF_OPTS = ac_cv_path_PYTHON=$(HOST_DIR)/usr/bin/python2
  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).
  27. OMNIORB_CONF_OPTS += --disable-longdouble
  28. HOST_OMNIORB_CONF_OPTS += --disable-longdouble
  29. # The EmbeddedSystem define (set below in OMNIORB_ADJUST_TOOLDIR)
  30. # enables building of just the lib and disables building of
  31. # tools/apps/services. In some cases the apps/services are still
  32. # required. The tools however are host related and should never
  33. # be required on target.
  34. define OMNIORB_ENABLE_EXTRA_APPS
  35. $(SED) 's:SUBDIRS += lib:SUBDIRS += lib appl services:g' $(@D)/src/dir.mk
  36. endef
  37. ifeq ($(BR2_PACKAGE_OMNIORB_WITH_APPS),y)
  38. OMNIORB_POST_PATCH_HOOKS += OMNIORB_ENABLE_EXTRA_APPS
  39. endif
  40. ifeq ($(BR2_PREFER_STATIC_LIB),y)
  41. define OMNIORB_DISABLE_SHARED
  42. echo "BuildSharedLibrary =" >> $(@D)/mk/beforeauto.mk
  43. endef
  44. OMNIORB_POST_CONFIGURE_HOOKS += OMNIORB_DISABLE_SHARED
  45. endif
  46. # omniORB is not completely cross-compile friendly and has some
  47. # assumptions where a couple host tools must be built and then
  48. # used by the target build. The host tools generate code from
  49. # the IDL description language, which is then built into the
  50. # cross compiled target OMNIORB application.
  51. define OMNIORB_ADJUST_TOOLDIR
  52. # Point to the host folder to get HOST_OMNIORB tools
  53. $(SED) 's:TOOLBINDIR = $$(TOP)/$$(BINDIR):TOOLBINDIR = $(HOST_DIR)/usr/bin:g' $(@D)/mk/beforeauto.mk
  54. # Disables OMNIORB app/service/tool building
  55. echo "EmbeddedSystem=1" >> $(@D)/mk/beforeauto.mk
  56. endef
  57. OMNIORB_POST_CONFIGURE_HOOKS += OMNIORB_ADJUST_TOOLDIR
  58. $(eval $(autotools-package))
  59. $(eval $(host-autotools-package))