It's the variable that indicates if MKPIE is requested and feasible on the
platform. In fact I originally wrote a condition mentioning
${_PKGSRC_MKPIE}, but it somehow got lost while I was refactoring the code.
Also the package is now more explicit about LLVM. It used to invoke whatever llc(1) and opt(1) found in the $PATH when -fllvm is passed to the compiler, though it's not the default backend. Now LLVM is an explicit, optional dependency on platforms where NCG backend is available, and a mandatory dependency on others.
Note that the LLVM backend tends to produce faster code but it runs significantly slower than NCG. AArch64 support of NCG is being worked on, but it hasn't been merged to the 9.0 branch yet (or even the master branch).
Our tool wrappers don't look into response files, so common mistakes
such as forgetting to declare dependencies have been overlooked by
our buildlink framework. With the change that will no longer happen.
Our binary packages have been broken because of bad "REQUIRES"
entries: GHC uses $ORIGIN in rpath but mk/pkgformat/pkg/metadata.mk
uses ldd(1) to extract the list of required .so objects, which causes
them to be wrongly expanded.
GHC has stopped requiring perl since 8.2.1 release. The last component
written in Perl was the evil splitter (-fsplit-objs), which has been
superseded by -fsplit-sections. Hooray!
Now that allocateExec() in rts/sm/Storage.c uses libffi to map executable
pages, we no longer have to disable these protections unless the RTS linker
is to be used.
GHC: The Glasgow Haskell Compiler.
The Glasgow Haskell Compiler is a robust, fully-featured, optimising
compiler for the functional programming language Haskell 98
(http://www.haskell.org). GHC compiles Haskell to either native code
or C. It implements numerous experimental language extensions to
Haskell, including concurrency, a foreign language interface, several
type-system extensions, exceptions, and so on. GHC comes with a
generational garbage collector, a space and time profiler, and a
comprehensive set of libraries.
This package provides the 9.0.x release series.