protobuf/autogen.sh
Josh Kelley 8aaf4d2a40
Build updates (#5300)
* Make language instructions' documentation links clickable

See 86208c52.

* Add a `git submodules` check to autogen.sh

Running `./autogen.sh && make` happens to work without initializing git
submodules - but autogen.sh writes to what is supposed to be a git
submodules directory, so trying to later initialize git submodules
fails.

This change makes building a bit more reliable for people who miss this
step.

* Revise third_party googletest logic

As discussed in PR, instead of requiring that `git submodule --init` be
run, correctly handle the case where it isn't run.
2021-05-17 14:53:27 -07:00

45 lines
1.2 KiB
Bash
Executable File

#!/bin/sh
# Run this script to generate the configure script and other files that will
# be included in the distribution. These files are not checked in because they
# are automatically generated.
set -e
if [ ! -z "$@" ]; then
for argument in "$@"; do
case $argument in
# make curl silent
"-s")
curlopts="-s"
;;
esac
done
fi
# Check that we're being run from the right directory.
if test ! -f 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
set -ex
# The absence of a m4 directory in googletest causes autoreconf to fail when
# building under the CentOS docker image. It's a warning in regular build on
# Ubuntu/gLinux as well. (This is only needed if git submodules have been
# initialized, which is typically only needed for testing; see the installation
# instructions for details.)
if test -d third_party/googletest; then
mkdir -p third_party/googletest/m4
fi
# TODO(kenton): Remove the ",no-obsolete" part and fix the resulting warnings.
autoreconf -f -i -Wall,no-obsolete
rm -rf autom4te.cache config.h.in~
exit 0