1. 01 Apr, 2020 1 commit
  2. 14 Feb, 2020 1 commit
  3. 07 Jan, 2020 1 commit
  4. 04 Jan, 2020 1 commit
  5. 06 Nov, 2019 1 commit
  6. 30 Oct, 2019 1 commit
  7. 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
  8. 14 Jul, 2019 1 commit
    • Ben Gamari's avatar
      Don't package settings in bindist · f508b7ce
      Ben Gamari authored
      Since !712 the `settings` file is produced by the build system instead
      of autoconf. However, this introduced a subtle bug where we would fail
      to rebuild the `settings` file with what we have learned from the
      install-time `configure` invocation. Fix this by not packaging
      `settings` in the bindist tarball. The build system will take care of
      the rest.
      
      Also fix a bug where the value of `UseLibdw` was not being persisted to
      the install time `configure`.
      f508b7ce
  9. 21 May, 2019 1 commit
  10. 01 May, 2019 1 commit
  11. 11 Apr, 2019 1 commit
  12. 01 Apr, 2019 1 commit
  13. 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
  14. 15 Mar, 2019 1 commit
  15. 09 Mar, 2019 1 commit
    • Ben Gamari's avatar
      Rip out perl dependency · b760269c
      Ben Gamari authored
      The object splitter was the last major user of perl. There remain a few
      uses in nofib but we can just rely on the system's perl for this since
      it's not critical to the build.
      b760269c
  16. 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
  17. 13 Feb, 2019 1 commit
  18. 23 Nov, 2018 1 commit
  19. 03 Oct, 2018 1 commit
  20. 19 Mar, 2018 1 commit
  21. 15 Jan, 2018 1 commit
    • John Ericson's avatar
      configure: Various cleanups · 8de89305
      John Ericson authored
      Substitute RanlibCmd for consistency, and other configure cleanups that
      should have no effect
      
      The other commands are so substituted. Maybe we don't need ranlib at
      all, and the configure snippet can be removed all together, but that
      can always be done later.
      
      Reviewers: bgamari, hvr, angerman
      
      Reviewed By: bgamari, angerman
      
      Subscribers: rwbarton, thomie, erikd, carter
      
      Differential Revision: https://phabricator.haskell.org/D4286
      8de89305
  22. 26 Sep, 2017 1 commit
    • Ben Gamari's avatar
      configure: Don't hard-code strip tool · 65f7d87a
      Ben Gamari authored
      For reasons that I don't entirely understand we didn't previously detect
      `strip` using autoconf. This naturally broke during cross-compilation.
      How did this ever work? I have no idea.
      
      Test Plan: Try cross-compiling
      
      Reviewers: austin, hvr, angerman
      
      Subscribers: rwbarton, thomie, erikd
      
      Differential Revision: https://phabricator.haskell.org/D4008
      65f7d87a
  23. 05 Sep, 2017 1 commit
  24. 23 Jul, 2017 2 commits
    • Ben Gamari's avatar
      Preserve HaskellHaveRTSLinker in bindist · 0ae0f466
      Ben Gamari authored
      Otherwise you end up with ("target has RTS linker","@HaskellHaveRTSLinker@") in
      the installed settings file.
      0ae0f466
    • Ben Gamari's avatar
      distrib/configure: Carry FFI include/lib paths from source distribution · 98ab12ad
      Ben Gamari authored
      `FFILibDir` and `FFIIncludeDir` both show up in the `rts` library's
      package registration file.  We therefore must define them or else we'll
      end up with spurious `@FFILibDir@` strings in the package registration.
      
      In principle I think we could also take these as arguments to the
      bindist configure but this seems simpler and I don't want to verify this
      at the moment.
      
      Test Plan: Build bindist while passing `--with-ffi-libraries=...` to
      source distribution configure then try to install and use bindist.
      
      Reviewers: austin, hvr
      
      Subscribers: rwbarton, thomie, erikd
      
      Differential Revision: https://phabricator.haskell.org/D3774
      98ab12ad
  25. 20 Jul, 2017 1 commit
  26. 12 Jul, 2017 1 commit
    • Ben Gamari's avatar
      distrib/configure: Fail if we can't detect machine's word size · 60ec8f74
      Ben Gamari authored
      This is a sure sign that something is terribly wrong.
      
      We also now verify that the word size that the binary distribution
      expects matches the word size produced by the local target toolchain.
      
      Finally we rename WordSize to TargetWordSize, since non-host/target
      qualified quantities are terribly confusing.
      
      Reviewers: austin, hvr, Phyx
      
      Reviewed By: Phyx
      
      Subscribers: Phyx, rwbarton, thomie, erikd
      
      Differential Revision: https://phabricator.haskell.org/D3711
      60ec8f74
  27. 05 Jul, 2017 1 commit
  28. 03 Jul, 2017 1 commit
    • Ben Gamari's avatar
      Add -fuse-ld flag to CFLAGS during configure · 960918bd
      Ben Gamari authored
      The decisions made by configure later in the script may depend upon the
      linker used. Consequently, it is important that configure uses the same
      linker as GHC will eventually use.
      
      For instance, on Nix I found that a program requiring `libpthread` would
      link fine with only `-lrt` when linked with BFD ld. However, with gold
      we needed to explicitly provide the `-lpthread` dependency. Presumably
      the former would happily loaded any `NEEDED` libraries whereas the
      latter wants them explicitly given. Regardless, since `configure`'s
      `NEED_PTHREAD_LIB` check didn't use the `-fuse-ld` flag that GHC would
      eventually use, we inferred the wrong value, resulting in link errors
      later in the build.
      
      Test Plan: Validate
      
      Reviewers: austin, hvr
      
      Subscribers: rwbarton, thomie, erikd
      
      GHC Trac Issues: #13541
      
      Differential Revision: https://phabricator.haskell.org/D3694
      960918bd
  29. 29 Jun, 2017 1 commit
    • Ben Gamari's avatar
      configure: Coerce gcc to use $LD instead of system default · 625143f4
      Ben Gamari authored
      The configure script will now try to coerce gcc to use the linker
      pointed to by $LD instead of the system default (typically bfd ld).
      Moreover, we now check for `ld.gold` and `ld.lld` before trying `ld`.
      
      The previous behavior can be reverted to by using the new
      --disable-ld-override flag.
      
      On my machine gold seems to trigger an apparent infelicity in
      constructor behavior, causing T5435_asm to fail. I've opened #13883 to
      record this issue and have accepted the questionable constructor
      ordering for the time being.
      
      Test Plan: Validate with `config_args='--enable-ld-override'`
      
      Reviewers: austin, hvr, simonmar
      
      Subscribers: duog, nh2, rwbarton, thomie, erikd, snowleopard
      
      GHC Trac Issues: #13541, #13810, #13883
      
      Differential Revision: https://phabricator.haskell.org/D3449
      625143f4
  30. 11 May, 2017 1 commit
    • Moritz Angermann's avatar
      Do not hardcode the specific linker to use · 5ddb307e
      Moritz Angermann authored
      This should be handled appropriately by a wrapper script around the compiler,
      if one wants to insist on the specific linker to be used.  Otherwise this
      breaks if the used compiler fails to understand this directive.
      
      I believe that using a specific linker should be part of the compilers
      toolchain, we delegate to and not hardcoded here in ghc.
      
      Reviewers: dfeuer, erikd, hvr, austin, rwbarton, bgamari
      
      Reviewed By: bgamari
      
      Subscribers: snowleopard, davean, dfeuer, thomie, erikd
      
      Differential Revision: https://phabricator.haskell.org/D3351
      5ddb307e
  31. 25 Apr, 2017 1 commit
  32. 11 Nov, 2016 2 commits
    • Ben Gamari's avatar
      Pass -no-pie to GCC · d421a7e2
      Ben Gamari authored
      Certain distributions (e.g. Debian and Ubuntu) have enabled PIE be
      default in their GCC packaging. This breaks our abuse of GCC as a linker
      which requires that we pass -Wl,-r, which is incompatible with
      PIE (since the former implies that we are generating a relocatable
      object file and the latter an executable).
      
      This is a second attempt at D2691. This attempt constrasts with D2691 in that
      it preserves the "does gcc support -no-pie" flag in settings, allowing this to
      be reconfigured by `configure` during installation of a binary distribution.
      Thanks for @rwbarton for drawing attention to this issue.
      
      Test Plan: Validate
      
      Reviewers: austin, hvr, erikd
      
      Reviewed By: erikd
      
      Subscribers: thomie, rwbarton, erikd
      
      Differential Revision: https://phabricator.haskell.org/D2693
      
      GHC Trac Issues: #12759
      d421a7e2
    • Ben Gamari's avatar
      Revert "Pass -no-pie to GCC" · 60bb9d1c
      Ben Gamari authored
      This reverts commit bae4a55b.
      
      This will be superceded by D2693.
      60bb9d1c
  33. 10 Nov, 2016 1 commit
    • Ben Gamari's avatar
      Pass -no-pie to GCC · bae4a55b
      Ben Gamari authored
      Certain distributions (e.g. Debian and Ubuntu) have enabled PIE be
      default in their GCC packaging. This breaks our abuse of GCC as a linker
      which requires that we pass -Wl,-r, which is incompatible with
      PIE (since the former implies that we are generating a relocatable
      object file and the latter an executable).
      
      Test Plan: Validate
      
      Reviewers: hvr, austin
      
      Subscribers: rwbarton, thomie, erikd
      
      Differential Revision: https://phabricator.haskell.org/D2691
      
      GHC Trac Issues: #12759
      bae4a55b
  34. 05 Sep, 2016 1 commit
    • Ben Gamari's avatar
      distrib: Fix libdw bindist check · 05b497ec
      Ben Gamari authored
      As reported in #12555 this code was terribly broken. Sadly, Autoconf was
      none-the-wiser. Thanks to @rwbarton for pointing this out.
      
      Test Plan: Test with libdw version newer and older and 0.158
      
      Reviewers: hvr, austin, rwbarton
      
      Reviewed By: rwbarton
      
      Subscribers: thomie, rwbarton, erikd
      
      Differential Revision: https://phabricator.haskell.org/D2510
      
      GHC Trac Issues: #12555
      05b497ec
  35. 14 Jun, 2016 1 commit
  36. 31 May, 2016 1 commit
  37. 16 Apr, 2016 1 commit
    • Herbert Valerio Riedel's avatar
      Rework CC/CC_STAGE0 handling in `configure.ac` · 865602e0
      Herbert Valerio Riedel authored
      Rather than using the non-standard/idiomatic `--with-{gcc,clang}=...`
      scheme use the `CC=...` style scheme.
      
      The basic idea is to have Autoconf's CC/CFLAG/CPPFLAG apply to
      stage{1,2,3}, while having a separate _STAGE0 set of env-vars
      denote the bootstrap-toolchain flags/programs.
      
      This should be simpler, less confusing, and somewhat more in line with
      Autoconf's idioms (allowing us to reuse more of Autoconf rather than
      (re)inventing our own confusing non-standard m4 macros to do stuff that
      Autoconf could almost do already for us)
      
      Morever, expose CC_STAGE0 as a so-called "precious" variable.
      
      So now we can better control which bootstrapping gcc is used
      (by default the one used by the stage0 ghc, unless CC_STAGE0 is
      overriden)
      
      ```
      Some influential environment variables:
        CC_STAGE0   C compiler command (bootstrap)
        CC          C compiler command
        CFLAGS      C compiler flags
        ...
      
      Use these variables to override the choices made by `configure' or to
      help it to find libraries and programs with nonstandard names/locations.
      ```
      
      Test Plan: I've tested that cross-compiling with
      `--target=powerpc-linux-gnu` still works, and tried a few variants of
      settting `CC=` and `CC_STAGE0=`; `./validate` passed as well
      
      Reviewers: erikd, austin, bgamari, simonmar
      
      Reviewed By: simonmar
      
      Subscribers: Phyx, thomie
      
      Differential Revision: https://phabricator.haskell.org/D2078
      865602e0
  38. 15 Apr, 2016 1 commit