ROSE Compiler Framework/Software Dependencies

From Wikibooks, open books for an open world
Jump to navigation Jump to search

Goal[edit | edit source]

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[edit | edit source]

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[edit | edit source]


JAVA JDK[edit | edit source]

Why do we need this?

Can we make it optional?

(g)Fortran[edit | edit source]

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[edit | edit source]

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