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