[Spice-devel] [PATCH spice 1/4] build-sys: cleanup, use autoreconf
Alon Levy
alevy at redhat.com
Thu Mar 1 04:03:18 PST 2012
On Thu, Mar 01, 2012 at 12:19:59PM +0100, Marc-André Lureau wrote:
> ---
> Makefile.am | 2 +
> autogen.sh | 167 +++-------------------------------------------------------
> 2 files changed, 11 insertions(+), 158 deletions(-)
>
> diff --git a/Makefile.am b/Makefile.am
> index c807359..33bb25c 100644
> --- a/Makefile.am
> +++ b/Makefile.am
> @@ -1,3 +1,5 @@
> +ACLOCAL_AMFLAGS = -I m4
> +
> SUBDIRS = common server python_modules
>
> if SUPPORT_CLIENT
> diff --git a/autogen.sh b/autogen.sh
> index 48ee9a2..c5eefda 100755
> --- a/autogen.sh
> +++ b/autogen.sh
> @@ -1,166 +1,17 @@
> -#! /bin/sh
> +#!/bin/sh
>
> set -e # exit on errors
>
> -# FIXME: can replace this entire script with
> -# the following line if we can require autoconf 2.60:
You don't want to require an autoconf > 2.60 like the deleted comment
says?
> -# autoreconf -v --force --install || exit 1
> -
> -PACKAGE=spice
> -
> -ACLOCAL_FLAGS=""
> -LIBTOOLIZE=${LIBTOOLIZE-libtoolize}
> -LIBTOOLIZE_FLAGS="--copy --force"
> -AUTOHEADER=${AUTOHEADER-autoheader}
> -AUTOMAKE=${AUTOMAKE-automake}
> -AUTOMAKE_FLAGS="--add-missing --gnu"
> -AUTOCONF=${AUTOCONF-autoconf}
> -
> -# automake 1.8 requires autoconf 2.58
> -# automake 1.7 requires autoconf 2.54
> -automake_min_vers=1.7
> -aclocal_min_vers=$automake_min_vers
> -autoconf_min_vers=2.54
> -libtoolize_min_vers=1.4
> -
> -# The awk-based string->number conversion we use needs a C locale to work
> -# as expected. Setting LC_ALL overrides whether the user set LC_ALL,
> -# LC_NUMERIC, or LANG.
> -LC_ALL=C
> -
> -ARGV0=$0
> -
> -# Allow invocation from a separate build directory; in that case, we change
> -# to the source directory to run the auto*, then change back before running configure
> -srcdir=`dirname $ARGV0`
> +srcdir=`dirname $0`
> test -z "$srcdir" && srcdir=.
>
> -ORIGDIR=`pwd`
> -cd $srcdir
> -
> -# Not all echo versions allow -n, so we check what is possible. This test is
> -# based on the one in autoconf.
> -case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
> - *c*,-n*) ECHO_N= ;;
> - *c*,* ) ECHO_N=-n ;;
> - *) ECHO_N= ;;
> -esac
> -
> -
> -# some terminal codes ...
> -boldface="`tput bold 2>/dev/null || true`"
> -normal="`tput sgr0 2>/dev/null || true`"
> -printbold() {
> - echo $ECHO_N "$boldface"
> - echo "$@"
> - echo $ECHO_N "$normal"
> -}
> -printerr() {
> - echo "$@" >&2
> -}
> -
> -
> -# Usage:
> -# compare_versions MIN_VERSION ACTUAL_VERSION
> -# returns true if ACTUAL_VERSION >= MIN_VERSION
> -compare_versions() {
> - ch_min_version=$1
> - ch_actual_version=$2
> - ch_status=0
> - IFS="${IFS= }"; ch_save_IFS="$IFS"; IFS="."
> - set $ch_actual_version
> - for ch_min in $ch_min_version; do
> - ch_cur=`echo $1 | sed 's/[^0-9].*$//'`; shift # remove letter suffixes
> - if [ -z "$ch_min" ]; then break; fi
> - if [ -z "$ch_cur" ]; then ch_status=1; break; fi
> - if [ $ch_cur -gt $ch_min ]; then break; fi
> - if [ $ch_cur -lt $ch_min ]; then ch_status=1; break; fi
> - done
> - IFS="$ch_save_IFS"
> - return $ch_status
> -}
> +olddir=`pwd`
> +cd "$srcdir"
>
> -# Usage:
> -# version_check PACKAGE VARIABLE CHECKPROGS MIN_VERSION SOURCE
> -# checks to see if the package is available
> -version_check() {
> - vc_package=$1
> - vc_variable=$2
> - vc_checkprogs=$3
> - vc_min_version=$4
> - vc_source=$5
> - vc_status=1
> +mkdir -p m4
> +autoreconf --verbose --force --install
>
> - vc_checkprog=`eval echo "\\$$vc_variable"`
> - if [ -n "$vc_checkprog" ]; then
> - printbold "using $vc_checkprog for $vc_package"
> - return 0
> - fi
> -
> - printbold "checking for $vc_package >= $vc_min_version..."
> - for vc_checkprog in $vc_checkprogs; do
> - echo $ECHO_N " testing $vc_checkprog... "
> - if $vc_checkprog --version < /dev/null > /dev/null 2>&1; then
> - vc_actual_version=`$vc_checkprog --version | head -n 1 | \
> - sed 's/^.*[ ]\([0-9.]*[a-z]*\).*$/\1/'`
> - if compare_versions $vc_min_version $vc_actual_version; then
> - echo "found $vc_actual_version"
> - # set variable
> - eval "$vc_variable=$vc_checkprog"
> - vc_status=0
> - break
> - else
> - echo "too old (found version $vc_actual_version)"
> - fi
> - else
> - echo "not found."
> - fi
> - done
> - if [ "$vc_status" != 0 ]; then
> - printerr "***Error***: You must have $vc_package >= $vc_min_version installed"
> - printerr " to build $PROJECT. Download the appropriate package for"
> - printerr " from your distribution or get the source tarball at"
> - printerr " $vc_source"
> - printerr
> - fi
> - return $vc_status
> -}
> -
> -version_check autoconf AUTOCONF $AUTOCONF $autoconf_min_vers \
> - "http://ftp.gnu.org/pub/gnu/autoconf/autoconf-${autoconf_min_vers}.tar.gz" || DIE=1
> -version_check automake AUTOMAKE "$AUTOMAKE automake automake-1.10 automake-1.9 automake-1.8 automake-1.7" $automake_min_vers \
> - "http://ftp.gnu.org/pub/gnu/automake/automake-${automake_min_vers}.tar.gz" || DIE=1
> -ACLOCAL=`echo $AUTOMAKE | sed s/automake/aclocal/`
> -version_check libtool LIBTOOLIZE "$LIBTOOLIZE glibtoolize libtoolize" $libtoolize_min_vers \
> - "http://ftp.gnu.org/pub/gnu/libtool/libtool-${libtool_min_vers}.tar.gz" || DIE=1
> -
> -if test -n "$DIE"; then
> - exit 1
> -fi
> -
> -
> -if test -z "$*"; then
> - echo "$ARGV0: Note: \`./configure' will be run with no arguments."
> - echo " If you wish to pass any to it, please specify them on the"
> - echo " \`$0' command line."
> - echo
> +cd "$olddir"
> +if [ -z "$NOCONFIGURE" ]; then
> + "$srcdir"/configure --enable-maintainer-mode --enable-gtk-doc --with-gtk=3.0 $enable_vala ${1+"$@"}
> fi
> -
> -do_cmd() {
> - echo "$ARGV0: running \`$@'"
> - $@
> -}
> -
> -# Run for top level directory
> -
> -printbold "Setting up $PACKAGE toplevel"
> -do_cmd $LIBTOOLIZE $LIBTOOLIZE_FLAGS
> -do_cmd $ACLOCAL $ACLOCAL_FLAGS
> -do_cmd $AUTOHEADER
> -do_cmd $AUTOMAKE $AUTOMAKE_FLAGS
> -do_cmd $AUTOCONF
> -
> -cd $ORIGDIR || exit $?
> -rm -f config.cache
> -
> -do_cmd $srcdir/configure --enable-maintainer-mode ${1+"$@"} || exit 1
> --
> 1.7.7.6
>
> _______________________________________________
> Spice-devel mailing list
> Spice-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/spice-devel
More information about the Spice-devel
mailing list