RPSL automation

Nick Hilliard nick at inex.ie
Sat Jun 13 14:05:32 UTC 2009


On 08/06/2009 01:05, Nick Hilliard wrote:
> I can't see a whole load of reason to have three separate but very
> similar configure scripts, two of which have some really silly bugs.
> Would anyone object if I reduce these to a single configure script? This
> will allow freebsd and solaris to be fixed properly by putting in proper
> lex / bison configuration detection.

Ok, I'm pretty much finished on the cruft-cleanout branch now (r266).

Recent highlights:

- directory structure substantially reorganised.  Core is completely gone. 
The remains were moved into librpsl and libnormalform, and Core/gnu has 
been moved into the gnug++ directory, which was then renamed "dataset".

- src/rpsl/rpsl moved to src/rpsl, so that the directory structure is fully 
consistent.  Now, all lib and executable directories hang directly off src/.

- removed BirdWhoisClient::getSourceOrigin() and consequently the entire 
StringBuffer class and associated files.

- fixed ticket/22 properly rather than using an ugly hack.

- autoconf stuff has been rebuilt from the ground up, and the system is now 
based on autoconf2.62.  Removed lots of files for this, including 
config.h.in and aclocal.h.  Really only left configure.in (which was 
renamed to configure.ac)

- replaced entire make system with automake.  This simplifies the makefile 
configuration drastically and does lots of things like sensible library 
handling and so forth.  It also enables parallel makes.

- libtoolized the entire system and wrapped all libraries into a single 
libirrtoolset.a.  While this isn't necessary now, at some stage in the 
future, it might be nice to have a shared libirrtoolset.so library instead 
of a static lib with large binaries.

- reorganised the versioning code so that everything now depends on the 
version number in configure.ac.  bumped version to 4.9.0-alpha1.

- moved all man pages to their respective places in src/.   Renamed Errors 
man page to be irrtoolset-errors.

- renamed "RtConfig" to rtconfig.  You can now use "@rtconfig" on the 
rtconfig command line too.  Think of the electrons that can be saved here!

- made lex yylineno handling more portable.

- default to use libreadline on darwin, as this is part of the base 
distribution.

- code now compiles from SVN and dist without errors and runs on mac os x, 
ubuntu9.10, freebsd7 and solaris 10.

- added various distribution files without which, automake whinges and gripes.

- tested to ensure that "make dist" packages up the correct files and 
produces a source distribution file which compiles and runs on the various 
target distributions.

- code line count is now 40455, down from 112392.  I.e. 64% of the original 
code base is gone.

There is up-to-date building information on:

http://irrtoolset.isc.org/wiki/CruftCleanout

I suggest that this branch may make a useful starting point for further 
development and that we should consider merging it back into trunk.

This reorganisation has not been thoroughly tested and it's quite likely 
that this sort of chainsaw treatment will cause a certain amount of 
instability in the short term.  So, testers, please poke and report back 
with any trouble.

Nick



More information about the irrtoolset mailing list