3 ### Run this to produce everything needed for configuration. ###
6 # Run tests to ensure that our build requirements are met
10 while test $# != 0; do
14 RELEASE_ARGS
="--release"
21 --) # end of option parsing
25 echo "invalid parameter: '$1'"
30 # ### The order of parameters is important; buildcheck.sh depends on it and
31 # ### we don't want to copy the fancy option parsing loop there. For the
32 # ### same reason, all parameters should be quoted, so that buildcheck.sh
33 # ### sees an empty arg rather than missing one.
34 .
/build
/buildcheck.sh
"$RELEASE_MODE" ||
exit 1
36 # Handle some libtool helper files
38 # ### eventually, we can/should toss this in favor of simply using
39 # ### APR's libtool. deferring to a second round of change...
42 libtoolize
="`./build/PrintPath glibtoolize libtoolize libtoolize15`"
43 lt_major_version
=`$libtoolize --version 2>/dev/null | sed -e 's/^[^0-9]*//' -e 's/\..*//' -e '/^$/d' -e 1q`
45 if [ "x$libtoolize" = "x" ]; then
46 echo "libtoolize not found in path"
50 rm -f build
/config.guess build
/config.sub
51 $libtoolize --copy --automake --force
53 ltpath
="`dirname $libtoolize`"
54 ltfile
=${LIBTOOL_M4-`cd $ltpath/../share/aclocal ; pwd`/libtool.m4}
56 if [ ! -f $ltfile ]; then
57 echo "$ltfile not found (try setting the LIBTOOL_M4 environment variable)"
61 echo "Copying libtool helper: $ltfile"
62 # An ancient helper might already be present from previous builds,
63 # and it might be write-protected (e.g. mode 444, seen on FreeBSD).
64 # This would cause cp to fail and print an error message, but leave
65 # behind a potentially outdated libtool helper. So, remove before
67 rm -f build
/libtool.
m4
68 cp $ltfile build
/libtool.
m4
70 for file in ltoptions.
m4 ltsugar.
m4 ltversion.
m4 lt~obsolete.
m4; do
73 if [ $lt_major_version -ge 2 ]; then
74 ltfile
=${LIBTOOL_M4-`cd $ltpath/../share/aclocal ; pwd`/$file}
76 if [ ! -f $ltfile ]; then
77 echo "$ltfile not found (try setting the LIBTOOL_M4 environment variable)"
81 echo "Copying libtool helper: $ltfile"
82 cp $ltfile build
/$file
86 if [ $lt_major_version -ge 2 ]; then
87 for file in config.guess config.sub
; do
88 configfile
=${LIBTOOL_CONFIG-`cd $ltpath/../share/libtool/config ; pwd`/$file}
90 if [ ! -f $configfile ]; then
91 echo "$configfile not found (try setting the LIBTOOL_CONFIG environment variable)"
95 cp $configfile build
/$file
99 # Create the file detailing all of the build outputs for SVN.
101 # Note: this dependency on Python is fine: only SVN developers use autogen.sh
102 # and we can state that dev people need Python on their machine. Note
103 # that running gen-make.py requires Python 2.X or newer.
105 PYTHON
="`./build/find_python.sh`"
106 if test -z "$PYTHON"; then
107 echo "Python 2.2 or later is required to run autogen.sh"
108 echo "If you have a suitable Python installed, but not on the"
109 echo "PATH, set the environment variable PYTHON to the full path"
110 echo "to the Python executable, and re-run autogen.sh"
114 # Compile SWIG headers into standalone C files if we are in release mode
115 if test -n "$RELEASE_MODE"; then
116 echo "Generating SWIG code..."
117 # Generate build-outputs.mk in non-release-mode, so that we can
118 # build the SWIG-related files
119 "$PYTHON" .
/gen-make.py build.conf || gen_failed
=1
121 # Build the SWIG-related files
122 make -f autogen-standalone.mk autogen-swig
125 if test -n "$SKIP_DEPS"; then
126 echo "Creating build-outputs.mk (no dependencies)..."
127 "$PYTHON" .
/gen-make.py
$RELEASE_ARGS -s build.conf || gen_failed
=1
129 echo "Creating build-outputs.mk..."
130 "$PYTHON" .
/gen-make.py
$RELEASE_ARGS build.conf || gen_failed
=1
133 if test -n "$RELEASE_MODE"; then
134 find build
/ -name '*.pyc' -exec rm {} \
;
137 rm autogen-standalone.mk
139 if test -n "$gen_failed"; then
140 echo "ERROR: gen-make.py failed"
144 # Produce config.h.in
145 echo "Creating svn_private_config.h.in..."
146 ${AUTOHEADER:-autoheader}
148 # If there's a config.cache file, we may need to delete it.
149 # If we have an existing configure script, save a copy for comparison.
150 if [ -f config.cache
] && [ -f configure
]; then
151 cp configure configure.$$.tmp
154 # Produce ./configure
155 echo "Creating configure..."
156 ${AUTOCONF:-autoconf}
158 # If we have a config.cache file, toss it if the configure script has
159 # changed, or if we just built it for the first time.
160 if [ -f config.cache
]; then
162 [ -f configure.$$.tmp
] && cmp configure configure.$$.tmp
> /dev
/null
2>&1
164 echo "Tossing config.cache, since configure has changed."
167 rm -f configure.$$.tmp
170 # Remove autoconf 2.5x's cache directory
171 rm -rf autom4te
*.cache
174 echo "You can run ./configure now."
176 echo "Running autogen.sh implies you are a maintainer. You may prefer"
177 echo "to run configure in one of the following ways:"
179 echo "./configure --enable-maintainer-mode"
180 echo "./configure --disable-shared"
181 echo "./configure --enable-maintainer-mode --disable-shared"
183 echo "Note: If you wish to run a Subversion HTTP server, you will need"
184 echo "Apache 2.x. See the INSTALL file for details."