The sources generated by protoc do not vary by platform... protoc isn't a cross-compiler itself, it's just a source code generator.
The goal would be to get the protoc binary for your build environment, and use it to generate the sources to feed into your host/target platform.
In other words, you'll need to build the protobuf suite once to get `protoc` for the builder. Then, you'll use that `protoc` to build a second time for the target.
If you are using the autoconf-based build, you can pass `--with-protoc` to the configure script to point to pick the correct protoc binary to use.
I was able to do this using two build trees. The "-build" tree is x86-64, and targets the builder:
~/protobuf-2.6.0-build$ (./autogen.sh && ./configure && make -j32) >& make.log
Then, use that to build for ppc:
~/protobuf-2.6.0-build$ PROTOC=$PWD/src/protoc
~/protobuf-2.6.0-build$ cd ../protobuf-2.6.0
~/protobuf-2.6.0$ (./autogen.sh && ./configure --with-protoc=$PROTOC --host=powerpc-linux-gnu && make -j32) >& make.log
~/protobuf-2.6.0$ readelf -h src/.libs/libprotobuf.so.9.0.0
ELF Header:
Magic: 7f 45 4c 46 01 02 01 00 00 00 00 00 00 00 00 00
Class: ELF32
Data: 2's complement, big endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: DYN (Shared object file)
Machine: PowerPC
(etc.)
(Of course, you can install the x86-64 build if you want, but I would recommend keeping it separate. Version 2.6.0 is really old, so you wouldn't want to use it for new projects.)