LLNL / sundials

Official development repository for SUNDIALS - a SUite of Nonlinear and DIfferential/ALgebraic equation Solvers. Pull requests are welcome for bug fixes and minor changes.
https://computing.llnl.gov/projects/sundials
BSD 3-Clause "New" or "Revised" License
503 stars 122 forks source link

Fortran interface in separate repository #301

Open Nicholaswogan opened 1 year ago

Nicholaswogan commented 1 year ago

It would be useful if the Fortran interface was in a separate repository or if it could be built without building the C part of sundials.

I have a package that I'm putting on conda-forge (https://github.com/conda-forge/staged-recipes/pull/23182#issuecomment-1629533181). It depends on sundials, but it requires the fortran interface. I can not link against the conda-forge sundials because it does not build the fortran interface. I need to instead, independent of conda-forge, build sundials with the fortran interface and link to my package.

Anyway, it would be useful to separate Sundials and the Fortran interface in some way.

balos1 commented 1 year ago

So what you want is to be able to build the Fortran interface by linking it to an existing installation of the C libraries?

Nicholaswogan commented 1 year ago

Yes. I want to build the fortran interface, then link to an installation of sundials.

Nicholaswogan commented 1 year ago

This could also be achieved with adjustments to the CMakelists.txt files

balos1 commented 1 year ago

I think adjustments to the CMake would be the way to go. I have marked this as a feature-request.

Nicholaswogan commented 1 year ago

The Sundials CMake system looks complicated. I would try to submit a pull request but I think I would end up doing it in a way that would be satisfactory. Should I try or should I leave this to Sundials team?

balos1 commented 1 year ago

The CMake system is indeed a bit complicated. You can attempt it if you would like, and a contribution in this regard would be appreciated. I cannot promise that someone from the sundials team will be able to implement this in the near future.