]> git.proxmox.com Git - ceph.git/blob - ceph/src/arrow/cpp/examples/minimal_build/run_static.sh
import quincy 17.2.0
[ceph.git] / ceph / src / arrow / cpp / examples / minimal_build / run_static.sh
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