From 64dd1e50f84a82c5dcc31cb376463bce48d80b5d Mon Sep 17 00:00:00 2001 From: Simon Marchi Date: Thu, 29 Jan 2015 22:35:08 -0500 Subject: [PATCH] ola: Bump to 0.9.4 The protoc stuff changed a bit since 0.9.3. When 0.9.4 was released, support for cross-compiling was broken because of it. A patch was merged upstream shortly after that fixes the problem, so I included it here. When the next version is released, the patch should not be necessary anymore. [Peter: actually change _VERSION] Signed-off-by: Simon Marchi Signed-off-by: Peter Korsgaard --- ...a_protoc_plugin-when-cross-compiling.patch | 94 +++++++++++++++++++ package/ola/ola.mk | 11 ++- 2 files changed, 100 insertions(+), 5 deletions(-) create mode 100644 package/ola/0001-Fix-finding-ola_protoc_plugin-when-cross-compiling.patch diff --git a/package/ola/0001-Fix-finding-ola_protoc_plugin-when-cross-compiling.patch b/package/ola/0001-Fix-finding-ola_protoc_plugin-when-cross-compiling.patch new file mode 100644 index 0000000000..79c02bd7af --- /dev/null +++ b/package/ola/0001-Fix-finding-ola_protoc_plugin-when-cross-compiling.patch @@ -0,0 +1,94 @@ +From 0b0797af43c78f199e3f2782873dad3c37d323dd Mon Sep 17 00:00:00 2001 +From: Simon Marchi +Date: Wed, 28 Jan 2015 22:23:32 -0500 +Subject: [PATCH] Fix finding ola_protoc_plugin when cross-compiling + +It seems like the recent changes concerning ola_protoc did not take into +account cross-compiling. +--- + common/rpc/RpcService.h | 2 +- + config/ola.m4 | 18 +++++++++--------- + protoc/Makefile.mk | 10 +++++----- + 3 files changed, 15 insertions(+), 15 deletions(-) + +diff --git a/common/rpc/RpcService.h b/common/rpc/RpcService.h +index f5d428b..3e20dbc 100644 +--- a/common/rpc/RpcService.h ++++ b/common/rpc/RpcService.h +@@ -17,7 +17,7 @@ + * Interface for the RpcService. + * Copyright (C) 2013 Simon Newton + * +- * All Services generated by ola_protoc inherit from this one. ++ * All Services generated by the ola protoc plugin inherit from this one. + */ + + #ifndef COMMON_RPC_RPCSERVICE_H_ +diff --git a/config/ola.m4 b/config/ola.m4 +index 845c4af..ec77585 100644 +--- a/config/ola.m4 ++++ b/config/ola.m4 +@@ -71,17 +71,17 @@ elif test -n "$1" ; then + fi + fi + +-AC_ARG_WITH([ola-protoc], +- [AS_HELP_STRING([--with-ola-protoc=COMMAND], +- [use the given ola_protoc command instead of building one (useful for cross-compiling)])], +- [],[with_ola_protoc=no]) ++AC_ARG_WITH([ola-protoc-plugin], ++ [AS_HELP_STRING([--with-ola-protoc-plugin=COMMAND], ++ [use the given ola_protoc_plugin instead of building one (useful for cross-compiling)])], ++ [],[with_ola_protoc_plugin=no]) + +-OLA_PROTOC="\$(PROTOC) --plugin=protoc-gen-cppservice=\$(top_builddir)/protoc/ola_protoc_plugin${EXEEXT}"; + +-if test "$with_ola_protoc" != "no"; then +- OLA_PROTOC=$with_ola_protoc; +- echo "set ola_protoc to $with_ola_protoc" ++if test "$with_ola_protoc_plugin" != "no"; then ++ OLA_PROTOC="\$(PROTOC) --plugin=protoc-gen-cppservice=${with_ola_protoc_plugin}${EXEEXT}"; ++ echo "set ola_protoc to $with_ola_protoc_plugin" + else ++ OLA_PROTOC="\$(PROTOC) --plugin=protoc-gen-cppservice=\$(top_builddir)/protoc/ola_protoc_plugin${EXEEXT}"; + AC_CHECK_HEADER( + [google/protobuf/compiler/command_line_interface.h], + [], +@@ -96,7 +96,7 @@ else + LIBS=$SAVED_LIBS + fi + AC_SUBST([OLA_PROTOC]) +-AM_CONDITIONAL(BUILD_OLA_PROTOC, test "${with_ola_protoc}" == "no") ++AM_CONDITIONAL(BUILD_OLA_PROTOC_PLUGIN, test "${with_ola_protoc_plugin}" == "no") + ]) + + +diff --git a/protoc/Makefile.mk b/protoc/Makefile.mk +index e5d0167..47adc47 100644 +--- a/protoc/Makefile.mk ++++ b/protoc/Makefile.mk +@@ -1,6 +1,6 @@ + # Programs + ######################### +-if BUILD_OLA_PROTOC ++if BUILD_OLA_PROTOC_PLUGIN + noinst_PROGRAMS += protoc/ola_protoc_plugin + + protoc_ola_protoc_plugin_SOURCES = \ +@@ -19,9 +19,9 @@ protoc_ola_protoc_plugin_LDADD = $(libprotobuf_LIBS) -lprotoc + + else + +-# If we're using a different ola_protoc, we need to provide a rule to create +-# this file since the generated service configs depend on it. +-protoc/ola_protoc$(EXEEXT): +- touch protoc/ola_protoc$(EXEEXT) ++# If we're using a different ola_protoc_plugin, we need to provide a rule to ++# create this file since the generated service configs depend on it. ++protoc/ola_protoc_plugin$(EXEEXT): ++ touch protoc/ola_protoc_plugin$(EXEEXT) + + endif +-- +2.2.2 + diff --git a/package/ola/ola.mk b/package/ola/ola.mk index 2eee54c403..b349d00b7c 100644 --- a/package/ola/ola.mk +++ b/package/ola/ola.mk @@ -4,7 +4,7 @@ # ################################################################################ -OLA_VERSION = 0.9.3 +OLA_VERSION = 0.9.4 OLA_SITE = $(call github,OpenLightingProject,ola,$(OLA_VERSION)) OLA_LICENSE = LGPLv2.1+ (libola, libolacommon, Python bindings), GPLv2+ (libolaserver, olad, Python examples and tests) @@ -23,7 +23,7 @@ OLA_CONF_OPTS = \ --disable-root-check \ --disable-java-libs \ --disable-fatal-warnings \ - --with-ola-protoc=$(HOST_DIR)/usr/bin/ola_protoc + --with-ola-protoc-plugin=$(HOST_DIR)/usr/bin/ola_protoc_plugin HOST_OLA_DEPENDENCIES = host-util-linux host-protobuf @@ -42,10 +42,11 @@ HOST_OLA_CONF_OPTS = \ --disable-doxygen-html \ --disable-doxygen-doc -# On the host side, we only need ola_protoc, so build and install this only. -HOST_OLA_MAKE_OPTS = protoc/ola_protoc +# On the host side, we only need ola_protoc_plugin, so build and install this +# only. +HOST_OLA_MAKE_OPTS = protoc/ola_protoc_plugin define HOST_OLA_INSTALL_CMDS - $(INSTALL) -D -m 0755 $(@D)/protoc/ola_protoc $(HOST_DIR)/usr/bin/ola_protoc + $(INSTALL) -D -m 0755 $(@D)/protoc/ola_protoc_plugin $(HOST_DIR)/usr/bin/ola_protoc_plugin endef # sets where to find python libs built for target and required by ola -- 2.30.2