Merge pull request #22599 from anthonyeleven/patch-2
[ceph.git] / do_freebsd.sh
1 #!/bin/sh -xve
2 export NPROC=`sysctl -n hw.ncpu`
3
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" \
17 #
18 #   On FreeBSD we need to preinstall all the tools that are required for building
19 #   dashboard, because versions fetched are not working on FreeBSD.
20  
21
22 if [ -d build ]; then
23     mv build build.remove
24     rm -f build.remove &
25 fi
26
27 ./do_cmake.sh "$*" \
28         -D WITH_CCACHE=ON \
29         -D CMAKE_BUILD_TYPE=Debug \
30         -D CMAKE_CXX_FLAGS_DEBUG="$CXX_FLAGS_DEBUG -O0 -g" \
31         -D CMAKE_C_FLAGS_DEBUG="$C_FLAGS_DEBUG -O0 -g" \
32         -D ENABLE_GIT_VERSION=OFF \
33         -D WITH_SYSTEM_BOOST=ON \
34         -D WITH_SYSTEM_NPM=ON \
35         -D WITH_LTTNG=OFF \
36         -D WITH_BABELTRACE=OFF \
37         -D WITH_SEASTAR=OFF \
38         -D WITH_BLKID=OFF \
39         -D WITH_BLUESTORE=OFF \
40         -D WITH_FUSE=ON \
41         -D WITH_KRBD=OFF \
42         -D WITH_XFS=OFF \
43         -D WITH_KVS=OFF \
44         -D CEPH_MAN_DIR=man \
45         -D WITH_LIBCEPHFS=OFF \
46         -D WITH_CEPHFS=OFF \
47         -D WITH_MGR=YES \
48         -D WITH_RDMA=OFF \
49         -D WITH_SPDK=OFF \
50         2>&1 | tee cmake.log
51
52 echo start building 
53 date
54 (cd build; gmake -j$NPROC $BUILDOPTS )
55
56 echo start testing 
57 date
58 # And remove cores leftover from previous runs
59 sudo rm -rf /tmp/cores.*
60 (cd build; ctest -j$NPROC || ctest --rerun-failed --output-on-failure)
61