summaryrefslogtreecommitdiff
path: root/.travis/flags.sh
blob: 30284d38c1f2f6ec25158f1be231d200709fb1cc (plain)
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
#!/bin/bash

add_config_flag() { CONFIG_FLAGS+=("$@"); }
add_c_flag() { C_FLAGS="$C_FLAGS $@"; }
add_cxx_flag() { CXX_FLAGS="$CXX_FLAGS $@"; }
add_ld_flag() { LD_FLAGS="$LD_FLAGS $@"; }
add_flag() {
  add_c_flag "$@"
  add_cxx_flag "$@"
}

export LD_LIBRARY_PATH="$CACHEDIR/lib"
export PKG_CONFIG_PATH="$CACHEDIR/lib/pkgconfig"

# Our own flags which we can insert in the correct place. We don't use CFLAGS
# and friends here (we unset them below), because they influence config tests
# such as ./configure and cmake tests. Our warning flags break those tests, so
# we can't add them globally here.
CONFIG_FLAGS=()
C_FLAGS=""
CXX_FLAGS=""
LD_FLAGS=""

unset CFLAGS
unset CXXFLAGS
unset CPPFLAGS
unset LDFLAGS

# Optimisation flags.
add_flag -O3 -march=native

# Warn on non-ISO C.
add_c_flag -pedantic
add_c_flag -std=c99
add_cxx_flag -std=c++11

add_flag -g3
add_flag -ftrapv