| # Autoconf input file |
| # $Id$ |
| |
| # AC - autoconf |
| # FB - facebook |
| |
| # |
| # 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. |
| # |
| |
| ######################################################################### |
| # DO NOT TOUCH EXCEPT TO CHANGE REV# IN AC_INIT |
| |
| AC_PREREQ(2.52) |
| AC_INIT([libfb303],[20080209]) |
| #AC_CONFIG_AUX_DIR([/usr/share/automake-1.9]) |
| # To install locally |
| FB_INITIALIZE([localinstall]) |
| AC_PREFIX_DEFAULT([/usr/local]) |
| |
| ############################################################################ |
| # User Configurable. Change With CAUTION! |
| # User can include custom makefile rules. Uncomment and update only <name> in PRODUCT_MK. |
| # Include where appropriate in any Makefile.am as @PRODUCT_MK@ |
| |
| #PRODUCT_MK="include ${EXTERNAL_PATH}/shared/build/<name>.mk" |
| |
| # Default path to external Facebook components and shared build toools I.e fb303 etc. |
| # To point to other locations set environment variable EXTERNAL_PATH. |
| # To change the current default you must change bootstrap.sh. |
| FB_WITH_EXTERNAL_PATH([`pwd`]) |
| |
| AC_ARG_VAR([PY_PREFIX], [Prefix for installing Python modules. |
| (Normal --prefix is ignored for Python because |
| Python has different conventions.) |
| Default = "/usr"]) |
| AS_IF([test "x$PY_PREFIX" = x], [PY_PREFIX="/usr"]) |
| |
| ########################################################################## |
| # User Configurable |
| |
| # Pre-defined macro to set opt build mode. Run with --disable-shared option to turn off optimization. |
| FB_ENABLE_DEFAULT_OPT_BUILD |
| |
| # Predefined macro to set static library mode. Run with --disable-static option to turn off static lib mode. |
| FB_ENABLE_DEFAULT_STATIC |
| |
| # Personalized feature generator. Creates defines/conditionals and --enable --disable command line options. |
| # FB_ENABLE_FEATURE([FEATURE], [feature]) OR FB_ENABLE_FEATURE([FEATURE], [feature], [\"<value>\"]) |
| |
| # Example: Macro supplies -DFACEBOOK at compile time and "if FACEBOOK endif" capabilities. |
| |
| # Personalized path generator Sets default paths. Provides --with-xx=DIR options. |
| # FB_WITH_PATH([<var>_home], [<var>path], [<default location>] |
| |
| # Example: sets $(thrift_home) variable with default path set to /usr/local. |
| FB_WITH_PATH([thrift_home], [thriftpath], [/usr/local]) |
| |
| AX_THRIFT_LIB(cpp, [C++], yes) |
| have_cpp=no |
| if test "$with_cpp" = "yes"; then |
| # Require boost 1.40.0 or later |
| AX_BOOST_BASE([1.40.0]) |
| if test "x$succeeded" = "xyes"; then |
| have_cpp="yes" |
| fi |
| fi |
| AM_CONDITIONAL([WITH_CPP], [test "$have_cpp" = "yes"]) |
| |
| AX_THRIFT_LIB(java, [Java], yes) |
| if test "$with_java" = "yes"; then |
| AX_JAVAC_AND_JAVA |
| AC_PATH_PROG([ANT], [ant]) |
| AX_CHECK_ANT_VERSION($ANT, 1.7) |
| AC_SUBST(CLASSPATH) |
| AC_SUBST(ANT_FLAGS) |
| if test "x$JAVAC" != "x" && test "x$JAVAC" != "x" && test "x$ANT" != "x" ; then |
| have_java="yes" |
| fi |
| fi |
| AM_CONDITIONAL(WITH_JAVA, [test "$have_java" = "yes"]) |
| |
| AX_THRIFT_LIB(php, [PHP], yes) |
| if test "$with_php" = "yes"; then |
| AC_PATH_PROG([PHP], [php]) |
| if test "x$PHP" != "x" && test "x$PHP" != "x:" ; then |
| have_php="yes" |
| fi |
| fi |
| AM_CONDITIONAL(WITH_PHP, [test "$have_php" = "yes"]) |
| |
| AX_THRIFT_LIB(python, [Python], yes) |
| if test "$with_python" = "yes"; then |
| AM_PATH_PYTHON(2.4,, :) |
| if test "x$PYTHON" != "x" && test "x$PYTHON" != "x:" ; then |
| have_python="yes" |
| fi |
| fi |
| AM_CONDITIONAL(WITH_PYTHON, [test "$have_python" = "yes"]) |
| |
| # Generates Makefile from Makefile.am. Modify when new subdirs are added. |
| # Change Makefile.am also to add subdirectly. |
| AC_CONFIG_FILES(Makefile cpp/Makefile py/Makefile) |
| |
| # Check for headers |
| AC_CHECK_HEADERS([inttypes.h]) |
| AC_CHECK_HEADERS([netinet/in.h]) |
| |
| ############################################################################ |
| # DO NOT TOUCH. |
| |
| AC_SUBST(PRODUCT_MK) |
| AC_OUTPUT |
| |
| ############################################################################# |
| ######### FINISH ############################################################ |
| |
| echo "EXTERNAL_PATH $EXTERNAL_PATH" |
| echo |
| echo "Building C++ Library ......... : $have_cpp" |
| echo "Building Java Library ........ : $have_java" |
| echo "Building Python Library ...... : $have_python" |
| echo "Building PHP Library ......... : $have_php" |
| |
| |
| # |
| # NOTES FOR USER |
| # Short cut to create conditional flags. |
| #enable_facebook="yes" |
| #AM_CONDITIONAL([FACEBOOK], [test "$enable_facebook" = yes]) |
| #enable_hdfs="yes" |
| #AM_CONDITIONAL([HDFS], [test "$enable_hdfs" = yes]) |
| |
| # Enable options with --enable and --disable configurable. |
| #AC_MSG_CHECKING([whether to enable FACEBOOK]) |
| #FACEBOOK="" |
| #AC_ARG_ENABLE([facebook], |
| # [ --enable-facebook Enable facebook.], |
| # [ |
| # ENABLE_FACEBOOK=$enableval |
| # ], |
| # [ |
| # ENABLE_FACEBOOK="no" |
| # ] |
| #) |
| #AM_CONDITIONAL([FACEBOOK], [test "$ENABLE_FACEBOOK" = yes]) |
| #AC_MSG_RESULT($ENABLE_FACEBOOK) |
| |