Message ID | 1379017961-22950-1-git-send-email-mlweber1@rockwellcollins.com |
---|---|
State | Superseded |
Headers | show |
>>>>> "Matt" == Matt Weber <mlweber1@rockwellcollins.com> writes:
Matt> Signed-off-by: Matt Weber <mlweber1@rockwellcollins.com>
Matt> ---
Matt> Changes v2 -> v3
Matt> * Removed depend on python as the mk accounts for it
Matt> package/omniorb/Config.in (suggested by Thomas)
Matt> * Added link to website package/omniorb/Config.in (suggested by Thomas)
Matt> * Added note about host python requirement for build
Matt> package/omniorb/omniorb.mk (suggested by Thomas)
Matt> * Removed staging loop of fixing file paths for a single file. Instead it
Matt> no just operates on a single file package/omniorb/omniorb.mk (suggested by Thomas)
Matt> * Fixed brackets package/omniorb/omniorb.mk (suggested by Thomas)
Matt> * Cleaned up host tool comment package/omniorb/omniorb.mk (suggested by Thomas)
Matt> * Cleaned up host tools to use HOST_CONFIGURE_OPTS to fix ccache
Matt> support package/omniorb/omniorb.mk (suggested by Thomas)
Matt> * Switched over to use a make tools export and clean hook. Required
Matt> patching of the package to correctly assign the CC/CXX/etc defines.
Matt> Submitted this patch upsteam as well as including in this patchset.
Matt> package/omniorb/omniorb.mk (suggested by Arnout)
Matt> Changes v1 -> v2:
Matt> * Fixed formatting of help and added select of python in package/omniorb/Config.in (suggested by Thomas)
Matt> * Removed extra open ended config option as it isn't used package/omniorb/Config.in (suggested by Thomas)
Matt> * Cleaned up use of brackets and replaced with braces package/omniorb/Config.in (suggested by Thomas)
Matt> * Updated licenses to be GPL and LGPL with a + package/omniorb/omniorb.mk (suggested by Thomas)
Matt> * Removed redundant conf opt and target install sets package/omniorb/omniorb.mk (suggested by Thomas)
Matt> * Added a post install step to replace overloading the default staging installs package/omniorb/omniorb.mk (suggested by Thomas)
Matt> * Broke out tools(host) build into seperate post conf step package/omniorb/omniorb.mk (suggested by Thomas)
Matt> * Removed clean and uninstall package/omniorb/omniorb.mk (suggested by Thomas)
Matt> package/Config.in | 1 +
Matt> package/omniorb/Config.in | 10 ++++
Matt> ...mniorb-0001-supportCrossCompileToolExport.patch | 27 +++++++++++
Matt> package/omniorb/omniorb.mk | 47 ++++++++++++++++++++
Matt> 4 files changed, 85 insertions(+), 0 deletions(-)
Matt> create mode 100644 package/omniorb/Config.in
Matt> create mode 100644 package/omniorb/omniorb-0001-supportCrossCompileToolExport.patch
Matt> create mode 100644 package/omniorb/omniorb.mk
Matt> diff --git a/package/Config.in b/package/Config.in
Matt> index 02e5afc..820fae2 100644
Matt> --- a/package/Config.in
Matt> +++ b/package/Config.in
Matt> @@ -624,6 +624,7 @@ source "package/libupnp/Config.in"
Matt> source "package/libvncserver/Config.in"
Matt> source "package/libwebsockets/Config.in"
Matt> source "package/nss-mdns/Config.in"
Matt> +source "package/omniorb/Config.in"
Matt> source "package/openpgm/Config.in"
Matt> source "package/ortp/Config.in"
Matt> source "package/slirp/Config.in"
Matt> diff --git a/package/omniorb/Config.in b/package/omniorb/Config.in
Matt> new file mode 100644
Matt> index 0000000..327de03
Matt> --- /dev/null
Matt> +++ b/package/omniorb/Config.in
Matt> @@ -0,0 +1,10 @@
Matt> +config BR2_PACKAGE_OMNIORB
Matt> + bool "omniorb"
Matt> + help
Matt> + omniORB is a robust high performance CORBA ORB for C++ and Python.
Matt> + omniORB is largely CORBA 2.6 compliant. omniORB is one of only
Matt> + three ORBs to have been awarded the Open Group's Open Brand for
Matt> + CORBA. This means that omniORB has been tested and certified
Matt> + CORBA compliant, to version 2.1 of the CORBA specification.
Presumably this needs to depend on BR2_INSTALL_LIBSTCPP and show a
comment if the toolchain doesn't have C++ support.
You also have a number of trailing spaces in the help text.
Matt> +
Matt> + http://omniorb.sourceforge.net/
Matt> diff --git a/package/omniorb/omniorb-0001-supportCrossCompileToolExport.patch b/package/omniorb/omniorb-0001-supportCrossCompileToolExport.patch
Matt> new file mode 100644
Matt> index 0000000..20643a0
Matt> --- /dev/null
Matt> +++ b/package/omniorb/omniorb-0001-supportCrossCompileToolExport.patch
Matt> @@ -0,0 +1,27 @@
Matt> +
Matt> +This patch has been posted upstream (mlweber1@rockwellcollins.com) 09/12/2013.
Matt> +
Please provide a git-style description of what the patch does and your
signed-off-by.
If possible, add a link to the mailing list archive of the patch you
sent upstream.
I believe you were already asked to rename this patch filename to lower case/words-seperated-by-dashes?
Matt> diff --git a/package/omniorb/omniorb.mk b/package/omniorb/omniorb.mk
Matt> new file mode 100644
Matt> index 0000000..5dd1a98
Matt> --- /dev/null
Matt> +++ b/package/omniorb/omniorb.mk
Matt> @@ -0,0 +1,47 @@
Matt> +################################################################################
Matt> +#
Matt> +# omniorb
Matt> +#
Matt> +################################################################################
Matt> +
Matt> +OMNIORB_VERSION = 4.1.6
Matt> +OMNIORB_SITE = http://downloads.sourceforge.net/project/omniorb/omniORB/omniORB-$(OMNIORB_VERSION)
Matt> +OMNIORB_SOURCE = omniORB-$(OMNIORB_VERSION).tar.bz2
Matt> +OMNIORB_INSTALL_STAGING = YES
Matt> +OMNIORB_LICENSE = GPL2+ LGPLv2.1+
Matt> +OMNIORB_LICENSE_FILES = COPYING COPYING.LIB
Matt> +# Required for internal code generation scripts
Matt> +OMNIORB_DEPENDENCIES = host-python
Matt> +
Matt> +ifeq ($(BR2_PACKAGE_PYTHON),y)
Matt> + OMNIORB_DEPENDENCIES += python
Matt> + OMNIORB_CONF_OPT += --enable-python-bindings
Matt> +else
Matt> + OMNIORB_CONF_OPT += --disable-python-bindings
Matt> +endif
Matt> +
Matt> +# OMNIORB is currently not cross-compile friendly and has some assumptions
Matt> +# where a couple host tools are built in place and then used during the
Matt> +# build. The tools generate code from the IDL description language, which
Matt> +# is then built into the cross compiled OMNIORB application.
Matt> +# So this first hook builds the tools required for the host side
Matt> +# generation of code. Then the second hook cleans up before the install.
Why the upper case OMNIORB?
Matt> +define OMNIORB_BUILD_TOOLS
Matt> + $(HOST_MAKE_ENV) $(MAKE) $(HOST_CONFIGURE_OPTS) \
Matt> + -C $(@D)/src/tool export
Matt> +endef
Matt> +OMNIORB_POST_CONFIGURE_HOOKS += OMNIORB_BUILD_TOOLS
Matt> +
Matt> +define OMNIORB_CLEAN_TOOLS
Matt> + $(HOST_MAKE_ENV) $(MAKE) $(HOST_CONFIGURE_OPTS) \
Matt> + -C $(@D)/src/tool clean
Matt> +endef
Matt> +OMNIORB_POST_BUILD_HOOKS += OMNIORB_CLEAN_TOOLS
Matt> +
Matt> +define OMNIORB_FIXUP_FILE_PATHS_HOOK
Matt> + $(SED) "s:$(HOST_DIR)/usr:/usr:g" $(STAGING_DIR)/usr/bin/omniidl;
Matt> +endef
Matt> +OMNIORB_POST_INSTALL_STAGING_HOOKS += OMNIORB_FIXUP_FILE_PATHS_HOOK
Matt> +
Matt> +$(eval $(autotools-package))
Matt> +
Please don't add empty lines after autotools-package. You also have a
number of trailing spaces.
diff --git a/package/Config.in b/package/Config.in index 02e5afc..820fae2 100644 --- a/package/Config.in +++ b/package/Config.in @@ -624,6 +624,7 @@ source "package/libupnp/Config.in" source "package/libvncserver/Config.in" source "package/libwebsockets/Config.in" source "package/nss-mdns/Config.in" +source "package/omniorb/Config.in" source "package/openpgm/Config.in" source "package/ortp/Config.in" source "package/slirp/Config.in" diff --git a/package/omniorb/Config.in b/package/omniorb/Config.in new file mode 100644 index 0000000..327de03 --- /dev/null +++ b/package/omniorb/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_OMNIORB + bool "omniorb" + help + omniORB is a robust high performance CORBA ORB for C++ and Python. + omniORB is largely CORBA 2.6 compliant. omniORB is one of only + three ORBs to have been awarded the Open Group's Open Brand for + CORBA. This means that omniORB has been tested and certified + CORBA compliant, to version 2.1 of the CORBA specification. + + http://omniorb.sourceforge.net/ diff --git a/package/omniorb/omniorb-0001-supportCrossCompileToolExport.patch b/package/omniorb/omniorb-0001-supportCrossCompileToolExport.patch new file mode 100644 index 0000000..20643a0 --- /dev/null +++ b/package/omniorb/omniorb-0001-supportCrossCompileToolExport.patch @@ -0,0 +1,27 @@ + +This patch has been posted upstream (mlweber1@rockwellcollins.com) 09/12/2013. + +Index: omniorb-4.1.6/mk/beforeauto.mk.in +=================================================================== +--- omniorb-4.1.6.orig/mk/beforeauto.mk.in 2013-09-12 12:49:55.668708148 -0500 ++++ omniorb-4.1.6/mk/beforeauto.mk.in 2013-09-12 12:51:22.707928579 -0500 +@@ -672,15 +672,15 @@ + # + + AR = ar cq +-CC = @CC@ +-CXX = @CXX@ +-RANLIB = @RANLIB@ ++CC ?= @CC@ ++CXX ?= @CXX@ ++RANLIB ?= @RANLIB@ + MKDIRHIER = $(BASE_OMNI_TREE)/bin/scripts/omkdirhier + INSTLIBFLAGS = -m 0644 + INSTEXEFLAGS = -m 0755 + CP = cp + MV = mv -f +-CPP = @CPP@ ++CPP ?= @CPP@ + OMKDEPEND = $(TOOLBINDIR)/omkdepend + RMDIRHIER = $(RM) -rf + diff --git a/package/omniorb/omniorb.mk b/package/omniorb/omniorb.mk new file mode 100644 index 0000000..5dd1a98 --- /dev/null +++ b/package/omniorb/omniorb.mk @@ -0,0 +1,47 @@ +################################################################################ +# +# 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 +# Required for internal code generation scripts +OMNIORB_DEPENDENCIES = host-python + +ifeq ($(BR2_PACKAGE_PYTHON),y) + OMNIORB_DEPENDENCIES += python + OMNIORB_CONF_OPT += --enable-python-bindings +else + OMNIORB_CONF_OPT += --disable-python-bindings +endif + +# 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 +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 + +$(eval $(autotools-package)) +
Signed-off-by: Matt Weber <mlweber1@rockwellcollins.com> --- Changes v2 -> v3 * Removed depend on python as the mk accounts for it package/omniorb/Config.in (suggested by Thomas) * Added link to website package/omniorb/Config.in (suggested by Thomas) * Added note about host python requirement for build package/omniorb/omniorb.mk (suggested by Thomas) * Removed staging loop of fixing file paths for a single file. Instead it no just operates on a single file package/omniorb/omniorb.mk (suggested by Thomas) * Fixed brackets package/omniorb/omniorb.mk (suggested by Thomas) * Cleaned up host tool comment package/omniorb/omniorb.mk (suggested by Thomas) * Cleaned up host tools to use HOST_CONFIGURE_OPTS to fix ccache support package/omniorb/omniorb.mk (suggested by Thomas) * Switched over to use a make tools export and clean hook. Required patching of the package to correctly assign the CC/CXX/etc defines. Submitted this patch upsteam as well as including in this patchset. package/omniorb/omniorb.mk (suggested by Arnout) Changes v1 -> v2: * Fixed formatting of help and added select of python in package/omniorb/Config.in (suggested by Thomas) * Removed extra open ended config option as it isn't used package/omniorb/Config.in (suggested by Thomas) * Cleaned up use of brackets and replaced with braces package/omniorb/Config.in (suggested by Thomas) * Updated licenses to be GPL and LGPL with a + package/omniorb/omniorb.mk (suggested by Thomas) * Removed redundant conf opt and target install sets package/omniorb/omniorb.mk (suggested by Thomas) * Added a post install step to replace overloading the default staging installs package/omniorb/omniorb.mk (suggested by Thomas) * Broke out tools(host) build into seperate post conf step package/omniorb/omniorb.mk (suggested by Thomas) * Removed clean and uninstall package/omniorb/omniorb.mk (suggested by Thomas) package/Config.in | 1 + package/omniorb/Config.in | 10 ++++ ...mniorb-0001-supportCrossCompileToolExport.patch | 27 +++++++++++ package/omniorb/omniorb.mk | 47 ++++++++++++++++++++ 4 files changed, 85 insertions(+), 0 deletions(-) create mode 100644 package/omniorb/Config.in create mode 100644 package/omniorb/omniorb-0001-supportCrossCompileToolExport.patch create mode 100644 package/omniorb/omniorb.mk