-
Notifications
You must be signed in to change notification settings - Fork 6.5k
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
[vcpkg-ci-fortran] New test port #42754
base: master
Are you sure you want to change the base?
Conversation
As expected (from octave CI logs): |
That is probably intentional since otherwise you cannot combine fortran and other languages object files into a single lib. At least if you use default gfortran in vcpkg |
This is what I assume...
... but I wonder if this is the right goal? This seems to clearly contradict the policy of "the triplet defines the (C/C++) compiler." It isn't allowed to change the compiler even for packages which more or less insist on clang(-cl) for windows. And with MinGW C/C++, the implications are even more tricky IMO. (AFAIU CMake promises some limited use of GFortran with MSVC in form of fortran libs being transformed to what is accepted by MSVC, but not to "combine fortran and other languages object files into a single lib".) |
historic reasons. The correct approach is displayed in #42129 and uses per port customization which avoids the rebuild of the whole tree via a conditional include and VCPKG_HASH_ADDITIONAL_FILES. However, that approach wasn't implementable in the past and would always require a whole rebuild of the tree if a single port required special behavior. As such the special behavior has been implemented into the portfile instead of the triplet to avoid a rebuild of the tree. Maybe it is time to remove the port special compiler behavior and move it into the triplet instead.
It has GNUtoMS which works not only for Fortran. However, I wouldn't spend too much time on it since there seems to be some historic decision in the team to switch to flang as soon as it becomes readily available from llvm. (and then the GNUtoMS hack is no longer necessary) |
WIP