1. 26 Dec, 2019 1 commit
  2. 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
  3. 24 Nov, 2019 1 commit
  4. 23 Nov, 2019 1 commit
  5. 17 Nov, 2019 1 commit
  6. 15 Nov, 2019 1 commit
  7. 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
  8. 06 Nov, 2019 2 commits
  9. 30 Oct, 2019 1 commit
  10. 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
  11. 20 Oct, 2019 1 commit
  12. 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.
      
       - GccIsCla...
      c2290596
  13. 07 Oct, 2019 5 commits
  14. 28 Sep, 2019 1 commit
  15. 23 Sep, 2019 1 commit
  16. 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
  17. 30 Aug, 2019 1 commit
  18. 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
  19. 10 Aug, 2019 1 commit
    • Joachim Breitner's avatar
      Consolidate `TablesNextToCode` and `GhcUnreigsterised` in configure (#15548) · 81860281
      Joachim Breitner authored
      `TablesNextToCode` is now a substituted by configure, where it has the
      correct defaults and error handling. Nowhere else needs to duplicate
      that, though we may want the compiler to to guard against bogus settings
      files.
      
      I renamed it from `GhcEnableTablesNextToCode` to `TablesNextToCode` to:
      
       - Help me guard against any unfixed usages
      
       - Remove any lingering connotation that this flag needs to be combined
         with `GhcUnreigsterised`.
      
      Original reviewers:
      
      Original subscribers: TerrorJack, rwbarton, carter
      
      Original Differential Revision: https://phabricator.haskell.org/D5082
      81860281
  20. 27 Jun, 2019 1 commit
  21. 24 Jun, 2019 1 commit
    • Erik de Castro Lopo's avatar
      Fixes for LLVM 7 · 71aca77c
      Erik de Castro Lopo authored
      LLVM version numberinf changed recently. Previously, releases were numbered
      4.0, 5.0 and 6.0 but with version 7, they dropped the redundant ".0".
      
      Fix requires for Llvm detection and some code.
      71aca77c
  22. 01 May, 2019 1 commit
  23. 23 Apr, 2019 1 commit
  24. 12 Apr, 2019 1 commit
  25. 01 Apr, 2019 1 commit
  26. 25 Mar, 2019 1 commit
    • Takenobu Tani's avatar
      Update Wiki URLs to point to GitLab · 3769e3a8
      Takenobu Tani authored
      This moves all URL references to Trac Wiki to their corresponding
      GitLab counterparts.
      
      This substitution is classified as follows:
      
      1. Automated substitution using sed with Ben's mapping rule [1]
          Old: ghc.haskell.org/trac/ghc/wiki/XxxYyy...
          New: gitlab.haskell.org/ghc/ghc/wikis/xxx-yyy...
      
      2. Manual substitution for URLs containing `#` index
          Old: ghc.haskell.org/trac/ghc/wiki/XxxYyy...#Zzz
          New: gitlab.haskell.org/ghc/ghc/wikis/xxx-yyy...#zzz
      
      3. Manual substitution for strings starting with `Commentary`
          Old: Commentary/XxxYyy...
          New: commentary/xxx-yyy...
      
      See also !539
      
      [1]: https://gitlab.haskell.org/bgamari/gitlab-migration/blob/master/wiki-mapping.json
      3769e3a8
  27. 15 Mar, 2019 1 commit
  28. 06 Mar, 2019 1 commit
    • Ben Gamari's avatar
      Rip out object splitting · 37f257af
      Ben Gamari authored
      The splitter is an evil Perl script that processes assembler code.
      Its job can be done better by the linker's --gc-sections flag. GHC
      passes this flag to the linker whenever -split-sections is passed on
      the command line.
      
      This is based on @DemiMarie's D2768.
      
      Fixes Trac #11315
      Fixes Trac #9832
      Fixes Trac #8964
      Fixes Trac #8685
      Fixes Trac #8629
      37f257af
  29. 04 Mar, 2019 1 commit
  30. 28 Feb, 2019 1 commit
    • Moritz Angermann's avatar
      Cleanup iserv/iserv-proxy · f838809f
      Moritz Angermann authored
      This adds trace messages that include the processes name and as such
      make debugging and following the communication easier.
      
      It also adds a note regarding the fwd*Call proxy-communication logic
      between the proxy and the slave.
      
      The proxy will now also poll for 60s to wait for the remote iserv
      to come up. (Alternatively you can start the remote process
      beforehand; and just have iserv-proxy connect to it)
      f838809f
  31. 20 Feb, 2019 1 commit
    • Ryan Scott's avatar
      Bump ghc version to 8.9 · aa79f65c
      Ryan Scott authored
      Along the way, I discovered that `template-haskell.cabal` was
      hard-coding the GHC version (in the form of its `ghc-boot-th` version
      bounds), so I decided to make life a little simpler in the future by
      generating `template-haskell.cabal` with autoconf.
      aa79f65c
  32. 13 Feb, 2019 1 commit
  33. 01 Jan, 2019 2 commits
  34. 18 Dec, 2018 1 commit