Skip to content

Commit 433d118

Browse files
committed
[Infra]: bump the capnproto library version from v0.7.0 to v0.9.1
capnproto: Adding libs/EXTERNAL/capnproto/ as an external git subtree from https://github.com/capnproto/capnproto.git v0.9.1
2 parents aea7510 + 0c35625 commit 433d118

File tree

461 files changed

+207812
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

461 files changed

+207812
-0
lines changed
Lines changed: 139 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,139 @@
1+
name: Quick Tests
2+
3+
on:
4+
pull_request:
5+
paths-ignore:
6+
- 'doc/**'
7+
push:
8+
branches:
9+
- master
10+
- 'release-*'
11+
12+
jobs:
13+
Linux:
14+
runs-on: ubuntu-latest
15+
strategy:
16+
fail-fast: false
17+
matrix:
18+
compiler: [g++-7, g++-10, clang-6.0, clang-10]
19+
steps:
20+
- uses: actions/checkout@v2
21+
- name: install dependencies
22+
run: |
23+
export DEBIAN_FRONTEND=noninteractive
24+
sudo apt-get install -y build-essential git zlib1g-dev cmake libssl-dev ${{ matrix.compiler }}
25+
- name: super-test
26+
run: |
27+
./super-test.sh quick ${{ matrix.compiler }}
28+
Linux-lock-tracking:
29+
runs-on: ubuntu-latest
30+
strategy:
31+
fail-fast: false
32+
matrix:
33+
compiler: [clang-9]
34+
features: ["-DKJ_TRACK_LOCK_BLOCKING=1 -DKJ_SAVE_ACQUIRED_LOCK_INFO=1 -DKJ_CONTENTION_WARNING_THRESHOLD=200"]
35+
steps:
36+
- uses: actions/checkout@v2
37+
- name: install dependencies
38+
run: |
39+
export DEBIAN_FRONTEND=noninteractive
40+
sudo apt-get install -y build-essential git zlib1g-dev cmake libssl-dev ${{ matrix.compiler }}
41+
- name: super-test
42+
run: |
43+
# librt is used for timer_create in the unit tests for lock tracking (mutex-test.c++).
44+
./super-test.sh quick ${{ matrix.compiler }} cpp-features "${{matrix.features}}" extra-libs "-lrt"
45+
MacOS:
46+
runs-on: macos-latest
47+
strategy:
48+
fail-fast: false
49+
steps:
50+
- uses: actions/checkout@v2
51+
- name: install dependencies
52+
run: |
53+
brew install autoconf automake libtool pkg-config
54+
- name: super-test
55+
run: |
56+
./super-test.sh quick
57+
MSVC:
58+
runs-on: ${{ matrix.os }}
59+
strategy:
60+
fail-fast: false
61+
matrix:
62+
os: ['windows-2016', 'windows-latest']
63+
include:
64+
- os: windows-2016
65+
target: 'Visual Studio 15 2017'
66+
arch: -A x64
67+
- os: windows-latest
68+
target: 'Visual Studio 16 2019'
69+
arch: -A x64
70+
steps:
71+
- uses: actions/checkout@v2
72+
- name: Include $CONDA in $PATH
73+
run: |
74+
echo "$Env:CONDA\condabin" >> $env:GITHUB_PATH
75+
- name: Install dependencies via Conda
76+
run: |
77+
conda update -n base -c defaults -q conda
78+
conda install -n base -c defaults -q ninja openssl zlib
79+
- name: Build and test
80+
shell: cmd
81+
run: |
82+
echo "Activate conda base environment"
83+
call activate base
84+
echo "Building Cap'n Proto with ${{ matrix.target }}"
85+
cmake -Hc++ -Bbuild-output ${{ matrix.arch }} -G "${{ matrix.target }}" -DCMAKE_BUILD_TYPE=debug -DCMAKE_PREFIX_PATH="%CONDA_PREFIX%" -DCMAKE_INSTALL_PREFIX=%CD%\capnproto-c++-install
86+
cmake --build build-output --config debug --target install
87+
88+
echo "Building Cap'n Proto samples with ${{ matrix.target }}"
89+
cmake -Hc++/samples -Bbuild-output-samples ${{ matrix.arch }} -G "${{ matrix.target }}" -DCMAKE_BUILD_TYPE=debug -DCMAKE_PREFIX_PATH=%CD%\capnproto-c++-install
90+
cmake --build build-output-samples --config debug
91+
92+
cd build-output\src
93+
ctest -V -C debug
94+
MinGW:
95+
runs-on: windows-latest
96+
strategy:
97+
fail-fast: false
98+
steps:
99+
- uses: actions/checkout@v2
100+
- name: Build and test
101+
shell: cmd
102+
run: |
103+
echo "Deleting broken Postgres install until https://github.com/actions/virtual-environments/issues/1089 is fixed..."
104+
rmdir /s /q C:\PROGRA~1\POSTGR~1
105+
106+
echo "Building Cap'n Proto with MinGW"
107+
cmake -Hc++ -Bbuild-output -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=debug -DCMAKE_INSTALL_PREFIX=%CD%\capnproto-c++-install -DCMAKE_SH="CMAKE_SH-NOTFOUND"
108+
cmake --build build-output --target install -- -j2
109+
110+
echo "Building Cap'n Proto samples with MinGW"
111+
cmake -Hc++/samples -Bbuild-output-samples -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=debug -DCMAKE_PREFIX_PATH=%CD%\capnproto-c++-install -DCMAKE_SH="CMAKE_SH-NOTFOUND"
112+
cmake --build build-output-samples
113+
114+
cd build-output\src
115+
ctest -V -C debug
116+
Cygwin:
117+
runs-on: windows-latest
118+
strategy:
119+
fail-fast: false
120+
steps:
121+
- run: git config --global core.autocrlf false
122+
- uses: actions/checkout@v2
123+
# TODO(someday): If we could cache the Cygwin installation we wouldn't have to spend three
124+
# minutes installing it for every build. Unfortuntaley, actions/cache@v1 does not preserve
125+
# DOS file attributes, which corrupts the Cygwin install. In particular, Cygwin marks
126+
# symlinks with the "DOS SYSTEM" attribute. We could cache just the downloaded packages,
127+
# but it turns out that only saves a couple seconds; most of the time is spend unpacking.
128+
- name: Install Cygwin
129+
run: |
130+
choco config get cacheLocation
131+
choco install --no-progress cygwin
132+
- name: Install Cygwin additional packages
133+
shell: cmd
134+
run: |
135+
C:\tools\cygwin\cygwinsetup.exe -qgnNdO -R C:/tools/cygwin -l C:/tools/cygwin/packages -s http://mirrors.kernel.org/sourceware/cygwin/ -P autoconf,automake,libtool,gcc,gcc-g++,binutils,libssl-devel,make,zlib-devel,pkg-config,cmake,xxd
136+
- name: Build and test
137+
shell: cmd
138+
run: |
139+
C:\tools\cygwin\bin\bash -lc 'export PATH=/usr/local/bin:/usr/bin:/bin; cd /cygdrive/d/a/capnproto/capnproto; ./super-test.sh quick'
Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
name: Release Tests
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
- 'release-*'
8+
- 'fix-release*'
9+
10+
jobs:
11+
Linux:
12+
runs-on: ubuntu-latest
13+
strategy:
14+
fail-fast: false
15+
matrix:
16+
# We can only run extended tests with the default version of g++, because it has to match
17+
# the verison of g++-multilib for 32-bit cross-compilation, and alternate versions of
18+
# g++-multilib generally aren't available. Clang is more lenient, but we might as well be
19+
# consistent. The quick tests should be able to catch issues with older and newer compiler
20+
# versions.
21+
compiler: [g++, clang]
22+
steps:
23+
- uses: actions/checkout@v2
24+
- name: install dependencies
25+
run: |
26+
export DEBIAN_FRONTEND=noninteractive
27+
sudo apt-get update
28+
sudo apt-get install -y build-essential git zlib1g-dev cmake libssl-dev valgrind gcc-multilib g++-multilib ${{ matrix.compiler }}
29+
- name: super-test
30+
run: |
31+
./super-test.sh ${{ matrix.compiler }}
32+
MacOS:
33+
runs-on: macos-latest
34+
strategy:
35+
fail-fast: false
36+
steps:
37+
- uses: actions/checkout@v2
38+
- name: install dependencies
39+
run: |
40+
brew install autoconf automake libtool pkg-config
41+
- name: super-test
42+
run: |
43+
./super-test.sh
44+
MinGW-Wine:
45+
runs-on: ubuntu-latest
46+
strategy:
47+
fail-fast: false
48+
steps:
49+
- uses: actions/checkout@v2
50+
- name: install dependencies
51+
run: |
52+
export DEBIAN_FRONTEND=noninteractive
53+
sudo dpkg --add-architecture i386
54+
sudo apt-get update
55+
sudo apt-get install -y build-essential git cmake mingw-w64 wine-stable wine64 wine32 wine-binfmt
56+
sudo update-binfmts --import wine
57+
- name: 64-bit Build and Test
58+
run: |
59+
./super-test.sh mingw x86_64-w64-mingw32
60+
- name: 32-bit Build and Test
61+
run: |
62+
./super-test.sh mingw i686-w64-mingw32
63+
cmake-packaging:
64+
runs-on: ubuntu-latest
65+
strategy:
66+
fail-fast: false
67+
steps:
68+
- uses: actions/checkout@v2
69+
- name: install dependencies
70+
run: |
71+
export DEBIAN_FRONTEND=noninteractive
72+
sudo apt-get install -y build-essential git cmake
73+
- name: autotools-shared
74+
run: |
75+
./super-test.sh cmake-package autotools-shared
76+
- name: autotools-static
77+
run: |
78+
./super-test.sh cmake-package autotools-static
79+
- name: cmake-shared
80+
run: |
81+
./super-test.sh cmake-package cmake-shared
82+
- name: cmake-static
83+
run: |
84+
./super-test.sh cmake-package cmake-static
85+
Android:
86+
runs-on: ubuntu-latest
87+
strategy:
88+
fail-fast: false
89+
steps:
90+
- uses: actions/checkout@v2
91+
- name: install dependencies
92+
run: |
93+
export DEBIAN_FRONTEND=noninteractive
94+
sudo apt-get install -y build-essential git
95+
- name: fetch Android tools
96+
if: steps.cache-android-sdk.outputs.cache-hit != 'true'
97+
run: |
98+
# The installed Android SDK is broken.
99+
unset ANDROID_SDK_ROOT
100+
unset ANDROID_HOME
101+
102+
mkdir android-sdk
103+
cd android-sdk
104+
curl -o commandlinetools.zip https://dl.google.com/android/repository/commandlinetools-linux-6200805_latest.zip
105+
unzip commandlinetools.zip
106+
(yes || true) | tools/bin/sdkmanager --sdk_root=$PWD platform-tools 'platforms;android-25' 'system-images;android-25;google_apis;armeabi-v7a' emulator 'build-tools;25.0.2' ndk-bundle
107+
- name: 32-bit Build and Test
108+
run: |
109+
# The installed Android SDK is broken.
110+
unset ANDROID_SDK_ROOT
111+
unset ANDROID_HOME
112+
113+
echo | android-sdk/tools/bin/avdmanager create avd -n capnp -k 'system-images;android-25;google_apis;armeabi-v7a' -b google_apis/armeabi-v7a
114+
115+
# avdmanager seems to set image.sysdir.1 incorrectly in the AVD's config.ini, which
116+
# causes the emulator to fail. I don't know why. I don't know how to fix it, other than
117+
# to patch the config like so.
118+
sed -i -re 's,^image\.sysdir\.1=android-sdk/,image.sysdir.1=,g' $HOME/.android/avd/capnp.avd/config.ini
119+
120+
./super-test.sh android $PWD/android-sdk arm-linux-androideabi armv7a-linux-androideabi24

