Opened 17 years ago

Closed 17 years ago

Last modified 17 years ago

#147 closed defect (released)

Add svn:externals property to pull in required SWIG version

Reported by: Richard Boulton Owned by: Olly Betts
Priority: normal Milestone:
Component: Xapian-bindings Version: SVN trunk
Severity: normal Keywords:
Cc: Olly Betts Blocked By:
Blocking: #120 Operating System: All

Description

Olly suggested in bug #137:

Hmm, what we could do is add an svn:externals property to Xapian SVN which pulls in the currently recommended SWIG revision automatically. Then "svn up" on the Xapian tree would just pull that in, and the requirement would be nicely versioned along with xapian-bindings code! But let's look at this AFTER 1.0.0.

I think this would be a very nice way to make sure that all developers working from SVN have the appropriate tool available to build from SVN. Particularly since it seems likely that we'll continue to depend on an SVN version of SWIG for some time, given the rate at which we've been finding problems with SWIG which we need to patch.

The bootstrap script should handle setting up the swig build as well as the xapian build, running ./configure at the top level should configure SWIG too, and the path to the swig checkout should be set automatically for the xapian-bindings makefiles.

The windows build system should also make use of the checkout if it's available.

Change History (5)

comment:1 by Richard Boulton, 17 years ago

Blocking: 120 added
Owner: changed from Olly Betts to Richard Boulton

This should be done early in the 1.0 series if possible, but not for 1.0.0 since it's going to be quite a bit of work to set up all the required infrastructure.

comment:2 by Olly Betts, 17 years ago

Cc: olly@… added

Actually, if you run out of other things to work on, feel free to work on this as it's not disruptive in the code we'll actually be releasing, and it'll help testing.

One thing to know is that you can run SWIG from a built source tree by running the "preinst-swig" script in the top level, so you should just be able to configure xapian-bindings with "SWIG=/path/to/preinst-swig" as an argument. I believe SWIG shoul'm not sure if SWIG supports VPATH builds (I've only built in tree) but if it's easy to fix,d also support VPATH builds (zlib and Search-Xapian don't which is a pain for the tinderbox).

I'd suggest we put swig as a sibling directory for xapian-core, xapian-bindings, etc, if only because that makes it easy to just delete or even avoid checking out if you don't want it.

comment:3 by Olly Betts, 17 years ago

Owner: changed from Richard Boulton to Olly Betts

I needed to update my local install of SWIG on ixion (to get the pythread.h change), so instead I've added a suitable svn:externals property and tweaked bootstrap, and also tweaked xapian-bindings configure to not bail if SWIG is explicitly specified (since in the "whole tree" build swig won't be built when xapian-bindings is configured). This works for srcdir == builddir. I'm just running the tarball building script now to check srcdir != builddir works.

comment:4 by Olly Betts, 17 years ago

Resolution: fixed
Status: newclosed

The snapshots have generated without errors, and xapian-bindings was generated with the correct SWIG since it uses pythread.h, so closing this bug!

comment:5 by Olly Betts, 17 years ago

Operating System: All
Resolution: fixedreleased

Fixed in 1.0.0 release.

Note: See TracTickets for help on using tickets.