AC_DEFUN([FB_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([FB_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 facebook 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([FB_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([FB_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([FB_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([FB_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- otion. AC_DEFUN([FB_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([FB_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([FB_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