aboutsummaryrefslogtreecommitdiff
path: root/generate_descriptor_proto.sh
diff options
context:
space:
mode:
authorJisi Liu <jisi.liu@gmail.com>2017-08-18 16:25:35 -0700
committerJisi Liu <jisi.liu@gmail.com>2017-08-18 16:25:35 -0700
commit139775ccc040a07e07c5407e34834dab27928cbc (patch)
treec500f4eabfea9d2e059f18b7d612c6e2a2db3ad5 /generate_descriptor_proto.sh
parent1825d6d8f0aedcd7966c5c137a71e46ae650b3da (diff)
parent26ac3e8e242f1cd6de15291a9973905a14b546ba (diff)
downloadprotobuf-139775ccc040a07e07c5407e34834dab27928cbc.tar.gz
protobuf-139775ccc040a07e07c5407e34834dab27928cbc.tar.bz2
protobuf-139775ccc040a07e07c5407e34834dab27928cbc.zip
Merge remote-tracking branch 'origin/3.4.x' into mergemaster
Diffstat (limited to 'generate_descriptor_proto.sh')
-rwxr-xr-xgenerate_descriptor_proto.sh35
1 files changed, 26 insertions, 9 deletions
diff --git a/generate_descriptor_proto.sh b/generate_descriptor_proto.sh
index 229bec43..8a5ed48a 100755
--- a/generate_descriptor_proto.sh
+++ b/generate_descriptor_proto.sh
@@ -42,12 +42,23 @@ declare -a RUNTIME_PROTO_FILES=(\
google/protobuf/wrappers.proto)
declare -a COMPILER_PROTO_FILES=(\
- google/protobuf/compiler/plugin.proto \
- google/protobuf/compiler/profile.proto \
-)
+ google/protobuf/compiler/plugin.proto)
CORE_PROTO_IS_CORRECT=0
PROCESS_ROUND=1
+BOOTSTRAP_PROTOC=""
+while [ $# -gt 0 ]; do
+ case $1 in
+ --bootstrap_protoc)
+ BOOTSTRAP_PROTOC=$2
+ shift
+ ;;
+ *)
+ break
+ ;;
+ esac
+ shift
+done
TMP=$(mktemp -d)
echo "Updating descriptor protos..."
while [ $CORE_PROTO_IS_CORRECT -ne 1 ]
@@ -55,14 +66,20 @@ do
echo "Round $PROCESS_ROUND"
CORE_PROTO_IS_CORRECT=1
- make $@ protoc
- if test $? -ne 0; then
- echo "Failed to build protoc."
- exit 1
+ if [ "$BOOTSTRAP_PROTOC" != "" ]; then
+ PROTOC=$BOOTSTRAP_PROTOC
+ BOOTSTRAP_PROTOC=""
+ else
+ make $@ protoc
+ if test $? -ne 0; then
+ echo "Failed to build protoc."
+ exit 1
+ fi
+ PROTOC="./protoc"
fi
- ./protoc --cpp_out=dllexport_decl=LIBPROTOBUF_EXPORT:$TMP ${RUNTIME_PROTO_FILES[@]} && \
- ./protoc --cpp_out=dllexport_decl=LIBPROTOC_EXPORT:$TMP ${COMPILER_PROTO_FILES[@]}
+ $PROTOC --cpp_out=dllexport_decl=LIBPROTOBUF_EXPORT:$TMP ${RUNTIME_PROTO_FILES[@]} && \
+ $PROTOC --cpp_out=dllexport_decl=LIBPROTOC_EXPORT:$TMP ${COMPILER_PROTO_FILES[@]}
for PROTO_FILE in ${RUNTIME_PROTO_FILES[@]} ${COMPILER_PROTO_FILES[@]}; do
BASE_NAME=${PROTO_FILE%.*}