diff mbox

ola: Bump to 0.9.4

Message ID 1422588908-28099-1-git-send-email-simon.marchi@polymtl.ca
State Accepted
Headers show

Commit Message

Simon Marchi Jan. 30, 2015, 3:35 a.m. UTC
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.

Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
---
 ...ng-ola_protoc_plugin-when-cross-compiling.patch | 94 ++++++++++++++++++++++
 package/ola/ola.mk                                 |  9 ++-
 2 files changed, 99 insertions(+), 4 deletions(-)
 create mode 100644 package/ola/0001-Fix-finding-ola_protoc_plugin-when-cross-compiling.patch
diff mbox

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 0000000..79c02bd
--- /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 <simon.marchi@polymtl.ca>
+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 b03d422..06af417 100644
--- a/package/ola/ola.mk
+++ b/package/ola/ola.mk
@@ -24,7 +24,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
 
@@ -43,10 +43,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