123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146 |
- 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_CC
- AC_PROG_CXX
- AC_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 interpreter
- AC_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=no
- AS_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 no
- arguments are given, the default behavior, a
- system installed gtest will be used if present,
- and an internal version built otherwise. If a
- path is provided, the gtest built or installed at
- that 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 system
- installed 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([dnl
- Support for GoogleTest was explicitly disabled. Currently GoogleMock has a hard
- dependency upon GoogleTest to build, please provide a version, or allow
- GoogleMock to use any installed version and fall back upon its internal
- version.])])
- # 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([dnl
- Unable 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
|