Merge pull request #2286 from gennadiycivil/master
Removing make and automake.
This commit is contained in:
		@@ -1,221 +0,0 @@
 | 
			
		||||
# Note: automake support is community-based. The maintainers do not use automake
 | 
			
		||||
# internally.
 | 
			
		||||
 | 
			
		||||
# Automake file
 | 
			
		||||
 | 
			
		||||
ACLOCAL_AMFLAGS = -I m4
 | 
			
		||||
 | 
			
		||||
# Nonstandard package files for distribution.
 | 
			
		||||
EXTRA_DIST = LICENSE
 | 
			
		||||
 | 
			
		||||
# We may need to build our internally packaged gtest. If so, it will be
 | 
			
		||||
# included in the 'subdirs' variable.
 | 
			
		||||
SUBDIRS = $(subdirs)
 | 
			
		||||
 | 
			
		||||
# This is generated by the configure script, so clean it for distribution.
 | 
			
		||||
DISTCLEANFILES = scripts/gmock-config
 | 
			
		||||
 | 
			
		||||
# We define the global AM_CPPFLAGS as everything we compile includes from these
 | 
			
		||||
# directories.
 | 
			
		||||
AM_CPPFLAGS = $(GTEST_CPPFLAGS) -I$(srcdir)/include
 | 
			
		||||
 | 
			
		||||
# Modifies compiler and linker flags for pthreads compatibility.
 | 
			
		||||
if HAVE_PTHREADS
 | 
			
		||||
  AM_CXXFLAGS = @PTHREAD_CFLAGS@ -DGTEST_HAS_PTHREAD=1
 | 
			
		||||
  AM_LIBS = @PTHREAD_LIBS@
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
# Build rules for libraries.
 | 
			
		||||
lib_LTLIBRARIES = lib/libgmock.la lib/libgmock_main.la
 | 
			
		||||
 | 
			
		||||
lib_libgmock_la_SOURCES = src/gmock-all.cc
 | 
			
		||||
 | 
			
		||||
pkginclude_HEADERS = \
 | 
			
		||||
  include/gmock/gmock-actions.h \
 | 
			
		||||
  include/gmock/gmock-cardinalities.h \
 | 
			
		||||
  include/gmock/gmock-function-mocker.h \
 | 
			
		||||
  include/gmock/gmock-generated-actions.h \
 | 
			
		||||
  include/gmock/gmock-generated-function-mockers.h \
 | 
			
		||||
  include/gmock/gmock-generated-matchers.h \
 | 
			
		||||
  include/gmock/gmock-matchers.h \
 | 
			
		||||
  include/gmock/gmock-more-actions.h \
 | 
			
		||||
  include/gmock/gmock-more-matchers.h \
 | 
			
		||||
  include/gmock/gmock-nice-strict.h \
 | 
			
		||||
  include/gmock/gmock-spec-builders.h \
 | 
			
		||||
  include/gmock/gmock.h
 | 
			
		||||
 | 
			
		||||
pkginclude_internaldir = $(pkgincludedir)/internal
 | 
			
		||||
pkginclude_internal_HEADERS = \
 | 
			
		||||
  include/gmock/internal/gmock-internal-utils.h \
 | 
			
		||||
  include/gmock/internal/gmock-port.h \
 | 
			
		||||
  include/gmock/internal/gmock-pp.h \
 | 
			
		||||
  include/gmock/internal/custom/gmock-generated-actions.h \
 | 
			
		||||
  include/gmock/internal/custom/gmock-matchers.h \
 | 
			
		||||
  include/gmock/internal/custom/gmock-port.h
 | 
			
		||||
 | 
			
		||||
lib_libgmock_main_la_SOURCES = src/gmock_main.cc
 | 
			
		||||
lib_libgmock_main_la_LIBADD = lib/libgmock.la
 | 
			
		||||
 | 
			
		||||
# Build rules for tests. Automake's naming for some of these variables isn't
 | 
			
		||||
# terribly obvious, so this is a brief reference:
 | 
			
		||||
#
 | 
			
		||||
# TESTS -- Programs run automatically by "make check"
 | 
			
		||||
# check_PROGRAMS -- Programs built by "make check" but not necessarily run
 | 
			
		||||
 | 
			
		||||
TESTS=
 | 
			
		||||
check_PROGRAMS=
 | 
			
		||||
AM_LDFLAGS = $(GTEST_LDFLAGS)
 | 
			
		||||
 | 
			
		||||
# This exercises all major components of Google Mock.  It also
 | 
			
		||||
# verifies that libgmock works.
 | 
			
		||||
TESTS += test/gmock-spec-builders_test
 | 
			
		||||
check_PROGRAMS += test/gmock-spec-builders_test
 | 
			
		||||
test_gmock_spec_builders_test_SOURCES = test/gmock-spec-builders_test.cc
 | 
			
		||||
test_gmock_spec_builders_test_LDADD = $(GTEST_LIBS) lib/libgmock.la
 | 
			
		||||
 | 
			
		||||
# This tests using Google Mock in multiple translation units.  It also
 | 
			
		||||
# verifies that libgmock_main and libgmock work.
 | 
			
		||||
TESTS += test/gmock_link_test
 | 
			
		||||
check_PROGRAMS += test/gmock_link_test
 | 
			
		||||
test_gmock_link_test_SOURCES = \
 | 
			
		||||
  test/gmock_link2_test.cc \
 | 
			
		||||
  test/gmock_link_test.cc \
 | 
			
		||||
  test/gmock_link_test.h
 | 
			
		||||
test_gmock_link_test_LDADD = $(GTEST_LIBS) lib/libgmock_main.la  lib/libgmock.la
 | 
			
		||||
 | 
			
		||||
