• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#!/bin/bash -eu
2# Copyright 2020 Google Inc.
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8#      http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15#
16################################################################################
17
18set -ex
19
20ARROW=${SRC}/arrow/cpp
21
22cd ${WORK}
23
24# The CMake build setup compiles and runs the Thrift compiler, but ASAN
25# would report leaks and error out.
26export ASAN_OPTIONS="detect_leaks=0"
27
28cmake ${ARROW} -GNinja \
29    -DCMAKE_BUILD_TYPE=Release \
30    -DARROW_DEPENDENCY_SOURCE=BUNDLED \
31    -DBOOST_SOURCE=SYSTEM \
32    -DCMAKE_C_FLAGS="${CFLAGS}" \
33    -DCMAKE_CXX_FLAGS="${CXXFLAGS}" \
34    -DARROW_EXTRA_ERROR_CONTEXT=off \
35    -DARROW_JEMALLOC=off \
36    -DARROW_MIMALLOC=off \
37    -DARROW_FILESYSTEM=off \
38    -DARROW_PARQUET=on \
39    -DARROW_BUILD_SHARED=off \
40    -DARROW_BUILD_STATIC=on \
41    -DARROW_BUILD_TESTS=off \
42    -DARROW_BUILD_INTEGRATION=off \
43    -DARROW_BUILD_BENCHMARKS=off \
44    -DARROW_BUILD_EXAMPLES=off \
45    -DARROW_BUILD_UTILITIES=off \
46    -DARROW_TEST_LINKAGE=static \
47    -DPARQUET_BUILD_EXAMPLES=off \
48    -DPARQUET_BUILD_EXECUTABLES=off \
49    -DPARQUET_REQUIRE_ENCRYPTION=off \
50    -DARROW_WITH_BROTLI=on \
51    -DARROW_WITH_BZ2=off \
52    -DARROW_WITH_LZ4=off \
53    -DARROW_WITH_SNAPPY=off \
54    -DARROW_WITH_ZLIB=off \
55    -DARROW_WITH_ZSTD=off \
56    -DARROW_USE_GLOG=off \
57    -DARROW_USE_ASAN=off \
58    -DARROW_USE_UBSAN=off \
59    -DARROW_USE_TSAN=off \
60    -DARROW_FUZZING=on \
61
62cmake --build .
63
64cp -a release/* ${OUT}
65
66${ARROW}/build-support/fuzzing/generate_corpuses.sh ${OUT}
67