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