[sword-devel] Bindings cleanups and others

Greg Hellings greg.hellings at gmail.com
Wed Aug 29 06:41:38 MST 2012


I have further cleaned up the building of the Bindings. They are now
built and installed along with a single command with everything else.
You still specify -DSWORD_BINDINGS="Perl Python" if you want to e.g.
build both language bindings at once. Then just a standard make/make
install at the library level will also compile and install the
bindings.

Other improvements:
- Previously the bindings would be recompiled every single time you
issued a 'make' or 'make install' command. This is no longer the case.
It should be a much nicer experience for people who are hacking on the
rest of the engine who don't want to fiddle with recompiling the
bindings every small change of utility file or the like.
- Successfully builds against static libraries. Previously the whole
process would just explode if you tried to build using only a static
library build. Now the bindings can be built against either static or
shared libraries. If you build both libraries with the same command
then the bindings will be built against the shared.
- Significant cleanup of the CMake rules surrounding the library
building. They are now proper subdirectories of the main project
instead of some crazy tacked-on addition. This should make it much
clearer what is going on in the CMake system.

All these improvements apply only to the CMake build process and not
to the autotools, although some of the warnings cleanup were changes
in the SWIG code itself and will be reflected if you use autotools to
build.

--Greg

On Tue, Aug 28, 2012 at 10:41 PM, Greg Hellings <greg.hellings at gmail.com> wrote:
> If you're building with CMake you add the flag -DSWORD_BINDINGS="Perl"
> to build the Perl bindings. Then after issuing your standard make
> command you'll be prompted somewhere in the output with the next step.
> After installing SWORD with a sudo make install you need to cd into
> bindings/swig/perl and do a 'sudo make install' from there as well.
>
> It's not quite as clean as it should be, but it works at present.
> Report any problems you have with it.
>
> --Greg
>
> On Tue, Aug 28, 2012 at 10:37 PM, Andrew Thule <thulester at gmail.com> wrote:
>> Speaking of which, are the Perl bindings automatically generated with makes
>> or are there additional steps required?  I've had no success either finding
>> documentation on generating the Perl bindings or in using them
>> ~A
>>
>> On Tuesday, August 28, 2012, Greg Hellings wrote:
>>>
>>> For those of you who don't follow the SVN commit logs I have just
>>> cleaned up a couple of compile warnings that the Python and Perl SWIG
>>> bindings would throw during the install stage. Most notable changes
>>> are removal of the Traversable() and Index() methods on the
>>> sword::SWKey class. If you have code that uses those, you should
>>> update it to use getTraversable/setTravsable and getIndex/setIndex.
>>> These methods have been deprecated in the C++ library for a little
>>> while now and were causing the bindings to give deprecation warnings
>>> during compile.
>>>
>>> There were also a few little cleanups of some code internal to the
>>> bindings that were producing warnings. The Python bindings are now
>>> clean, but the Perl bindings are still producing one or two warnings
>>> (better than the 7 or so before!).
>>>
>>> There are still lots of SWIG compiler warnings that I'd like to track
>>> down, but the C warnings are now almost gone.
>>>
>>> I have also updated CMake to install the Rahlfs's canon header file.
>>>
>>> --Greg
>>>
>>> _______________________________________________
>>> sword-devel mailing list: sword-devel at crosswire.org
>>> http://www.crosswire.org/mailman/listinfo/sword-devel
>>> Instructions to unsubscribe/change your settings at above page
>>
>>
>> _______________________________________________
>> sword-devel mailing list: sword-devel at crosswire.org
>> http://www.crosswire.org/mailman/listinfo/sword-devel
>> Instructions to unsubscribe/change your settings at above page



More information about the sword-devel mailing list