nick at inex.ie
Fri May 22 18:13:59 UTC 2009
On 20/05/2009 12:56, Nick Hilliard wrote:
> I've created a branch called "cruft-cleanout" (r225) and have deleted
> all of this stuff from it, leaving only librpsl, peval, rpslcheck and
> RtConfig as the primary targets of the distribution. The reduction was
> done by removing aoe, roe, CIDRAdvisor, prtraceroute and prpath, and
> then carefully removing unreferenced, auto-generated and redundant code.
> This branch now contains about 60750 lines of code. The trunk contains a
> little more than 112kLoC, so this is a reduction of 46% of the entire
> code base.
> The next phase of this clean-up is to begin to look at manually removing
> some library dependencies from the remaining code base. There is some
> low hanging fruit here.
I've committed another monster patch on the cruft-cleanout branch as r226,
leaving 48.8kloc. At this stage, about 57% of the codebase has been
removed with no loss of functionality.
The code (i.e. peval, RtConfig, rpslcheck and librpsl.a) now compiles and
runs successfully on linux (ubuntu 9.04)/x86, freebsd 7.2/amd64 and MacOSX
10.5.7. If anyone has the time / inclination, maybe you could try
compiling it on your favourite system to see if it compiles / works. In
particular, I haven't checked to see if it compiles or runs on solaris.
The remaining code in the source tree probably contains a number of
unreferenced C++ functions, particularly operators, where it's very
difficult to check if they are actually used in the code (ld --gc-sections
does not really help here). I'm not going to chase these.
> - removed GNU autoconf 'configure' files as these should be regenerated by
> the developer.
> - committed an improvement of http://irrtoolset.isc.org/ticket/19, to shut
> up warnings from autoconf
> - changed autoconf to default to using "flex -l" instead of "flex". This is
> to fix yylineno problems.
> - removed tcl/tk configuration from /configure.in
> - removed large numbers of unreferenced functions
> - removed unreferenced TCP, UDP, RPTypeBlob, Regex classes
> - removed rx Regex library
> - removed man pages for aoe, roe, CIDRAdvisor, prpath, prtraceroute
> - fixed removal of ACG and RndInt classes from src/Core/Makefile.in
> - removed ripe_perl handler completely, as this has been disconnected from
> the code for some years
More information about the irrtoolset