diff options
author | John Ericson <git@JohnEricson.me> | 2019-10-07 23:06:26 -0400 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2019-10-12 06:32:18 -0400 |
commit | c2290596f10ce732be85503d3ef0f0b50b7e925a (patch) | |
tree | 7206d141fd205c0c6fe6a0d54eb30f1171b23f06 /mk | |
parent | 166e1c2adf73b69bfbbec81e98a78814a031ddc7 (diff) | |
download | haskell-c2290596f10ce732be85503d3ef0f0b50b7e925a.tar.gz |
Simplify Configure in a few ways
- No need to distinguish between gcc-llvm and clang. First of all,
gcc-llvm is quite old and surely unmaintained by now. Second of all,
none of the code actually care about that distinction!
Now, it does make sense to consider C multiple frontends for LLVMs in
the form of clang vs clang-cl (same clang, yes, but tweaked
interface). But this is better handled in terms of "gccish vs
mvscish" and "is LLVM", yielding 4 combinations. Therefore, I don't
think it is useful saving the existing code for that.
- Get the remaining CC_LLVM_BACKEND, and also TABLES_NEXT_TO_CODE in
mk/config.h the normal way, rather than hacking it post-hoc. No point
keeping these special cases around for now reason.
- Get rid of hand-rolled `die` function and just use `AC_MSG_ERROR`.
- Abstract check + flag override for unregisterised and tables next to
code.
Oh, and as part of the above I also renamed/combined some variables
where it felt appropriate.
- GccIsClang -> CcLlvmBackend. This is for `AC_SUBST`, like the other
Camal case ones. It was never about gcc-llvm, or Apple's renamed clang,
to be clear.
- llvm_CC_FLAVOR -> CC_LLVM_BACKEND. This is for `AC_DEFINE`, like the
other all-caps snake case ones. llvm_CC_FLAVOR was just silly
indirection *and* an odd name to boot.
Diffstat (limited to 'mk')
-rw-r--r-- | mk/config.mk.in | 4 | ||||
-rw-r--r-- | mk/project.mk.in | 4 | ||||
-rw-r--r-- | mk/warnings.mk | 2 |
3 files changed, 4 insertions, 6 deletions
diff --git a/mk/config.mk.in b/mk/config.mk.in index a946b17bf9..8bbfde2e26 100644 --- a/mk/config.mk.in +++ b/mk/config.mk.in @@ -527,7 +527,9 @@ GccVersion = @GccVersion@ # the necessary format to pass to libffi's configure. TargetPlatformFull = @TargetPlatformFull@ GccLT46 = @GccLT46@ -GccIsClang = @GccIsClang@ + +# Do we have a C compiler using an LLVM back end? +CcLlvmBackend = @CcLlvmBackend@ CC = @CC@ CC_STAGE0 = @CC_STAGE0@ diff --git a/mk/project.mk.in b/mk/project.mk.in index 5cc2e4aeb1..9ee2eab59f 100644 --- a/mk/project.mk.in +++ b/mk/project.mk.in @@ -153,10 +153,6 @@ endif # linker or not? SOLARIS_BROKEN_SHLD=@SOLARIS_BROKEN_SHLD@ -# Do we have a C compiler using an LLVM back end? -CC_LLVM_BACKEND = @CC_LLVM_BACKEND@ -CC_CLANG_BACKEND = @CC_CLANG_BACKEND@ - # Is the stage0 compiler affected by Bug #9439? GHC_LLVM_AFFECTED_BY_9439 = @GHC_LLVM_AFFECTED_BY_9439@ diff --git a/mk/warnings.mk b/mk/warnings.mk index 323ea75898..cee408d061 100644 --- a/mk/warnings.mk +++ b/mk/warnings.mk @@ -17,7 +17,7 @@ GhcRtsHcOpts += -Wcpp-undef GhcStage1HcOpts += -Wcpp-undef GhcStage2HcOpts += -Wcpp-undef -ifneq "$(GccIsClang)" "YES" +ifneq "$(CcLlvmBackend)" "YES" # Debian doesn't turn -Werror=unused-but-set-variable on by default, so # we turn it on explicitly for consistency with other users |