1. 01 Apr, 2020 1 commit
  2. 31 Mar, 2020 1 commit
    • Ryan Scott's avatar
      Require GHC 8.8 as the minimum compiler for bootstrapping · 57b888c0
      Ryan Scott authored
      This allows us to remove several bits of CPP that are either always
      true or no longer reachable. As an added bonus, we no longer need to
      worry about importing `Control.Monad.Fail.fail` qualified to avoid
      clashing with `Control.Monad.fail`, since the latter is now the same
      as the former.
      57b888c0
  3. 17 Mar, 2020 1 commit
  4. 14 Mar, 2020 2 commits
  5. 02 Mar, 2020 1 commit
  6. 27 Feb, 2020 1 commit
  7. 26 Feb, 2020 1 commit
  8. 23 Feb, 2020 1 commit
  9. 14 Feb, 2020 2 commits
  10. 13 Jan, 2020 1 commit
  11. 07 Jan, 2020 2 commits
  12. 27 Dec, 2019 2 commits
  13. 26 Dec, 2019 2 commits
  14. 02 Dec, 2019 1 commit
    • Sergei Trofimovich's avatar
      configure.ac: make cross-compiler detection stricter · 4cbd5b47
      Sergei Trofimovich authored
      Be more precise at detecting cross-compilation case.
      
      Before the change configuration
        $ ./configure --host=x86_64-pc-linux-gnu --target=x86_64-gentoo-linux-musl
      was not considered a cross-target. Even though libcs are different (`glibc` vs. `musl`).
      
      Without this patch build fails as:
      
      ```
      "inplace/bin/ghc-cabal" check libraries/integer-gmp
      "inplace/bin/ghc-cabal" configure libraries/integer-gmp dist-install \
          --with-ghc="/home/slyfox/dev/git/ghc/inplace/bin/ghc-stage1" \
          --with-ghc-pkg="/home/slyfox/dev/git/ghc/inplace/bin/ghc-pkg" \
          --disable-library-for-ghci --enable-library-vanilla --enable-library-for-ghci \
          --enable-library-profiling --enable-shared --with-hscolour="/usr/bin/HsColour" \
          --configure-option=CFLAGS="-Wall \
          -Werror=unused-but-set-variable -Wno-error=inline \
          -iquote /home/slyfox/dev/git/ghc/libraries/integer-gmp" \
          --configure-option=LDFLAGS="  " --configure-option=CPPFLAGS="   \
          " --gcc-options="-Wall     -Werror=unused-but-set-variable -Wno-error=inline -iquote /home/slyfox/dev/git/ghc/libraries/integer-gmp   \
          " --with-gcc="x86_64-gentoo-linux-musl-gcc" --with-ld="x86_64-gentoo-linux-musl-ld.gold" --with-ar="x86_64-gentoo-linux-musl-ar" \
          --with-alex="/usr/bin/alex" --with-happy="/usr/bin/happy"
      Configuring integer-gmp-1.0.2.0...
      configure: WARNING: unrecognized options: --with-compiler
      checking build system type... x86_64-pc-linux-gnu
      checking host system type... x86_64-pc-linux-gnu
      checking target system type... x86_64-pc-linux-gnu
      checking for gcc... /usr/lib/ccache/bin/x86_64-gentoo-linux-musl-gcc
      checking whether the C compiler works... yes
      checking for C compiler default output file name... a.out
      checking for suffix of executables...
      checking whether we are cross compiling... configure: error: in `/home/slyfox/dev/git/ghc/libraries/integer-gmp/dist-install/build':
      configure: error: cannot run C compiled programs.
      If you meant to cross compile, use `--host'.
      See `config.log' for more details
      make[1]: *** [libraries/integer-gmp/ghc.mk:5: libraries/integer-gmp/dist-install/package-data.mk] Error 1
      make: *** [Makefile:126: all] Error 2
      ```
      
      Note: here `ghc-stage1` is assumed to target `musl` target but is passed
      `glibc` toolchain. It happens because initial ./configure phase did not
      detect host/target as different.
      Signed-off-by: default avatarSergei Trofimovich <slyfox@gentoo.org>
      4cbd5b47
  15. 24 Nov, 2019 1 commit
  16. 23 Nov, 2019 1 commit
  17. 17 Nov, 2019 1 commit
  18. 15 Nov, 2019 1 commit
  19. 07 Nov, 2019 1 commit
    • Takenobu Tani's avatar
      configure: Modify ERROR to WARN for sphinx's python check · a9566632
      Takenobu Tani authored
      If sphinx's python version check failed, many people prefer to build
      without documents instead of stopping on the error.
      
      So this commit fixes the following:
      
      * Modify AC_MSG_ERROR to AC_MSG_WARN
      * Add clearing of SPHINXBUILD variable when check fails
      
      See also !2016.
      a9566632
  20. 06 Nov, 2019 2 commits
    • Takenobu Tani's avatar
      configure: Add checking python3-sphinx · 97f9674b
      Takenobu Tani authored
      This checks the configuration about python3-sphinx.
      We need python3-sphinx instead of python2-sphinx to build documentation.
      
      The approach is as follows:
      * Check python3 version with custom `conf.py` invoked from
        sphinx-build` executable
      * Place custom `conf.py` into new `utils/check-sphinx` directory
      
      If sphinx is for python2 not python3, it's treated as config ERROR
      instead of WARN.
      
      See also #17346 and #17356.
      97f9674b
    • Ben Gamari's avatar
      ce9e2a1a
  21. 30 Oct, 2019 1 commit
  22. 22 Oct, 2019 1 commit
    • Stefan Schulze Frielinghaus's avatar
      Implement s390x LLVM backend. · fd8b666a
      Stefan Schulze Frielinghaus authored
      This patch adds support for the s390x architecture for the LLVM code
      generator. The patch includes a register mapping of STG registers onto
      s390x machine registers which enables a registerised build.
      fd8b666a
  23. 20 Oct, 2019 1 commit
  24. 12 Oct, 2019 1 commit
    • John Ericson's avatar
      Simplify Configure in a few ways · c2290596
      John Ericson authored
       - 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.
      c2290596
  25. 07 Oct, 2019 5 commits
  26. 28 Sep, 2019 1 commit
  27. 23 Sep, 2019 1 commit
  28. 05 Sep, 2019 1 commit
    • John Ericson's avatar
      Make sure all boolean settings entries use `YES` / `NO` · b55ee979
      John Ericson authored
      Some where using `True` / `False`, a legacy of when they were in
      `Config.hs`. See #16914 / d238d306 for a similar problem.
      
      Also clean up the configure variables names for consistency and clarity
      while we're at it. "Target" makes clear we are talking about outputted
      code, not where GHC itself runs.
      b55ee979
  29. 30 Aug, 2019 1 commit
  30. 23 Aug, 2019 1 commit
    • Sergei Trofimovich's avatar
      configure.ac: fix '--disable-dwarf-debug' · cff44d86
      Sergei Trofimovich authored
      Before the change
          ./configure --disable-dwarf-debug
      enabled DWARF debugging unconditionally.
      
      This happened due to use of 5-argument form of `AC_ARG_ENABLE`
      without actually checking the passed  `$enableval` parameter:
      
      ```
      AC_ARG_ENABLE(dwarf-unwind,
          [AC_HELP_STRING([--enable-dwarf-unwind],
              [Enable DWARF unwinding support in the runtime system via elfutils' libdw [default=no]])],
          [AC_CHECK_LIB(dw, dwfl_attach_state,
            [UseLibdw=YES],
            [AC_MSG_ERROR([Cannot find system libdw (required by --enable-dwarf-unwind)])])]
          [UseLibdw=NO]
      )
      ```
      
      Note:
      
      - `[UseLibdw=NO]` is called when `--{enable,disable}-dwarf-unwind`
        is not passed at all as a parameter (ok).
      - `[AC_CHECK_LIB(dw, dwfl_attach_state, [UseLibdw=YES],` is called
        for both:
      
        * `--enable-dwarf-unwind` being passed: `$enableval = "yes"` (ok).
        *  --disable-dwarf-unwind` being passed: `$enableval = "no"` (bad).
      
      The change is to use 3-argument `AC_ARG_ENABLE` and check for passed
      value as `"$enable_dwarf_unwind" = "yes"`.
      Signed-off-by: default avatarSergei Trofimovich <slyfox@gentoo.org>
      cff44d86