Blame | Last modification | View Log | Download
m4_include(../googletest/m4/acx_pthread.m4)AC_INIT([Google C++ Mocking Framework],[1.8.0],[googlemock@googlegroups.com],[gmock])# Provide various options to initialize the Autoconf and configure processes.AC_PREREQ([2.59])AC_CONFIG_SRCDIR([./LICENSE])AC_CONFIG_AUX_DIR([build-aux])AC_CONFIG_HEADERS([build-aux/config.h])AC_CONFIG_FILES([Makefile])AC_CONFIG_FILES([scripts/gmock-config], [chmod +x scripts/gmock-config])# Initialize Automake with various options. We require at least v1.9, prevent# pedantic complaints about package files, and enable various distribution# targets.AM_INIT_AUTOMAKE([1.9 dist-bzip2 dist-zip foreign subdir-objects])# Check for programs used in building Google Test.AC_PROG_CCAC_PROG_CXXAC_LANG([C++])AC_PROG_LIBTOOL# TODO(chandlerc@google.com): Currently we aren't running the Python tests# against the interpreter detected by AM_PATH_PYTHON, and so we condition# HAVE_PYTHON by requiring "python" to be in the PATH, and that interpreter's# version to be >= 2.3. This will allow the scripts to use a "/usr/bin/env"# hashbang.PYTHON= # We *do not* allow the user to specify a python interpreterAC_PATH_PROG([PYTHON],[python],[:])AS_IF([test "$PYTHON" != ":"],[AM_PYTHON_CHECK_VERSION([$PYTHON],[2.3],[:],[PYTHON=":"])])AM_CONDITIONAL([HAVE_PYTHON],[test "$PYTHON" != ":"])# TODO(chandlerc@google.com) Check for the necessary system headers.# Configure pthreads.AC_ARG_WITH([pthreads],[AS_HELP_STRING([--with-pthreads],[use pthreads (default is yes)])],[with_pthreads=$withval],[with_pthreads=check])have_pthreads=noAS_IF([test "x$with_pthreads" != "xno"],[ACX_PTHREAD([],[AS_IF([test "x$with_pthreads" != "xcheck"],[AC_MSG_FAILURE([--with-pthreads was specified, but unable to be used])])])have_pthreads="$acx_pthread_ok"])AM_CONDITIONAL([HAVE_PTHREADS],[test "x$have_pthreads" == "xyes"])AC_SUBST(PTHREAD_CFLAGS)AC_SUBST(PTHREAD_LIBS)# GoogleMock currently has hard dependencies upon GoogleTest above and beyond# running its own test suite, so we both provide our own version in# a subdirectory and provide some logic to use a custom version or a system# installed version.AC_ARG_WITH([gtest],[AS_HELP_STRING([--with-gtest],[Specifies how to find the gtest package. If noarguments are given, the default behavior, asystem installed gtest will be used if present,and an internal version built otherwise. If apath is provided, the gtest built or installed atthat prefix will be used.])],[],[with_gtest=yes])AC_ARG_ENABLE([external-gtest],[AS_HELP_STRING([--disable-external-gtest],[Disables any detection or use of a systeminstalled or user provided gtest. Any option to'--with-gtest' is ignored. (Default is enabled.)])], [], [enable_external_gtest=yes])AS_IF([test "x$with_gtest" == "xno"],[AC_MSG_ERROR([dnlSupport for GoogleTest was explicitly disabled. Currently GoogleMock has a harddependency upon GoogleTest to build, please provide a version, or allowGoogleMock to use any installed version and fall back upon its internalversion.])])# Setup various GTEST variables. TODO(chandlerc@google.com): When these are# used below, they should be used such that any pre-existing values always# trump values we set them to, so that they can be used to selectively override# details of the detection process.AC_ARG_VAR([GTEST_CONFIG],[The exact path of Google Test's 'gtest-config' script.])AC_ARG_VAR([GTEST_CPPFLAGS],[C-like preprocessor flags for Google Test.])AC_ARG_VAR([GTEST_CXXFLAGS],[C++ compile flags for Google Test.])AC_ARG_VAR([GTEST_LDFLAGS],[Linker path and option flags for Google Test.])AC_ARG_VAR([GTEST_LIBS],[Library linking flags for Google Test.])AC_ARG_VAR([GTEST_VERSION],[The version of Google Test available.])HAVE_BUILT_GTEST="no"GTEST_MIN_VERSION="1.8.0"AS_IF([test "x${enable_external_gtest}" = "xyes"],[# Begin filling in variables as we are able.AS_IF([test "x${with_gtest}" != "xyes"],[AS_IF([test -x "${with_gtest}/scripts/gtest-config"],[GTEST_CONFIG="${with_gtest}/scripts/gtest-config"],[GTEST_CONFIG="${with_gtest}/bin/gtest-config"])AS_IF([test -x "${GTEST_CONFIG}"], [],[AC_MSG_ERROR([dnlUnable to locate either a built or installed Google Test at '${with_gtest}'.])])])AS_IF([test -x "${GTEST_CONFIG}"], [],[AC_PATH_PROG([GTEST_CONFIG], [gtest-config])])AS_IF([test -x "${GTEST_CONFIG}"],[AC_MSG_CHECKING([for Google Test version >= ${GTEST_MIN_VERSION}])AS_IF([${GTEST_CONFIG} --min-version=${GTEST_MIN_VERSION}],[AC_MSG_RESULT([yes])HAVE_BUILT_GTEST="yes"],[AC_MSG_RESULT([no])])])])AS_IF([test "x${HAVE_BUILT_GTEST}" = "xyes"],[GTEST_CPPFLAGS=`${GTEST_CONFIG} --cppflags`GTEST_CXXFLAGS=`${GTEST_CONFIG} --cxxflags`GTEST_LDFLAGS=`${GTEST_CONFIG} --ldflags`GTEST_LIBS=`${GTEST_CONFIG} --libs`GTEST_VERSION=`${GTEST_CONFIG} --version`],[# GTEST_CONFIG needs to be executable both in a Makefile environment and# in a shell script environment, so resolve an absolute path for it here.GTEST_CONFIG="`pwd -P`/../googletest/scripts/gtest-config"GTEST_CPPFLAGS='-I$(top_srcdir)/../googletest/include'GTEST_CXXFLAGS='-g'GTEST_LDFLAGS=''GTEST_LIBS='$(top_builddir)/../googletest/lib/libgtest.la'GTEST_VERSION="${GTEST_MIN_VERSION}"])# TODO(chandlerc@google.com) Check the types, structures, and other compiler# and architecture characteristics.# Output the generated files. No further autoconf macros may be used.AC_OUTPUT