-
Notifications
You must be signed in to change notification settings - Fork 8
/
.gitlab-ci.yml
58 lines (52 loc) · 1.48 KB
/
.gitlab-ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
image: ubuntu:xenial
before_script:
# Update the system and add dependencies.
- UBUNTU_NAME=xenial
- LLDB_VERSION="4.0"
- apt-get update -qq
- apt-get -y -qq install wget python-software-properties software-properties-common
- wget -O - http://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add -
- apt-add-repository "deb http://apt.llvm.org/$UBUNTU_NAME/ llvm-toolchain-$UBUNTU_NAME-$LLDB_VERSION main"
- apt-get update -qq
- apt-get -y -qq install build-essential git cmake python-setuptools python-dev libboost-python-dev libglib2.0-dev pkg-config python-pyparsing liblldb-$LLDB_VERSION
# Compile custom dependencies.
- DEPS_DIR=$(mktemp -d)
- pushd $DEPS_DIR
# Install capstone.
- git clone https://github.com/aquynh/capstone.git
- pushd capstone
- CAPSTONE_ARCHS=arm ./make.sh
- ./make.sh install
- pushd bindings/python
- make
- make install
- popd
- popd
# Install unicorn.
- git clone https://github.com/unicorn-engine/unicorn.git
- pushd unicorn
- MACOS_UNIVERSAL=yes UNICORN_ARCHS=arm UNICORN_DEBUG=yes ./make.sh
- ./make.sh install
- pushd bindings/python
- make
- make install
- popd
- popd
# Install darm.
- git clone https://github.com/jbremer/darm.git
- pushd darm
- make
- cp libdarm.a /usr/lib
- cp libdarm.so /usr/lib
- mkdir -p /usr/include/darm
- cp *.h /usr/include/darm/
- popd
- popd
build:
script:
# Compile retools sources.
- mkdir build/
- pushd build/
- cmake ..
- make
- popd