On 12/10/17 12:27, Brian Callahan wrote:
Hi ports --

Attached is a new port, lang/flang. Flang is a Fortran compiler targeting LLVM.

Supposedly Flang is on its way to becoming part of LLVM, though there's no timetable for that.

Flang is divided into two ports, the driver and the runtime. The driver is a modified version of clang. I chose to only install the flang driver binary from the driver port. The CMake build system wants to install the entirety of the clang utils and libraries and headers, but that means having three copies of some things (1 in base, 1 from devel/llvm, 1 from flang), and that seemed crazy. We only need the flang driver binary anyway.

In order to link binaries with flang, you must remember to include -L${LOCALBASE}/lib -lflang when linking the binary.

I chose to use flang's built-in ompstubs library for OpenMP "support." And by "support" I mean that the ompstubs library is just stubbed out omp routines that do nothing but allow flang to build. According to upstream, !amd64 archs use the ompstubs library anyway. It would be nice to eventually move to real OpenMP support, but that can be for a later day.

Only tested on amd64 because I do not (yet) have an arm64 machine. Flang only supports those two platforms. I will add the needed arm64 bits once I have my arm64 machine. Flang successfully builds a bunch of F90/F95 programs I have and passes a significant chunk of the NIST F77 test suite.

OK?

~Brian


Ping. Tarball with latest version attached.

OK?

~Brian

Attachment: flang.tgz
Description: application/compressed-tar

Reply via email to