Skip to content

Only read incbin when.h :compile-toplevel #416

Only read incbin when.h :compile-toplevel

Only read incbin when.h :compile-toplevel #416

Workflow file for this run

name: Linux
on: [push]
jobs:
build:
runs-on: ubuntu-latest
defaults:
run:
shell: bash -el {0}
steps:
- uses: actions/checkout@v1
- uses: actions/checkout@v1
with:
repository: sbcl/sbcl
ref: sbcl-2.4.6
path: sbcl
- uses: conda-incubator/setup-miniconda@v3
with:
channels: conda-forge
- name: install host sbcl
run: |
sudo apt-get -qq update | true
sudo apt-get -qq install sbcl libcapstone-dev
- name: build sbcl
working-directory: ../sbcl
env:
SBCL_MAKE_TARGET_2_OPTIONS: --disable-ldb --disable-debugger
run: |
./make.sh --xc-host='sbcl --dynamic-space-size 700MB --lose-on-corruption --disable-ldb --disable-debugger' --with-sb-linkable-runtime
./make-shared-library.sh
echo "SBCL_SRC=${{ github.workspace }}/../sbcl" >> "$GITHUB_ENV"
echo "LIBSBCL_PATH=${{ github.workspace }}/../sbcl/src/runtime" >> "$GITHUB_ENV"
- name: install quicklisp
working-directory: ../sbcl
run: |
curl -O https://beta.quicklisp.org/quicklisp.lisp
./run-sbcl.sh --load quicklisp.lisp --eval "(quicklisp-quickstart:install)" --eval "(ql-util:without-prompting (ql:add-to-init-file))" --eval "(quit)"
- name: build and install conda package
env:
LIBRARY_PATH: ${{ github.workspace }}/../sbcl/src/runtime
LD_LIBRARY_PATH: ${{ github.workspace }}/../sbcl/src/runtime
run: |
conda install -y conda-build
conda build recipe --output-folder conda-bld
conda install -c ${{ github.workspace }}/conda-bld/ sbcl-librarian
- name: set environment variables
run: |
echo "LIBRARY_PATH=$LIBSBCL_PATH:$CONDA_PREFIX/lib:$CONDA_PREFIX/lib64" >> "$GITHUB_ENV"
echo "LD_LIBRARY_PATH=$LIBSBCL_PATH:$CONDA_PREFIX/lib:$CONDA_PREFIX/lib64" >> "$GITHUB_ENV"
echo "C_INCLUDE_PATH=$CONDA_PREFIX/include" >> "$GITHUB_ENV"
- name: build and run example
working-directory: examples/libcalc
env:
CL_SOURCE_REGISTRY: "${{ github.workspace }}//"
run: |
$SBCL_SRC/run-sbcl.sh --load script.lisp --quit
pushd libcalc
mkdir build
pushd build
cmake -DCMAKE_PREFIX_PATH=$CONDA_PREFIX -DCMAKE_INSTALL_PREFIX=$CONDA_PREFIX ..
cmake --build .
cmake --install .
popd
popd
gcc -Wall -o example example.c -lcalc -lsbcl_librarian -lsbcl
echo "(+ 1 2)" | LD_LIBRARY_PATH="$LIBSBCL_PATH:$CONDA_PREFIX/lib" ./example | tr -d '\n' | grep "> 3> "
echo "(+ 1 2)" | LD_LIBRARY_PATH="$LIBSBCL_PATH:$CONDA_PREFIX/lib" python ./example.py | tr -d '\n' | grep "> 3> "
LD_LIBRARY_PATH="$LIBSBCL_PATH:$CONDA_PREFIX/lib" python ./exhaust_heap.py | grep "returned to Python after heap exhaustion (attempt 1)"