mirror of https://github.com/c-ares/c-ares.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
146 lines
6.1 KiB
146 lines
6.1 KiB
m4_include(gtest/m4/acx_pthread.m4) |
|
|
|
AC_INIT([Google C++ Mocking Framework], |
|
[1.7.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.7.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`], |
|
[AC_CONFIG_SUBDIRS([gtest]) |
|
# GTEST_CONFIG needs to be executable both in a Makefile environmont and |
|
# in a shell script environment, so resolve an absolute path for it here. |
|
GTEST_CONFIG="`pwd -P`/gtest/scripts/gtest-config" |
|
GTEST_CPPFLAGS='-I$(top_srcdir)/gtest/include' |
|
GTEST_CXXFLAGS='-g' |
|
GTEST_LDFLAGS='' |
|
GTEST_LIBS='$(top_builddir)/gtest/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
|
|
|