From: Liu Yuan <tailai.ly at taobao.com> Signed-off-by: Liu Yuan <tailai.ly at taobao.com> --- configure.ac | 25 ++++++++++++++++++++++++- sheep/Makefile.am | 7 ++++++- 2 files changed, 30 insertions(+), 2 deletions(-) diff --git a/configure.ac b/configure.ac index 7a5eedf..b2166d7 100644 --- a/configure.ac +++ b/configure.ac @@ -208,6 +208,11 @@ AC_ARG_ENABLE([trace], [ enable_trace="no" ],) AM_CONDITIONAL(BUILD_TRACE, test x$enable_trace = xyes) +AC_ARG_ENABLE([sheepfs], + [ --enable-sheepfs : enable sheepfs],, + [ enable_sheepfs="yes" ],) +AM_CONDITIONAL(BUILD_SHEEPFS, test x$enable_sheepfs = xyes) + CP=cp OS_LDL="-ldl" case "$host_os" in @@ -285,6 +290,15 @@ if test "x${enable_trace}" = xyes; then PACKAGE_FEATURES="$PACKAGE_FEATURES trace" fi +if test "x${enable_sheepfs}" = xyes; then + AC_CHECK_LIB([fuse], [fuse_main_real],, + AC_MSG_ERROR(libfuse not found)) +# AC_CHECK_HEADERS([fuse.h],, +# AC_MSG_ERROR(fuse header missing)) + AC_DEFINE_UNQUOTED([HAVE_SHEEPFS], 1, [have sheepfs]) + PACKAGE_FEATURES="$PACKAGE_FEATURES sheepfs" +fi + # extra warnings EXTRA_WARNINGS="" @@ -349,8 +363,16 @@ else TRACE_CFLAGS="" fi +if test "x${enable_sheepfs}" = xyes ; then + AC_MSG_NOTICE([Enabling sheepfs (-lfuse)]) + SHEEPFS_CFLAGS="-lfuse -DENABLE_SHEEPFS -DFUSE_USE_VERSION=26 -D_FILE_OFFSET_BITS=64" + PACKAGE_FEATURES="$PACKAGE_FEATURES sheepfs" +else + SHEEPFS_CFLAGS="" +fi + # final build of *FLAGS -CFLAGS="$ENV_CFLAGS $OPT_CFLAGS $GDB_FLAGS $OS_CFLAGS \ +CFLAGS="$ENV_CFLAGS $OPT_CFLAGS $GDB_FLAGS $OS_CFLAGS $SHEEPFS_CFLAGS \ $TRACE_CFLAGS $COVERAGE_CFLAGS $EXTRA_WARNINGS $WERROR_CFLAGS $NSS_CFLAGS \ -D_GNU_SOURCE" CPPFLAGS="$ENV_CPPFLAGS $ANSI_CPPFLAGS $OS_CPPFLAGS" @@ -409,6 +431,7 @@ AC_MSG_RESULT([ Coverage CFLAGS = ${COVERAGE_CFLAGS}]) AC_MSG_RESULT([ Coverage LDFLAGS = ${COVERAGE_LDFLAGS}]) AC_MSG_RESULT([ Fatal War. CFLAGS = ${WERROR_CFLAGS}]) AC_MSG_RESULT([ Trace CFLAGS = ${TRACE_CFLAGS}]) +AC_MSG_RESULT([ Sheepfs CFLAGS = ${SHEEPFS_CFLAGS}]) AC_MSG_RESULT([ Final CFLAGS = ${CFLAGS}]) AC_MSG_RESULT([ Final CPPFLAGS = ${CPPFLAGS}]) AC_MSG_RESULT([ Final LDFLAGS = ${LDFLAGS}]) diff --git a/sheep/Makefile.am b/sheep/Makefile.am index 7448ae1..9ad9492 100644 --- a/sheep/Makefile.am +++ b/sheep/Makefile.am @@ -46,12 +46,17 @@ if BUILD_TRACE sheep_SOURCES += trace/trace.c trace/mcount.S trace/stabs.c trace/graph.c endif +if BUILD_SHEEPFS +sheep_SOURCES += sheepfs/core.c sheepfs/cluster.c sheepfs/VDI.c +endif + sheep_LDADD = ../lib/libsheepdog.a -lpthread \ $(libcpg_LIBS) $(libcfg_LIBS) $(libacrd_LIBS) $(LIBS) sheep_DEPENDENCIES = ../lib/libsheepdog.a -noinst_HEADERS = work.h sheep_priv.h cluster.h strbuf.h farm/farm.h trace/trace.h +noinst_HEADERS = work.h sheep_priv.h cluster.h strbuf.h farm/farm.h trace/trace.h \ + sheepfs/sheepfs.h EXTRA_DIST = -- 1.7.8.2 |