diff options
author | Ben Gamari <ben@smart-cactus.org> | 2021-07-12 17:26:47 -0400 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2021-07-27 04:47:51 -0400 |
commit | 2ce48fe9d1334dadf6fa1411238e52d65b66ba41 (patch) | |
tree | 1f48a9e2e2ae3350c3802875bef128327afdf593 /rts/rts.cabal.in | |
parent | 246f08ac032392f808c7aa53dd78a96d9b43e63f (diff) | |
download | haskell-2ce48fe9d1334dadf6fa1411238e52d65b66ba41.tar.gz |
rts: Break up adjustor logic
Diffstat (limited to 'rts/rts.cabal.in')
-rw-r--r-- | rts/rts.cabal.in | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/rts/rts.cabal.in b/rts/rts.cabal.in index 22846ecc61..7c0f40dcfa 100644 --- a/rts/rts.cabal.in +++ b/rts/rts.cabal.in @@ -12,6 +12,8 @@ flag libdl default: @CabalHaveLibdl@ flag ffi default: @CabalHaveLibffi@ +flag libffi-adjustors + default: @CabalLibffiAdjustors@ flag need-pthread default: @CabalNeedLibpthread@ flag libbfd @@ -417,10 +419,27 @@ library -- AutoApply is generated AutoApply.cmm - if arch(i386) || arch(ppc) || arch(ppc64) - asm-sources: AdjustorAsm.S + -- Adjustor stuff + if flag(libffi-adjustors) + c-sources: adjustor/LibffiAdjustor.c + else + -- Use GHC's native adjustors + if arch(i386) + asm-sources: AdjustorAsm.S + c-sources: adjustor/Nativei386.c + if arch(x86_64) + c-sources: adjustor/NativeAmd64.c + if arch(ppc) || arch(ppc64) + asm-sources: AdjustorAsm.S + c-sources: adjustor/NativePowerPC.c + if arch(ia64) + c-sources: adjustor/NativeIA64.c + if arch(sparc) + c-sources: adjustor/NativeSparc.c + + -- Use assembler STG entrypoint on archictures where it is used if arch(ppc) || arch(ppc64) || arch(s390x) || arch(riscv64) - asm-sources: StgCRunAsm.S + asm-sources: StgCRunAsm.S c-sources: Adjustor.c Arena.c |