ceph/autogen_freebsd.sh
Willem Jan Withagen 89f63d4ae8 FreeBSD/build: Files specific for building on FreeBSD
- README.FreeBSD for the description of the current work thusfar
 - do_freebsd.sh, the srcipt to run autobuild/compile/tests
 - autogen_freebsd.sh set the options to use in the auto/configure tools
 - do_freebsd.sh: Install bash and softlink, so other bash scripts can
   run as is. Using /usr/bin/env would be more compliant.
   But not for now. This makes it compatible with the std-linux environment
 - So now we can even have Clang in /usr/bin and /usr/local/bin
   and still get the right one.
 - Use less error suppression, but start fixing warning.

Signed-off-by: Willem Jan Withagen <wjw@digiware.nl>
2016-05-10 23:41:17 +02:00

64 lines
1.9 KiB
Bash

# Set the FreeBSD specific configure flags
FREEBSD_CONFIGURE_FLAGS=
if [ x`uname`x = x"FreeBSD"x ]; then
MAKE=gmake
# We need at least something > clang 3.4
# tested with package clang37 on FreeBSD 10.2 ( Which has 3.4 as default )
if clang -v 2>&1 | grep -q "3.8" ; then
CC=clang
CXX=clang++
elif [ -f /usr/local/bin/clang37 ]; then
CC=clang37
CXX=clang++37
else
echo "Need a better compiler"
exit 1
fi
CWARN=""
CLANGWARN="-Wno-unused-function -Wno-unused-local-typedef -Wno-inconsistent-missing-override"
CLANGWARN="$CLANGWARN -Wno-unused-private-field"
CLANGWARN="$CLANGWARN -Wno-varargs"
CLANGWARN="$CLANGWARN -Wno-gnu-designator"
# "-Wno-unused-local-typedef -Wno-mismatched-tags -Wno-macro-redefined -Wno-unused-function -Wno-unused-label -Wno-undefined-bool-conversion -Wno-unused-private-field -Wno-unused-local-typedef -Wno-uninitialized -Wno-gnu-designator -Wno-inconsistent-missing-override -Wno-deprecated-declarations -Wno-parentheses"
CFLAGS="-g -I/usr/local/include ${CWARN} ${CLANGWARN}"
CXXFLAGS="-g -DGTEST_USE_OWN_TR1_TUPLE=1 -I/usr/local/include ${CWARN} ${CLANGWARN}"
LDFLAGS="-g ${LDFLAGS} -L/usr/local/lib -export-dynamic -luuid"
FREEBSD_CONFIGURE_FLAGS="
--disable-silent-rules
--disable-gitversion
--with-debug
--with-rados
--without-rbd
--with-radosgw
--with-radosstriper
--with-mon
--with-osd
--with-mds
--with-radosgw
--with-nss
--without-tcmalloc
--without-libaio
--without-libxfs
--without-fuse
--without-lttng
--with-libzfs=no
--without-rocksdb
--without-cephfs
"
# --without-radosgw
# --with-gnu-ld
fi
CONFIGURE_FLAGS="${FREEBSD_CONFIGURE_FLAGS}"
# Export these so that ./configure will pick up
export MAKE
export CC
export CXX
export CFLAGS
export CXXFLAGS
export CONFIGURE_FLAGS
export LDFLAGS