forked from ssrg-vt/popcorn-compiler
-
Notifications
You must be signed in to change notification settings - Fork 1
/
INSTALL
39 lines (31 loc) · 1.37 KB
/
INSTALL
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
Popcorn Compiler Toolchain Installation
---------------
Getting started
---------------
The toolchain will be installed at /usr/local/popcorn. After the toolchain has
been installed, add /usr/local/popcorn/bin to PATH and /usr/local/popcorn/lib
to LD_LIBRARY_PATH so that the correct compiler and libraries are used when
building multi-ISA binaries (alternatively, hard-code these locations into your
build procedure).
Note: if you have a previous clang/LLVM installation or binutils installation,
adding /usr/local/popcorn/* to environment variables may shadow previous
installations!
------------------
Installation order
------------------
There are many components that need to be installed, and several prerequisites
between components, so components should be installed in the following order:
1. Download/patch/install clang/LLVM - see patches/llvm
2. Download/patch/install binutils - see patches/binutils-gold
3. Install LLVM passes - see lib/passes
4. Install architecture-specific libraries
- see lib/musl-1.1.10
- see lib/libelf
- see lib/stack_transformation
- see lib/migration
- see lib/libopenpop
- see lib/dsm-prefetch
5. Install alignment tool - see tool/alignment
6. Install stack transformation metadata tool - see tool/stack_metadata
7. (Optional) Install call information library - see lib/stack_depth
See the INSTALL file in each subdirectory for more details.