* [Buildroot] New package protobuf
@ 2012-03-07 18:06 Simon Dawson
2012-03-07 19:23 ` Thomas Petazzoni
0 siblings, 1 reply; 5+ messages in thread
From: Simon Dawson @ 2012-03-07 18:06 UTC (permalink / raw)
To: buildroot
Patch to add protobuf package (Google protocol buffers) to buildroot.
http://code.google.com/p/protobuf/
---
diff --git a/package/Config.in b/package/Config.in
index 41cbb8c..a2d2006 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -387,6 +387,7 @@ source "package/liburcu/Config.in"
source "package/lttng-libust/Config.in"
source "package/orc/Config.in"
source "package/poco/Config.in"
+source "package/protobuf/Config.in"
source "package/startup-notification/Config.in"
endmenu
diff --git a/package/protobuf/Config.in b/package/protobuf/Config.in
new file mode 100644
index 0000000..6a7447f
--- /dev/null
+++ b/package/protobuf/Config.in
@@ -0,0 +1,7 @@
+config BR2_PACKAGE_PROTOBUF
+ bool "protobuf"
+ help
+ Protocol buffers are Google's language-neutral, platform-neutral,
+ extensible mechanism for serializing structured data.
+
+ http://code.google.com/p/protobuf/
diff --git a/package/protobuf/protobuf.mk b/package/protobuf/protobuf.mk
new file mode 100644
index 0000000..79a06dd
--- /dev/null
+++ b/package/protobuf/protobuf.mk
@@ -0,0 +1,14 @@
+#############################################################
+#
+# protobuf
+#
+#############################################################
+PROTOBUF_VERSION = 2.4.1
+PROTOBUF_SITE = http://protobuf.googlecode.com/files/
+
+# N.B. Need to use host protoc during cross compilation.
+PROTOBUF_DEPENDENCIES = host-protobuf
+PROTOBUF_CONF_OPT = --with-protoc=$(HOST_DIR)/usr/bin/protoc
+
+$(eval $(call AUTOTARGETS))
+$(eval $(call AUTOTARGETS,host))
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [Buildroot] New package protobuf
2012-03-07 18:06 [Buildroot] New package protobuf Simon Dawson
@ 2012-03-07 19:23 ` Thomas Petazzoni
2012-03-07 21:14 ` Simon Dawson
0 siblings, 1 reply; 5+ messages in thread
From: Thomas Petazzoni @ 2012-03-07 19:23 UTC (permalink / raw)
To: buildroot
Hello Simon,
Thanks for your patches!
Le Wed, 7 Mar 2012 18:06:29 +0000,
Simon Dawson <spdawson@gmail.com> a ?crit :
> Patch to add protobuf package (Google protocol buffers) to buildroot.
>
> http://code.google.com/p/protobuf/
Please add your Signed-off-by line here.
> diff --git a/package/protobuf/Config.in b/package/protobuf/Config.in
> new file mode 100644
> index 0000000..6a7447f
> --- /dev/null
> +++ b/package/protobuf/Config.in
> @@ -0,0 +1,7 @@
> +config BR2_PACKAGE_PROTOBUF
> + bool "protobuf"
> + help
> + Protocol buffers are Google's language-neutral, platform-neutral,
> + extensible mechanism for serializing structured data.
> +
> + http://code.google.com/p/protobuf/
Indentation for the help text is one tab + 2 spaces.
> +#############################################################
> +#
> +# protobuf
> +#
> +#############################################################
> +PROTOBUF_VERSION = 2.4.1
> +PROTOBUF_SITE = http://protobuf.googlecode.com/files/
> +
> +# N.B. Need to use host protoc during cross compilation.
> +PROTOBUF_DEPENDENCIES = host-protobuf
> +PROTOBUF_CONF_OPT = --with-protoc=$(HOST_DIR)/usr/bin/protoc
> +
> +$(eval $(call AUTOTARGETS))
> +$(eval $(call AUTOTARGETS,host))
Otherwise looks good.
Just curious, what does protobuf installs on the target? Is it a
library? A utility?
Thomas
--
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Buildroot] New package protobuf
2012-03-07 19:23 ` Thomas Petazzoni
@ 2012-03-07 21:14 ` Simon Dawson
2012-03-09 8:16 ` Thomas Petazzoni
0 siblings, 1 reply; 5+ messages in thread
From: Simon Dawson @ 2012-03-07 21:14 UTC (permalink / raw)
To: buildroot
Hi Thomas.
Thanks for your comments; re-worked patch attached below.
> Just curious, what does protobuf installs on the target? Is it a library? A utility?
Both a utility (/usr/bin/protoc, the protocol buffers compiler) and a
set of libraries (/usr/lib/libproto*.so) are installed on the target.
Simon.
Signed-off-by: Simon Dawson <spdawson@gmail.com>
---
diff --git a/package/Config.in b/package/Config.in
index 41cbb8c..a2d2006 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -387,6 +387,7 @@ source "package/liburcu/Config.in"
source "package/lttng-libust/Config.in"
source "package/orc/Config.in"
source "package/poco/Config.in"
+source "package/protobuf/Config.in"
source "package/startup-notification/Config.in"
endmenu
diff --git a/package/protobuf/Config.in b/package/protobuf/Config.in
new file mode 100644
index 0000000..1b0085b
--- /dev/null
+++ b/package/protobuf/Config.in
@@ -0,0 +1,7 @@
+config BR2_PACKAGE_PROTOBUF
+ bool "protobuf"
+ help
+ Protocol buffers are Google's language-neutral, platform-neutral,
+ extensible mechanism for serializing structured data.
+
+ http://code.google.com/p/protobuf/
diff --git a/package/protobuf/protobuf.mk b/package/protobuf/protobuf.mk
new file mode 100644
index 0000000..f4d82cb
--- /dev/null
+++ b/package/protobuf/protobuf.mk
@@ -0,0 +1,15 @@
+#############################################################
+#
+# protobuf
+#
+#############################################################
+PROTOBUF_VERSION := 2.4.1
+PROTOBUF_SOURCE := protobuf-$(PROTOBUF_VERSION).tar.gz
+PROTOBUF_SITE := http://protobuf.googlecode.com/files/
+
+# N.B. Need to use host protoc during cross compilation.
+PROTOBUF_DEPENDENCIES := host-protobuf
+PROTOBUF_CONF_OPT := --with-protoc=$(HOST_DIR)/usr/bin/protoc
+
+$(eval $(call AUTOTARGETS))
+$(eval $(call AUTOTARGETS,host))
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [Buildroot] New package protobuf
2012-03-07 21:14 ` Simon Dawson
@ 2012-03-09 8:16 ` Thomas Petazzoni
2012-03-09 11:27 ` Simon Dawson
0 siblings, 1 reply; 5+ messages in thread
From: Thomas Petazzoni @ 2012-03-09 8:16 UTC (permalink / raw)
To: buildroot
Hello Simon,
Le Wed, 7 Mar 2012 21:14:13 +0000,
Simon Dawson <spdawson@gmail.com> a ?crit :
> Thanks for your comments; re-worked patch attached below.
Please do not include "personal" comments before the "---", because
everything before "---" will end up as the commit log in the Git
history of Buildroot. So everything before "---" should be a nice
commit message, and should not contain any sort of discussion about the
patch. If you want to put some discussion about the patch, put it
between the --- delimiter and the beginning of the patch itself.
> Both a utility (/usr/bin/protoc, the protocol buffers compiler) and a
> set of libraries (/usr/lib/libproto*.so) are installed on the target.
My guess is that the protocol buffer compiler is useless on the target,
no? Normally, you would :
* Write a protocol buffer description file
* Generate some code from it, using protoc on the host
* Compile your application (which includes the generated code) for the
target
And the libraries, are they useful on the target? I.e, does the code
generated by protoc depends on the libraries? If so, you should set
PROTOBUF_INSTALL_STAGING = YES in your package.
Can you clarify a bit the usage of the compiler vs. the libraries?
> diff --git a/package/protobuf/protobuf.mk
> b/package/protobuf/protobuf.mk new file mode 100644
> index 0000000..f4d82cb
> --- /dev/null
> +++ b/package/protobuf/protobuf.mk
> @@ -0,0 +1,15 @@
> +#############################################################
> +#
> +# protobuf
> +#
> +#############################################################
> +PROTOBUF_VERSION := 2.4.1
> +PROTOBUF_SOURCE := protobuf-$(PROTOBUF_VERSION).tar.gz
> +PROTOBUF_SITE := http://protobuf.googlecode.com/files/
> +
> +# N.B. Need to use host protoc during cross compilation.
> +PROTOBUF_DEPENDENCIES := host-protobuf
> +PROTOBUF_CONF_OPT := --with-protoc=$(HOST_DIR)/usr/bin/protoc
Please use = instead of := everywhere.
Thomas
--
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Buildroot] New package protobuf
2012-03-09 8:16 ` Thomas Petazzoni
@ 2012-03-09 11:27 ` Simon Dawson
0 siblings, 0 replies; 5+ messages in thread
From: Simon Dawson @ 2012-03-09 11:27 UTC (permalink / raw)
To: buildroot
Signed-off-by: Simon Dawson <spdawson@gmail.com>
---
> My guess is that the protocol buffer compiler is useless on the target,
> no?
I suppose it might conceivably be useful on the target, but you are
correct that the normal use of the protoc compiler would be on the host.
> And the libraries, are they useful on the target? I.e, does the code
> generated by protoc depends on the libraries?
Yes, the generated code does depend upon the libraries.
> Can you clarify a bit the usage of the compiler vs. the libraries?
Your suggested usage is correct. I.e., you would normally do the
following.
* Write a protocol buffer description file
* Generate some code from it, using protoc on the host
* Compile your application (which includes the generated code) for the
target
* Copy application binaries and protocol buffers shared libraries to
the target
* Run your application on the target, dynamically loading the protocol
buffers shared libraries
package/Config.in | 1 +
package/protobuf/Config.in | 7 +++++++
package/protobuf/protobuf.mk | 17 +++++++++++++++++
3 files changed, 25 insertions(+), 0 deletions(-)
create mode 100644 package/protobuf/Config.in
create mode 100644 package/protobuf/protobuf.mk
diff --git a/package/Config.in b/package/Config.in
index 41cbb8c..a2d2006 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -387,6 +387,7 @@ source "package/liburcu/Config.in"
source "package/lttng-libust/Config.in"
source "package/orc/Config.in"
source "package/poco/Config.in"
+source "package/protobuf/Config.in"
source "package/startup-notification/Config.in"
endmenu
diff --git a/package/protobuf/Config.in b/package/protobuf/Config.in
new file mode 100644
index 0000000..1b0085b
--- /dev/null
+++ b/package/protobuf/Config.in
@@ -0,0 +1,7 @@
+config BR2_PACKAGE_PROTOBUF
+ bool "protobuf"
+ help
+ Protocol buffers are Google's language-neutral, platform-neutral,
+ extensible mechanism for serializing structured data.
+
+ http://code.google.com/p/protobuf/
diff --git a/package/protobuf/protobuf.mk b/package/protobuf/protobuf.mk
new file mode 100644
index 0000000..b810795
--- /dev/null
+++ b/package/protobuf/protobuf.mk
@@ -0,0 +1,17 @@
+#############################################################
+#
+# protobuf
+#
+#############################################################
+PROTOBUF_VERSION = 2.4.1
+PROTOBUF_SOURCE = protobuf-$(PROTOBUF_VERSION).tar.gz
+PROTOBUF_SITE = http://protobuf.googlecode.com/files/
+
+# N.B. Need to use host protoc during cross compilation.
+PROTOBUF_DEPENDENCIES = host-protobuf
+PROTOBUF_CONF_OPT = --with-protoc=$(HOST_DIR)/usr/bin/protoc
+
+PROTOBUF_INSTALL_STAGING = YES
+
+$(eval $(call AUTOTARGETS))
+$(eval $(call AUTOTARGETS,host))
On 9 March 2012 08:16, Thomas Petazzoni
<thomas.petazzoni@free-electrons.com> wrote:
> Hello Simon,
>
> Le Wed, 7 Mar 2012 21:14:13 +0000,
> Simon Dawson <spdawson@gmail.com> a ?crit :
>
>> Thanks for your comments; re-worked patch attached below.
>
> Please do not include "personal" comments before the "---", because
> everything before "---" will end up as the commit log in the Git
> history of Buildroot. So everything before "---" should be a nice
> commit message, and should not contain any sort of discussion about the
> patch. If you want to put some discussion about the patch, put it
> between the --- delimiter and the beginning of the patch itself.
>
>> Both a utility (/usr/bin/protoc, the protocol buffers compiler) and a
>> set of libraries (/usr/lib/libproto*.so) are installed on the target.
>
> My guess is that the protocol buffer compiler is useless on the target,
> no? Normally, you would :
>
> ?* Write a protocol buffer description file
>
> ?* Generate some code from it, using protoc on the host
>
> ?* Compile your application (which includes the generated code) for the
> ? target
>
> And the libraries, are they useful on the target? I.e, does the code
> generated by protoc depends on the libraries? If so, you should set
> PROTOBUF_INSTALL_STAGING = YES in your package.
>
> Can you clarify a bit the usage of the compiler vs. the libraries?
>
>> diff --git a/package/protobuf/protobuf.mk
>> b/package/protobuf/protobuf.mk new file mode 100644
>> index 0000000..f4d82cb
>> --- /dev/null
>> +++ b/package/protobuf/protobuf.mk
>> @@ -0,0 +1,15 @@
>> +#############################################################
>> +#
>> +# protobuf
>> +#
>> +#############################################################
>> +PROTOBUF_VERSION := 2.4.1
>> +PROTOBUF_SOURCE := protobuf-$(PROTOBUF_VERSION).tar.gz
>> +PROTOBUF_SITE := http://protobuf.googlecode.com/files/
>> +
>> +# N.B. Need to use host protoc during cross compilation.
>> +PROTOBUF_DEPENDENCIES := host-protobuf
>> +PROTOBUF_CONF_OPT := --with-protoc=$(HOST_DIR)/usr/bin/protoc
>
> Please use = instead of := everywhere.
>
> Thomas
> --
> Thomas Petazzoni, Free Electrons
> Kernel, drivers, real-time and embedded Linux
> development, consulting, training and support.
> http://free-electrons.com
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
--
http://www.google.com/profiles/spdawson
Please avoid sending me Word, Excel or PowerPoint attachments.
See http://www.gnu.org/philosophy/no-word-attachments.html
^ permalink raw reply related [flat|nested] 5+ messages in thread
end of thread, other threads:[~2012-03-09 11:27 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-03-07 18:06 [Buildroot] New package protobuf Simon Dawson
2012-03-07 19:23 ` Thomas Petazzoni
2012-03-07 21:14 ` Simon Dawson
2012-03-09 8:16 ` Thomas Petazzoni
2012-03-09 11:27 ` Simon Dawson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox