From 27303c2d5d094088fd6afcceccac53bbb9c73f08 Mon Sep 17 00:00:00 2001 From: Adeeb Shihadeh Date: Thu, 7 May 2020 21:07:18 -0700 Subject: [PATCH] don't need c capnp any more --- SConstruct | 5 +---- cereal | 2 +- external/mac/capnpc-c | Bin 120380 -> 0 bytes selfdrive/boardd/boardd_setup.py | 1 - tools/README.md | 9 --------- 5 files changed, 2 insertions(+), 15 deletions(-) delete mode 100755 external/mac/capnpc-c diff --git a/SConstruct b/SConstruct index 60ec20e39e..e4c88534b0 100644 --- a/SConstruct +++ b/SConstruct @@ -43,7 +43,7 @@ if arch == "aarch64" or arch == "larch64": ] if arch == "larch64": - cpppath += ["#phonelibs/capnp-cpp/include", "#phonelibs/capnp-c/include"] + cpppath += ["#phonelibs/capnp-cpp/include"] libpath += ["#phonelibs/snpe/larch64"] libpath += ["#phonelibs/libyuv/larch64/lib"] libpath += ["#external/capnparm/lib", "/usr/lib/aarch64-linux-gnu"] @@ -63,7 +63,6 @@ else: } cpppath = [ "#phonelibs/capnp-cpp/include", - "#phonelibs/capnp-c/include", "#phonelibs/zmq/x64/include", "#external/tensorflow/include", ] @@ -71,7 +70,6 @@ else: if arch == "Darwin": libpath = [ "#phonelibs/capnp-cpp/mac/lib", - "#phonelibs/capnp-c/mac/lib", "#phonelibs/libyuv/mac/lib", "#cereal", "#selfdrive/common", @@ -81,7 +79,6 @@ else: else: libpath = [ "#phonelibs/capnp-cpp/x64/lib", - "#phonelibs/capnp-c/x64/lib", "#phonelibs/snpe/x86_64-linux-clang", "#phonelibs/zmq/x64/lib", "#phonelibs/libyuv/x64/lib", diff --git a/cereal b/cereal index 8573a24d2e..42e0a7e6bc 160000 --- a/cereal +++ b/cereal @@ -1 +1 @@ -Subproject commit 8573a24d2e19e00f5667aee6d2bf689dfda35ee7 +Subproject commit 42e0a7e6bcb0c1191774f0595560486de2d6ee0c diff --git a/external/mac/capnpc-c b/external/mac/capnpc-c deleted file mode 100755 index d1a3e31730234d03dda2b4bbabb17689a1214822..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 120380 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%0AM>)cZbWo_wt({Xpy&Fb^?1N!!@`YHKpVGC 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 diff --git a/selfdrive/boardd/boardd_setup.py b/selfdrive/boardd/boardd_setup.py index b8997f8542..5956c11a52 100644 --- a/selfdrive/boardd/boardd_setup.py +++ b/selfdrive/boardd/boardd_setup.py @@ -35,7 +35,6 @@ setup(name='Boardd API Implementation', library_dirs=[ './', PHONELIBS + '/capnp-cpp/' + ARCH_DIR + '/lib/', - PHONELIBS + '/capnp-c/' + ARCH_DIR + '/lib/' ], sources=['boardd_api_impl.pyx'], language="c++", diff --git a/tools/README.md b/tools/README.md index f198ed2bee..ea0fd7d83a 100644 --- a/tools/README.md +++ b/tools/README.md @@ -120,15 +120,6 @@ TODO: These instructions maybe outdated, follow ubuntu_setup.sh setup instructio ./configure --prefix=/usr/local CPPFLAGS=-DPIC CFLAGS=-fPIC CXXFLAGS=-fPIC LDFLAGS=-fPIC --disable-shared --enable-static make -j4 sudo make install - - cd .. - git clone https://github.com/commaai/c-capnproto.git - cd c-capnproto - git submodule update --init --recursive - autoreconf -f -i -s - CFLAGS="-fPIC" ./configure --prefix=/usr/local - make -j4 - sudo make install ``` 2. Clone openpilot if you haven't already