| #! /bin/sh |
| # |
| # |
| # Licensed to the Apache Software Foundation (ASF) under one |
| # or more contributor license agreements. See the NOTICE file |
| # distributed with this work for additional information |
| # regarding copyright ownership. The ASF licenses this file |
| # to you under the Apache License, Version 2.0 (the |
| # "License"); you may not use this file except in compliance |
| # with the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, |
| # software distributed under the License is distributed on an |
| # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| # KIND, either express or implied. See the License for the |
| # specific language governing permissions and limitations |
| # under the License. |
| # |
| # |
| # buildcheck.sh: Inspects the build setup to make detection and |
| # correction of problems an easier process. |
| |
| # Initialize parameters |
| VERSION_CHECK="$1" |
| |
| if test "$VERSION_CHECK" != "--release"; then |
| echo "buildcheck: checking installation..." |
| else |
| echo "buildcheck: checking installation for a source release..." |
| fi |
| |
| #-------------------------------------------------------------------------- |
| # autoconf 2.59 or newer |
| # |
| ac_version=`${AUTOCONF:-autoconf} --version 2>/dev/null|sed -e 's/^[^0-9]*//' -e 's/[a-z]* *$//' -e 1q` |
| if test -z "$ac_version"; then |
| echo "buildcheck: autoconf not found." |
| echo " You need autoconf version 2.59 or newer installed." |
| exit 1 |
| fi |
| IFS=.; set $ac_version; IFS=' ' |
| if test "$1" = "2" -a "$2" -lt "59" || test "$1" -lt "2"; then |
| echo "buildcheck: autoconf version $ac_version found." |
| echo " You need autoconf version 2.59 or newer installed." |
| echo " If you have a sufficient autoconf installed, but it" |
| echo " is not named 'autoconf', then try setting the" |
| echo " AUTOCONF environment variable. (See the INSTALL file" |
| echo " for details.)" |
| exit 1 |
| fi |
| |
| echo "buildcheck: autoconf version $ac_version (ok)" |
| |
| #-------------------------------------------------------------------------- |
| # autoheader 2.59 or newer |
| # |
| ah_version=`${AUTOHEADER:-autoheader} --version 2>/dev/null|sed -e 's/^[^0-9]*//' -e 's/[a-z]* *$//' -e 1q` |
| if test -z "$ah_version"; then |
| echo "buildcheck: autoheader not found." |
| echo " You need autoheader version 2.59 or newer installed." |
| exit 1 |
| fi |
| IFS=.; set $ah_version; IFS=' ' |
| if test "$1" = "2" -a "$2" -lt "59" || test "$1" -lt "2"; then |
| echo "buildcheck: autoheader version $ah_version found." |
| echo " You need autoheader version 2.59 or newer installed." |
| echo " If you have a sufficient autoheader installed, but it" |
| echo " is not named 'autoheader', then try setting the" |
| echo " AUTOHEADER environment variable. (See the INSTALL file" |
| echo " for details.)" |
| exit 1 |
| fi |
| |
| echo "buildcheck: autoheader version $ah_version (ok)" |
| |
| #-------------------------------------------------------------------------- |
| # libtool 1.4 or newer |
| # |
| LIBTOOL_WANTED_MAJOR=1 |
| LIBTOOL_WANTED_MINOR=4 |
| LIBTOOL_WANTED_PATCH= |
| LIBTOOL_WANTED_VERSION=1.4 |
| |
| # The minimum version for source releases is 1.4.3, |
| # because it's required by (at least) Solaris. |
| if test "$VERSION_CHECK" = "--release"; then |
| LIBTOOL_WANTED_PATCH=3 |
| LIBTOOL_WANTED_VERSION=1.4.3 |
| else |
| case `uname -sr` in |
| SunOS\ 5.*) |
| LIBTOOL_WANTED_PATCH=3 |
| LIBTOOL_WANTED_VERSION=1.4.3 |
| ;; |
| esac |
| fi |
| |
| # Much like APR except we do not prefer libtool 1 over libtool 2. |
| libtoolize=${LIBTOOLIZE:-`./build/PrintPath glibtoolize libtoolize glibtoolize1 libtoolize15 libtoolize14`} |
| # Extract the libtool version number: everything from the first number in |
| # the version text until a hyphen or space. |
| lt_pversion=`$libtoolize --version 2>/dev/null | |
| sed -e 's/^[^0-9]*//' -e 's/[- ].*//' -e '/^$/d' | |
| sed -e 1q` |
| if test -z "$lt_pversion"; then |
| echo "buildcheck: libtoolize not found." |
| echo " You need libtool version $LIBTOOL_WANTED_VERSION or newer installed" |
| exit 1 |
| fi |
| lt_version=`echo $lt_pversion|sed -e 's/\([a-z]*\)$/.\1/'` |
| IFS=.; set $lt_version; IFS=' ' |
| lt_status="good" |
| if test "$1" = "$LIBTOOL_WANTED_MAJOR"; then |
| if test "$2" -gt "$LIBTOOL_WANTED_MINOR"; then |
| lt_status="good" |
| elif test "$2" -lt "$LIBTOOL_WANTED_MINOR"; then |
| lt_status="bad" |
| elif test ! -z "$LIBTOOL_WANTED_PATCH"; then |
| if test "$3" -lt "$LIBTOOL_WANTED_PATCH"; then |
| lt_status="bad" |
| fi |
| fi |
| fi |
| if test $lt_status != "good"; then |
| echo "buildcheck: libtool version $lt_pversion found." |
| echo " You need libtool version $LIBTOOL_WANTED_VERSION or newer installed" |
| exit 1 |
| fi |
| |
| echo "buildcheck: libtool version $lt_pversion (ok)" |
| |
| #-------------------------------------------------------------------------- |
| # check that our local copies of files match up with those in APR(UTIL) |
| # |
| if test -d ./apr; then |
| if cmp -s ./build/ac-macros/find_apr.m4 ./apr/build/find_apr.m4; then |
| : |
| else |
| echo "buildcheck: local copy of find_apr.m4 does not match APR's copy." |
| echo " An updated copy of find_apr.m4 may need to be checked in." |
| fi |
| if cmp -s ./build/PrintPath ./apr/build/PrintPath; then |
| : |
| else |
| echo "buildcheck: local copy of PrintPath does not match APR's copy." |
| echo " An updated copy of PrintPath may need to be checked in." |
| fi |
| fi |
| |
| if test -d ./apr-util; then |
| if cmp -s ./build/ac-macros/find_apu.m4 ./apr-util/build/find_apu.m4; then |
| : |
| else |
| echo "buildcheck: local copy of find_apu.m4 does not match APRUTIL's copy." |
| echo " An updated copy of find_apu.m4 may need to be checked in." |
| fi |
| fi |
| |
| #-------------------------------------------------------------------------- |
| exit 0 |