Skip to content

ICON integration changes

Sergey Kosukhin requested to merge m300488/icon-integration-mr into master

Since CDI-PIO depends on PPM, the latter is being integrated into the ICON building system too.

These are some changes that I have come up with during the integration:

  1. Make 'scripts/reconfigure' compatible with Mac OS. - not really needed for ICON but I implemented this while working on other MacOS-related issues.
  2. Replace "echo $(ECHO_N)" with "printf '%s'" in the makefiles for compatibility with Mac OS. - Zsh became the default shell, which results in an empty value for ECHO_N and empty Fortran dependency files. It looks like printf '%s' is more portable.
  3. Enable maintainer mode by default. - not really needed but just shows that it doesn't matter for ICON whether the maintainer mode is disabled by default. The requirement is that it can be disabled.
  4. Allow for the manual generation of 'test/package.m4' when '--disable-maintainer-mode'. - not really needed for ICON, just uses the variable in a more Automake-like way.
  5. Add 'test/testsuite' to the repo to allow for 'make check' when '--disable-maintainer-mode'. - ICON runs make check for all bundled packages. I can introduce an exception for PPM if having this file in the repo is a problem. A better option than merging this into the master branch would probably be adding this file to the release branches as it's done for other automatically generated Autoconf files.
  6. Fix 'make clean' and 'make distclean'. - just a fix, hopefully, no objections here?
  7. Unify silencing for the Fortran dependency generation rules. - not really needed, just some cosmetic changes for the output.
  8. Update '.gitignore'. - removes annoying modified: externals/ppm (untracked content) for the ICON users.
  9. Get rid of 'rm: conftest.dSYM: is a directory when configuring on MacOS. - removes annoying messages when building on MacOs.
  10. Enable building with 'gfortran -std=f2008'. - enables building with a compiler flag used in ICON.
  11. Do not search for alternative LIBM when configuring with 'PLATFORM_OPT_LIBM='. - paranoic attempt to make sure that a dirty build environment does not influence the building of ICON: the configure script of PPM is run with an additional argument PLATFORM_OPT_LIBM=.
  12. Add configure option to enable/disable OpenMP support. - finds the required compiler flags and builds with OpenMP support when --enable-openmp. Also, makes sure that OpenMP support is disabled when --disable-openmp.

Feel free to remove this branch once the merge is done.

@jahns

Merge request reports