Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
65565f8
Conditionalize the ghc-internal dependency on the ghc version.
angerman Sep 5, 2025
e819c29
ghc-pkg: Add support for mermaid diagram generation for markdown files
angerman Sep 5, 2025
c2b11c8
ghc-pkg: Add support for --target
angerman Sep 5, 2025
719d9f8
Improve error handling in 'getPackageArchives'
hasufell Sep 4, 2025
8ad4a4f
Allow Core plugins to access unoptimized Core (#23337)
hsyl20 Sep 4, 2025
854eb57
Testsuite: fix debug_rts detection
hsyl20 Sep 5, 2025
99a5c67
Print fully qualified unit names in name mismatch
hsyl20 Sep 5, 2025
8eee19a
T16180: indicate that the stack isn't executable
hsyl20 Sep 4, 2025
ab8a696
Fix some tests (statically linked GHC vs libc)
hsyl20 Sep 4, 2025
9a9d1be
Improve mach-o relocation information
angerman Aug 31, 2025
6bfbe41
test.mk expect GhcLeadingUnderscore, not LeadingUnderscore (in line w…
angerman Aug 31, 2025
8693955
testsuite: adapt to cabal update, and gate plugins-external by ghc_dy…
angerman Sep 2, 2025
1bf95f2
testsuite: T20010 isn't broken on linux/non-dynamic only. It's also b…
angerman Sep 2, 2025
551d61d
testsuite: T13786 does not appear broken on linux with non-dynamic.
angerman Sep 2, 2025
2922529
testsuite: Fix broken exec_signals_child.c
angerman Aug 31, 2025
3cda535
testsuite: clarify Windows/Darwin locale rationale for skipping T6037…
angerman Sep 1, 2025
221afe9
Skip broken tests on macOS (due to leading underscore not handled pro…
angerman Sep 1, 2025
cc3ee50
deriveConstant: support symbols in the .bss section (#26393)
hsyl20 Sep 9, 2025
6fea453
Add note about stage2
angerman Sep 9, 2025
23cbe12
compiler: add better 'could not execute: ' error messageShowing that …
angerman Sep 9, 2025
d6409b9
ghc-toolchain: add output-settings
angerman Sep 9, 2025
1a75f45
genprimopcode: add --wrappers/--prim-module
angerman Sep 9, 2025
88e0ffe
ghc-config: add more fields
angerman Sep 9, 2025
a7892a5
unlit: use rts prefix
angerman Sep 9, 2025
275a6ee
Add .envrc
angerman Sep 9, 2025
3d89dae
feat: Modularize RTS and extract headers/filesystem utilities
Aug 28, 2025
61b6fd2
cabal: use feature/cross-compile branch
angerman Sep 9, 2025
88f2660
libffi: drop
angerman Sep 9, 2025
1ac9a22
system-cxx-std-lib: use cxx instead of c
angerman Sep 9, 2025
4825c42
compiler: add -no-rts flag
angerman Sep 9, 2025
5c532fa
remove configure.ac to prevent merge conflicts when rebuilding it
angerman Sep 10, 2025
c537616
feat: Implement cabal-based multi-stage build system
hsyl20 Nov 15, 2024
1a458d8
rts: split into sub libraries
angerman Sep 9, 2025
2d7ef13
testsuite: rts split adjustments
angerman Sep 9, 2025
2073421
Ignore LLVM Version
angerman Sep 6, 2025
420b8e2
Link against rts sublib too
hasufell Sep 2, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .envrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Check if nix-direnv is already loaded; if not, source it
if ! has nix_direnv_reload; then
source_url "https://raw.githubusercontent.com/nix-community/nix-direnv/3.0.7/direnvrc" "sha256-bn8WANE5a91RusFmRI7kS751ApelG02nMcwRekC/qzc="
fi

# Use the specified flake to enter the Nix development environment
use flake github:input-output-hk/devx#ghc98-minimal-ghc
75 changes: 75 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
name: CI

# Trigger the workflow on push or pull request, but only for the master branch
on:
pull_request:
types:
- opened
- synchronize
push:
branches: [master]

workflow_dispatch:

jobs:
cabal:
name: ${{ matrix.plat }} / ghc ${{ matrix.ghc }}
runs-on: "${{ fromJSON('{\"x86_64-linux\": \"ubuntu-24.04\", \"aarch64-linux\": \"ubuntu-24.04-arm\", \"x86_64-darwin\": \"macos-latest\", \"aarch64-darwin\": \"macos-latest\"}')[matrix.plat] }}"

strategy:
fail-fast: false
matrix:
plat:
- x86_64-linux
# - aarch64-linux # disabled: waiting for devx images to be fixed
# - x86_64-darwin # disabled: waiting for devx images to be fixed
- aarch64-darwin
ghc: ['98'] # bootstrapping compiler

steps:
- uses: actions/checkout@v4
with:
submodules: "recursive"

- uses: input-output-hk/actions/devx@latest
with:
platform: ${{ matrix.plat }}
compiler-nix-name: 'ghc98'
minimal: true
ghc: true

- name: Update hackage
shell: devx {0}
run: cabal update

# The Makefile will run configure (and boot 😞), we also need to create a
# synthetic package before running configure. Once this nuissance is fixed
# we can do proper configure + make again. Until then... we have to live
# with the hack of running everything from the make target.
# - name: Configure the build
# shell: devx {0}
# run: ./configure

- name: Build the bindist
shell: devx {0}
run: make CABAL=$PWD/_build/stage0/bin/cabal

- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.plat }}-bindist
path: _build/bindist

- name: Run the testsuite
shell: devx {0}
run: make test CABAL=$PWD/_build/stage0/bin/cabal

- name: Upload test results
uses: actions/upload-artifact@v4
if: ${{ !cancelled() }} # upload test results even if the testsuite failed to pass
with:
name: ${{ matrix.plat }}-testsuite-results
path: |
_build/test-perf.csv
_build/test-summary.txt
_build/test-junit.xml
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -221,6 +221,9 @@ missing-win32-tarballs
VERSION
GIT_COMMIT_ID

/libraries/ghc-boot-th-next/.synth-stamp
/libraries/ghc-boot-th-next/ghc-boot-th-next.cabal.in

# -------------------------------------------------------------------------------------
# when using a docker image, one can mount the source code directory as the home folder
# -------------------------------------------------------------------------------------
Expand Down
7 changes: 2 additions & 5 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,9 @@
ignore = untracked
[submodule "libraries/Cabal"]
path = libraries/Cabal
url = https://gitlab.haskell.org/ghc/packages/Cabal.git
url = https://github.com/stable-haskell/Cabal.git
ignore = untracked
branch = stable-haskell/feature/cross-compile
[submodule "libraries/containers"]
path = libraries/containers
url = https://gitlab.haskell.org/ghc/packages/containers.git
Expand Down Expand Up @@ -99,10 +100,6 @@
path = utils/hsc2hs
url = https://gitlab.haskell.org/ghc/hsc2hs.git
ignore = untracked
[submodule "libffi-tarballs"]
path = libffi-tarballs
url = https://gitlab.haskell.org/ghc/libffi-tarballs.git
ignore = untracked
[submodule "gmp-tarballs"]
path = libraries/ghc-bignum/gmp/gmp-tarballs
url = https://gitlab.haskell.org/ghc/gmp-tarballs.git
Expand Down
Loading
Loading