-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy path.lgtm.yml
117 lines (117 loc) · 5.41 KB
/
.lgtm.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
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
path_classifiers:
library:
- subprojects
extraction:
cpp:
prepare:
packages:
- apt-utils
- libcurl4-openssl-dev
- python3-pip
- python3-setuptools
- ninja-build
- pkgconf
- cmake
- clang
- gcc-9-plugin-dev
- libgtest-dev
- nlohmann-json3-dev
- libsodium-dev
- libssl-dev
- libmpfr-dev
- libmpc-dev
- libisl-dev
- libzstd-dev
- automake
- gettext
- gperf
- dejagnu
- expect
- tcl
- autogen
- guile-2.2-dev
- flex
- texinfo
- texlive
- python3-sphinx
- git
- diffutils
- patch
- bison
after_prepare:
- export LC_ALL=C.UTF-8
# Install GCC 10 from source
- export CC=clang
- export CXX=clang++
- git clone https://gcc.gnu.org/git/gcc.git --branch=releases/gcc-10 --single-branch --depth=1 --quiet
- cd gcc
- ./contrib/download_prerequisites >/dev/null 2>&1
- cd ..
- mkdir gcc-build
- cd gcc-build
- ../gcc/configure CC=clang CXX=clang++ CFLAGS='-march=native -w' CXXFLAGS='-march=native -w' --prefix=$HOME/.local --enable-languages=c,c++ --enable-checking=release --disable-bootstrap --with-gcc-major-version-only --with-default-libstdcxx-abi=new --enable-libstdcxx-time=yes --enable-linker-build-id --enable-gnu-unique-object --enable-plugin --disable-werror --enable-lto --with-cpu=native --with-arch=native --with-tune=native --disable-multilib --disable-libada --disable-libsanitizer --enable-silent-rules --quiet >/dev/null 2>&1
- make --jobs=$(nproc) --quiet >/dev/null 2>&1
- make install --quiet >/dev/null 2>&1
- export PATH=$HOME/.local/bin:$PATH
- export LD_LIBRARY_PATH=$HOME/.local/lib64:$HOME/.local/lib:$LD_LIBRARY_PATH
- export LIBRARY_PATH=$HOME/.local/lib64:$HOME/.local/lib:$LIBRARY_PATH
- export LD_RUN_PATH=$HOME/.local/lib64:$HOME/.local/lib:$LD_RUN_PATH
- export CPLUS_INCLUDE_PATH=$HOME/.local/include/c++/$(g++ -dumpspecs | grep --after-context=1 '*version:' | tail --lines=1):$CPLUS_INCLUDE_PATH
- export CPATH=$HOME/.local/include:$CPATH
- unset CC
- unset CXX
- cd ..
- ln --symbolic $HOME/.local/bin/gcc $HOME/.local/bin/cc
- export CC=$HOME/.local/bin/gcc
- export CXX=$HOME/.local/bin/g++
# Install gold from source
- curl --silent --remote-name --http2-prior-knowledge --proto https --proto-default https --tlsv1.2 https://ftp.gnu.org/gnu/binutils/binutils-2.35.2.tar.bz2
- tar xf binutils-2.35.2.tar.bz2
- mkdir binutils-build
- cd binutils-build
- ../binutils-2.35.2/configure CFLAGS='-march=native -w' CXXFLAGS='-march=native -w' --prefix=$HOME/.local --enable-gold=default --disable-ld --disable-libada --disable-bootstrap --enable-lto --disable-objc-gc --with-gcc-major-version-only --enable-plugins --enable-threads --disable-nls --enable-shared --with-cpu=native --with-arch=native --with-tune=native --disable-multilib --enable-silent-rules --quiet >/dev/null 2>&1
- make --jobs=$(nproc) --quiet >/dev/null 2>&1
- make install --quiet >/dev/null 2>&1
# Install LLD from source
#- git clone https://github.com/llvm/llvm-project.git --branch=release/11.x --single-branch --depth=1 --quiet
#- cd llvm-project
#- cmake -S llvm -B build -G Ninja -DLLVM_ENABLE_PROJECTS='lld' -DCMAKE_INSTALL_PREFIX=$HOME/.local -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_STANDARD=17 -DLLVM_TARGETS_TO_BUILD=x86 -DLLVM_INCLUDE_EXAMPLES=false -DLLVM_INCLUDE_TESTS=false -DLLVM_INCLUDE_BENCHMARKS=false -DLLVM_ENABLE_UNWIND_TABLES=false -DLLVM_ENABLE_MODULES=true -DLLVM_ENABLE_WARNINGS=false -DLLVM_ENABLE_DIA_SDK=false -DLLVM_ENABLE_LTO=On -DLLVM_ENABLE_LLD=true -DLLVM_ENABLE_BINDINGS=false -DCLANG_ENABLE_STATIC_ANALYZER=false
#- cmake --build build
#- cmake --build build --target install
#- cd ..
# Install latest Meson version
- pip3 install -qqq --user --ignore-installed meson
# Install build2
- mkdir build2-build
- cd build2-build
- curl --silent --remote-name https://stage.build2.org/0/0.14.0-a.0/build2-install-0.14.0-a.0-stage.sh
- export CFLAGS=-march=native
- export CXXFLAGS=-march=native
- sh build2-install-0.14.0-a.0-stage.sh --yes --local --no-bdep --no-modules --cxx g++ --sudo false --trust yes --no-check $HOME/.local >/dev/null 2>&1
- unset CFLAGS
- unset CXXFLAGS
- export PKG_CONFIG_PATH=$HOME/.local/lib/pkgconfig:$PKG_CONFIG_PATH
- cd ..
# Install ODB
- mkdir odb-build
- cd odb-build
- bpkg --quiet create --directory odb-gcc-10 cc config.cxx=g++ config.c.std=gnu17 config.cxx.std=gnu++17 config.cc.coptions='-O3 -march=native -w' config.bin.rpath=$HOME/.local/lib config.install.root=$HOME/.local
- cd odb-gcc-10
- bpkg --quiet --trust-yes build --yes odb@https://pkg.cppget.org/1/beta
- bpkg --quiet test odb
- bpkg --quiet install odb
- cd ..
- bpkg --quiet create --directory gcc-10 cc config.cxx=g++ config.c.std=gnu17 config.cxx.std=gnu++17 config.cc.coptions='-O3 -march=native -w' config.install.root=$HOME/.local
- cd gcc-10
- bpkg --quiet add https://pkg.cppget.org/1/beta
- bpkg --quiet --trust-yes fetch
- bpkg --quiet build --yes libodb
- bpkg --quiet build --yes libodb-pgsql
- bpkg --quiet install --all --recursive
- cd ..
configure:
command:
- meson setup build --buildtype=debug -Db_lto=false
index:
build_command:
- meson compile -C build --jobs=1