naive: Add Linux build scripts

This commit is contained in:
klzgrad 2018-01-25 23:06:30 +08:00
parent bcb7c3bf3c
commit ea77310327
3 changed files with 114 additions and 0 deletions

73
build.sh Executable file
View File

@ -0,0 +1,73 @@
#!/bin/sh
set -e
export TMPDIR="$PWD/tmp"
mkdir -p "$TMPDIR"
if [ "$1" = debug ]; then
out=out/Debug
flags='
is_debug=true
is_component_build=true
exclude_unwind_tables=false
remove_webcore_debug_symbols=false
use_thin_lto=false
use_lld=false'
bootstrap_flag=--debug
else
out=out/Release
flags='
is_debug=false
is_component_build=false
exclude_unwind_tables=true
remove_webcore_debug_symbols=true
use_thin_lto=true
use_lld=true'
fi
if [ -d /usr/lib/ccache ]; then
export PATH="/usr/lib/ccache:$PATH"
export CCACHE_SLOPPINESS=time_macros
export CCACHE_BASEDIR="$PWD"
export CCACHE_CPP2=yes
flags="$flags"'
cc_wrapper="ccache"'
fi
flags="$flags"'
is_clang=true
linux_use_bundled_binutils=false
fatal_linker_warnings=false
treat_warnings_as_errors=false
use_sysroot=false
fieldtrial_testing_like_official_build=true
use_ozone=true
ozone_auto_platforms=false
ozone_platform="headless"
ozone_platform_headless=true
use_cups=false
use_dbus=false
use_gio=false
use_platform_icu_alternatives=true
disable_file_support=true
enable_websockets=false
disable_ftp_support=true
use_kerberos=false
disable_brotli_filter=true
enable_mdns=false
enable_reporting=false
include_transport_security_state_preload_list=false
'
rm -rf "./$out"
CC=gcc CXX=g++ CCACHE_CPP2= ./tools/gn/bootstrap/bootstrap.py -s $bootstrap_flag
"./$out/gn" gen "$out" --args="$flags"
ninja -C "$out" naive_client

9
get-clang.sh Executable file
View File

@ -0,0 +1,9 @@
#!/bin/sh
set -ex
CLANG_REVISION=$(grep -m1 CLANG_REVISION tools/clang/scripts/update.py | cut -d"'" -f2)
CLANG_SUB_REVISION=$(grep -m1 CLANG_SUB_REVISION tools/clang/scripts/update.py | cut -d= -f2)
url="https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/clang-$CLANG_REVISION-$CLANG_SUB_REVISION.tgz"
mkdir -p third_party/llvm-build/Release+Asserts
cd third_party/llvm-build/Release+Asserts
curl "$url" -o- | tar xzf -

32
make-test-certs.sh Executable file
View File

@ -0,0 +1,32 @@
#!/bin/sh
set -e
name='example'
echo "
[req]
prompt = no
distinguished_name = dn
[dn]
CN = $name
[san]
subjectAltName = DNS:$name" >site.cnf
openssl genrsa -out ca.key 2048
openssl req -x509 -new -nodes -key ca.key -days 365 -out ca.pem -subj '/CN=Test Root CA'
openssl genrsa -out $name.key.rsa 2048
openssl ecparam -genkey -name prime256v1 -out $name.key.ecdsa
for key in rsa ecdsa; do
openssl req -new -nodes -key $name.key.$key -out $name.csr.$key -reqexts san -config site.cnf
openssl x509 -req -in $name.csr.$key -CA ca.pem -CAkey ca.key -CAcreateserial -out $name.pem.$key -days 365 -extensions san -extfile site.cnf
cat $name.key.$key >>$name.pem.$key
rm $name.key.$key $name.csr.$key
done
rm ca.key ca.srl site.cnf
echo
echo 'To trust the test CA:'
echo ' certutil -d "sql:$HOME/.pki/nssdb" -A -t C,, -n 'Test Root CA' -i ca.pem'
echo