libs/EXTERNAL/capnproto/.gitignore

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
# Kenton's personal backup script.
2+
/backup.sh
3+
4+
# Eclipse-generated stuff.
5+
.cproject
6+
.project
7+
.pydevproject
8+
.settings
9+
.dist-buildwrapper
10+
/c++/gen/
11+
12+
# Code you may want to map in from elsewhere.
13+
/c++/src/base
14+
/c++/src/capnp/compilerbin
15+
/c++/src/ekam
16+
/c++/src/os
17+
/c++/src/protobuf
18+
/c++/src/snappy
19+
/c++/src/samples
20+
21+
# Ekam build artifacts.
22+
/c++/tmp/
23+
/c++/bin/
24+
25+
# setup-ekam.sh
26+
/c++/.ekam
27+
28+
# super-test.sh
29+
/tmp-staging
30+
31+
# Jekyll-generated site
32+
/doc/_site
33+
34+
# Checkout of gh-pages made by /doc/push-site.sh
35+
/doc/.gh-pages
36+
37+
# cabal-install artifacts
38+
/compiler/dist/
39+
40+
# Make artefacts
41+
/c++/.libs/
42+
/c++/Makefile
43+
/c++/Makefile.in
44+
/c++/**/*.o
45+
/c++/**/*.lo
46+
/c++/**/.deps/
47+
/c++/**/.dirstamp
48+
/c++/stamp-h1
49+
/c++/**/*.log
50+
/c++/test_capnpc_middleman
51+
/c++/**/test*.capnp.*
52+
/c++/*.la
53+
/c++/**/*.trs
54+
/c++/aclocal.m4
55+
/c++/autom4te.cache/
56+
/c++/build-aux/
57+
/c++/capnp
58+
/c++/capnp-evolution-test
59+
/c++/cmake/CapnProtoConfig.cmake
60+
/c++/cmake/CapnProtoConfigVersion.cmake
61+
/c++/pkgconfig/*.pc
62+
/c++/capnp-test
63+
/c++/capnpc-c++
64+
/c++/capnpc-capnp
65+
/c++/config.*
66+
/c++/configure
67+
/c++/libtool
68+
/c++/m4/libtool.m4
69+
/c++/m4/ltoptions.m4
70+
/c++/m4/ltsugar.m4
71+
/c++/m4/ltversion.m4
72+
/c++/m4/lt~obsolete.m4
73+
/c++/samples/addressbook
74+
75+
# editor artefacts
76+
*~
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
cmake_minimum_required(VERSION 3.4)
2+
project("Cap'n Proto Root" CXX)
3+
add_subdirectory(c++)
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
The following people have made large code contributions to this repository.
2+
Those contributions are copyright the respective authors and licensed by them
3+
under the same MIT license terms as the rest of the library.
4+
5+
Kenton Varda <kenton@sandstorm.io> <kenton@cloudflare.com>: Primary Author
6+
Jason Choy <jjwchoy@gmail.com>: kj/threadlocal.h and other iOS tweaks, `name` annotation in C++ code generator
7+
Remy Blank <rblank@google.com> (contributions copyright Google Inc.): KJ Timers
8+
Joshua Warner <joshuawarner32@gmail.com>: cmake build, AnyStruct/AnyList, other stuff
9+
Scott Purdy <scott@fer.io>: kj/std iostream interface
10+
Bryan Borham <bjboreham@gmail.com>: Initial MSVC support
11+
Philip Quinn <p@partylemon.com>: cmake build and other assorted bits
12+
Brian Taylor <el.wubo@gmail.com>: emacs syntax highlighting
13+
Ben Laurie <ben@links.org>: discovered and responsibly disclosed security bugs
14+
Kamal Marhubi <kamal@marhubi.com>: JSON parser
15+
Oliver Kuckertz <oliver.kuckertz@mologie.de>: FdObserver POLLPRI support
16+
Harris Hancock <vortrab@gmail.com>: MSVC support
17+
Branislav Katreniak <branislav.katreniak@digitalstrom.com>: JSON decode
18+
Matthew Maurer <matthew.r.maurer@gmail.com>: Canonicalization Support
19+
David Renshaw <david@sandstorm.io>: bugfixes and miscellaneous maintenance
20+
Ingvar Stepanyan <me@rreverser.com> <ingvar@cloudflare.com>: Custom handlers for JSON decode
21+
22+
This file does not list people who maintain their own Cap'n Proto
23+
implementations as separate projects. Those people are awesome too! :)

libs/EXTERNAL/capnproto/LICENSE

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
Copyright (c) 2013-2017 Sandstorm Development Group, Inc.; Cloudflare, Inc.;
2+
and other contributors. Each commit is copyright by its respective author or
3+
author's employer.
4+
5+
Licensed under the MIT License:
6+
7+
Permission is hereby granted, free of charge, to any person obtaining a copy
8+
of this software and associated documentation files (the "Software"), to deal
9+
in the Software without restriction, including without limitation the rights
10+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11+
copies of the Software, and to permit persons to whom the Software is
12+
furnished to do so, subject to the following conditions:
13+
14+
The above copyright notice and this permission notice shall be included in
15+
all copies or substantial portions of the Software.
16+
17+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
23+
THE SOFTWARE.
24+

0 commit comments

Comments
 (0)