From e1c46c7212971432dc1c7af867d7b542859d34a5 Mon Sep 17 00:00:00 2001 From: Wes McKinney Date: Wed, 13 Feb 2019 23:02:48 -0600 Subject: [PATCH] Build IWYU for LLVM 7 in iwyu docker-compose job Change-Id: I3bf8bd27728094656e81af480de607853259c694 --- dev/lint/Dockerfile | 4 +--- dev/lint/run_iwyu.sh | 23 +++++++++++++++++++++-- docker-compose.yml | 3 --- 3 files changed, 22 insertions(+), 8 deletions(-) diff --git a/dev/lint/Dockerfile b/dev/lint/Dockerfile index e3562c5f21cec..a468e2e9b182a 100644 --- a/dev/lint/Dockerfile +++ b/dev/lint/Dockerfile @@ -21,12 +21,10 @@ RUN apt-get install -y -q gnupg && \ apt update && \ apt-get install -y -q \ clang-7 \ + libclang-7-dev \ clang-format-7 \ clang-tidy-7 \ clang-tools-7 RUN conda install flake8 && \ conda clean --all -y - -# https://bugs.launchpad.net/ubuntu/+source/iwyu/+bug/1769334 -RUN ln -sv /usr/lib/clang/6.0 /usr/lib/clang/5.0.1 diff --git a/dev/lint/run_iwyu.sh b/dev/lint/run_iwyu.sh index 3f39357ae32d1..b3d8c8ebf5af3 100755 --- a/dev/lint/run_iwyu.sh +++ b/dev/lint/run_iwyu.sh @@ -22,15 +22,34 @@ mkdir -p /build/lint pushd /build/lint cmake -GNinja \ + -DARROW_FLIGHT=ON \ + -DARROW_GANDIVA=ON \ -DARROW_PARQUET=ON \ -DARROW_PYTHON=ON \ -DCMAKE_CXX_FLAGS='-D_GLIBCXX_USE_CXX11_ABI=0' \ -DCMAKE_EXPORT_COMPILE_COMMANDS=ON \ /arrow/cpp -# Make so that vendored bits are built -ninja arrow_shared popd +# Build IWYU for current Clang +git clone https://github.com/include-what-you-use/include-what-you-use.git +pushd include-what-you-use +git checkout clang_7.0 +popd + +export CC=clang-7 +export CXX=clang++-7 + +mkdir -p iwyu +pushd iwyu +cmake -G "Unix Makefiles" \ + -DCMAKE_PREFIX_PATH=/usr/lib/llvm-7 \ + ../include-what-you-use +make -j4 +popd + +export PATH=`pwd`/iwyu/bin:$PATH + export IWYU_COMPILATION_DATABASE_PATH=/build/lint /arrow/cpp/build-support/iwyu/iwyu.sh all diff --git a/docker-compose.yml b/docker-compose.yml index b93fed74b18d1..b322d9b84f700 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -207,9 +207,6 @@ services: # docker-compose build lint # docker-compose run iwyu image: arrow:lint - environment: - CC: clang - CXX: clang++ command: arrow/dev/lint/run_iwyu.sh volumes: *ubuntu-volumes