Skip to content
Snippets Groups Projects
  1. Dec 02, 2019
    • Sergei Trofimovich's avatar
      configure.ac: make cross-compiler detection stricter · 4cbd5b47
      Sergei Trofimovich authored and Marge Bot's avatar Marge Bot committed
      
      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
  2. Nov 24, 2019
  3. Nov 23, 2019
  4. Nov 17, 2019
  5. Nov 15, 2019
  6. Nov 07, 2019
  7. Nov 06, 2019
  8. Oct 30, 2019
  9. Oct 22, 2019
    • Stefan Schulze Frielinghaus's avatar
      Implement s390x LLVM backend. · fd8b666a
      Stefan Schulze Frielinghaus authored and Marge Bot's avatar Marge Bot committed
      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
  10. Oct 20, 2019
  11. Oct 12, 2019
    • John Ericson's avatar
      Simplify Configure in a few ways · c2290596
      John Ericson authored and Marge Bot's avatar Marge Bot committed
       - 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
  12. Oct 07, 2019
  13. Sep 28, 2019
  14. Sep 23, 2019
  15. Sep 05, 2019
  16. Aug 30, 2019
  17. Aug 23, 2019
    • Sergei Trofimovich's avatar
      configure.ac: fix '--disable-dwarf-debug' · cff44d86
      Sergei Trofimovich authored and Marge Bot's avatar Marge Bot committed
      
      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
  18. Aug 10, 2019
    • Joachim Breitner's avatar
      Consolidate `TablesNextToCode` and `GhcUnreigsterised` in configure (#15548) · 81860281
      Joachim Breitner authored and Marge Bot's avatar Marge Bot committed
      `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
  19. Jun 27, 2019
  20. Jun 24, 2019
    • Erik de Castro Lopo's avatar
      Fixes for LLVM 7 · 71aca77c
      Erik de Castro Lopo authored and Marge Bot's avatar Marge Bot committed
      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
  21. May 01, 2019
  22. Apr 23, 2019
  23. Apr 12, 2019
  24. Apr 01, 2019
  25. Mar 25, 2019
    • Takenobu Tani's avatar
      Update Wiki URLs to point to GitLab · 3769e3a8
      Takenobu Tani authored and Marge Bot's avatar Marge Bot committed
      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
  26. Mar 15, 2019
  27. Mar 06, 2019
    • Ben Gamari's avatar
      Rip out object splitting · 37f257af
      Ben Gamari authored and Marge Bot's avatar Marge Bot committed
      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
  28. Mar 04, 2019
  29. Feb 28, 2019
    • Moritz Angermann's avatar
      Cleanup iserv/iserv-proxy · f838809f
      Moritz Angermann authored and Marge Bot's avatar Marge Bot committed
      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
  30. Feb 20, 2019
    • Ryan Scott's avatar
      Bump ghc version to 8.9 · aa79f65c
      Ryan Scott authored and Marge Bot's avatar Marge Bot committed
      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
  31. Feb 13, 2019
  32. Jan 01, 2019
  33. Dec 18, 2018
  34. Dec 11, 2018
    • Ben Gamari's avatar
      configure: Don't use ln -v · 066d3989
      Ben Gamari authored and Ben Gamari's avatar Ben Gamari committed
      There's no reason why we need to print the linked files and apparently
      ln on OpenBSD doesn't support -v.
      
      Fixes #15946.
      
      Test Plan: Validate
      
      Reviewers: monoidal
      
      Reviewed By: monoidal
      
      Subscribers: rwbarton, erikd, carter
      
      GHC Trac Issues: #15946
      
      Differential Revision: https://phabricator.haskell.org/D5425
      066d3989
Loading