Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
ca89eeb
Conditionalize the ghc-internal dependency on the ghc version.
angerman Sep 5, 2025
d0cf53c
compiler: allow building with boot compiler that doesn't have ghc-int…
angerman Sep 5, 2025
79837a0
ghc-pkg: Add support for mermaid diagram generation for markdown files
angerman Sep 5, 2025
5ef0807
ghc-pkg: Add support for --target
angerman Sep 5, 2025
54ee798
Improve error handling in 'getPackageArchives'
hasufell Sep 4, 2025
8587c39
Allow Core plugins to access unoptimized Core (#23337)
hsyl20 Sep 4, 2025
7a2f0f0
Testsuite: fix debug_rts detection
hsyl20 Sep 5, 2025
6b198c8
Print fully qualified unit names in name mismatch
hsyl20 Sep 5, 2025
a1d22b7
T16180: indicate that the stack isn't executable
hsyl20 Sep 4, 2025
fbe5da6
Fix some tests (statically linked GHC vs libc)
hsyl20 Sep 4, 2025
727bbf8
Improve mach-o relocation information
angerman Aug 31, 2025
a481c33
test.mk expect GhcLeadingUnderscore, not LeadingUnderscore (in line w…
angerman Aug 31, 2025
4b3a0fd
testsuite: adapt to cabal update, and gate plugins-external by ghc_dy…
angerman Sep 2, 2025
f459c5e
testsuite: T20010 isn't broken on linux/non-dynamic only. It's also b…
angerman Sep 2, 2025
9b4ea7c
testsuite: T13786 does not appear broken on linux with non-dynamic.
angerman Sep 2, 2025
9fb0381
testsuite: Fix broken exec_signals_child.c
angerman Aug 31, 2025
0dbcdb7
testsuite: clarify Windows/Darwin locale rationale for skipping T6037…
angerman Sep 1, 2025
dabe02c
Skip broken tests on macOS (due to leading underscore not handled pro…
angerman Sep 1, 2025
cbae7c1
deriveConstant: support symbols in the .bss section (#26393)
hsyl20 Sep 9, 2025
50179a3
Add note about stage2
angerman Sep 9, 2025
0e84f9c
compiler: add better 'could not execute: ' error messageShowing that …
angerman Sep 9, 2025
7cc1ef3
ghc-toolchain: add output-settings
angerman Sep 9, 2025
02df5c0
genprimopcode: add --wrappers/--prim-module
angerman Sep 9, 2025
646ae4f
ghc-config: add more fields
angerman Sep 9, 2025
68f5270
unlit: use rts prefix
angerman Sep 9, 2025
618b520
Add .envrc
angerman Sep 9, 2025
6d91dbf
feat: Modularize RTS and extract headers/filesystem utilities
Aug 28, 2025
e79a520
cabal: use feature/cross-compile branch
angerman Sep 9, 2025
cbd6c25
libffi: drop
angerman Sep 9, 2025
2de39ce
system-cxx-std-lib: use cxx instead of c
angerman Sep 9, 2025
69f7763
compiler: add -no-rts flag
angerman Sep 9, 2025
4210f81
remove configure.ac to prevent merge conflicts when rebuilding it
angerman Sep 10, 2025
cf7940f
feat: Implement cabal-based multi-stage build system
hsyl20 Nov 15, 2024
57c6ae1
rts: split into sub libraries
angerman Sep 9, 2025
b9cb686
testsuite: rts split adjustments
angerman Sep 9, 2025
4c52fd1
Ignore LLVM Version
angerman Sep 6, 2025
f05155d
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-internal/gmp/gmp-tarballs
url = https://gitlab.haskell.org/ghc/gmp-tarballs.git
Expand Down
Loading
Loading