1fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville#!/bin/sh 2fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 3fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville# Run this script to regenerate descriptor.pb.{h,cc} after the protocol 4fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville# compiler changes. Since these files are compiled into the protocol compiler 5fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville# itself, they cannot be generated automatically by a make rule. "make check" 6fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville# will fail if these files do not match what the protocol compiler would 7fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville# generate. 8fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville# 9fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville# HINT: Flags passed to generate_descriptor_proto.sh will be passed directly 10fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville# to make when building protoc. This is particularly useful for passing 11fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville# -j4 to run 4 jobs simultaneously. 12fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 13fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savilleif test ! -e src/google/protobuf/stubs/common.h; then 14fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville cat >&2 << __EOF__ 15fbaaef999ba563838ebd00874ed8a1c01fbf286dWink SavilleCould not find source code. Make sure you are running this script from the 16fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savilleroot of the distribution tree. 17fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville__EOF__ 18fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville exit 1 19fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savillefi 20fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 21fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savilleif test ! -e src/Makefile; then 22fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville cat >&2 << __EOF__ 23fbaaef999ba563838ebd00874ed8a1c01fbf286dWink SavilleCould not find src/Makefile. You must run ./configure (and perhaps 24fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville./autogen.sh) first. 25fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville__EOF__ 26fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville exit 1 27fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savillefi 28fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Saville 29fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savillecd src 30d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Savillemake $@ protoc && 31d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville ./protoc --cpp_out=dllexport_decl=LIBPROTOBUF_EXPORT:. google/protobuf/descriptor.proto && \ 32d0332953cda33fb4f8e24ebff9c49159b69c43d6Wink Saville ./protoc --cpp_out=dllexport_decl=LIBPROTOC_EXPORT:. google/protobuf/compiler/plugin.proto 33fbaaef999ba563838ebd00874ed8a1c01fbf286dWink Savillecd .. 34