2
1

omniorb.mk 2.7 KB

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