forked from ClangBuiltLinux/continuous-integration
-
Notifications
You must be signed in to change notification settings - Fork 1
/
usage.txt
74 lines (70 loc) · 2.83 KB
/
usage.txt
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
Usage: ./driver.sh <options>
Script description: Build a Linux kernel image with Clang and boot it
Environment variables:
The script can take into account specific environment variables, mostly used
with Travis. They can be invoked in one of three ways:
$ export VAR=<value> && ./driver.sh
$ VAR=value ./driver.sh
$ ./driver.sh VAR=value
AR:
If no AR value is specified, the script will attempt to set AR to llvm-ar
and fallback to ${CROSS_COMPILE}ar if it is not found in PATH.
ARCH (required):
If no ARCH value is specified, it's an error; there is no default.
Currently, arm32_v7, arm32_v6, arm32_v5, arm64, mips, mipsel, ppc32,
ppc64, ppc64le, s390, riscv, x86, and x86_64 are supported.
CC:
If no CC value is specified, clang is used.
LD:
If no LD value is specified, ${CROSS_COMPILE}ld is used.
LLVM:
If this is set to 1, all LLVM utilities are used, except for the
integrated assembler. Use LLVM_IAS=1 to enable that.
LLVM_IAS:
If this is set to 1, the integrated assembler is used. No value means
${CROSS_COMPILE}as is used for assembling.
NM:
If no NM value is specified, the script will attempt to set NM to llvm-nm
and fallback to ${CROSS_COMPILE}nm if it is not found in PATH.
OBJCOPY:
If no OBJCOPY value is specified, the script will attempt to set OBJCOPY
to llvm-objcopy and fallback to ${CROSS_COMPILE}objcopy if it is not found
in PATH.
OBJDUMP:
If no OBJDUMP value is specified, the script will attempt to set OBJDUMP
to llvm-objdump and fallback to ${CROSS_COMPILE}objdump if it is not found
in PATH.
OBJSIZE:
If no OBJSIZE value is specified, the script will attempt to set OBJSIZE
to llvm-size and fallback to ${CROSS_COMPILE}size if it is not found in
PATH.
REPO:
Nicknames for trees:
linux (default)
linux-next
5.4
4.19
4.14
4.9
4.4
android-mainline
android-5.4
android-4.19
android-4.14-stable
android-4.9-q
STRIP:
If no STRIP value is specified, the script will attempt to set STRIP to
llvm-strip and fallback to ${CROSS_COMPILE}strip if it is not found in
PATH.
Optional parameters:
-c | --clean:
Run 'make mrproper' before building the kernel. Normally, the build
system is smart enought to figure out what needs to be rebuilt but
sometimes it might be necessary to clean it manually.
-j | --jobs
Pass this value to make. The script will use all cores by default but
this isn't always the best value.
--lto
By default, the script turns off LTO/CFI for quicker build times. If
your machine can handle the more intensive compile, pass this flag
to avoid attempting to disable it. This does not enable LTO explicitly.