ROSE Compiler Framework/Software Dependencies

Goal
https://github.com/rose-compiler/rose/issues/113

Goal of this page is to collect input about the external software dependencies of ROSE: what are they? What to do with them?

The outcome is a good balance among functionality, productivity and maintainability.

We sort the dependent software packages based on the degree of impact they have on ROSE

EDG
EDG is used to support C and C++. But it is proprietary so we have to maintain and release binaries instead.

We are actively developing Clang to ROSE connection to reduce the dependence on EDG.

TODO: prompt Fortran users that EDG is not required.

Boost C++ Library
References
 * http://stackoverflow.com/questions/1226206/is-there-a-reason-to-not-use-boost
 * http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml#Boost

JAVA JDK
Why do we need this?

Can we make it optional?

(g)Fortran
Why do we need this?
 * gfortran acts as the backend compiler to support Fortran source to source translation

Can we make it optional?
 * if you are not using java via the --without-java flag, FORTRAN support is disabled
 * the configuration should prompt users to
 * disable Fortran support if gfortran is not available
 * install gfortran if Fortran support is desired.

Testing
TODO: Jenkins should have a few nodes with minimum software packages installed to test ROSE.