if HAVE_PYTHON
 | 
			
		||||
  # Tests that fused gmock files compile and work.
 | 
			
		||||
  TESTS += test/gmock_fused_test
 | 
			
		||||
  check_PROGRAMS += test/gmock_fused_test
 | 
			
		||||
  test_gmock_fused_test_SOURCES = \
 | 
			
		||||
    fused-src/gmock-gtest-all.cc \
 | 
			
		||||
    fused-src/gmock/gmock.h \
 | 
			
		||||
    fused-src/gmock_main.cc \
 | 
			
		||||
    fused-src/gtest/gtest.h \
 | 
			
		||||
    test/gmock_test.cc
 | 
			
		||||
  test_gmock_fused_test_CPPFLAGS = -I"$(srcdir)/fused-src"
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
# Google Mock source files that we don't compile directly.
 | 
			
		||||
GMOCK_SOURCE_INGLUDES = \
 | 
			
		||||
  src/gmock-cardinalities.cc \
 | 
			
		||||
  src/gmock-internal-utils.cc \
 | 
			
		||||
  src/gmock-matchers.cc \
 | 
			
		||||
  src/gmock-spec-builders.cc \
 | 
			
		||||
  src/gmock.cc
 | 
			
		||||
 | 
			
		||||
EXTRA_DIST += $(GMOCK_SOURCE_INGLUDES)
 | 
			
		||||
 | 
			
		||||
# C++ tests that we don't compile using autotools.
 | 
			
		||||
EXTRA_DIST += \
 | 
			
		||||
  test/gmock-actions_test.cc \
 | 
			
		||||
  test/gmock_all_test.cc \
 | 
			
		||||
  test/gmock-cardinalities_test.cc \
 | 
			
		||||
  test/gmock_ex_test.cc \
 | 
			
		||||
  test/gmock-generated-actions_test.cc \
 | 
			
		||||
  test/gmock-function-mocker_test.cc \
 | 
			
		||||
  test/gmock-generated-function-mockers_test.cc \
 | 
			
		||||
  test/gmock-generated-matchers_test.cc \
 | 
			
		||||
  test/gmock-internal-utils_test.cc \
 | 
			
		||||
  test/gmock-matchers_test.cc \
 | 
			
		||||
  test/gmock-more-actions_test.cc \
 | 
			
		||||
  test/gmock-nice-strict_test.cc \
 | 
			
		||||
  test/gmock-port_test.cc \
 | 
			
		||||
  test/gmock_stress_test.cc
 | 
			
		||||
 | 
			
		||||
# Python tests, which we don't run using autotools.
 | 
			
		||||
EXTRA_DIST += \
 | 
			
		||||
  test/gmock_leak_test.py \
 | 
			
		||||
  test/gmock_leak_test_.cc \
 | 
			
		||||
  test/gmock_output_test.py \
 | 
			
		||||
  test/gmock_output_test_.cc \
 | 
			
		||||
  test/gmock_output_test_golden.txt \
 | 
			
		||||
  test/gmock_test_utils.py
 | 
			
		||||
 | 
			
		||||
# Nonstandard package files for distribution.
 | 
			
		||||
EXTRA_DIST += \
 | 
			
		||||
  CONTRIBUTORS \
 | 
			
		||||
  make/Makefile
 | 
			
		||||
 | 
			
		||||
# Pump scripts for generating Google Mock headers.
 | 
			
		||||
EXTRA_DIST += \
 | 
			
		||||
  include/gmock/gmock-generated-actions.h.pump \
 | 
			
		||||
  include/gmock/gmock-generated-function-mockers.h.pump \
 | 
			
		||||
  include/gmock/gmock-generated-matchers.h.pump \
 | 
			
		||||
  include/gmock/internal/custom/gmock-generated-actions.h.pump
 | 
			
		||||
 | 
			
		||||
# Script for fusing Google Mock and Google Test source files.
 | 
			
		||||
EXTRA_DIST += scripts/fuse_gmock_files.py
 | 
			
		||||
 | 
			
		||||
# The Google Mock Generator tool from the cppclean project.
 | 
			
		||||
EXTRA_DIST += \
 | 
			
		||||
  scripts/generator/LICENSE \
 | 
			
		||||
  scripts/generator/README \
 | 
			
		||||
  scripts/generator/README.cppclean \
 | 
			
		||||
  scripts/generator/cpp/__init__.py \
 | 
			
		||||
  scripts/generator/cpp/ast.py \
 | 
			
		||||
  scripts/generator/cpp/gmock_class.py \
 | 
			
		||||
  scripts/generator/cpp/keywords.py \
 | 
			
		||||
  scripts/generator/cpp/tokenize.py \
 | 
			
		||||
  scripts/generator/cpp/utils.py \
 | 
			
		||||
  scripts/generator/gmock_gen.py
 | 
			
		||||
 | 
			
		||||
# CMake scripts.
 | 
			
		||||
EXTRA_DIST += \
 | 
			
		||||
  CMakeLists.txt
 | 
			
		||||
 | 
			
		||||
# Microsoft Visual Studio 2005 projects.
 | 
			
		||||
EXTRA_DIST += \
 | 
			
		||||
  msvc/2005/gmock.sln \
 | 
			
		||||
  msvc/2005/gmock.vcproj \
 | 
			
		||||
  msvc/2005/gmock_config.vsprops \
 | 
			
		||||
  msvc/2005/gmock_main.vcproj \
 | 
			
		||||
  msvc/2005/gmock_test.vcproj
 | 
			
		||||
 | 
			
		||||
# Microsoft Visual Studio 2010 projects.
 | 
			
		||||
EXTRA_DIST += \
 | 
			
		||||
  msvc/2010/gmock.sln \
 | 
			
		||||
  msvc/2010/gmock.vcxproj \
 | 
			
		||||
  msvc/2010/gmock_config.props \
 | 
			
		||||
  msvc/2010/gmock_main.vcxproj \
 | 
			
		||||
  msvc/2010/gmock_test.vcxproj
 | 
			
		||||
 | 
			
		||||
if HAVE_PYTHON
 | 
			
		||||
# gmock_test.cc does not really depend on files generated by the
 | 
			
		||||
# fused-gmock-internal rule.  However, gmock_test.o does, and it is
 | 
			
		||||
# important to include test/gmock_test.cc as part of this rule in order to
 | 
			
		||||
