[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'