|
@@ -0,0 +1,270 @@
|
|
|
+#
|
|
|
+# Licensed to the Apache Software Foundation (ASF) under one or more
|
|
|
+# contributor license agreements. See the NOTICE file distributed with
|
|
|
+# this work for additional information regarding copyright ownership.
|
|
|
+# The ASF licenses this file to You under the Apache License, Version 2.0
|
|
|
+# (the "License"); you may not use this file except in compliance with
|
|
|
+# the License. You may obtain a copy of the License at
|
|
|
+#
|
|
|
+# http://www.apache.org/licenses/LICENSE-2.0
|
|
|
+#
|
|
|
+# Unless required by applicable law or agreed to in writing, software
|
|
|
+# distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
+# See the License for the specific language governing permissions and
|
|
|
+# limitations under the License.
|
|
|
+#
|
|
|
+
|
|
|
+AC_DEFUN([FUSE_DFS_INITIALIZE],
|
|
|
+[
|
|
|
+AM_INIT_AUTOMAKE([ foreign 1.9.5 no-define ])
|
|
|
+if test "x$1" = "xlocalinstall"; then
|
|
|
+wdir=`pwd`
|
|
|
+# To use $wdir undef quote.
|
|
|
+#
|
|
|
+##########
|
|
|
+AC_PREFIX_DEFAULT([`pwd`/install])
|
|
|
+echo
|
|
|
+fi
|
|
|
+AC_PROG_CC
|
|
|
+AC_PROG_CXX
|
|
|
+AC_PROG_RANLIB(RANLIB, ranlib)
|
|
|
+AC_PATH_PROGS(BASH, bash)
|
|
|
+AC_PATH_PROGS(PERL, perl)
|
|
|
+AC_PATH_PROGS(PYTHON, python)
|
|
|
+AC_PATH_PROGS(AR, ar)
|
|
|
+AC_PATH_PROGS(ANT, ant)
|
|
|
+PRODUCT_MK=""
|
|
|
+])
|
|
|
+
|
|
|
+AC_DEFUN([FUSE_DFS_WITH_EXTERNAL_PATH],
|
|
|
+[
|
|
|
+cdir=`pwd`
|
|
|
+AC_MSG_CHECKING([Checking EXTERNAL_PATH set to])
|
|
|
+AC_ARG_WITH([externalpath],
|
|
|
+ [ --with-externalpath=DIR User specified path to external fuse dfs components.],
|
|
|
+ [
|
|
|
+ if test "x${EXTERNAL_PATH}" != "x"; then
|
|
|
+ echo ""
|
|
|
+ echo "ERROR: You have already set EXTERNAL_PATH in your environment"
|
|
|
+ echo "Cannot override it using --with-externalpath. Unset EXTERNAL_PATH to use this option"
|
|
|
+ exit 1
|
|
|
+ fi
|
|
|
+ EXTERNAL_PATH=$withval
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ if test "x${EXTERNAL_PATH}" = "x"; then
|
|
|
+ EXTERNAL_PATH=$1
|
|
|
+ fi
|
|
|
+ ]
|
|
|
+)
|
|
|
+if test "x${EXTERNAL_PATH}" = "x"; then
|
|
|
+ export EXTERNAL_PATH="$cdir/external"
|
|
|
+ GLOBAL_HEADER_MK="include ${EXTERNAL_PATH}/global_header.mk"
|
|
|
+ GLOBAL_FOOTER_MK="include ${EXTERNAL_PATH}/global_footer.mk"
|
|
|
+else
|
|
|
+ export EXTERNAL_PATH
|
|
|
+ GLOBAL_HEADER_MK="include ${EXTERNAL_PATH}/global_header.mk"
|
|
|
+ GLOBAL_FOOTER_MK="include ${EXTERNAL_PATH}/global_footer.mk"
|
|
|
+fi
|
|
|
+AC_MSG_RESULT($EXTERNAL_PATH)
|
|
|
+if test ! -d ${EXTERNAL_PATH}; then
|
|
|
+ echo ""
|
|
|
+ echo "ERROR: EXTERNAL_PATH set to an nonexistent directory ${EXTERNAL_PATH}"
|
|
|
+ exit 1
|
|
|
+fi
|
|
|
+AC_SUBST(EXTERNAL_PATH)
|
|
|
+AC_SUBST(GLOBAL_HEADER_MK)
|
|
|
+AC_SUBST(GLOBAL_FOOTER_MK)
|
|
|
+])
|
|
|
+
|
|
|
+# Set option to enable shared mode. Set DEBUG and OPT for use in Makefile.am.
|
|
|
+AC_DEFUN([FUSE_DFS_ENABLE_DEFAULT_OPT_BUILD],
|
|
|
+[
|
|
|
+AC_MSG_CHECKING([whether to enable optimized build])
|
|
|
+AC_ARG_ENABLE([opt],
|
|
|
+ [ --disable-opt Set up debug mode.],
|
|
|
+ [
|
|
|
+ ENABLED_OPT=$enableval
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ ENABLED_OPT="yes"
|
|
|
+ ]
|
|
|
+)
|
|
|
+if test "$ENABLED_OPT" = "yes"
|
|
|
+then
|
|
|
+ CFLAGS="-Wall -O3"
|
|
|
+ CXXFLAGS="-Wall -O3"
|
|
|
+else
|
|
|
+ CFLAGS="-Wall -g"
|
|
|
+ CXXFLAGS="-Wall -g"
|
|
|
+fi
|
|
|
+AC_MSG_RESULT($ENABLED_OPT)
|
|
|
+AM_CONDITIONAL([OPT], [test "$ENABLED_OPT" = yes])
|
|
|
+AM_CONDITIONAL([DEBUG], [test "$ENABLED_OPT" = no])
|
|
|
+])
|
|
|
+
|
|
|
+# Set option to enable debug mode. Set DEBUG and OPT for use in Makefile.am.
|
|
|
+AC_DEFUN([FUSE_DFS_ENABLE_DEFAULT_DEBUG_BUILD],
|
|
|
+[
|
|
|
+AC_MSG_CHECKING([whether to enable debug build])
|
|
|
+AC_ARG_ENABLE([debug],
|
|
|
+ [ --disable-debug Set up opt mode.],
|
|
|
+ [
|
|
|
+ ENABLED_DEBUG=$enableval
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ ENABLED_DEBUG="yes"
|
|
|
+ ]
|
|
|
+)
|
|
|
+if test "$ENABLED_DEBUG" = "yes"
|
|
|
+then
|
|
|
+ CFLAGS="-Wall -g"
|
|
|
+ CXXFLAGS="-Wall -g"
|
|
|
+else
|
|
|
+ CFLAGS="-Wall -O3"
|
|
|
+ CXXFLAGS="-Wall -O3"
|
|
|
+fi
|
|
|
+AC_MSG_RESULT($ENABLED_DEBUG)
|
|
|
+AM_CONDITIONAL([DEBUG], [test "$ENABLED_DEBUG" = yes])
|
|
|
+AM_CONDITIONAL([OPT], [test "$ENABLED_DEBUG" = no])
|
|
|
+])
|
|
|
+
|
|
|
+# Set option to enable static libs.
|
|
|
+AC_DEFUN([FUSE_DFS_ENABLE_DEFAULT_STATIC],
|
|
|
+[
|
|
|
+SHARED=""
|
|
|
+STATIC=""
|
|
|
+AC_MSG_CHECKING([whether to enable static mode])
|
|
|
+AC_ARG_ENABLE([static],
|
|
|
+ [ --disable-static Set up shared mode.],
|
|
|
+ [
|
|
|
+ ENABLED_STATIC=$enableval
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ ENABLED_STATIC="yes"
|
|
|
+ ]
|
|
|
+)
|
|
|
+if test "$ENABLED_STATIC" = "yes"
|
|
|
+then
|
|
|
+ LTYPE=".a"
|
|
|
+else
|
|
|
+ LTYPE=".so"
|
|
|
+ SHARED_CXXFLAGS="-fPIC"
|
|
|
+ SHARED_CFLAGS="-fPIC"
|
|
|
+ SHARED_LDFLAGS="-shared -fPIC"
|
|
|
+ AC_SUBST(SHARED_CXXFLAGS)
|
|
|
+ AC_SUBST(SHARED_CFLAGS)
|
|
|
+ AC_SUBST(SHARED_LDFLAGS)
|
|
|
+fi
|
|
|
+AC_MSG_RESULT($ENABLED_STATIC)
|
|
|
+AC_SUBST(LTYPE)
|
|
|
+AM_CONDITIONAL([STATIC], [test "$ENABLED_STATIC" = yes])
|
|
|
+AM_CONDITIONAL([SHARED], [test "$ENABLED_STATIC" = no])
|
|
|
+])
|
|
|
+
|
|
|
+# Set option to enable shared libs.
|
|
|
+AC_DEFUN([FUSE_DFS_ENABLE_DEFAULT_SHARED],
|
|
|
+[
|
|
|
+SHARED=""
|
|
|
+STATIC=""
|
|
|
+AC_MSG_CHECKING([whether to enable shared mode])
|
|
|
+AC_ARG_ENABLE([shared],
|
|
|
+ [ --disable-shared Set up static mode.],
|
|
|
+ [
|
|
|
+ ENABLED_SHARED=$enableval
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ ENABLED_SHARED="yes"
|
|
|
+ ]
|
|
|
+)
|
|
|
+if test "$ENABLED_SHARED" = "yes"
|
|
|
+then
|
|
|
+ LTYPE=".so"
|
|
|
+ SHARED_CXXFLAGS="-fPIC"
|
|
|
+ SHARED_CFLAGS="-fPIC"
|
|
|
+ SHARED_LDFLAGS="-shared -fPIC"
|
|
|
+ AC_SUBST(SHARED_CXXFLAGS)
|
|
|
+ AC_SUBST(SHARED_CFLAGS)
|
|
|
+ AC_SUBST(SHARED_LDFLAGS)
|
|
|
+else
|
|
|
+ LTYPE=".a"
|
|
|
+fi
|
|
|
+AC_MSG_RESULT($ENABLED_SHARED)
|
|
|
+AC_SUBST(LTYPE)
|
|
|
+AM_CONDITIONAL([SHARED], [test "$ENABLED_SHARED" = yes])
|
|
|
+AM_CONDITIONAL([STATIC], [test "$ENABLED_SHARED" = no])
|
|
|
+])
|
|
|
+
|
|
|
+# Generates define flags and conditionals as specified by user.
|
|
|
+# This gets enabled *only* if user selects --enable-<FEATURE> otion.
|
|
|
+AC_DEFUN([FUSE_DFS_ENABLE_FEATURE],
|
|
|
+[
|
|
|
+ENABLE=""
|
|
|
+flag="$1"
|
|
|
+value="$3"
|
|
|
+AC_MSG_CHECKING([whether to enable $1])
|
|
|
+AC_ARG_ENABLE([$2],
|
|
|
+ [ --enable-$2 Enable $2.],
|
|
|
+ [
|
|
|
+ ENABLE=$enableval
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ ENABLE="no"
|
|
|
+ ]
|
|
|
+)
|
|
|
+AM_CONDITIONAL([$1], [test "$ENABLE" = yes])
|
|
|
+if test "$ENABLE" = "yes"
|
|
|
+then
|
|
|
+ if test "x${value}" = "x"
|
|
|
+ then
|
|
|
+ AC_DEFINE([$1])
|
|
|
+ else
|
|
|
+ AC_DEFINE_UNQUOTED([$1], [$value])
|
|
|
+ fi
|
|
|
+fi
|
|
|
+AC_MSG_RESULT($ENABLE)
|
|
|
+])
|
|
|
+
|
|
|
+
|
|
|
+# can also use eval $2=$withval;AC_SUBST($2)
|
|
|
+AC_DEFUN([FUSE_DFS_WITH_PATH],
|
|
|
+[
|
|
|
+USRFLAG=""
|
|
|
+USRFLAG=$1
|
|
|
+AC_MSG_CHECKING([Checking $1 set to])
|
|
|
+AC_ARG_WITH([$2],
|
|
|
+ [ --with-$2=DIR User specified path.],
|
|
|
+ [
|
|
|
+ LOC=$withval
|
|
|
+ eval $USRFLAG=$withval
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ LOC=$3
|
|
|
+ eval $USRFLAG=$3
|
|
|
+ ]
|
|
|
+)
|
|
|
+AC_SUBST([$1])
|
|
|
+AC_MSG_RESULT($LOC)
|
|
|
+])
|
|
|
+
|
|
|
+AC_DEFUN([FUSE_DFS_SET_FLAG_VALUE],
|
|
|
+[
|
|
|
+SETFLAG=""
|
|
|
+AC_MSG_CHECKING([Checking $1 set to])
|
|
|
+SETFLAG=$1
|
|
|
+eval $SETFLAG=\"$2\"
|
|
|
+AC_SUBST([$SETFLAG])
|
|
|
+AC_MSG_RESULT($2)
|
|
|
+])
|
|
|
+
|
|
|
+# NOTES
|
|
|
+# if using if else bourne stmt you must have more than a macro in it.
|
|
|
+# EX1 is not correct. EX2 is correct
|
|
|
+# EX1: if test "$XX" = "yes"; then
|
|
|
+# AC_SUBST(xx)
|
|
|
+# fi
|
|
|
+# EX2: if test "$XX" = "yes"; then
|
|
|
+# xx="foo"
|
|
|
+# AC_SUBST(xx)
|
|
|
+# fi
|