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