1m4_include(../googletest/m4/acx_pthread.m4) 2 3AC_INIT([Google C++ Mocking Framework], 4 [1.8.0], 5 [googlemock@googlegroups.com], 6 [gmock]) 7 8# Provide various options to initialize the Autoconf and configure processes. 9AC_PREREQ([2.59]) 10AC_CONFIG_SRCDIR([./LICENSE]) 11AC_CONFIG_MACRO_DIRS([m4]) 12AC_CONFIG_AUX_DIR([build-aux]) 13AC_CONFIG_HEADERS([build-aux/config.h]) 14AC_CONFIG_FILES([Makefile]) 15AC_CONFIG_FILES([scripts/gmock-config], [chmod +x scripts/gmock-config]) 16 17# Initialize Automake with various options. We require at least v1.9, prevent 18# pedantic complaints about package files, and enable various distribution 19# targets. 20AM_INIT_AUTOMAKE([1.9 dist-bzip2 dist-zip foreign subdir-objects]) 21 22# Check for programs used in building Google Test. 23AC_PROG_CC 24AC_PROG_CXX 25AC_LANG([C++]) 26AC_PROG_LIBTOOL 27 28PYTHON= # We *do not* allow the user to specify a python interpreter 29AC_PATH_PROG([PYTHON],[python],[:]) 30AS_IF([test "$PYTHON" != ":"], 31 [AM_PYTHON_CHECK_VERSION([$PYTHON],[2.3],[:],[PYTHON=":"])]) 32AM_CONDITIONAL([HAVE_PYTHON],[test "$PYTHON" != ":"]) 33 34# Configure pthreads. 35AC_ARG_WITH([pthreads], 36 [AS_HELP_STRING([--with-pthreads], 37 [use pthreads (default is yes)])], 38 [with_pthreads=$withval], 39 [with_pthreads=check]) 40 41have_pthreads=no 42AS_IF([test "x$with_pthreads" != "xno"], 43 [ACX_PTHREAD( 44 [], 45 [AS_IF([test "x$with_pthreads" != "xcheck"], 46 [AC_MSG_FAILURE( 47 [--with-pthreads was specified, but unable to be used])])]) 48 have_pthreads="$acx_pthread_ok"]) 49AM_CONDITIONAL([HAVE_PTHREADS],[test "x$have_pthreads" == "xyes"]) 50AC_SUBST(PTHREAD_CFLAGS) 51AC_SUBST(PTHREAD_LIBS) 52 53# GoogleMock currently has hard dependencies upon GoogleTest above and beyond 54# running its own test suite, so we both provide our own version in 55# a subdirectory and provide some logic to use a custom version or a system 56# installed version. 57AC_ARG_WITH([gtest], 58 [AS_HELP_STRING([--with-gtest], 59 [Specifies how to find the gtest package. If no 60 arguments are given, the default behavior, a 61 system installed gtest will be used if present, 62 and an internal version built otherwise. If a 63 path is provided, the gtest built or installed at 64 that prefix will be used.])], 65 [], 66 [with_gtest=yes]) 67AC_ARG_ENABLE([external-gtest], 68 [AS_HELP_STRING([--disable-external-gtest], 69 [Disables any detection or use of a system 70 installed or user provided gtest. Any option to 71 '--with-gtest' is ignored. (Default is enabled.)]) 72 ], [], [enable_external_gtest=yes]) 73AS_IF([test "x$with_gtest" == "xno"], 74 [AC_MSG_ERROR([dnl 75Support for GoogleTest was explicitly disabled. Currently GoogleMock has a hard 76dependency upon GoogleTest to build, please provide a version, or allow 77GoogleMock to use any installed version and fall back upon its internal 78version.])]) 79 80# Setup various GTEST variables. 81AC_ARG_VAR([GTEST_CONFIG], 82 [The exact path of Google Test's 'gtest-config' script.]) 83AC_ARG_VAR([GTEST_CPPFLAGS], 84 [C-like preprocessor flags for Google Test.]) 85AC_ARG_VAR([GTEST_CXXFLAGS], 86 [C++ compile flags for Google Test.]) 87AC_ARG_VAR([GTEST_LDFLAGS], 88 [Linker path and option flags for Google Test.]) 89AC_ARG_VAR([GTEST_LIBS], 90 [Library linking flags for Google Test.]) 91AC_ARG_VAR([GTEST_VERSION], 92 [The version of Google Test available.]) 93HAVE_BUILT_GTEST="no" 94 95GTEST_MIN_VERSION="1.8.0" 96 97AS_IF([test "x${enable_external_gtest}" = "xyes"], 98 [# Begin filling in variables as we are able. 99 AS_IF([test "x${with_gtest}" != "xyes"], 100 [AS_IF([test -x "${with_gtest}/scripts/gtest-config"], 101 [GTEST_CONFIG="${with_gtest}/scripts/gtest-config"], 102 [GTEST_CONFIG="${with_gtest}/bin/gtest-config"]) 103 AS_IF([test -x "${GTEST_CONFIG}"], [], 104 [AC_MSG_ERROR([dnl 105Unable to locate either a built or installed Google Test at '${with_gtest}'.]) 106 ])]) 107 108 AS_IF([test -x "${GTEST_CONFIG}"], [], 109 [AC_PATH_PROG([GTEST_CONFIG], [gtest-config])]) 110 AS_IF([test -x "${GTEST_CONFIG}"], 111 [AC_MSG_CHECKING([for Google Test version >= ${GTEST_MIN_VERSION}]) 112 AS_IF([${GTEST_CONFIG} --min-version=${GTEST_MIN_VERSION}], 113 [AC_MSG_RESULT([yes]) 114 HAVE_BUILT_GTEST="yes"], 115 [AC_MSG_RESULT([no])])])]) 116 117AS_IF([test "x${HAVE_BUILT_GTEST}" = "xyes"], 118 [GTEST_CPPFLAGS=`${GTEST_CONFIG} --cppflags` 119 GTEST_CXXFLAGS=`${GTEST_CONFIG} --cxxflags` 120 GTEST_LDFLAGS=`${GTEST_CONFIG} --ldflags` 121 GTEST_LIBS=`${GTEST_CONFIG} --libs` 122 GTEST_VERSION=`${GTEST_CONFIG} --version`], 123 [ 124 # GTEST_CONFIG needs to be executable both in a Makefile environment and 125 # in a shell script environment, so resolve an absolute path for it here. 126 GTEST_CONFIG="`pwd -P`/../googletest/scripts/gtest-config" 127 GTEST_CPPFLAGS='-I$(top_srcdir)/../googletest/include' 128 GTEST_CXXFLAGS='-g' 129 GTEST_LDFLAGS='' 130 GTEST_LIBS='$(top_builddir)/../googletest/lib/libgtest.la' 131 GTEST_VERSION="${GTEST_MIN_VERSION}"]) 132 133# Output the generated files. No further autoconf macros may be used. 134AC_OUTPUT 135