# prevent compiling gmock_test.o until all dependent files have been
 | 
			
		||||
# generated.
 | 
			
		||||
$(test_gmock_fused_test_SOURCES): fused-gmock-internal
 | 
			
		||||
 | 
			
		||||
fused-gmock-internal: $(pkginclude_HEADERS) $(pkginclude_internal_HEADERS) \
 | 
			
		||||
                      $(lib_libgmock_la_SOURCES) $(GMOCK_SOURCE_INGLUDES) \
 | 
			
		||||
                      $(lib_libgmock_main_la_SOURCES) \
 | 
			
		||||
                      scripts/fuse_gmock_files.py
 | 
			
		||||
	mkdir -p "$(srcdir)/fused-src"
 | 
			
		||||
	chmod -R u+w "$(srcdir)/fused-src"
 | 
			
		||||
	rm -f "$(srcdir)/fused-src/gtest/gtest.h"
 | 
			
		||||
	rm -f "$(srcdir)/fused-src/gmock/gmock.h"
 | 
			
		||||
	rm -f "$(srcdir)/fused-src/gmock-gtest-all.cc"
 | 
			
		||||
	"$(srcdir)/scripts/fuse_gmock_files.py" "$(srcdir)/fused-src"
 | 
			
		||||
	cp -f "$(srcdir)/src/gmock_main.cc" "$(srcdir)/fused-src"
 | 
			
		||||
 | 
			
		||||
maintainer-clean-local:
 | 
			
		||||
	rm -rf "$(srcdir)/fused-src"
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
# Death tests may produce core dumps in the build directory. In case
 | 
			
		||||
# this happens, clean them to keep distcleancheck happy.
 | 
			
		||||
CLEANFILES = core
 | 
			
		||||
 | 
			
		||||
# Disables 'make install' as installing a compiled version of Google
 | 
			
		||||
# Mock can lead to undefined behavior due to violation of the
 | 
			
		||||
# One-Definition Rule.
 | 
			
		||||
 | 
			
		||||
install-exec-local:
 | 
			
		||||
	echo "'make install' is dangerous and not supported. Instead, see README for how to integrate Google Mock into your build system."
 | 
			
		||||
	false
 | 
			
		||||
 | 
			
		||||
install-data-local:
 | 
			
		||||
	echo "'make install' is dangerous and not supported. Instead, see README for how to integrate Google Mock into your build system."
 | 
			
		||||
	false
 | 
			
		||||
@@ -145,93 +145,6 @@ to
 | 
			
		||||
 | 
			
		||||
This works because `gmock_main` library is compiled with Google Test.
 | 
			
		||||
 | 
			
		||||
#### Preparing to Build (Unix only) ####
 | 
			
		||||
 | 
			
		||||
If you are using a Unix system and plan to use the GNU Autotools build
 | 
			
		||||
system to build Google Mock (described below), you'll need to
 | 
			
		||||
configure it now.
 | 
			
		||||
 | 
			
		||||
To prepare the Autotools build system:
 | 
			
		||||
 | 
			
		||||
    cd googlemock
 | 
			
		||||
    autoreconf -fvi
 | 
			
		||||
 | 
			
		||||
To build Google Mock and your tests that use it, you need to tell your
 | 
			
		||||
build system where to find its headers and source files.  The exact
 | 
			
		||||
way to do it depends on which build system you use, and is usually
 | 
			
		||||
straightforward.
 | 
			
		||||
 | 
			
		||||
This section shows how you can integrate Google Mock into your
 | 
			
		||||
existing build system.
 | 
			
		||||
 | 
			
		||||
Suppose you put Google Mock in directory `${GMOCK_DIR}` and Google Test
 | 
			
		||||
in `${GTEST_DIR}` (the latter is `${GMOCK_DIR}/gtest` by default).  To
 | 
			
		||||
build Google Mock, create a library build target (or a project as
 | 
			
		||||
called by Visual Studio and Xcode) to compile
 | 
			
		||||
 | 
			
		||||
    ${GTEST_DIR}/src/gtest-all.cc and ${GMOCK_DIR}/src/gmock-all.cc
 | 
			
		||||
 | 
			
		||||
with
 | 
			
		||||
 | 
			
		||||
    ${GTEST_DIR}/include and ${GMOCK_DIR}/include
 | 
			
		||||
 | 
			
		||||
in the system header search path, and
 | 
			
		||||
 | 
			
		||||
    ${GTEST_DIR} and ${GMOCK_DIR}
 | 
			
		||||
 | 
			
		||||
in the normal header search path.  Assuming a Linux-like system and gcc,
 | 
			
		||||
something like the following will do:
 | 
			
		||||
 | 
			
		||||
    g++ -isystem ${GTEST_DIR}/include -I${GTEST_DIR} \
 | 
			
		||||
        -isystem ${GMOCK_DIR}/include -I${GMOCK_DIR} \
 | 
			
		||||
        -pthread -c ${GTEST_DIR}/src/gtest-all.cc
 | 
			
		||||
    g++ -isystem ${GTEST_DIR}/include -I${GTEST_DIR} \
 | 
			
		||||
        -isystem ${GMOCK_DIR}/include -I${GMOCK_DIR} \
 | 
			
		||||
        -pthread -c ${GMOCK_DIR}/src/gmock-all.cc
 | 
			
		||||
    ar -rv libgmock.a gtest-all.o gmock-all.o
 | 
			
		||||
 | 
			
		||||
(We need -pthread as Google Test and Google Mock use threads.)
 | 
			
		||||
 | 
			
		||||
Next, you should compile your test source file with
 | 
			
		||||
${GTEST\_DIR}/include and ${GMOCK\_DIR}/include in the header search
 | 
			
		||||
path, and link it with gmock and any other necessary libraries:
 | 
			
		||||
 | 
			
		||||
    g++ -isystem ${GTEST_DIR}/include -isystem ${GMOCK_DIR}/include \
 | 
			
		||||
        -pthread path/to/your_test.cc libgmock.a -o your_test
 | 
			
		||||
 | 
			
		||||
