1# Autoconf input file 2# $Id$ 3 4# AC - autoconf 5# FB - facebook 6 7# 8# Licensed to the Apache Software Foundation (ASF) under one 9# or more contributor license agreements. See the NOTICE file 10# distributed with this work for additional information 11# regarding copyright ownership. The ASF licenses this file 12# to you under the Apache License, Version 2.0 (the 13# "License"); you may not use this file except in compliance 14# with the License. You may obtain a copy of the License at 15# 16# http://www.apache.org/licenses/LICENSE-2.0 17# 18# Unless required by applicable law or agreed to in writing, 19# software distributed under the License is distributed on an 20# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 21# KIND, either express or implied. See the License for the 22# specific language governing permissions and limitations 23# under the License. 24# 25 26######################################################################### 27# DO NOT TOUCH EXCEPT TO CHANGE REV# IN AC_INIT 28 29AC_PREREQ(2.52) 30AC_INIT([libfb303],[20080209]) 31#AC_CONFIG_AUX_DIR([/usr/share/automake-1.9]) 32# To install locally 33FB_INITIALIZE([localinstall]) 34AC_PREFIX_DEFAULT([/usr/local]) 35 36############################################################################ 37# User Configurable. Change With CAUTION! 38# User can include custom makefile rules. Uncomment and update only <name> in PRODUCT_MK. 39# Include where appropriate in any Makefile.am as @PRODUCT_MK@ 40 41#PRODUCT_MK="include ${EXTERNAL_PATH}/shared/build/<name>.mk" 42 43# Default path to external Facebook components and shared build toools I.e fb303 etc. 44# To point to other locations set environment variable EXTERNAL_PATH. 45# To change the current default you must change bootstrap.sh. 46FB_WITH_EXTERNAL_PATH([`pwd`]) 47 48AC_ARG_VAR([PY_PREFIX], [Prefix for installing Python modules. 49 (Normal --prefix is ignored for Python because 50 Python has different conventions.) 51 Default = "/usr"]) 52AS_IF([test "x$PY_PREFIX" = x], [PY_PREFIX="/usr"]) 53 54########################################################################## 55# User Configurable 56 57# Pre-defined macro to set opt build mode. Run with --disable-shared option to turn off optimization. 58FB_ENABLE_DEFAULT_OPT_BUILD 59 60# Predefined macro to set static library mode. Run with --disable-static option to turn off static lib mode. 61FB_ENABLE_DEFAULT_STATIC 62 63# Personalized feature generator. Creates defines/conditionals and --enable --disable command line options. 64# FB_ENABLE_FEATURE([FEATURE], [feature]) OR FB_ENABLE_FEATURE([FEATURE], [feature], [\"<value>\"]) 65 66# Example: Macro supplies -DFACEBOOK at compile time and "if FACEBOOK endif" capabilities. 67 68# Personalized path generator Sets default paths. Provides --with-xx=DIR options. 69# FB_WITH_PATH([<var>_home], [<var>path], [<default location>] 70 71# Example: sets $(thrift_home) variable with default path set to /usr/local. 72FB_WITH_PATH([thrift_home], [thriftpath], [/usr/local]) 73 74AX_CXX_COMPILE_STDCXX_11([noext]) 75AX_THRIFT_LIB(cpp, [C++], yes) 76have_cpp=no 77if test "$with_cpp" = "yes"; then 78 # Require boost 1.40.0 or later 79 AX_BOOST_BASE([1.40.0]) 80 if test "x$succeeded" = "xyes"; then 81 have_cpp="yes" 82 fi 83fi 84AM_CONDITIONAL([WITH_CPP], [test "$have_cpp" = "yes"]) 85 86AX_THRIFT_LIB(java, [Java], yes) 87if test "$with_java" = "yes"; then 88 AX_JAVAC_AND_JAVA 89 AC_PATH_PROG([ANT], [ant]) 90 AX_CHECK_ANT_VERSION($ANT, 1.7) 91 AC_SUBST(CLASSPATH) 92 AC_SUBST(ANT_FLAGS) 93 if test "x$JAVAC" != "x" && test "x$JAVAC" != "x" && test "x$ANT" != "x" ; then 94 have_java="yes" 95 fi 96fi 97AM_CONDITIONAL(WITH_JAVA, [test "$have_java" = "yes"]) 98 99AX_THRIFT_LIB(php, [PHP], yes) 100if test "$with_php" = "yes"; then 101 AC_PATH_PROG([PHP], [php]) 102 if test "x$PHP" != "x" && test "x$PHP" != "x:" ; then 103 have_php="yes" 104 fi 105fi 106AM_CONDITIONAL(WITH_PHP, [test "$have_php" = "yes"]) 107 108AX_THRIFT_LIB(python, [Python], yes) 109if test "$with_python" = "yes"; then 110 AM_PATH_PYTHON(2.4,, :) 111 if test "x$PYTHON" != "x" && test "x$PYTHON" != "x:" ; then 112 have_python="yes" 113 fi 114fi 115AM_CONDITIONAL(WITH_PYTHON, [test "$have_python" = "yes"]) 116 117# Generates Makefile from Makefile.am. Modify when new subdirs are added. 118# Change Makefile.am also to add subdirectly. 119AC_CONFIG_FILES(Makefile cpp/Makefile py/Makefile) 120 121# Check for headers 122AC_CHECK_HEADERS([inttypes.h]) 123AC_CHECK_HEADERS([netinet/in.h]) 124 125############################################################################ 126# DO NOT TOUCH. 127 128AC_SUBST(PRODUCT_MK) 129AC_OUTPUT 130 131############################################################################# 132######### FINISH ############################################################ 133 134echo "EXTERNAL_PATH $EXTERNAL_PATH" 135echo 136echo "Building C++ Library ......... : $have_cpp" 137echo "Building Java Library ........ : $have_java" 138echo "Building Python Library ...... : $have_python" 139echo "Building PHP Library ......... : $have_php" 140 141 142# 143# NOTES FOR USER 144# Short cut to create conditional flags. 145#enable_facebook="yes" 146#AM_CONDITIONAL([FACEBOOK], [test "$enable_facebook" = yes]) 147#enable_hdfs="yes" 148#AM_CONDITIONAL([HDFS], [test "$enable_hdfs" = yes]) 149 150# Enable options with --enable and --disable configurable. 151#AC_MSG_CHECKING([whether to enable FACEBOOK]) 152#FACEBOOK="" 153#AC_ARG_ENABLE([facebook], 154# [ --enable-facebook Enable facebook.], 155# [ 156# ENABLE_FACEBOOK=$enableval 157# ], 158# [ 159# ENABLE_FACEBOOK="no" 160# ] 161#) 162#AM_CONDITIONAL([FACEBOOK], [test "$ENABLE_FACEBOOK" = yes]) 163#AC_MSG_RESULT($ENABLE_FACEBOOK) 164 165