Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

remove legacy cfortran.h build, change valgrind use #120

Merged
merged 30 commits into from
Feb 12, 2019

Conversation

edhartnett
Copy link
Contributor

@edhartnett edhartnett commented Feb 12, 2019

Fixes #118
Fixes #115.
Fixes #114.
Fixes #85.

This PR removes the ability to build with an F77-only Fortran compiler. It does not remove the F77 API, which remains fully supported and working fine. ;-)

The current build has the capability to build the netCDF F77 API (only) with a F77-only compiler. But by default, it builds both the F90 and F77 APIs, using a modern fortran compiler which can handle both.

When I first put the autotools build together, we took the perhaps too-cautious decision to preserve the ability to build with F77-only compilers, even though F2003 compilers were widespread at that time.

Now the only f77-only compiler that is still around is g77, and it is in maintenance mode. So it is very safe to remove this capability from the build. (I probably never should even have supported it.)

The F77-only build was based on a giant header file called cfortran.h, which, depending on the specific compiler, did various macro magic to allow C and Fortran to communicate. Debugging cfortran.h problems was a nightmare, but fortunately, in practice F77 compilers only used a fraction of the goop in cfortran.h, and it all worked.

Removing the cfortran.h build clears out a lot of complexity from the build system.

This PR includes my other outstanding PR #116.

@edhartnett
Copy link
Contributor Author

BTW I have built up my CI for netcdf-fortran. I'm not testing agains 4.6.0, 4.6.1, 4.6.2, and a recent 4.6.3-development versions of netcdf-c, for standard and parallel I/O autotools builds, as well as a few variants. Also I am now doing some cmake builds...

@WardF
Copy link
Member

WardF commented Feb 12, 2019

@DennisHeimbigner Thoughts on this?

@WardF WardF self-assigned this Feb 12, 2019
@WardF WardF modified the milestones: Future, 4.5.0 Feb 12, 2019
@WardF WardF merged commit 8924b2d into Unidata:master Feb 12, 2019
@edhartnett edhartnett deleted the ejh_build_2 branch March 16, 2019 14:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants