* To build on OSX (32bit) export CC=/usr/bin/llvm-gcc export CXX=/usr/bin/llvm-g++ export CFLAGS="-m32 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.6.sdk -mmacosx-version-min=10.6 -Os -fvisibility=hidden" export CXXFLAGS="$CFLAGS" $ ./configure --enable-shared=no Note that in xcode4 beta builds /Developer would be replaced with /Xcode4 * To build on linux x86: export CC=/usr/bin/gcc export CXX=/usr/bin/g++ export CFLAGS="-fvisibility=hidden -m32" export CXXFLAGS="-fvisibility=hidden -m32" export LDFLAGS="-static-libgcc" ./configure --enable-shared=no * To build on linux x86_64: export CC=/path/to/gcc export CXX=/path/to/g++ export CFLAGS=-fvisibility=hidden export CXXFLAGS=-fvisibility=hidden export LDFLAGS=-static-libgcc ./configure --with-pic --enable-shared=no alternatively, just put all those variables on the configure line (note that LIBS is expressed in terms of the path to g++, not the CXX variable): ./configure CC=/path/to/c-compiler CXX=/path/to/c++-compiler [LDFLAGS=-static-libgcc] [-m32] [--with-pic] --enable-shared=no This will build src/protoc (the compiler binary) and src/.libs/libprotobuf.a (among others). publish protoc into src/devtools/bin// publish libprotobuf.a gets into src/lib//release