Change Greenstone2 build code to Ant
|Reported by:||oranfry||Owned by:||oranfry|
|Priority:||moderate||Milestone:||Greenstone 2 wishlist|
|Component:||Greenstone2 Build Code||Severity:||minor|
There are some problems with the existing Greenstone2 build system. Currently gsdl is compiled with the usual 'configure, make, make install' in the top level gsdl folder. This will first perform configure on all components, then make all components, then make install all components. This is problematic as the configure part of some components requires the compiled binaries of other components to be present. A better build system would do 'configure, make, make install' on individual components one by one in an appropriate order.
Propose to replace the top level gsdl build files (configure.*, Makefile.*, etc), and those for build-src, runtime-src (and common-src?) and indexers with ant build.xml files, and move the logic for building each component (including any necessary compilation options) into these files.
Also, any java-only components which are controlled by us (ie, gli and maybe some others) could use a build.xml file to replace the existing build code.
We should put a minimal ant distribution into gsdl in the repository, to remove the prerequisite of having ant to compile Greenstone. Could also provide, as an alternative to the build.xml files, the cascadeMake.sh files which davidb has started work on. All this would go in a top level folder inside gsdl.