| 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-<FEATURE> 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 |