Skip to content

Latest commit

 

History

History
38 lines (30 loc) · 1.54 KB

DEVELOPMENT.md

File metadata and controls

38 lines (30 loc) · 1.54 KB

Compilation

1. Prerequisite

export GOPROXY=https://goproxy.io apt-get install git cmake build-essential protobuf-compiler libprotobuf-dev golang-go libunwind-dev libicu-dev

2. Build

git clone https://github.com/bilibili/quiche.git && cd quiche
git submodule update --init --recursive mkdir -p build
cd build && cmake ..
make -j

  • NOTE in Debug build mode, you may have to type like:

cmake -DCMAKE_BUILD_TYPE=Debug .. if you need to enable gdb debug and asan,you may have to type like: cmake .. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_FLAGS="-fsanitize=address -fsanitize=leak -g" -DCMAKE_C_FLAGS="-fsanitize=address -fsanitize=leak -g" -DCMAKE_EXE_LINKER_FLAGS="-fsanitize=address -fsanitize=leak" -DCMAKE_MODULE_LINKER_FLAGS="-fsanitize=address -fsanitize=leak"

Upgrade

1. Download google quiche and googleurl(if needed)

git clone https://quiche.googlesource.com/quiche google_quiche git clone https://quiche.googlesource.com/googleurl

2. Select a proper tag from chromium and find out quiche version and boringssl version and absl version it depended on, then checkout it.

git checkout [commit-id]

3. Rewrite

cp -fr google_quiche/* quiche/gquiche cp -fr googleurl/* quiche/googleurl/ cd quiche && bash utils/google_quiche_rewrite.sh

4. Check if any file or dir should be checkouted

git checkout README.md

5. Update VERSION, log chromium tag and quiche/boringssl version and quiche/abseil-cpp version

6. Compile and fix errors

Repeate Compilation steps and fix errors.