ea3caa91dd461e4eac657e264878f75b8245d8c7
[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 COMPILE_FLAGS="-O0 -g"
18 if [ `sysctl -n kern.osreldate` -le 1102000 ]; then
19     # We need to use the llvm linker for linking ceph-dencoder
20     COMPILE_FLAGS="$COMPILE_FLAGS -fuse-ld=/usr/bin/ld.lld"
21 fi
22 CMAKE_CXX_FLAGS_DEBUG="$CXX_FLAGS_DEBUG $COMPILE_FLAGS"
23 CMAKE_C_FLAGS_DEBUG="$C_FLAGS_DEBUG $COMPILE_FLAGS"
24
25 #
26 #   On FreeBSD we need to preinstall all the tools that are required for building
27 #   dashboard, because versions fetched are not working on FreeBSD.
28  
29
30 if [ -d build ]; then
31     mv build build.remove
32     rm -f build.remove &
33 fi
34
35 ./do_cmake.sh "$*" \
36         -D WITH_CCACHE=ON \
37         -D CMAKE_BUILD_TYPE=Debug \
38         -D CMAKE_CXX_FLAGS_DEBUG="$CXX_FLAGS_DEBUG" \
39         -D CMAKE_C_FLAGS_DEBUG="$C_FLAGS_DEBUG" \
40         -D ENABLE_GIT_VERSION=OFF \
41         -D WITH_RADOSGW_AMQP_ENDPOINT=OFF \
42         -D WITH_SYSTEM_BOOST=ON \
43         -D WITH_SYSTEM_NPM=ON \
44         -D WITH_LTTNG=OFF \
45         -D WITH_BABELTRACE=OFF \
46         -D WITH_SEASTAR=OFF \
47         -D WITH_BLKID=OFF \
48         -D WITH_FUSE=ON \
49         -D WITH_KRBD=OFF \
50         -D WITH_XFS=OFF \
51         -D WITH_KVS=ON \
52         -D CEPH_MAN_DIR=man \
53         -D WITH_LIBCEPHFS=OFF \
54         -D WITH_CEPHFS=OFF \
55         -D WITH_MGR=YES \
56         -D WITH_RDMA=OFF \
57         -D WITH_SPDK=OFF \
58         2>&1 | tee cmake.log
59
60 echo start building 
61 date
62 (cd build; gmake -j$NPROC $BUILDOPTS )
63
64 echo start testing 
65 date
66 # And remove cores leftover from previous runs
67 sudo rm -rf /tmp/cores.*
68 (cd build; ctest -j$NPROC || ctest --rerun-failed --output-on-failure)
69