As an example, the make/ directory contains a Makefile that you can
 | 
			
		||||
use to build Google Mock on systems where GNU make is available
 | 
			
		||||
(e.g. Linux, Mac OS X, and Cygwin).  It doesn't try to build Google
 | 
			
		||||
Mock's own tests.  Instead, it just builds the Google Mock library and
 | 
			
		||||
a sample test.  You can use it as a starting point for your own build
 | 
			
		||||
script.
 | 
			
		||||
 | 
			
		||||
If the default settings are correct for your environment, the
 | 
			
		||||
following commands should succeed:
 | 
			
		||||
 | 
			
		||||
    cd ${GMOCK_DIR}/make
 | 
			
		||||
    make
 | 
			
		||||
    ./gmock_test
 | 
			
		||||
 | 
			
		||||
If you see errors, try to tweak the contents of
 | 
			
		||||
[make/Makefile](make/Makefile) to make them go away.
 | 
			
		||||
 | 
			
		||||
### Windows ###
 | 
			
		||||
 | 
			
		||||
The msvc/2005 directory contains VC++ 2005 projects and the msvc/2010
 | 
			
		||||
directory contains VC++ 2010 projects for building Google Mock and
 | 
			
		||||
selected tests.
 | 
			
		||||
 | 
			
		||||
Change to the appropriate directory and run "msbuild gmock.sln" to
 | 
			
		||||
build the library and tests (or open the gmock.sln in the MSVC IDE).
 | 
			
		||||
If you want to create your own project to use with Google Mock, you'll
 | 
			
		||||
have to configure it to use the `gmock_config` propety sheet.  For that:
 | 
			
		||||
 | 
			
		||||
 * Open the Property Manager window (View | Other Windows | Property Manager)
 | 
			
		||||
 * Right-click on your project and select "Add Existing Property Sheet..."
 | 
			
		||||
 * Navigate to `gmock_config.vsprops` or `gmock_config.props` and select it.
 | 
			
		||||
 * In Project Properties | Configuration Properties | General | Additional
 | 
			
		||||
   Include Directories, type <path to Google Mock>/include.
 | 
			
		||||
 | 
			
		||||
### Tweaking Google Mock ###
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,137 +0,0 @@
 | 
			
		||||
# Note: automake support is community-based. The maintainers do not use automake
 | 
			
		||||
# internally.
 | 
			
		||||
 | 
			
		||||
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_MACRO_DIRS([m4])
 | 
			
		||||
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
 | 
			
		||||
 | 
			
		||||
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" != ":"])
 | 
			
		||||
 | 
			
		||||
# 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.
 | 
			
		||||
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}"])
 | 
			
		||||
 | 
			
		||||
# Output the generated files. No further autoconf macros may be used.
 | 
			
		||||
AC_OUTPUT
 | 
			
		||||
@@ -2822,9 +2822,7 @@ and you should see an `OUTPUT_DIR` directory being created with files
 | 
			
		||||
`gtest/gtest.h`, `gmock/gmock.h`, and `gmock-gtest-all.cc` in it.
 | 
			
		||||
These three files contain everything you need to use Google Mock (and
 | 
			
		||||
Google Test).  Just copy them to anywhere you want and you are ready
 | 
			
		||||
to write tests and use mocks.  You can use the
 | 
			
		||||
[make/Makefile](../make/Makefile) file as an example on how to compile your tests
 | 
			
		||||
against them.
 | 
			
		||||
to write tests and use mocks.
 | 
			
		||||
 | 
			
		||||
# Extending Google Mock #
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,126 +0,0 @@
 | 
			
		||||
# A sample Makefile for building both Google Mock and Google Test and
 | 
			
		||||
# using them in user tests.  This file is self-contained, so you don't
 | 
			
		||||
# need to use the Makefile in Google Test's source tree.  Please tweak
 | 
			
		||||
# it to suit your environment and project.  You may want to move it to
 | 
			
		||||
# your project's root directory.
 | 
			
		||||
#
 | 
			
		||||
# SYNOPSIS:
 | 
			
		||||
#
 | 
			
		||||
#   make [all]  - makes everything.
 | 
			
		||||
#   make TARGET - makes the given target.
 | 
			
		||||
#   make clean  - removes all files generated by make.
 | 
			
		||||
 | 
			
		||||
# Please tweak the following variable definitions as needed by your
 | 
			
		||||
# project, except GMOCK_HEADERS and GTEST_HEADERS, which you can use
 | 
			
		||||
# in your own targets but shouldn't modify.
 | 
			
		||||
 | 
			
		||||
# Points to the root of Google Test, relative to where this file is.
 | 
			
		||||
# Remember to tweak this if you move this file, or if you want to use
 | 
			
		||||
# a copy of Google Test at a different location.
 | 
			
		||||
GTEST_DIR = ../../googletest
 | 
			
		||||
 | 
			
		||||
# Points to the location of the Google Test libraries
 | 
			
		||||
GTEST_LIB_DIR = .
 | 
			
		||||
 | 
			
		||||
# Points to the root of Google Mock, relative to where this file is.
 | 
			
		||||
# Remember to tweak this if you move this file.
 | 
			
		||||
GMOCK_DIR = ..
 | 
			
		||||
 | 
			
		||||
# Where to find user code.
 | 
			
		||||
USER_DIR = ../test
 | 
			
		||||
 | 
			
		||||
# Flags passed to the preprocessor.
 | 
			
		||||
# Set Google Test and Google Mock's header directories as system
 | 
			
		||||
# directories, such that the compiler doesn't generate warnings in
 | 
			
		||||
# these headers.
 | 
			
		||||
CPPFLAGS += -isystem $(GTEST_DIR)/include -isystem $(GMOCK_DIR)/include
 | 
			
		||||
 | 
			
		||||
# Flags passed to the C++ compiler.
 | 
			
		||||
CXXFLAGS += -g -Wall -Wextra -pthread -std=c++11
 | 
			
		||||
 | 
			
		||||
# Google Test libraries
 | 
			
		||||
