-
Notifications
You must be signed in to change notification settings - Fork 3
/
build.cfg.dist
153 lines (121 loc) · 4.71 KB
/
build.cfg.dist
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
# List of targets to build by default, developers may set this to $ALLTARGETS
# or a subset of interesting tools
BUILDSH_TARGETS="gold llvm newlib compiler-rt pasim poseidon aegean"
#BUILDSH_TARGETS=$ALLTARGETS
#BUILDSH_TARGETS="llvm pasim"
# Root directory for all repositories
ROOT_DIR=$(pwd)
# Set to 'short' for llvm/clang/... directory names, 'long' for
# patmos-llvm/patmos-clang/.. or 'prefix' to use $(REPO_PREFIX)llvm/..
REPO_NAMES=short
REPO_PREFIX=
# Installation directory prefix
INSTALL_DIR="$ROOT_DIR/local"
# Directory suffix for directory containing generated files
BUILDDIR_SUFFIX="/build"
# RTEMS subdirectory prefix. Set to empty to checkout without subdirectories.
RTEMS_SUBDIR_PREFIX="rtems-4.10.2"
# Targets to support with patmos-clang
#LLVM_TARGETS=all
#LLVM_TARGETS="ARM;Mips;Patmos;X86"
LLVM_TARGETS=Patmos
ECLIPSE_LLVM_TARGETS=Patmos
# build LLVM using configure instead of cmake
LLVM_USE_CONFIGURE=false
# Set the build type for LLVM (currently only for cmake builds)
LLVM_BUILD_TYPE=Release
# build LLVM using shared libraries instead of static libs
LLVM_BUILD_SHARED=true
# skip checking out clang
LLVM_OMIT_CLANG=false
# Set to the name of the clang binary to use for compiling LLVM itself.
# Leave empty to use cmake defaults, set to "clang" to use clang
CLANG_COMPILER=
# Build gold binutils and LLVM LTO plugin
BUILD_LTO=true
# Build newlib, compiler-rt and benchmarks with softfloats
BUILD_SOFTFLOAT=true
# Build the Patmos Chisel emulator
BUILD_EMULATOR=true
# Create symlinks instead of copying files where applicable
# (llvm, clang, gold)
INSTALL_SYMLINKS=false
# Update rpath of binaries during installation:
# - 'remove' Remove rpath
# - 'build' Set install rpath at build time
# - 'true' Update rpath to the install dir on installation
# - 'false' Do not change rpath on installation
INSTALL_RPATH=true
# Base URL for checking out new repositories. 'auto' tries to use
# the same base-url as the patmos-misc repository. Defaults to
# 'https://github.com/t-crest'
GITHUB_BASEURL="auto"
# URL for the repository containing the benchmarks
BENCH_REPO_URL="https://github.com/t-crest/patmos-benchmarks.git"
# URL for repository containing additional non-free benchmarks
BENCH_NONFREE_REPO_URL=
# Optional path to use for the gcc.c_torture/execute checkout.
# Set this to somewhere outside the build directory to avoid checking the
# sources out on clean benchmark builds.
#BENCH_GCC_C_TORTURE_PATH=
# Set the target architecture for gold
# auto use HOST on Linux, 'patmos-unknown-unknown-elf' otherwise
# none do not set --target
# <target> use <target> as target architecture
GOLD_TARGET_ARCH=auto
# Target triple for Patmos libraries and benchmarks:
# patmos-unknown-unknown-elf Default
# patmos-unknown-rtems Used with RTEMS
TARGET="patmos-unknown-unknown-elf"
# Additional arguments for cmake / configure
LLVM_CMAKE_ARGS=
# e.g., use ninja for building instead of make
#LLVM_CMAKE_ARGS="-G Ninja"
LLVM_CONFIGURE_ARGS=
GOLD_ARGS=
NEWLIB_ARGS=
# Additional RTEMS configure options
RTEMS_ARGS=
# Select BSP for RTEMS build
RTEMS_BSP=pasim
# Whether to use simulator (pasim) of FPGA (patex) for RTEMS tests
RTEMS_SIM=pasim
# Build simulator in Debug mode (default: RelWithDebInfo)
#PASIM_ARGS="-DCMAKE_BUILD_TYPE=Debug"
# Use a custom installation of Boost libraries
#PASIM_ARGS="-DBOOST_ROOT=$HOME/local/ -DBoost_NO_BOOST_CMAKE=TRUE"
# Patmos C-tools cmake options
CTOOLS_ARGS=
## Options for the patmos-bench test environment
# PML architecture files configure clang/llvm, pasim, and platin:
# PML_CONFIG and PML_CONFIG_LARGERAM (for benchmarks requiring >2Mb RAM)
#BENCH_ARGS="-DCONFIG_PML=scripts/patmos-config.pml"
# Add extra options for pasim when executing tests
#BENCH_ARGS="${BENCH_ARGS} -DPASIM_EXTRA_OPTIONS='--maxc 1000'"
# Disable gcc torture tests
#BENCH_ARGS="${BENCH_ARGS} -DENABLE_CTORTURE=false"
# Set path to a3, or set to empty string to disable a3
#BENCH_ARGS="${BENCH_ARGS} -DA3_EXECUTABLE="
# Additional CFLAGS, LDFLAGS
GOLD_CFLAGS=
# Use this flag if gcc throws errors about narrowing conversions
#GOLD_CXXFLAGS="-Wno-narrowing"
GOLD_CXXFLAGS=
# Disable inline-assembly implementations in compiler-rt
COMPILER_RT_CFLAGS="-DCRT_NO_INLINE_ASM"
BENCH_LDFLAGS=
# CFLAGS for host compiler
NEWLIB_CFLAGS=
# CFLAGS for target compiler (patmos-clang)
NEWLIB_TARGET_CFLAGS=
# Use the following FLAGS to link runtime libraries as binaries
#NEWLIB_TARGET_CFLAGS="-fpatmos-emit-obj"
#COMPILER_RT_CFLAGS="-fpatmos-emit-obj"
#BENCH_LDFLAGS="-fpatmos-lto-defaultlibs"
# Commandline option to pass to make/ctest for parallel builds
MAKEJ=-j2
# Arguments to pass to ctest
# Use "-jN" to enable parallel benchmark testing
CTEST_ARGS=
# Set nice level for the whole build.sh run. No renice happens if undefined.
#NICENESS=10