Contributors:
- Nathanael Nerode
Delivery Date:
- Part 1 (gnattools subdir):
- Ready now. Patch needs prep due to deficiencies in CVS, but the actual changes are tested, functional and stable.
- April 2. Will need buy-in from Ada maintainers after completion.
Benefits:
- Maintainability
Risks:
- Greater instability in Ada runtime/tools build process. I'll be working primarily on eliminating all such things during stage 1,2,and 3, and I'll be around to do so. I expect that most or all bugs will affect individual targets, or individual cross configurations. Since the Ada build system is rather rickety and unreliable as it is -- particularly for cross builds -- I think there will be a net gain in functionality quickly. I am also quite sure that any problems will be fixable without major surgery in the new architecture.
Description:
- I am rearranging the Ada runtime library and tools so they're built properly, the way the rest of the runtime libraries and tools are built. This removes masses of gunk from the GCC subdirectory makefiles, and should in the long run make cross builds of Ada more stable and less finicky. This includes moving the Ada runtime configury into configure.ac files, out of GNU Make clauses in the Makefile, which may disconcert the Ada maintainers, but will be easier to maintain in the long run for everyone, including them. (This is part of part 2.) It also includes moving all configury and Makefiles for the runtime and tools into top level directories, out of the gcc/ada subdir. (This is part of part 2.) It also includes creating a separate "host" gnattools directory, distinct from the "target" libada directory. (This is Part 1, which is essentially finished.) Subsequently it includes disentangling the gnattools build from the libada build as far as possible, which has serious maintainability gains; I've already caught several probable configury mistakes while doing this. (This is part of part 2.) The separation of the Ada compiler, Ada runtime, and Ada tools builds also opens up future opportunties for cleanup. In particular, it may make it easier to relax the requirements on the preexisting Ada compiler for bootstrapping, although this is speculative at this time.