]>
Commit | Line | Data |
---|---|---|
81eedcae | 1 | #!/usr/bin/env bash |
9f95a23c TL |
2 | set -ex |
3 | ||
7c673cae | 4 | git submodule update --init --recursive |
9f95a23c TL |
5 | |
6 | : ${BUILD_DIR:=build} | |
7 | : ${CEPH_GIT_DIR:=..} | |
8 | ||
9 | if [ -e $BUILD_DIR ]; then | |
10 | echo "'$BUILD_DIR' dir already exists; either rm -rf '$BUILD_DIR' and re-run, or set BUILD_DIR env var to a different directory name" | |
7c673cae FG |
11 | exit 1 |
12 | fi | |
31f18b77 | 13 | |
11fdf7f2 | 14 | PYBUILD="2" |
9f95a23c TL |
15 | if [ -r /etc/os-release ]; then |
16 | source /etc/os-release | |
17 | case "$ID" in | |
18 | fedora) | |
19 | PYBUILD="3.7" | |
20 | if [ "$VERSION_ID" -ge "32" ] ; then | |
21 | PYBUILD="3.8" | |
22 | fi | |
23 | ;; | |
24 | rhel|centos) | |
25 | MAJOR_VER=$(echo "$VERSION_ID" | sed -e 's/\..*$//') | |
26 | if [ "$MAJOR_VER" -ge "8" ] ; then | |
27 | PYBUILD="3.6" | |
28 | fi | |
29 | ;; | |
30 | opensuse*|suse|sles) | |
31 | PYBUILD="3" | |
32 | ARGS+=" -DWITH_RADOSGW_AMQP_ENDPOINT=OFF" | |
33 | ARGS+=" -DWITH_RADOSGW_KAFKA_ENDPOINT=OFF" | |
34 | ;; | |
35 | esac | |
36 | elif [ "$(uname)" == FreeBSD ] ; then | |
37 | PYBUILD="3" | |
38 | ARGS+=" -DWITH_RADOSGW_AMQP_ENDPOINT=OFF" | |
39 | ARGS+=" -DWITH_RADOSGW_KAFKA_ENDPOINT=OFF" | |
40 | else | |
41 | echo Unknown release | |
42 | exit 1 | |
43 | fi | |
44 | ||
45 | if [[ "$PYBUILD" =~ ^3(\..*)?$ ]] ; then | |
46 | ARGS+=" -DWITH_PYTHON3=${PYBUILD}" | |
11fdf7f2 TL |
47 | fi |
48 | ||
49 | if type ccache > /dev/null 2>&1 ; then | |
31f18b77 | 50 | echo "enabling ccache" |
9f95a23c | 51 | ARGS+=" -DWITH_CCACHE=ON" |
11fdf7f2 | 52 | fi |
31f18b77 | 53 | |
9f95a23c TL |
54 | mkdir $BUILD_DIR |
55 | cd $BUILD_DIR | |
11fdf7f2 TL |
56 | if type cmake3 > /dev/null 2>&1 ; then |
57 | CMAKE=cmake3 | |
58 | else | |
59 | CMAKE=cmake | |
60 | fi | |
9f95a23c TL |
61 | ${CMAKE} $ARGS "$@" $CEPH_GIT_DIR || exit 1 |
62 | set +x | |
7c673cae FG |
63 | |
64 | # minimal config to find plugins | |
65 | cat <<EOF > ceph.conf | |
9f95a23c | 66 | [global] |
7c673cae FG |
67 | plugin dir = lib |
68 | erasure code dir = lib | |
69 | EOF | |
70 | ||
7c673cae | 71 | echo done. |
9f95a23c TL |
72 | |
73 | if [[ ! $ARGS =~ "-DCMAKE_BUILD_TYPE" ]]; then | |
74 | cat <<EOF | |
11fdf7f2 TL |
75 | |
76 | **** | |
77 | WARNING: do_cmake.sh now creates debug builds by default. Performance | |
78 | may be severely affected. Please use -DCMAKE_BUILD_TYPE=RelWithDebInfo | |
79 | if a performance sensitive build is required. | |
80 | **** | |
81 | EOF | |
9f95a23c TL |
82 | fi |
83 |