[I'm using protobuf-2.2.0]
I would to suggest a minor modification to the file src/Makefile.am

Currently an out-of-source build works only for native build.
When trying to do a cross-compilation, it works inside the sources
(i.e. executing the configure script inside the source tree), but not
doing it out of the source tree (i.e. executing something like ../
protobuf-2.2.0/configure --with-protoc=/usr/local/bin/protoc --
host=powerpc-linux --prefix=/opt/powerpc-linux). When cross-compiling,
it is convenient to have one source tree and several build directories
(one per target).

Doing the out of source cross-compiling, when I type make, I get the
following error (associated to building unittest_proto_middleman
defined in src/Makefile.am) :

  /usr/local/bin/protoc -I../../protobuf-2.2.0-orig/src --cpp_out=.
google/protobuf/unittest.proto ...
  google/protobuf/unittest.proto: No such file or directory
  make: *** [unittest_proto_middleman] Erreur 1

This is due to the fact that this target has 2 versions depending on
To avoid this minor problem, I suggest to change this rule so that $
(protoc_input) is fully expanded

--- Makefile.am.orig
+++ Makefile.am
@@ -234,7 +234,7 @@

 unittest_proto_middleman: $(protoc_inputs)
-       $(PROTOC) -I$(srcdir) --cpp_out=. $(protoc_inputs)
+       $(PROTOC) -I$(srcdir) --cpp_out=. $^
        touch unittest_proto_middleman


Pierre Kestener.
You received this message because you are subscribed to the Google Groups 
"Protocol Buffers" group.
To post to this group, send email to protobuf@googlegroups.com
To unsubscribe from this group, send email to 
For more options, visit this group at 

Reply via email to