Skip to content

Commit bd009b7

Browse files
authored
Merge pull request #2065 from verilog-to-routing/update_capnproto_v0.9.1
Update capnproto library to v0.9.1
2 parents 298a159 + 433d118 commit bd009b7

File tree

291 files changed

+34406
-7019
lines changed

Some content is hidden

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

291 files changed

+34406
-7019
lines changed

dev/subtree_config.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
name="capnproto"
3434
internal_path="libs/EXTERNAL/capnproto"
3535
external_url="https://github.com/capnproto/capnproto.git"
36-
default_external_ref="v0.7.0"/>
36+
default_external_ref="v0.9.1"/>
3737
<subtree
3838
name="libyosys"
3939
internal_path="libs/EXTERNAL/libyosys"
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/.travis.yml

Lines changed: 0 additions & 77 deletions
This file was deleted.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
cmake_minimum_required(VERSION 3.1)
1+
cmake_minimum_required(VERSION 3.4)
22
project("Cap'n Proto Root" CXX)
33
add_subdirectory(c++)

libs/EXTERNAL/capnproto/README.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
1-
Unix: [![Unix Build Status](https://travis-ci.org/capnproto/capnproto.svg?branch=master)](https://travis-ci.org/capnproto/capnproto) Windows: [![Windows Build Status](https://ci.appveyor.com/api/projects/status/9rxff2tujkae4hte?svg=true)](https://ci.appveyor.com/project/kentonv/capnproto)
1+
[![Quick Tests](https://github.com/capnproto/capnproto/workflows/Quick%20Tests/badge.svg?branch=master&event=push)](https://github.com/capnproto/capnproto/actions?query=workflow%3A%22Quick+Tests%22)
2+
[![Release Tests](https://github.com/capnproto/capnproto/workflows/Release%20Tests/badge.svg?branch=master&event=push)](https://github.com/capnproto/capnproto/actions?query=workflow%3A%22Release+Tests%22)
23

3-
<img src='http://kentonv.github.com/capnproto/images/infinity-times-faster.png' style='width:334px; height:306px; float: right;'>
4+
<img src='http://kentonv.github.io/capnproto/images/infinity-times-faster.png' style='width:334px; height:306px; float: right;'>
45

56
Cap'n Proto is an insanely fast data interchange format and capability-based RPC system. Think
67
JSON, except binary. Or think [Protocol Buffers](https://github.com/google/protobuf), except faster.
78
In fact, in benchmarks, Cap'n Proto is INFINITY TIMES faster than Protocol Buffers.
89

9-
[Read more...](http://kentonv.github.com/capnproto/)
10+
[Read more...](http://kentonv.github.io/capnproto/)

0 commit comments

Comments
 (0)