[Spice-devel] [PATCH spice 1/2] build-sys: use spice-protocol as a submodule
Christophe Fergeau
cfergeau at redhat.com
Thu Mar 1 01:49:39 PST 2012
On Thu, Mar 01, 2012 at 12:39:40AM +0100, Marc-André Lureau wrote:
> ---
> .gitmodules | 3 +
> Makefile.am | 3 +
> autogen.sh | 167 +++----------------------------------------------------
NACK for the autogen.sh changes, if you want to switch to
autoreconf -v --force --install || exit 1
I'd rather this is not hidden in the "switch to submodules" commit.
Christophe
> configure.ac | 4 +-
> spice-protocol | 1 +
> 5 files changed, 20 insertions(+), 158 deletions(-)
> create mode 100644 .gitmodules
> create mode 160000 spice-protocol
>
> diff --git a/.gitmodules b/.gitmodules
> new file mode 100644
> index 0000000..f7de75d
> --- /dev/null
> +++ b/.gitmodules
> @@ -0,0 +1,3 @@
> +[submodule "spice-protocol"]
> + path = spice-protocol
> + url = ../spice-protocol
> diff --git a/Makefile.am b/Makefile.am
> index c807359..6c27750 100644
> --- a/Makefile.am
> +++ b/Makefile.am
> @@ -1,4 +1,7 @@
> +ACLOCAL_AMFLAGS = -I m4
> +
> SUBDIRS = common server python_modules
> +DIST_SUBDIRS = spice-protocol $(SUBDIRS)
>
> if SUPPORT_CLIENT
> SUBDIRS += client
> diff --git a/autogen.sh b/autogen.sh
> index 48ee9a2..0630e73 100755
> --- a/autogen.sh
> +++ b/autogen.sh
> @@ -1,166 +1,19 @@
> -#! /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:
> -# 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
> +git submodule init
> +git submodule update
>
> - vc_checkprog=`eval echo "\\$$vc_variable"`
> - if [ -n "$vc_checkprog" ]; then
> - printbold "using $vc_checkprog for $vc_package"
> - return 0
> - fi
> +autoreconf --verbose --force --install
>
> - 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
> diff --git a/configure.ac b/configure.ac
> index b8acfa9..5552bd3 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -139,7 +139,8 @@ AM_CONDITIONAL(SUPPORT_AUTOMATED_TESTS, test "x$enable_automated_tests" != "xno"
> dnl =========================================================================
> dnl Check deps
>
> -PKG_CHECK_MODULES(PROTOCOL, spice-protocol >= 0.10.1)
> +AC_CONFIG_SUBDIRS([spice-protocol])
> +PROTOCOL_CFLAGS='-I ${top_srcdir}/spice-protocol'
> AC_SUBST(PROTOCOL_CFLAGS)
>
> AC_CHECK_LIBM
> @@ -179,6 +180,7 @@ AC_DEFINE_UNQUOTED([POSIX_YIELD_FUNC],$posix_yield_func,[The POSIX RT yield func
>
> SPICE_REQUIRES=""
>
> +PKG_PROG_PKG_CONFIG
> if test "x$enable_gui" = "xyes"; then
> PKG_CHECK_MODULES(CEGUI06, CEGUI-0.6 >= 0.6.0 CEGUI-0.6 < 0.7.0,
> [
> diff --git a/spice-protocol b/spice-protocol
> new file mode 160000
> index 0000000..d5edafd
> --- /dev/null
> +++ b/spice-protocol
> @@ -0,0 +1 @@
> +Subproject commit d5edafd28ab762b1b5f663aec449d3e3743f1184
> --
> 1.7.7.6
>
> _______________________________________________
> Spice-devel mailing list
> Spice-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/spice-devel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/spice-devel/attachments/20120301/606ed078/attachment-0001.pgp>
More information about the Spice-devel
mailing list