I can't think of...any program in that sphere that aren't Windows or Linux?
Per the parent, the lack of Fortran compiler causes an issue because some BLAS/LAPACK libraries align their symbols with whatever a Fortran compiler would do. As such, unless there's been a recent change, things like CMake need the compiler to determine the name for linear algebra routines.
I phrased the above as "sadly, yes" because supporting macos has been a pain and costs a fair amount of labor. In my case, Homebrew is required and there a bunch of specialized quirks in the build and packaging system that I'll contend are more difficult to deal with on macos than on Linux and Windows. Lastly, the requirement that macos be virtualized only on mac hardware complicates automating the build and test system since those processes must be relegated to a macos machine and I'd really rather not do primary development on a mac. Frankly, I'd pay Apple a not small amount of money to virtualize macos legally on non-mac hardware.
If they don't do that, then you can just use any "generic" C BLAS/LAPACK implementation, performance will be poor, but that's pretty much the only option if your hardware vendor doesn't support BLAS.
I guess people can write their own BLAS as well, but if you want to re-implement BLAS in 2020, then Fortran is probably not the best language to do that.
Doing this work is significantly easier out-of-the-box on Mac/Linux device.
Data Science is my main job and the first thing I did at my last job was ask if I could wipe windows and put Linux on the desktop they gave me.
How so? mingw-64 exists, and so does Intel Fortran (with good integration with the VS IDE as well).
It was like this in my previous department as well.
I just did a quick google search for it. I know nothing more than that it is FORTRAN compiler for LLVM. (It claims to be an alpha release)
It is quite hard to write portable Fortran code, but code that at least compiles with PGI should compile with that as well.
I find the whole Fortran ecosystem and lineage fascinating for some reason. Like an alternative universe where integers are only used for loop counters.
Btw, here's the list turned up by a dependent search in core:
$ brew uses --recursive gcc
abyss dynare itk numpy qrupdate
adios2 eccodes itpp numpy@1.16 r
apache-arrow ensmallen jags nwchem ratfor
apache-arrow-glib fastme joplin octave rawtoaces
arcade-learning-environment fftw json-fortran ola raxml-ng
armadillo field3d kahip ompl reprepro
arpack flann kallisto open-mpi root
arss fobis kim-api openblas scalapack
astrometry-net gdal lammps opencoarrays scipy
asymptote gdcm lapack opencv shogun
aubio gmic libbi opencv@2 simple-tiles
augustus gmsh libmatio opencv@3 siril
biosig gmt libxc openfast skymaker
boost-mpi gmt@5 liquid-dsp openkim-models sratoolkit
bsponmpi gnuradio luaradio osi suite-sparse
caffe gr-osmosdr mapnik osm2pgrouting sundials
calceph grace mapserver otf2 superlu
cdo graph-tool minimodem packmol synfig
ceres-solver gromacs mlpack pcl urh
cgns gwyddion mpdviz pdal veclibfort
clp hackrf mpi4py petsc vips
coinutils hdf5 mpich petsc-complex virtualpg
cp2k hdf5-mpi mvtools pgplot visp
cpl hdf5@1.10 ncmpcpp pgrouting vtk
csound hdf5@1.8 nco plplot waon
dartsim hypre ncview pnetcdf wxpython
datetime-fortran imake nest points2grid zita-convolver
dlib imgproxy netcdf postgis
dungeon inspectrum networkit proteinortho
dvc ipopt ngspice qd
147 formulae.Edit: Forgot to --include-build. That would add 4:
boost-python3 btfs libtorrent-rasterbar openimageio
libtorrent-rasterbar made front page today btw...You don't need to implement neither hardware support nor OS support, just combine the two things that are already implemented, and fix a couple of incompatibilities, but not many (some parts of OS support will be x86 only and these would need fixing, but fixing these should be trivial since you can c&p from the arm+iOS code).
Why would it take months to add support for this to GCC? GCC's architecture would need to be really flawed for this to be true, i.e. , requiring you to re-implement a big chunk of hardware support for each OS, or full OS support for each new hardware. Given how many architectures and OSes GCC supports I just can't imagine this being true.
Unless by this work taking months, you mean "not doing anything the first 99% of the days, and doing all the work in the last couple of days". In that case, sure, this can take as long as you want.
If anything, they could have just low-key embrace brew and take it from there. They didn't, and I think that sends a message: they've given up.
They should support open source in an official way. They should support other languages besides swift. They should support virtualization/containers. They should embrace techies, scientists and engineers. But it seems they're closing down these areas of their ecosystem.
All I need is working golang and Python 3. The rest I can do on a box in AWS.