GTEST_LIBS = libgtest.a libgtest_main.a libgmock.a libgmock_main.a
 | 
			
		||||
 | 
			
		||||
# All tests produced by this Makefile.  Remember to add new tests you
 | 
			
		||||
# created to the list.
 | 
			
		||||
TESTS = gmock_test
 | 
			
		||||
 | 
			
		||||
# All Google Test headers.  Usually you shouldn't change this
 | 
			
		||||
# definition.
 | 
			
		||||
GTEST_HEADERS = $(GTEST_DIR)/include/gtest/*.h \
 | 
			
		||||
                $(GTEST_DIR)/include/gtest/internal/*.h
 | 
			
		||||
 | 
			
		||||
# All Google Mock headers. Note that all Google Test headers are
 | 
			
		||||
# included here too, as they are #included by Google Mock headers.
 | 
			
		||||
# Usually you shouldn't change this definition.	
 | 
			
		||||
GMOCK_HEADERS = $(GMOCK_DIR)/include/gmock/*.h \
 | 
			
		||||
                $(GMOCK_DIR)/include/gmock/internal/*.h \
 | 
			
		||||
                $(GTEST_HEADERS)
 | 
			
		||||
 | 
			
		||||
# House-keeping build targets.
 | 
			
		||||
 | 
			
		||||
ifndef GOOGLETEST_UNSUPPORTED_MAKEFILE_BUILD_SYSTEM_WORKAROUND
 | 
			
		||||
.PHONY all:
 | 
			
		||||
	$(info "The Make buildsystem is no longer supported")
 | 
			
		||||
	$(info "You can temporarily set GOOGLETEST_UNSUPPORTED_MAKEFILE_BUILD_SYSTEM_WORKAROUND=1")
 | 
			
		||||
	$(info "i.e make GOOGLETEST_UNSUPPORTED_MAKEFILE_BUILD_SYSTEM_WORKAROUND=1 all")
 | 
			
		||||
	$(info "But this is going away very soon. ")
 | 
			
		||||
	$(exit 1)
 | 
			
		||||
else
 | 
			
		||||
all: $(GTEST_LIBS) $(TESTS)
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
clean :
 | 
			
		||||
	rm -f $(GTEST_LIBS) $(TESTS) *.o
 | 
			
		||||
 | 
			
		||||
# Builds gmock.a and gmock_main.a.  These libraries contain both
 | 
			
		||||
# Google Mock and Google Test.  A test should link with either gmock.a
 | 
			
		||||
# or gmock_main.a, depending on whether it defines its own main()
 | 
			
		||||
# function.  It's fine if your test only uses features from Google
 | 
			
		||||
# Test (and not Google Mock).
 | 
			
		||||
 | 
			
		||||
# Usually you shouldn't tweak such internal variables, indicated by a
 | 
			
		||||
# trailing _.
 | 
			
		||||
GTEST_SRCS_ = $(GTEST_DIR)/src/*.cc $(GTEST_DIR)/src/*.h $(GTEST_HEADERS)
 | 
			
		||||
GMOCK_SRCS_ = $(GMOCK_DIR)/src/*.cc $(GMOCK_HEADERS)
 | 
			
		||||
 | 
			
		||||
# For simplicity and to avoid depending on implementation details of
 | 
			
		||||
# Google Mock and Google Test, the dependencies specified below are
 | 
			
		||||
# conservative and not optimized.  This is fine as Google Mock and
 | 
			
		||||
# Google Test compile fast and for ordinary users their source rarely
 | 
			
		||||
# changes.
 | 
			
		||||
gtest-all.o : $(GTEST_SRCS_)
 | 
			
		||||
	$(CXX) $(CPPFLAGS) -I$(GTEST_DIR) -I$(GMOCK_DIR) $(CXXFLAGS) \
 | 
			
		||||
            -c $(GTEST_DIR)/src/gtest-all.cc
 | 
			
		||||
 | 
			
		||||
gtest_main.o : $(GTEST_SRCS_)
 | 
			
		||||
	$(CXX) $(CPPFLAGS) -I$(GTEST_DIR) -I$(GMOCK_DIR) $(CXXFLAGS) \
 | 
			
		||||
            -c $(GTEST_DIR)/src/gtest_main.cc
 | 
			
		||||
 | 
			
		||||
gmock-all.o : $(GMOCK_SRCS_)
 | 
			
		||||
	$(CXX) $(CPPFLAGS) -I$(GTEST_DIR) -I$(GMOCK_DIR) $(CXXFLAGS) \
 | 
			
		||||
            -c $(GMOCK_DIR)/src/gmock-all.cc
 | 
			
		||||
 | 
			
		||||
gmock_main.o : $(GMOCK_SRCS_)
 | 
			
		||||
	$(CXX) $(CPPFLAGS) -I$(GTEST_DIR) -I$(GMOCK_DIR) $(CXXFLAGS) \
 | 
			
		||||
            -c $(GMOCK_DIR)/src/gmock_main.cc
 | 
			
		||||
 | 
			
		||||
libgtest.a : gtest-all.o
 | 
			
		||||
	$(AR) $(ARFLAGS) $@ $^
 | 
			
		||||
 | 
			
		||||
libgtest_main.a : gtest_main.o
 | 
			
		||||
	$(AR) $(ARFLAGS) $@ $^
 | 
			
		||||
 | 
			
		||||
libgmock.a : gmock-all.o
 | 
			
		||||
	$(AR) $(ARFLAGS) $@ $^
 | 
			
		||||
 | 
			
		||||
libgmock_main.a : gmock_main.o
 | 
			
		||||
	$(AR) $(ARFLAGS) $@ $^
 | 
			
		||||
 | 
			
		||||
# Builds a sample test.
 | 
			
		||||
 | 
			
		||||
gmock_test.o : $(USER_DIR)/gmock_test.cc $(GMOCK_HEADERS)
 | 
			
		||||
	$(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(USER_DIR)/gmock_test.cc
 | 
			
		||||
 | 
			
		||||
gmock_test : gmock_test.o $(GTEST_LIBS)
 | 
			
		||||
	$(CXX) $(CPPFLAGS) $(CXXFLAGS) -L$(GTEST_LIB_DIR) -lgmock -lpthread $^ -o $@
 | 
			
		||||
@@ -1,303 +0,0 @@
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
 | 
			
		||||
# These variables are automatically filled in by the configure script.
 | 
			
		||||
name="@PACKAGE_TARNAME@"
 | 
			
		||||
version="@PACKAGE_VERSION@"
 | 
			
		||||
 | 
			
		||||
show_usage()
 | 
			
		||||
{
 | 
			
		||||
  echo "Usage: gmock-config [OPTIONS...]"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
show_help()
 | 
			
		||||
{
 | 
			
		||||
  show_usage
 | 
			
		||||
  cat <<\EOF
 | 
			
		||||
 | 
			
		||||
The `gmock-config' script provides access to the necessary compile and linking
 | 
			
		||||
flags to connect with Google C++ Mocking Framework, both in a build prior to
 | 
			
		||||
installation, and on the system proper after installation. The installation
 | 
			
		||||
overrides may be issued in combination with any other queries, but will only
 | 
			
		||||
affect installation queries if called on a built but not installed gmock. The
 | 
			
		||||
installation queries may not be issued with any other types of queries, and
 | 
			
		||||
only one installation query may be made at a time. The version queries and
 | 
			
		||||
compiler flag queries may be combined as desired but not mixed. Different
 | 
			
		||||
version queries are always combined with logical "and" semantics, and only the
 | 
			
		||||
last of any particular query is used while all previous ones ignored. All
 | 
			
		||||
versions must be specified as a sequence of numbers separated by periods.
 | 
			
		||||
Compiler flag queries output the union of the sets of flags when combined.
 | 
			
		||||
 | 
			
		||||
 Examples:
 | 
			
		||||
  gmock-config --min-version=1.0 || echo "Insufficient Google Mock version."
 | 
			
		||||
 | 
			
		||||
  g++ $(gmock-config --cppflags --cxxflags) -o foo.o -c foo.cpp
 | 
			
		||||
  g++ $(gmock-config --ldflags --libs) -o foo foo.o
 | 
			
		||||
 | 
			
		||||
  # When using a built but not installed Google Mock:
 | 
			
		||||
  g++ $(../../my_gmock_build/scripts/gmock-config ...) ...
 | 
			
		||||
 | 
			
		||||
  # When using an installed Google Mock, but with installation overrides:
 | 
			
		||||
  export GMOCK_PREFIX="/opt"
 | 
			
		||||
  g++ $(gmock-config --libdir="/opt/lib64" ...) ...
 | 
			
		||||
 | 
			
		||||
 Help:
 | 
			
		||||
  --usage                    brief usage information
 | 
			
		||||
  --help                     display this help message
 | 
			
		||||
 | 
			
		||||
 Installation Overrides:
 | 
			
		||||
  --prefix=<dir>             overrides the installation prefix
 | 
			
		||||
  --exec-prefix=<dir>        overrides the executable installation prefix
 | 
			
		||||
  --libdir=<dir>             overrides the library installation prefix
 | 
			
		||||
  --includedir=<dir>         overrides the header file installation prefix
 | 
			
		||||
 | 
			
		||||
 Installation Queries:
 | 
			
		||||
  --prefix                   installation prefix
 | 
			
		||||
  --exec-prefix              executable installation prefix
 | 
			
		||||
  --libdir                   library installation directory
 | 
			
		||||
  --includedir               header file installation directory
 | 
			
		||||
  --version                  the version of the Google Mock installation
 | 
			
		||||
 | 
			
		||||
 Version Queries:
 | 
			
		||||
  --min-version=VERSION      return 0 if the version is at least VERSION
 | 
			
		||||
  --exact-version=VERSION    return 0 if the version is exactly VERSION
 | 
			
		||||
  --max-version=VERSION      return 0 if the version is at most VERSION
 | 
			
		||||
 | 
			
		||||
 Compilation Flag Queries:
 | 
			
		||||
  --cppflags                 compile flags specific to the C-like preprocessors
 | 
			
		||||
  --cxxflags                 compile flags appropriate for C++ programs
 | 
			
		||||
  --ldflags                  linker flags
 | 
			
		||||
  --libs                     libraries for linking
 | 
			
		||||
 | 
			
		||||
EOF
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# This function bounds our version with a min and a max. It uses some clever
 | 
			
		||||
# POSIX-compliant variable expansion to portably do all the work in the shell
 | 
			
		||||
# and avoid any dependency on a particular "sed" or "awk" implementation.
 | 
			
		||||
# Notable is that it will only ever compare the first 3 components of versions.
 | 
			
		||||
# Further components will be cleanly stripped off. All versions must be
 | 
			
		||||
# unadorned, so "v1.0" will *not* work. The minimum version must be in $1, and
 | 
			
		||||
# the max in $2. TODO(chandlerc@google.com): If this ever breaks, we should
 | 
			
		||||
# investigate expanding this via autom4te from AS_VERSION_COMPARE rather than
 | 
			
		||||
# continuing to maintain our own shell version.
 | 
			
		||||
check_versions()
 | 
			
		||||
{
 | 
			
		||||
  major_version=${version%%.*}
 | 
			
		||||
  minor_version="0"
 | 
			
		||||
  point_version="0"
 | 
			
		||||
  if test "${version#*.}" != "${version}"; then
 | 
			
		||||
    minor_version=${version#*.}
 | 
			
		||||
    minor_version=${minor_version%%.*}
 | 
			
		||||
  fi
 | 
			
		||||
  if test "${version#*.*.}" != "${version}"; then
 | 
			
		||||
    point_version=${version#*.*.}
 | 
			
		||||
    point_version=${point_version%%.*}
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  min_version="$1"
 | 
			
		||||
  min_major_version=${min_version%%.*}
 | 
			
		||||
  min_minor_version="0"
 | 
			
		||||
  min_point_version="0"
 | 
			
		||||
  if test "${min_version#*.}" != "${min_version}"; then
 | 
			
		||||
    min_minor_version=${min_version#*.}
 | 
			
		||||
    min_minor_version=${min_minor_version%%.*}
 | 
			
		||||
  fi
 | 
			
		||||
  if test "${min_version#*.*.}" != "${min_version}"; then
 | 
			
		||||
    min_point_version=${min_version#*.*.}
 | 
			
		||||
    min_point_version=${min_point_version%%.*}
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  max_version="$2"
 | 
			
		||||
  max_major_version=${max_version%%.*}
 | 
			
		||||
  max_minor_version="0"
 | 
			
		||||
  max_point_version="0"
 | 
			
		||||
  if test "${max_version#*.}" != "${max_version}"; then
 | 
			
		||||
    max_minor_version=${max_version#*.}
 | 
			
		||||
    max_minor_version=${max_minor_version%%.*}
 | 
			
		||||
  fi
 | 
			
		||||
  if test "${max_version#*.*.}" != "${max_version}"; then
 | 
			
		||||
    max_point_version=${max_version#*.*.}
 | 
			
		||||
    max_point_version=${max_point_version%%.*}
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  test $(($major_version)) -lt $(($min_major_version)) && exit 1
 | 
			
		||||
  if test $(($major_version)) -eq $(($min_major_version)); then
 | 
			
		||||
    test $(($minor_version)) -lt $(($min_minor_version)) && exit 1
 | 
			
		||||
    if test $(($minor_version)) -eq $(($min_minor_version)); then
 | 
			
		||||
      test $(($point_version)) -lt $(($min_point_version)) && exit 1
 | 
			
		||||
    fi
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  test $(($major_version)) -gt $(($max_major_version)) && exit 1
 | 
			
		||||
  if test $(($major_version)) -eq $(($max_major_version)); then
 | 
			
		||||
    test $(($minor_version)) -gt $(($max_minor_version)) && exit 1
 | 
			
		||||
    if test $(($minor_version)) -eq $(($max_minor_version)); then
 | 
			
		||||
      test $(($point_version)) -gt $(($max_point_version)) && exit 1
 | 
			
		||||
    fi
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  exit 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# Show the usage line when no arguments are specified.
 | 
			
		||||
if test $# -eq 0; then
 | 
			
		||||
  show_usage
 | 
			
		||||
  exit 1
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
while test $# -gt 0; do
 | 
			
		||||
  case $1 in
 | 
			
		||||
    --usage)          show_usage;         exit 0;;
 | 
			
		||||
    --help)           show_help;          exit 0;;
 | 
			
		||||
 | 
			
		||||
    # Installation overrides
 | 
			
		||||
    --prefix=*)       GMOCK_PREFIX=${1#--prefix=};;
 | 
			
		||||
    --exec-prefix=*)  GMOCK_EXEC_PREFIX=${1#--exec-prefix=};;
 | 
			
		||||
    --libdir=*)       GMOCK_LIBDIR=${1#--libdir=};;
 | 
			
		||||
    --includedir=*)   GMOCK_INCLUDEDIR=${1#--includedir=};;
 | 
			
		||||
 | 
			
		||||
    # Installation queries
 | 
			
		||||
    --prefix|--exec-prefix|--libdir|--includedir|--version)
 | 
			
		||||
      if test -n "${do_query}"; then
 | 
			
		||||
        show_usage
 | 
			
		||||
        exit 1
 | 
			
		||||
      fi
 | 
			
		||||
      do_query=${1#--}
 | 
			
		||||
      ;;
 | 
			
		||||
 | 
			
		||||
    # Version checking
 | 
			
		||||
    --min-version=*)
 | 
			
		||||
      do_check_versions=yes
 | 
			
		||||
      min_version=${1#--min-version=}
 | 
			
		||||
      ;;
 | 
			
		||||
    --max-version=*)
 | 
			
		||||
      do_check_versions=yes
 | 
			
		||||
      max_version=${1#--max-version=}
 | 
			
		||||
      ;;
 | 
			
		||||
    --exact-version=*)
 | 
			
		||||
      do_check_versions=yes
 | 
			
		||||
      exact_version=${1#--exact-version=}
 | 
			
		||||
      ;;
 | 
			
		||||
 | 
			
		||||
    # Compiler flag output
 | 
			
		||||
    --cppflags)       echo_cppflags=yes;;
 | 
			
		||||
    --cxxflags)       echo_cxxflags=yes;;
 | 
			
		||||
    --ldflags)        echo_ldflags=yes;;
 | 
			
		||||
    --libs)           echo_libs=yes;;
 | 
			
		||||
 | 
			
		||||
    # Everything else is an error
 | 
			
		||||
    *)                show_usage;         exit 1;;
 | 
			
		||||
  esac
 | 
			
		||||
  shift
 | 
			
		||||
done
 | 
			
		||||
 | 
			
		||||
# These have defaults filled in by the configure script but can also be
 | 
			
		||||
# overridden by environment variables or command line parameters.
 | 
			
		||||
prefix="${GMOCK_PREFIX:-@prefix@}"
 | 
			
		||||
exec_prefix="${GMOCK_EXEC_PREFIX:-@exec_prefix@}"
 | 
			
		||||
libdir="${GMOCK_LIBDIR:-@libdir@}"
 | 
			
		||||
includedir="${GMOCK_INCLUDEDIR:-@includedir@}"
 | 
			
		||||
 | 
			
		||||
# We try and detect if our binary is not located at its installed location. If
 | 
			
		||||
# it's not, we provide variables pointing to the source and build tree rather
 | 
			
		||||
# than to the install tree. We also locate Google Test using the configured
 | 
			
		||||
# gtest-config script rather than searching the PATH and our bindir for one.
 | 
			
		||||
# This allows building against a just-built gmock rather than an installed
 | 
			
		||||
# gmock.
 | 
			
		||||
bindir="@bindir@"
 | 
			
		||||
this_relative_bindir=`dirname $0`
 | 
			
		||||
this_bindir=`cd ${this_relative_bindir}; pwd -P`
 | 
			
		||||
if test "${this_bindir}" = "${this_bindir%${bindir}}"; then
 | 
			
		||||
  # The path to the script doesn't end in the bindir sequence from Autoconf,
 | 
			
		||||
  # assume that we are in a build tree.
 | 
			
		||||
  build_dir=`dirname ${this_bindir}`
 | 
			
		||||
  src_dir=`cd ${this_bindir}/@top_srcdir@; pwd -P`
 | 
			
		||||
 | 
			
		||||
  # TODO(chandlerc@google.com): This is a dangerous dependency on libtool, we
 | 
			
		||||
  # should work to remove it, and/or remove libtool altogether, replacing it
 | 
			
		||||
  # with direct references to the library and a link path.
 | 
			
		||||
  gmock_libs="${build_dir}/lib/libgmock.la"
 | 
			
		||||
  gmock_ldflags=""
 | 
			
		||||
 | 
			
		||||
  # We provide hooks to include from either the source or build dir, where the
 | 
			
		||||
  # build dir is always preferred. This will potentially allow us to write
 | 
			
		||||
  # build rules for generated headers and have them automatically be preferred
 | 
			
		||||
  # over provided versions.
 | 
			
		||||
  gmock_cppflags="-I${build_dir}/include -I${src_dir}/include"
 | 
			
		||||
  gmock_cxxflags=""
 | 
			
		||||
 | 
			
		||||
  # Directly invoke the gtest-config script used during the build process.
 | 
			
		||||
  gtest_config="@GTEST_CONFIG@"
 | 
			
		||||
else
 | 
			
		||||
  # We're using an installed gmock, although it may be staged under some
 | 
			
		||||
  # prefix. Assume (as our own libraries do) that we can resolve the prefix,
 | 
			
		||||
  # and are present in the dynamic link paths.
 | 
			
		||||
  gmock_ldflags="-L${libdir}"
 | 
			
		||||
  gmock_libs="-l${name}"
 | 
			
		||||
  gmock_cppflags="-I${includedir}"
 | 
			
		||||
  gmock_cxxflags=""
 | 
			
		||||
 | 
			
		||||
  # We also prefer any gtest-config script installed in our prefix. Lacking
 | 
			
		||||
  # one, we look in the PATH for one.
 | 
			
		||||
  gtest_config="${bindir}/gtest-config"
 | 
			
		||||
  if test ! -x "${gtest_config}"; then
 | 
			
		||||
    gtest_config=`which gtest-config`
 | 
			
		||||
  fi
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# Ensure that we have located a Google Test to link against.
 | 
			
		||||
if ! test -x "${gtest_config}"; then
 | 
			
		||||
  echo "Unable to locate Google Test, check your Google Mock configuration" \
 | 
			
		||||
       "and installation" >&2
 | 
			
		||||
  exit 1
 | 
			
		||||
elif ! "${gtest_config}" "--exact-version=@GTEST_VERSION@"; then
 | 
			
		||||
  echo "The Google Test found is not the same version as Google Mock was " \
 | 
			
		||||
       "built against" >&2
 | 
			
		||||
  exit 1
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# Add the necessary Google Test bits into the various flag variables
 | 
			
		||||
gmock_cppflags="${gmock_cppflags} `${gtest_config} --cppflags`"
 | 
			
		||||
gmock_cxxflags="${gmock_cxxflags} `${gtest_config} --cxxflags`"
 | 
			
		||||
gmock_ldflags="${gmock_ldflags} `${gtest_config} --ldflags`"
 | 
			
		||||
gmock_libs="${gmock_libs} `${gtest_config} --libs`"
 | 
			
		||||
 | 
			
		||||
# Do an installation query if requested.
 | 
			
		||||
if test -n "$do_query"; then
 | 
			
		||||
  case $do_query in
 | 
			
		||||
    prefix)           echo $prefix;       exit 0;;
 | 
			
		||||
    exec-prefix)      echo $exec_prefix;  exit 0;;
 | 
			
		||||
    libdir)           echo $libdir;       exit 0;;
 | 
			
		||||
    includedir)       echo $includedir;   exit 0;;
 | 
			
		||||
    version)          echo $version;      exit 0;;
 | 
			
		||||
    *)                show_usage;         exit 1;;
 | 
			
		||||
  esac
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# Do a version check if requested.
 | 
			
		||||
if test "$do_check_versions" = "yes"; then
 | 
			
		||||
  # Make sure we didn't receive a bad combination of parameters.
 | 
			
		||||
  test "$echo_cppflags" = "yes" && show_usage && exit 1
 | 
			
		||||
  test "$echo_cxxflags" = "yes" && show_usage && exit 1
 | 
			
		||||
  test "$echo_ldflags" = "yes"  && show_usage && exit 1
 | 
			
		||||
  test "$echo_libs" = "yes"     && show_usage && exit 1
 | 
			
		||||
 | 
			
		||||
  if test "$exact_version" != ""; then
 | 
			
		||||
    check_versions $exact_version $exact_version
 | 
			
		||||
    # unreachable
 | 
			
		||||
  else
 | 
			
		||||
    check_versions ${min_version:-0.0.0} ${max_version:-9999.9999.9999}
 | 
			
		||||
    # unreachable
 | 
			
		||||
  fi
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# Do the output in the correct order so that these can be used in-line of
 | 
			
		||||
# a compiler invocation.
 | 
			
		||||
output=""
 | 
			
		||||
test "$echo_cppflags" = "yes" && output="$output $gmock_cppflags"
 | 
			
		||||
test "$echo_cxxflags" = "yes" && output="$output $gmock_cxxflags"
 | 
			
		||||
test "$echo_ldflags" = "yes"  && output="$output $gmock_ldflags"
 | 
			
		||||
test "$echo_libs" = "yes"     && output="$output $gmock_libs"
 | 
			
		||||
echo $output
 | 
			
		||||
 | 
			
		||||
exit 0
 | 
			
		||||
		Reference in New Issue
	
	Block a user