mirror of
https://github.com/valitydev/thrift.git
synced 2024-11-06 18:35:19 +00:00
16f5cd177d
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@760222 13f79535-47bb-0310-9956-ffa450edef68
259 lines
5.6 KiB
Plaintext
259 lines
5.6 KiB
Plaintext
dnl Copyright (C) 2009 Facebook
|
|
dnl Copying and distribution of this file, with or without modification,
|
|
dnl are permitted in any medium without royalty provided the copyright
|
|
dnl notice and this notice are preserved.
|
|
|
|
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
|