autoconf
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Autoconf and CVS


From: David Fang
Subject: Re: Autoconf and CVS
Date: Sat, 24 Dec 2005 12:37:02 -0500 (EST)

> > Interesting thought: Wouldn't it get annoying if many devs are working
> > on one CVS controlled project, and they have different version
> > autotools, surely each time they commit their changes they're possibly
> > going to have conflicts? Which would make the files unusable? (until
> > resolved).
>
> Yes, this can be annoying.  As a work-around you can include some sort
> of 'bootstrap' script so that developer's can immediately overwrite
> the version from CVS.  Of course then changed files will be committed,
> and there will be thrashing in CVS.  If the bootstrap script insists
> on certain versions of the autotools, then the thrashing should go
> away.

Hi,

Here's an example bootstrap/autogen.sh script that I use in my projects, I
imagine others' may look very similar.  (With a little more sed/awk/cut
magic, one could even *enforce* correct versions.)

------------8<-----------------

PROJECT=foo
TEST_TYPE=-f
# unique file in top_srcdir
FILE=INSTALL

# possibly pre-generate some things here...

DIE=0

(autoconf --version) < /dev/null > /dev/null 2>&1 || {
        echo
        echo "You must have autoconf installed to compile $PROJECT."
        echo "Download the appropriate package for your distribution,"
        echo "or get the source tarball at: "
        echo "http://ftp.gnu.org/gnu/autoconf/autoconf-2.59.tar.gz";
        DIE=1
}

(libtoolize --version) < /dev/null > /dev/null 2>&1 || {
        echo
        echo "You must have libtool installed to compile $PROJECT."
        echo "Get ftp://ftp.gnu.org/gnu/libtool/libtool-1.5.20.tar.gz";
        echo "(or a newer version if it is available)"
        DIE=1

(automake --version) < /dev/null > /dev/null 2>&1 || {
        echo
        echo "You must have automake installed to compile $PROJECT."
        echo "Get http://ftp.gnu.org/gnu/automake/automake-1.9.6.tar.gz";
        echo "(or a newer version if it is available)"
        DIE=1
}

if test "$DIE" -eq 1; then
        exit 1
fi

test $TEST_TYPE $FILE || {
        echo "You must run this script in the top-level $PROJECT
directory"
        exit 1
}

libtoolize --copy --force

# uses config subdir
aclocal $ACLOCAL_FLAGS -I config

(autoheader --version)  < /dev/null > /dev/null 2>&1 && autoheader

automake --copy --add-missing --verbose --gnu $am_opt

autoconf


------------>8-----------------

HTH,


David Fang






reply via email to

[Prev in Thread] Current Thread [Next in Thread]