summaryrefslogtreecommitdiffstats
path: root/package/ola
diff options
context:
space:
mode:
authorSimon Marchi <simon.marchi@polymtl.ca>2015-01-29 22:35:08 -0500
committerPeter Korsgaard <peter@korsgaard.com>2015-01-31 15:06:58 +0100
commit64dd1e50f84a82c5dcc31cb376463bce48d80b5d (patch)
tree36d216cd43d7914c14a9c805c93703cb288e6ce1 /package/ola
parentbe5a77ef26769151dee2a26b9997ceda4b4a6ddd (diff)
downloadbuildroot-64dd1e50f84a82c5dcc31cb376463bce48d80b5d.tar.gz
buildroot-64dd1e50f84a82c5dcc31cb376463bce48d80b5d.zip
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 <simon.marchi@polymtl.ca> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Diffstat (limited to 'package/ola')
-rw-r--r--package/ola/0001-Fix-finding-ola_protoc_plugin-when-cross-compiling.patch94
-rw-r--r--package/ola/ola.mk11
2 files changed, 100 insertions, 5 deletions
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 <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 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
OpenPOWER on IntegriCloud