autoconf
[Top][All Lists]
Advanced

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

Re: Retrieving modules from CVS...


From: Tim Van Holder
Subject: Re: Retrieving modules from CVS...
Date: Tue, 27 Jan 2004 08:26:26 +0100

> CVS = cvs
> TCP_RELEASE = TCP_RELEASE_1_0
> TCP:  TCP/
>       $(CVS) export -r $(TCP_RELEASE) TCP
> 
> I use this in order to be able to make the project use
> the latest code from my CVS. From what I could tell
> from the AutoConf manual (and a quick search of the
> Mailing list archives) this may not be possible using
> AutoConf.  Is there a way that I can keep this
> functionality and still use AutoConf & AutoMake?

I think this can be handled by autoconf just fine.
You could determine $CVS and the CVSROOT using
AC_PATH_PROG and a --with-tcp-cvsroot option for
example, and hardcode $TCP_RELEASE.
Then you can use AC_CONFIG_COMMANDS to have
config.status (re)create the tcp sources from CVS.
Note that for a user, it would probably be easier if
you used 'cvs checkout' rather than an export (just set
up a user with read-only access), as that allows the use
of 'cvs update'.

Sample AC_CONFIG_COMMANDS:

AC_CONFIG_COMMANDS([Shared/TCP], [
echo Retrieving TCP sources from CVS...
$CVS -d "$TCP_CVSROOT" export -d 'Shared/TCP' -r "$TCP_CVS_TAG" TCP
], [
CVS=$ac_prog_cvs
TCP_CVSROOT=$with_tcp_cvsroot
TCP_CVS_TAG=$TCP_RELEASE
])


Of course, you could also do the CVS export at configure
time, but the above would allow for a 'refetch-tcp' rule in
Shared/Makefile, something like:

refetch-tcp: ../config.status
# Optionally remove existing sources
#       rm -rf TCP
        cd ..; ./config.status 'Shared/TCP'







reply via email to

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