2 export NPROC
=`sysctl -n hw.ncpu`
4 if [ x
"$1"x
= x
"--deps"x
]; then
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"
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" \
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"
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.
27 [ -z "$BUILD_DIR" ] && BUILD_DIR
=build
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
&
34 if [ -d ${BUILD_DIR} ]; then
35 sudo
mv ${BUILD_DIR} ${BUILD_DIR}.old
41 -D CMAKE_BUILD_TYPE
=Debug \
42 -D CMAKE_CXX_FLAGS_DEBUG
="$CMAKE_CXX_FLAGS_DEBUG" \
43 -D CMAKE_C_FLAGS_DEBUG
="$CMAKE_C_FLAGS_DEBUG" \
44 -D ENABLE_GIT_VERSION
=OFF \
45 -D WITH_RADOSGW_AMQP_ENDPOINT
=OFF \
46 -D WITH_RADOSGW_KAFKA_ENDPOINT
=OFF \
48 -D WITH_SYSTEM_BOOST
=ON \
49 -D WITH_SYSTEM_NPM
=ON \
51 -D WITH_BABELTRACE
=OFF \
58 -D WITH_LIBCEPHFS
=OFF \
65 echo -n "start building: "; date
69 gmake
-j$CPUS V
=1 VERBOSE
=1
71 echo -n "start testing: "; date ;
72 ctest
-j $CPUS || RETEST
=1
74 echo "Testing result, retest: = " $RETEST
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
88 ctest
--output-on-failure --rerun-failed
93 # cleanup after the fact
94 rm -rf /tmp
/tmp
* /tmp
/foo
/tmp
/pip
* /tmp
/big
* /tmp
/pymp
* $TMPDIR || true
96 echo -n "Ended: "; date