]>
Commit | Line | Data |
---|---|---|
1d09f67e TL |
1 | #!/usr/bin/env bash |
2 | # Licensed to the Apache Software Foundation (ASF) under one | |
3 | # or more contributor license agreements. See the NOTICE file | |
4 | # distributed with this work for additional information | |
5 | # regarding copyright ownership. The ASF licenses this file | |
6 | # to you under the Apache License, Version 2.0 (the | |
7 | # "License"); you may not use this file except in compliance | |
8 | # with the License. You may obtain a copy of the License at | |
9 | # | |
10 | # http://www.apache.org/licenses/LICENSE-2.0 | |
11 | # | |
12 | # Unless required by applicable law or agreed to in writing, | |
13 | # software distributed under the License is distributed on an | |
14 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | |
15 | # KIND, either express or implied. See the License for the | |
16 | # specific language governing permissions and limitations | |
17 | # under the License. | |
18 | ||
19 | set -e | |
20 | ||
21 | : ${ARROW_DIR:=/arrow} | |
22 | : ${EXAMPLE_DIR:=/io} | |
23 | : ${ARROW_BUILD_DIR:=/build/arrow} | |
24 | : ${EXAMPLE_BUILD_DIR:=/build/example} | |
25 | ||
26 | : ${ARROW_DEPENDENCY_SOURCE:=BUNDLED} | |
27 | ||
28 | echo | |
29 | echo "==" | |
30 | echo "== Building Arrow C++ library" | |
31 | echo "==" | |
32 | echo | |
33 | ||
34 | mkdir -p $ARROW_BUILD_DIR | |
35 | pushd $ARROW_BUILD_DIR | |
36 | ||
37 | NPROC=$(nproc) | |
38 | ||
39 | cmake $ARROW_DIR/cpp \ | |
40 | -DARROW_BUILD_SHARED=OFF \ | |
41 | -DARROW_BUILD_STATIC=ON \ | |
42 | -DARROW_COMPUTE=ON \ | |
43 | -DARROW_CSV=ON \ | |
44 | -DARROW_DATASET=ON \ | |
45 | -DARROW_DEPENDENCY_SOURCE=${ARROW_DEPENDENCY_SOURCE} \ | |
46 | -DARROW_DEPENDENCY_USE_SHARED=OFF \ | |
47 | -DARROW_FILESYSTEM=ON \ | |
48 | -DARROW_HDFS=ON \ | |
49 | -DARROW_JEMALLOC=ON \ | |
50 | -DARROW_JSON=ON \ | |
51 | -DARROW_ORC=ON \ | |
52 | -DARROW_PARQUET=ON \ | |
53 | -DARROW_PLASMA=ON \ | |
54 | -DARROW_WITH_BROTLI=ON \ | |
55 | -DARROW_WITH_BZ2=ON \ | |
56 | -DARROW_WITH_LZ4=ON \ | |
57 | -DARROW_WITH_SNAPPY=ON \ | |
58 | -DARROW_WITH_ZLIB=ON \ | |
59 | -DARROW_WITH_ZSTD=ON \ | |
60 | -DORC_SOURCE=BUNDLED \ | |
61 | $ARROW_CMAKE_OPTIONS | |
62 | ||
63 | make -j$NPROC | |
64 | make install | |
65 | ||
66 | popd | |
67 | ||
68 | echo | |
69 | echo "==" | |
70 | echo "== CMake:" | |
71 | echo "== Building example project using Arrow C++ library" | |
72 | echo "==" | |
73 | echo | |
74 | ||
75 | rm -rf $EXAMPLE_BUILD_DIR | |
76 | mkdir -p $EXAMPLE_BUILD_DIR | |
77 | pushd $EXAMPLE_BUILD_DIR | |
78 | ||
79 | cmake $EXAMPLE_DIR -DARROW_LINK_SHARED=OFF | |
80 | make | |
81 | ||
82 | popd | |
83 | ||
84 | echo | |
85 | echo "==" | |
86 | echo "== CMake:" | |
87 | echo "== Running example project" | |
88 | echo "==" | |
89 | echo | |
90 | ||
91 | pushd $EXAMPLE_DIR | |
92 | ||
93 | $EXAMPLE_BUILD_DIR/arrow_example | |
94 | ||
95 | echo | |
96 | echo "==" | |
97 | echo "== pkg-config" | |
98 | echo "== Building example project using Arrow C++ library" | |
99 | echo "==" | |
100 | echo | |
101 | ||
102 | rm -rf $EXAMPLE_BUILD_DIR | |
103 | mkdir -p $EXAMPLE_BUILD_DIR | |
104 | ${CXX:-c++} \ | |
105 | -o $EXAMPLE_BUILD_DIR/arrow_example \ | |
106 | $EXAMPLE_DIR/example.cc \ | |
107 | $(PKG_CONFIG_PATH=$ARROW_BUILD_DIR/lib/pkgconfig \ | |
108 | pkg-config --cflags --libs --static arrow) | |
109 | ||
110 | popd | |
111 | ||
112 | echo | |
113 | echo "==" | |
114 | echo "== pkg-config:" | |
115 | echo "== Running example project" | |
116 | echo "==" | |
117 | echo | |
118 | ||
119 | pushd $EXAMPLE_DIR | |
120 | ||
121 | $EXAMPLE_BUILD_DIR/arrow_example |