From 40ee551715c3a784ea6132dbf604b0e665ca2def Mon Sep 17 00:00:00 2001 From: temporal Date: Thu, 10 Jul 2008 02:12:20 +0000 Subject: Initial checkin. --- generate_descriptor_proto.sh | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100755 generate_descriptor_proto.sh (limited to 'generate_descriptor_proto.sh') diff --git a/generate_descriptor_proto.sh b/generate_descriptor_proto.sh new file mode 100755 index 00000000..53e88e67 --- /dev/null +++ b/generate_descriptor_proto.sh @@ -0,0 +1,35 @@ +#!/bin/sh + +# Run this script to regenerate descriptor.pb.{h,cc} after the protocol +# compiler changes. Since these files are compiled into the protocol compiler +# itself, they cannot be generated automatically by a make rule. "make check" +# will fail if these files do not match what the protocol compiler would +# generate. + +# Note that this will always need to be run once after running +# extract_from_google3.sh. That script initially copies descriptor.pb.{h,cc} +# over from the google3 code and fixes it up to compile outside of google3, but +# it cannot fix the encoded descriptor embedded in descriptor.pb.cc. So, once +# the protocol compiler has been built with the slightly-broken +# descriptor.pb.cc, the files must be regenerated and the compiler must be +# built again. + +if test ! -e src/google/protobuf/stubs/common.h; then + cat >&2 << __EOF__ +Could not find source code. Make sure you are running this script from the +root of the distribution tree. +__EOF__ + exit 1 +fi + +if test ! -e src/Makefile; then + cat >&2 << __EOF__ +Could not find src/Makefile. You must run ./configure (and perhaps +./autogen.sh) first. +__EOF__ + exit 1 +fi + +pushd src +make protoc && ./protoc --cpp_out=dllexport_decl=LIBPROTOBUF_EXPORT:. google/protobuf/descriptor.proto +popd -- cgit v1.2.3