From 9808b58aa39aa26125169c6ebe8758237659c89c Mon Sep 17 00:00:00 2001 From: Billy Robert O'Neal III Date: Fri, 12 Oct 2018 15:23:57 -0700 Subject: [PATCH 1/3] Enable Brotli in CI. --- azure-pipelines.yml | 35 ++++++++++++++++++++++------------- 1 file changed, 22 insertions(+), 13 deletions(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index bb52036b90..f5fe3008e4 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -7,14 +7,14 @@ jobs: steps: - script: .\vcpkg\bootstrap-vcpkg.bat displayName: Bootstrap vcpkg - - script: .\vcpkg\vcpkg.exe install zlib openssl boost-system boost-date-time boost-regex boost-interprocess websocketpp + - script: .\vcpkg\vcpkg.exe install zlib openssl boost-system boost-date-time boost-regex boost-interprocess websocketpp brotli displayName: vcpkg install dependencies - script: mkdir build.common displayName: Make Build Directory - task: CMake@1 inputs: workingDirectory: 'build.common' - cmakeArgs: '-DCMAKE_TOOLCHAIN_FILE=../vcpkg/scripts/buildsystems/vcpkg.cmake ..' + cmakeArgs: '-DCMAKE_TOOLCHAIN_FILE=../vcpkg/scripts/buildsystems/vcpkg.cmake -DCPPREST_EXCLUDE_BROTLI=OFF ..' - task: MSBuild@1 inputs: solution: 'build.common/ALL_BUILD.vcxproj' @@ -38,14 +38,14 @@ jobs: steps: - script: .\vcpkg\bootstrap-vcpkg.bat displayName: Bootstrap vcpkg - - script: .\vcpkg\vcpkg.exe install zlib openssl boost-system boost-date-time boost-regex boost-interprocess websocketpp --triplet x64-windows + - script: .\vcpkg\vcpkg.exe install zlib openssl boost-system boost-date-time boost-regex boost-interprocess websocketpp brotli --triplet x64-windows displayName: vcpkg install dependencies - script: mkdir build.common displayName: Make Build Directory - task: CMake@1 inputs: workingDirectory: 'build.common' - cmakeArgs: '-A x64 -DCMAKE_TOOLCHAIN_FILE=../vcpkg/scripts/buildsystems/vcpkg.cmake ..' + cmakeArgs: '-A x64 -DCMAKE_TOOLCHAIN_FILE=../vcpkg/scripts/buildsystems/vcpkg.cmake -DCPPREST_EXCLUDE_BROTLI=OFF ..' - task: MSBuild@1 inputs: solution: 'build.common/ALL_BUILD.vcxproj' @@ -71,14 +71,14 @@ jobs: steps: - script: .\vcpkg\bootstrap-vcpkg.bat displayName: Bootstrap vcpkg - - script: .\vcpkg\vcpkg.exe install zlib openssl boost-system boost-date-time boost-regex boost-interprocess websocketpp + - script: .\vcpkg\vcpkg.exe install zlib openssl boost-system boost-date-time boost-regex boost-interprocess websocketpp brotli displayName: vcpkg install dependencies - script: mkdir build.common displayName: Make Build Directory - task: CMake@1 inputs: workingDirectory: 'build.common' - cmakeArgs: '-DCMAKE_TOOLCHAIN_FILE=../vcpkg/scripts/buildsystems/vcpkg.cmake ..' + cmakeArgs: '-DCMAKE_TOOLCHAIN_FILE=../vcpkg/scripts/buildsystems/vcpkg.cmake -DCPPREST_EXCLUDE_BROTLI=OFF ..' - task: MSBuild@1 inputs: solution: 'build.common/ALL_BUILD.vcxproj' @@ -102,14 +102,14 @@ jobs: steps: - script: .\vcpkg\bootstrap-vcpkg.bat displayName: Bootstrap vcpkg - - script: .\vcpkg\vcpkg.exe install zlib openssl boost-system boost-date-time boost-regex boost-interprocess websocketpp --triplet x64-windows + - script: .\vcpkg\vcpkg.exe install zlib openssl boost-system boost-date-time boost-regex boost-interprocess websocketpp brotli --triplet x64-windows displayName: vcpkg install dependencies - script: mkdir build.common displayName: Make Build Directory - task: CMake@1 inputs: workingDirectory: 'build.common' - cmakeArgs: '-A x64 -DCMAKE_TOOLCHAIN_FILE=../vcpkg/scripts/buildsystems/vcpkg.cmake ..' + cmakeArgs: '-A x64 -DCMAKE_TOOLCHAIN_FILE=../vcpkg/scripts/buildsystems/vcpkg.cmake -DCPPREST_EXCLUDE_BROTLI=OFF ..' - task: MSBuild@1 inputs: solution: 'build.common/ALL_BUILD.vcxproj' @@ -145,11 +145,11 @@ jobs: - task: CMake@1 inputs: workingDirectory: 'build.debug' - cmakeArgs: '-G Ninja -DCMAKE_BUILD_TYPE=Debug ..' + cmakeArgs: '-G Ninja -DCMAKE_BUILD_TYPE=Debug -DCPPREST_EXCLUDE_BROTLI=OFF ..' - task: CMake@1 inputs: workingDirectory: 'build.release' - cmakeArgs: '-G Ninja -DCMAKE_BUILD_TYPE=Release ..' + cmakeArgs: '-G Ninja -DCMAKE_BUILD_TYPE=Release -DCPPREST_EXCLUDE_BROTLI=OFF ..' - script: | cd build.debug ninja @@ -194,20 +194,25 @@ jobs: pool: vmImage: 'macOS-10.13' steps: - - script: brew install boost openssl ninja + - script: brew install boost openssl ninja brotli displayName: Brew install dependencies - script: | mkdir build.debug mkdir build.release + mkdir build.release.static displayName: Make Build Directories - task: CMake@1 inputs: workingDirectory: 'build.debug' - cmakeArgs: '-G Ninja -DCMAKE_BUILD_TYPE=Debug ..' + cmakeArgs: '-G Ninja -DCMAKE_BUILD_TYPE=Debug -DCPPREST_EXCLUDE_BROTLI=OFF ..' - task: CMake@1 inputs: workingDirectory: 'build.release' - cmakeArgs: '-G Ninja -DCMAKE_BUILD_TYPE=Release ..' + cmakeArgs: '-G Ninja -DCMAKE_BUILD_TYPE=Release -DCPPREST_EXCLUDE_BROTLI=OFF ..' + - task: CMake@1 + inputs: + workingDirectory: 'build.release.static' + cmakeArgs: '-G Ninja -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF -DCPPREST_EXCLUDE_BROTLI=OFF ..' - script: | cd build.debug ninja @@ -224,3 +229,7 @@ jobs: cd build.release/Release/Binaries ./test_runner *test.dylib displayName: 'Run tests, release' + - script: | + cd build.release.static + ninja + displayName: 'Run ninja, release static' From 93bf3d092d689437883e9b2ba5b15bb5573b5cce Mon Sep 17 00:00:00 2001 From: Billy Robert O'Neal III Date: Fri, 12 Oct 2018 15:41:33 -0700 Subject: [PATCH 2/3] Repair build failures in the brotli module. --- Release/src/http/common/http_compression.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Release/src/http/common/http_compression.cpp b/Release/src/http/common/http_compression.cpp index 9d409906c5..d73167239b 100644 --- a/Release/src/http/common/http_compression.cpp +++ b/Release/src/http/common/http_compression.cpp @@ -383,7 +383,7 @@ class brotli_compressor : public compress_provider try { r.output_bytes_produced = - compress(input, input_size, output, output_size, hint, r.input_bytes_processed, &r.done); + compress(input, input_size, output, output_size, hint, r.input_bytes_processed, r.done); } catch (...) { @@ -509,7 +509,7 @@ class brotli_decompressor : public decompress_provider try { r.output_bytes_produced = - decompress(input, input_size, output, output_size, hint, r.input_bytes_processed, &r.done); + decompress(input, input_size, output, output_size, hint, r.input_bytes_processed, r.done); } catch (...) { From d175fae8ccfddae93d067a816cb72488412290f0 Mon Sep 17 00:00:00 2001 From: Billy Robert O'Neal III Date: Fri, 12 Oct 2018 15:50:28 -0700 Subject: [PATCH 3/3] Remove brotli for non-vcpkg. --- azure-pipelines.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index f5fe3008e4..76766a59b4 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -136,7 +136,7 @@ jobs: - script: | sudo apt-get install -y ppa-purge sudo ppa-purge -y ppa:ondrej/php - sudo apt-get install -y libboost-atomic-dev libboost-thread-dev libboost-system-dev libboost-date-time-dev libboost-regex-dev libboost-filesystem-dev libboost-random-dev libboost-chrono-dev libboost-serialization-dev libwebsocketpp-dev brotli openssl libssl-dev ninja-build + sudo apt-get install -y libboost-atomic-dev libboost-thread-dev libboost-system-dev libboost-date-time-dev libboost-regex-dev libboost-filesystem-dev libboost-random-dev libboost-chrono-dev libboost-serialization-dev libwebsocketpp-dev openssl libssl-dev ninja-build displayName: Apt install dependencies - script: | mkdir build.debug @@ -145,11 +145,11 @@ jobs: - task: CMake@1 inputs: workingDirectory: 'build.debug' - cmakeArgs: '-G Ninja -DCMAKE_BUILD_TYPE=Debug -DCPPREST_EXCLUDE_BROTLI=OFF ..' + cmakeArgs: '-G Ninja -DCMAKE_BUILD_TYPE=Debug ..' - task: CMake@1 inputs: workingDirectory: 'build.release' - cmakeArgs: '-G Ninja -DCMAKE_BUILD_TYPE=Release -DCPPREST_EXCLUDE_BROTLI=OFF ..' + cmakeArgs: '-G Ninja -DCMAKE_BUILD_TYPE=Release ..' - script: | cd build.debug ninja @@ -194,7 +194,7 @@ jobs: pool: vmImage: 'macOS-10.13' steps: - - script: brew install boost openssl ninja brotli + - script: brew install boost openssl ninja displayName: Brew install dependencies - script: | mkdir build.debug @@ -204,15 +204,15 @@ jobs: - task: CMake@1 inputs: workingDirectory: 'build.debug' - cmakeArgs: '-G Ninja -DCMAKE_BUILD_TYPE=Debug -DCPPREST_EXCLUDE_BROTLI=OFF ..' + cmakeArgs: '-G Ninja -DCMAKE_BUILD_TYPE=Debug ..' - task: CMake@1 inputs: workingDirectory: 'build.release' - cmakeArgs: '-G Ninja -DCMAKE_BUILD_TYPE=Release -DCPPREST_EXCLUDE_BROTLI=OFF ..' + cmakeArgs: '-G Ninja -DCMAKE_BUILD_TYPE=Release ..' - task: CMake@1 inputs: workingDirectory: 'build.release.static' - cmakeArgs: '-G Ninja -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF -DCPPREST_EXCLUDE_BROTLI=OFF ..' + cmakeArgs: '-G Ninja -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF ..' - script: | cd build.debug ninja