Re: Retrieving modules from CVS...

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

 



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






[Index of Archives]     [GCC Help]     [Kernel Discussion]     [RPM Discussion]     [Red Hat Development]     [Yosemite News]     [Linux USB]     [Samba]

  Powered by Linux