autogen.sh 1.48 KB
Newer Older
temporal's avatar
temporal committed
1 2 3 4 5 6
#!/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.

7 8
set -e

temporal's avatar
temporal committed
9
# Check that we're being run from the right directory.
10
if test ! -f src/google/protobuf/stubs/common.h; then
temporal's avatar
temporal committed
11 12 13 14 15 16 17
  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

18 19 20
# Check that gtest is present.  Usually it is already there since the
# directory is set up as an SVN external.
if test ! -e gtest; then
21 22 23
  echo "Google Test not present.  Fetching gtest-1.5.0 from the web..."
  curl http://googletest.googlecode.com/files/gtest-1.5.0.tar.bz2 | tar jx
  mv gtest-1.5.0 gtest
24 25
fi

26
set -ex
27

28 29 30 31 32 33 34 35
# Temporary hack:  Must change C runtime library to "multi-threaded DLL",
#   otherwise it will be set to "multi-threaded static" when MSVC upgrades
#   the project file to MSVC 2005/2008.  vladl of Google Test says gtest will
#   probably change their default to match, then this will be unnecessary.
#   One of these mappings converts the debug configuration and the other
#   converts the release configuration.  I don't know which is which.
sed -i -e 's/RuntimeLibrary="5"/RuntimeLibrary="3"/g;
           s/RuntimeLibrary="4"/RuntimeLibrary="2"/g;' gtest/msvc/*.vcproj
temporal's avatar
temporal committed
36

37 38
# TODO(kenton):  Remove the ",no-obsolete" part and fix the resulting warnings.
autoreconf -f -i -Wall,no-obsolete
temporal's avatar
temporal committed
39 40 41

rm -rf autom4te.cache config.h.in~
exit 0