Blame googlemock/configure.ac

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