]>
Commit | Line | Data |
---|---|---|
7c673cae | 1 | #!/bin/sh -xve |
11fdf7f2 TL |
2 | export NPROC=`sysctl -n hw.ncpu` |
3 | ||
7c673cae FG |
4 | if [ x"$1"x = x"--deps"x ]; then |
5 | sudo ./install-deps.sh | |
6 | fi | |
7 | ||
8 | if [ x"$CEPH_DEV"x != xx ]; then | |
9 | BUILDOPTS="$BUILDOPTS V=1 VERBOSE=1" | |
10 | CXX_FLAGS_DEBUG="-DCEPH_DEV" | |
11 | C_FLAGS_DEBUG="-DCEPH_DEV" | |
12 | fi | |
13 | ||
14 | # To test with a new release Clang, use with cmake: | |
15 | # -D CMAKE_CXX_COMPILER="/usr/local/bin/clang++-devel" \ | |
16 | # -D CMAKE_C_COMPILER="/usr/local/bin/clang-devel" \ | |
11fdf7f2 TL |
17 | COMPILE_FLAGS="-O0 -g" |
18 | COMPILE_FLAGS="${COMPILE_FLAGS} -fuse-ld=/usr/local/bin/ld -Wno-unused-command-line-argument" | |
19 | CMAKE_CXX_FLAGS_DEBUG="$CXX_FLAGS_DEBUG $COMPILE_FLAGS" | |
20 | CMAKE_C_FLAGS_DEBUG="$C_FLAGS_DEBUG $COMPILE_FLAGS" | |
21 | ||
22 | # | |
23 | # On FreeBSD we need to preinstall all the tools that are required for building | |
24 | # dashboard, because versions fetched are not working on FreeBSD. | |
25 | ||
26 | ||
9f95a23c TL |
27 | [ -z "$BUILD_DIR" ] && BUILD_DIR=build |
28 | ||
29 | echo Keeping the old build | |
30 | if [ -d ${BUILD_DIR}.old ]; then | |
31 | sudo mv ${BUILD_DIR}.old ${BUILD_DIR}.del | |
32 | sudo rm -rf ${BUILD_DIR}.del & | |
33 | fi | |
34 | if [ -d ${BUILD_DIR} ]; then | |
35 | sudo mv ${BUILD_DIR} ${BUILD_DIR}.old | |
11fdf7f2 | 36 | fi |
7c673cae | 37 | |
9f95a23c | 38 | mkdir ${BUILD_DIR} |
11fdf7f2 TL |
39 | ./do_cmake.sh "$*" \ |
40 | -D WITH_CCACHE=ON \ | |
7c673cae | 41 | -D CMAKE_BUILD_TYPE=Debug \ |
9f95a23c TL |
42 | -D CMAKE_CXX_FLAGS_DEBUG="$CMAKE_CXX_FLAGS_DEBUG" \ |
43 | -D CMAKE_C_FLAGS_DEBUG="$CMAKE_C_FLAGS_DEBUG" \ | |
7c673cae | 44 | -D ENABLE_GIT_VERSION=OFF \ |
11fdf7f2 | 45 | -D WITH_RADOSGW_AMQP_ENDPOINT=OFF \ |
9f95a23c | 46 | -D WITH_RADOSGW_KAFKA_ENDPOINT=OFF \ |
20effc67 | 47 | -D WITH_SYSTEMD=OFF \ |
7c673cae | 48 | -D WITH_SYSTEM_BOOST=ON \ |
11fdf7f2 | 49 | -D WITH_SYSTEM_NPM=ON \ |
7c673cae | 50 | -D WITH_LTTNG=OFF \ |
11fdf7f2 TL |
51 | -D WITH_BABELTRACE=OFF \ |
52 | -D WITH_SEASTAR=OFF \ | |
7c673cae FG |
53 | -D WITH_FUSE=ON \ |
54 | -D WITH_KRBD=OFF \ | |
55 | -D WITH_XFS=OFF \ | |
11fdf7f2 | 56 | -D WITH_KVS=ON \ |
7c673cae FG |
57 | -D CEPH_MAN_DIR=man \ |
58 | -D WITH_LIBCEPHFS=OFF \ | |
59 | -D WITH_CEPHFS=OFF \ | |
7c673cae | 60 | -D WITH_MGR=YES \ |
11fdf7f2 TL |
61 | -D WITH_RDMA=OFF \ |
62 | -D WITH_SPDK=OFF \ | |
7c673cae FG |
63 | 2>&1 | tee cmake.log |
64 | ||
9f95a23c TL |
65 | echo -n "start building: "; date |
66 | printenv | |
67 | ||
68 | cd ${BUILD_DIR} | |
69 | gmake -j$CPUS V=1 VERBOSE=1 | |
70 | gmake tests | |
71 | echo -n "start testing: "; date ; | |
72 | ctest -j $CPUS || RETEST=1 | |
73 | ||
74 | echo "Testing result, retest: = " $RETEST | |
75 | ||
76 | if [ $RETEST -eq 1 ]; then | |
77 | # make sure no leftovers are there | |
78 | killall ceph-osd || true | |
79 | killall ceph-mgr || true | |
80 | killall ceph-mds || true | |
81 | killall ceph-mon || true | |
82 | # clean up after testing | |
83 | rm -rf td/* /tmp/td src/test/td/* || true | |
84 | rm -rf /tmp/ceph-asok.* || true | |
85 | rm -rf /tmp/cores.* || true | |
86 | rm -rf /tmp/*.core || true | |
87 | ||
88 | ctest --output-on-failure --rerun-failed | |
89 | fi | |
90 | ||
91 | STATUS=$? | |
92 | ||
93 | # cleanup after the fact | |
94 | rm -rf /tmp/tmp* /tmp/foo /tmp/pip* /tmp/big* /tmp/pymp* $TMPDIR || true | |
95 | ||
96 | echo -n "Ended: "; date | |
7c673cae | 97 | |
9f95a23c | 98 | return $STATUS |
7c673cae | 99 |