[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: .swg files in subversion-1.3.0-rc2

From: David James <james_at_cs.toronto.edu>
Date: 2005-11-21 16:11:40 CET

> Mathias Weinert wrote:
> >
> > To put it in a nutshell, the .swg files were regenerated because
> > I changed their source header files, if not changing these header
> > files I still get the same compiler errors, doing
> > 'make extraclean-swig-pl' before 'make swig-pl' makes it work.
> >
> > Finally, just a thought about the .swg files: I suppose that it may be
> > a problem if I changed some (source) header files and after that only
> > the corresponding .swg files are regenerated as this leads to some
> > .swg files generated with swig 1.3.24 (if this is the installed
> > version)
> > and some with swig 1.3.25.
> > Wouldn't it be better to say "regenerate all .swg files if at least
> > one is out of date"?
>
> This is a good idea. The trick is that this rule needs to apply only in
> release mode (i.e. tarballs), and not to development mode (i.e. working
> copies), because incremental regeneration saves time for developers.

For Subversion 1.3.0rc3, we decided to upgrade the release build
process to never automatically regenerate SWIG files, so that normal
users will never have to worry about accidentally regenerating SWIG
files if they do not have SWIG 1.3.25 installed on their system. This
means that users who download Subversion tarballs will no longer need
to worry about keeping the timestamps "pristine". (Woohoo!)

(Can you think of any way to automatically regenerate SWIG header
files in release mode without depending on correct timestamps? If so,
I'm all for it! But I don't have any ideas on how to implement this.
So, read below for instructions on how to regenerate SWIG headers
manually, if you're working from a release tarball.)

If you actually make real changes to the source code in a release
tarball, you'll need to rerun autogen.sh in order to regenerate your
header files. Here are some tips:
1) If you're doing regular development, run make extraclean &&
./autogen.sh to restore your build tree to its pristine state, so that
you can regenerate all of the files in the build tree using the
versions you have present on your system. The SWIG files will be
automatically regenerated as necessary.
2) If you want to produce your own modified release version of the
Subversion source code, which can be built by users without needing
SWIG, run make extraclean && ./autogen.sh --release. This will restore
your build tree to its pristine state and rebuild all of the SWIG
files in one shot. In Subversion 1.3.0rc3 and later, the SWIG files
will not be regenerated again until you rerun autogen.sh. So, if you
make more changes to the source code, rerun autogen.sh with the
appropriate options, as detailed above.

Hope this helps!

David

--
David James -- http://www.cs.toronto.edu/~james
Received on Mon Nov 21 16:12:47 2005

This is an archived mail posted to the Subversion Dev mailing list.