Skip to content

Commit c942120

Browse files
committed
chkt
1 parent c2cabea commit c942120

File tree

3 files changed

+34
-18
lines changed

3 files changed

+34
-18
lines changed

.github/workflows/docker.yaml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
name: Build libs2e.so docker image
2+
on: [pull_request]
3+
jobs:
4+
build:
5+
runs-on: ubuntu-latest
6+
steps:
7+
- name: Check out repository code
8+
uses: actions/checkout@v2
9+
10+
- name: Build docker image
11+
run: |
12+
set -x
13+
docker build -t s2e-build .
14+
15+
- run: echo "🍏 This job's status is ${{ job.status }}."

Dockerfile

Lines changed: 17 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,12 @@
2222

2323
FROM ubuntu:22.04
2424

25-
# Install build dependencies
25+
# Install build dependencies.
26+
# The unzip and libgomp1 dependencies are needed to unzip and run binary Z3
27+
# distributions.
28+
2629
RUN dpkg --add-architecture i386 && apt-get update && \
27-
apt-get -y install ca-certificates build-essential cmake curl wget texinfo flex bison \
30+
apt-get -y install git ca-certificates build-essential cmake curl wget texinfo flex bison \
2831
python-is-python3 python3-dev python3-venv python3-distro mingw-w64 lsb-release \
2932
autoconf libtool libprotobuf-dev protobuf-compiler protobuf-c-compiler \
3033
libdwarf-dev libelf-dev libelf-dev:i386 \
@@ -34,30 +37,27 @@ RUN dpkg --add-architecture i386 && apt-get update && \
3437
libbsd-dev libpixman-1-dev \
3538
libglib2.0-dev libglib2.0-dev:i386 python3-docutils libpng-dev \
3639
gcc-multilib g++-multilib libgomp1 unzip libzstd-dev \
37-
libgmock-dev libgtest-dev libsoci-dev libcapstone-dev
38-
39-
# The unzip and libgomp1 dependencies are needed to unzip and run binary Z3
40-
# distributions
40+
libgmock-dev libgtest-dev libsoci-dev libcapstone-dev \
41+
libcurl4-openssl-dev \
42+
libedit-dev \
43+
libpfm4-dev \
44+
llvm-14-dev \
45+
clang-format-14 \
46+
libmlir-14-dev \
47+
clang-14 \
48+
clang-15
4149

4250
# Required for C++17
4351
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y software-properties-common
4452
RUN add-apt-repository ppa:ubuntu-toolchain-r/test && apt update
4553
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y gcc-9 g++-9
4654

47-
# Install S2E git
48-
RUN apt-get -y install git
49-
50-
# Build LLVM first (to avoid rebuilding it for every change)
51-
RUN mkdir s2e
52-
RUN mkdir s2e-build
55+
RUN mkdir s2e && mkdir s2e-build
5356
COPY Makefile s2e/
54-
COPY scripts/determine_clang_binary_suffix.py s2e/scripts/
55-
56-
RUN cd s2e-build && \
57-
make -f ../s2e/Makefile S2E_PREFIX=/opt/s2e stamps/llvm-release-make
5857

5958
# Be explicit about not building Z3 from source, even though its default
60-
ENV USE_Z3_BINARY=yes
59+
ARG USE_Z3_BINARY=yes
60+
ARG SYSTEM_CLANG_VERSION=15
6161

6262
RUN cd s2e-build && \
6363
make -f ../s2e/Makefile S2E_PREFIX=/opt/s2e stamps/z3
@@ -71,7 +71,6 @@ RUN cd s2e-build && \
7171
# Make the S2E codebase available in the container
7272
COPY . s2e/
7373

74-
7574
# Build and install everything else
7675
RUN cd s2e-build && \
7776
make -f ../s2e/Makefile S2E_PREFIX=/opt/s2e install

Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@
3535
# SYSTEM_LLVM_CONFIG=llvm-config-14
3636
# Override the default llvm-config command (defaults to llvm-config-14)
3737
#
38+
# SYSTEM_CLANG_VERSION=19
39+
# Override the default clang version (defaults to clang-19)
3840

3941

4042
# Check the build directory

0 commit comments

Comments
 (0)