You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
ENH: About the "hard coded" options in IntelVisualFCompiler of Numpy's distutils #21484
I just found that the compiler options are written in the getflags function in each of the fortran compiler classes.
As a moderate approach to specify such a "hard coded" flags for each of compiler, it looks reasonable to force lowercase naming with underscore postfix in consistent with the GNU compiler's default condition.
So, the Intel fortran class of IntelVisualFCompiler has /nologo, /MD, /nbs, /names:lowercase, and /assume:underscore flags by default.
However, this will lead a trouble, whenever you attempt to generate a f2py python class out of the established source codes, particularly including C subroutines, where they are supposed to be built on the standard options of uppercase (without underscore) naming convention.
Actually, I solved such a matter by my own brute force modification for numpy/distutils/fcompiler/intel.py to remove those options.
So, would you make it plain by default without /names:lowercase, and /assume:underscore, and to enable
any user defined configuration for the distutils or f2py projects?
Neither setting F77, F90, FFLAGS, F77FLAGS, F90FLAGS nor FOPT doesn't work, as I tried according to the advice.
They never override the default setting; f2py is tested on windows 10, python 3.9.7 (intelpython) and numpy 1.21.2.
Is there any other spell which I missed, or any misunderstanding of mine?
Activity
mattip commentedon May 10, 2022
If things are working as expected, you should be able to override these defaults by setting environment variables.
dongkeun-oh commentedon May 11, 2022
Neither setting F77, F90, FFLAGS, F77FLAGS, F90FLAGS nor FOPT doesn't work, as I tried according to the advice.
They never override the default setting; f2py is tested on windows 10, python 3.9.7 (intelpython) and numpy 1.21.2.
Is there any other spell which I missed, or any misunderstanding of mine?
HaoZeke commentedon May 18, 2022
Updating
distutilsat this stage might not be a good idea (it is EOL), but documenting existing "forced" options would be welcome.Additionally, the Intel Fortran toolchain itself has been rehauled into
ifx(the LLVM set) so this might not be a good thing to patch now.HaoZeke commentedon May 20, 2022
The fix here would be checking the environment variables, if any of them are set, the defaults will not be applied.
Also the documentation can be clearer on our defaults.