FFI: add ghc libffi for other cryptol executables

This commit is contained in:
Bretton 2022-08-03 17:45:59 -07:00
parent 7f904e0bfa
commit 3fb609db72
3 changed files with 23 additions and 5 deletions

20
.github/ci.sh vendored
View File

@ -33,6 +33,16 @@ extract_exe() {
$IS_WIN || chmod +x "$2/$name"
}
extract_libffi() {
libffi=("$(ghc --print-libdir)"/rts/libffi.*)
mkdir -p "$1"
cp "${libffi[@]}" "$1"
}
extract_libffi_for_bin() {
extract_libffi "$(dirname "$(cabal v2-exec which "$1$EXT")")/../lib"
}
retry() {
echo "Attempting with retry:" "$@"
local n=1
@ -61,11 +71,11 @@ setup_dist_bins() {
}
setup_libffi() {
libffi=("$(ghc --print-libdir)"/rts/libffi.*)
build_lib="$(dirname "$(cabal v2-exec which cryptol)")/../lib"
mkdir -p dist/lib "$build_lib"
cp "${libffi[@]}" dist/lib
cp "${libffi[@]}" "$build_lib"
extract_libffi "dist/lib"
extract_libffi_for_bin "cryptol"
extract_libffi_for_bin "cryptol-html"
extract_libffi_for_bin "cryptol-remote-api"
extract_libffi_for_bin "cryptol-eval-server"
}
build() {

View File

@ -100,6 +100,9 @@ executable cryptol-remote-api
if os(linux) && flag(static)
ld-options: -static -pthread
if os(linux) && flag(ffi)
ld-options: -Wl,-rpath,$ORIGIN/../lib
executable cryptol-eval-server
import: deps, warnings, errors
main-is: Main.hs
@ -117,4 +120,6 @@ executable cryptol-eval-server
if os(linux) && flag(static)
ld-options: -static -pthread
if os(linux) && flag(ffi)
ld-options: -Wl,-rpath,$ORIGIN/../lib

View File

@ -279,6 +279,9 @@ executable cryptol-html
ld-options: -static -pthread
ghc-options: -optl-fuse-ld=bfd
if os(linux) && flag(ffi)
ld-options: -Wl,-rpath,$ORIGIN/../lib
executable check-exercises
Default-language:
Haskell2010