Add logging to minidump processor (#82). First part: logging infrastructure
and messages for minidump.cc and minidump_processor.cc. r=bryner. http://groups.google.com/group/google-breakpad-dev/browse_thread/thread/b056994d675f623c git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@169 4c0a9323-5329-0410-9bdc-e9ce6186880e
This commit is contained in:
parent
95be2b659e
commit
af3c43f00e
15 changed files with 2049 additions and 1437 deletions
50
INSTALL
50
INSTALL
|
@ -1,8 +1,8 @@
|
||||||
Installation Instructions
|
Installation Instructions
|
||||||
*************************
|
*************************
|
||||||
|
|
||||||
Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005 Free
|
Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
|
||||||
Software Foundation, Inc.
|
2006 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This file is free documentation; the Free Software Foundation gives
|
This file is free documentation; the Free Software Foundation gives
|
||||||
unlimited permission to copy, distribute and modify it.
|
unlimited permission to copy, distribute and modify it.
|
||||||
|
@ -10,7 +10,10 @@ unlimited permission to copy, distribute and modify it.
|
||||||
Basic Installation
|
Basic Installation
|
||||||
==================
|
==================
|
||||||
|
|
||||||
These are generic installation instructions.
|
Briefly, the shell commands `./configure; make; make install' should
|
||||||
|
configure, build, and install this package. The following
|
||||||
|
more-detailed instructions are generic; see the `README' file for
|
||||||
|
instructions specific to this package.
|
||||||
|
|
||||||
The `configure' shell script attempts to guess correct values for
|
The `configure' shell script attempts to guess correct values for
|
||||||
various system-dependent variables used during compilation. It uses
|
various system-dependent variables used during compilation. It uses
|
||||||
|
@ -23,9 +26,9 @@ debugging `configure').
|
||||||
|
|
||||||
It can also use an optional file (typically called `config.cache'
|
It can also use an optional file (typically called `config.cache'
|
||||||
and enabled with `--cache-file=config.cache' or simply `-C') that saves
|
and enabled with `--cache-file=config.cache' or simply `-C') that saves
|
||||||
the results of its tests to speed up reconfiguring. (Caching is
|
the results of its tests to speed up reconfiguring. Caching is
|
||||||
disabled by default to prevent problems with accidental use of stale
|
disabled by default to prevent problems with accidental use of stale
|
||||||
cache files.)
|
cache files.
|
||||||
|
|
||||||
If you need to do unusual things to compile the package, please try
|
If you need to do unusual things to compile the package, please try
|
||||||
to figure out how `configure' could check whether to do them, and mail
|
to figure out how `configure' could check whether to do them, and mail
|
||||||
|
@ -35,20 +38,17 @@ some point `config.cache' contains results you don't want to keep, you
|
||||||
may remove or edit it.
|
may remove or edit it.
|
||||||
|
|
||||||
The file `configure.ac' (or `configure.in') is used to create
|
The file `configure.ac' (or `configure.in') is used to create
|
||||||
`configure' by a program called `autoconf'. You only need
|
`configure' by a program called `autoconf'. You need `configure.ac' if
|
||||||
`configure.ac' if you want to change it or regenerate `configure' using
|
you want to change it or regenerate `configure' using a newer version
|
||||||
a newer version of `autoconf'.
|
of `autoconf'.
|
||||||
|
|
||||||
The simplest way to compile this package is:
|
The simplest way to compile this package is:
|
||||||
|
|
||||||
1. `cd' to the directory containing the package's source code and type
|
1. `cd' to the directory containing the package's source code and type
|
||||||
`./configure' to configure the package for your system. If you're
|
`./configure' to configure the package for your system.
|
||||||
using `csh' on an old version of System V, you might need to type
|
|
||||||
`sh ./configure' instead to prevent `csh' from trying to execute
|
|
||||||
`configure' itself.
|
|
||||||
|
|
||||||
Running `configure' takes awhile. While running, it prints some
|
Running `configure' might take a while. While running, it prints
|
||||||
messages telling which features it is checking for.
|
some messages telling which features it is checking for.
|
||||||
|
|
||||||
2. Type `make' to compile the package.
|
2. Type `make' to compile the package.
|
||||||
|
|
||||||
|
@ -78,7 +78,7 @@ details on some of the pertinent environment variables.
|
||||||
by setting variables in the command line or in the environment. Here
|
by setting variables in the command line or in the environment. Here
|
||||||
is an example:
|
is an example:
|
||||||
|
|
||||||
./configure CC=c89 CFLAGS=-O2 LIBS=-lposix
|
./configure CC=c99 CFLAGS=-g LIBS=-lposix
|
||||||
|
|
||||||
*Note Defining Variables::, for more details.
|
*Note Defining Variables::, for more details.
|
||||||
|
|
||||||
|
@ -87,17 +87,15 @@ Compiling For Multiple Architectures
|
||||||
|
|
||||||
You can compile the package for more than one kind of computer at the
|
You can compile the package for more than one kind of computer at the
|
||||||
same time, by placing the object files for each architecture in their
|
same time, by placing the object files for each architecture in their
|
||||||
own directory. To do this, you must use a version of `make' that
|
own directory. To do this, you can use GNU `make'. `cd' to the
|
||||||
supports the `VPATH' variable, such as GNU `make'. `cd' to the
|
|
||||||
directory where you want the object files and executables to go and run
|
directory where you want the object files and executables to go and run
|
||||||
the `configure' script. `configure' automatically checks for the
|
the `configure' script. `configure' automatically checks for the
|
||||||
source code in the directory that `configure' is in and in `..'.
|
source code in the directory that `configure' is in and in `..'.
|
||||||
|
|
||||||
If you have to use a `make' that does not support the `VPATH'
|
With a non-GNU `make', it is safer to compile the package for one
|
||||||
variable, you have to compile the package for one architecture at a
|
architecture at a time in the source code directory. After you have
|
||||||
time in the source code directory. After you have installed the
|
installed the package for one architecture, use `make distclean' before
|
||||||
package for one architecture, use `make distclean' before reconfiguring
|
reconfiguring for another architecture.
|
||||||
for another architecture.
|
|
||||||
|
|
||||||
Installation Names
|
Installation Names
|
||||||
==================
|
==================
|
||||||
|
@ -190,12 +188,12 @@ them in the `configure' command line, using `VAR=value'. For example:
|
||||||
./configure CC=/usr/local2/bin/gcc
|
./configure CC=/usr/local2/bin/gcc
|
||||||
|
|
||||||
causes the specified `gcc' to be used as the C compiler (unless it is
|
causes the specified `gcc' to be used as the C compiler (unless it is
|
||||||
overridden in the site shell script). Here is a another example:
|
overridden in the site shell script).
|
||||||
|
|
||||||
/bin/bash ./configure CONFIG_SHELL=/bin/bash
|
Unfortunately, this technique does not work for `CONFIG_SHELL' due to
|
||||||
|
an Autoconf bug. Until the bug is fixed you can use this workaround:
|
||||||
|
|
||||||
Here the `CONFIG_SHELL=/bin/bash' operand causes subsequent
|
CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
|
||||||
configuration-related scripts to be executed by `/bin/bash'.
|
|
||||||
|
|
||||||
`configure' Invocation
|
`configure' Invocation
|
||||||
======================
|
======================
|
||||||
|
|
11
Makefile.am
11
Makefile.am
|
@ -75,6 +75,8 @@ src_libbreakpad_la_SOURCES = \
|
||||||
src/processor/contained_range_map.h \
|
src/processor/contained_range_map.h \
|
||||||
src/processor/contained_range_map-inl.h \
|
src/processor/contained_range_map-inl.h \
|
||||||
src/processor/linked_ptr.h \
|
src/processor/linked_ptr.h \
|
||||||
|
src/processor/logging.h \
|
||||||
|
src/processor/logging.cc \
|
||||||
src/processor/minidump.cc \
|
src/processor/minidump.cc \
|
||||||
src/processor/minidump_processor.cc \
|
src/processor/minidump_processor.cc \
|
||||||
src/processor/pathname_stripper.cc \
|
src/processor/pathname_stripper.cc \
|
||||||
|
@ -141,8 +143,10 @@ src_processor_minidump_processor_unittest_LDADD = \
|
||||||
src/processor/basic_code_modules.lo \
|
src/processor/basic_code_modules.lo \
|
||||||
src/processor/basic_source_line_resolver.lo \
|
src/processor/basic_source_line_resolver.lo \
|
||||||
src/processor/call_stack.lo \
|
src/processor/call_stack.lo \
|
||||||
|
src/processor/logging.lo \
|
||||||
src/processor/minidump_processor.lo \
|
src/processor/minidump_processor.lo \
|
||||||
src/processor/minidump.lo \
|
src/processor/minidump.lo \
|
||||||
|
src/processor/pathname_stripper.lo \
|
||||||
src/processor/process_state.lo \
|
src/processor/process_state.lo \
|
||||||
src/processor/stackwalker.lo \
|
src/processor/stackwalker.lo \
|
||||||
src/processor/stackwalker_ppc.lo \
|
src/processor/stackwalker_ppc.lo \
|
||||||
|
@ -165,7 +169,9 @@ src_processor_stackwalker_selftest_LDADD = \
|
||||||
src/processor/basic_code_modules.lo \
|
src/processor/basic_code_modules.lo \
|
||||||
src/processor/basic_source_line_resolver.lo \
|
src/processor/basic_source_line_resolver.lo \
|
||||||
src/processor/call_stack.lo \
|
src/processor/call_stack.lo \
|
||||||
|
src/processor/logging.lo \
|
||||||
src/processor/minidump.lo \
|
src/processor/minidump.lo \
|
||||||
|
src/processor/pathname_stripper.lo \
|
||||||
src/processor/stackwalker.lo \
|
src/processor/stackwalker.lo \
|
||||||
src/processor/stackwalker_ppc.lo \
|
src/processor/stackwalker_ppc.lo \
|
||||||
src/processor/stackwalker_x86.lo
|
src/processor/stackwalker_x86.lo
|
||||||
|
@ -178,7 +184,9 @@ src_processor_minidump_dump_SOURCES = \
|
||||||
src/processor/minidump_dump.cc
|
src/processor/minidump_dump.cc
|
||||||
src_processor_minidump_dump_LDADD = \
|
src_processor_minidump_dump_LDADD = \
|
||||||
src/processor/basic_code_modules.lo \
|
src/processor/basic_code_modules.lo \
|
||||||
src/processor/minidump.lo
|
src/processor/logging.lo \
|
||||||
|
src/processor/minidump.lo \
|
||||||
|
src/processor/pathname_stripper.lo
|
||||||
|
|
||||||
src_processor_minidump_stackwalk_SOURCES = \
|
src_processor_minidump_stackwalk_SOURCES = \
|
||||||
src/processor/minidump_stackwalk.cc
|
src/processor/minidump_stackwalk.cc
|
||||||
|
@ -186,6 +194,7 @@ src_processor_minidump_stackwalk_LDADD = \
|
||||||
src/processor/basic_code_modules.lo \
|
src/processor/basic_code_modules.lo \
|
||||||
src/processor/basic_source_line_resolver.lo \
|
src/processor/basic_source_line_resolver.lo \
|
||||||
src/processor/call_stack.lo \
|
src/processor/call_stack.lo \
|
||||||
|
src/processor/logging.lo \
|
||||||
src/processor/minidump.lo \
|
src/processor/minidump.lo \
|
||||||
src/processor/minidump_processor.lo \
|
src/processor/minidump_processor.lo \
|
||||||
src/processor/pathname_stripper.lo \
|
src/processor/pathname_stripper.lo \
|
||||||
|
|
207
Makefile.in
207
Makefile.in
|
@ -1,8 +1,8 @@
|
||||||
# Makefile.in generated by automake 1.9.6 from Makefile.am.
|
# Makefile.in generated by automake 1.10 from Makefile.am.
|
||||||
# @configure_input@
|
# @configure_input@
|
||||||
|
|
||||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||||
# 2003, 2004, 2005 Free Software Foundation, Inc.
|
# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
|
||||||
# This Makefile.in is free software; the Free Software Foundation
|
# This Makefile.in is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
# with or without modifications, as long as this notice is preserved.
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
@ -46,15 +46,11 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
srcdir = @srcdir@
|
|
||||||
top_srcdir = @top_srcdir@
|
|
||||||
VPATH = @srcdir@
|
VPATH = @srcdir@
|
||||||
pkgdatadir = $(datadir)/@PACKAGE@
|
pkgdatadir = $(datadir)/@PACKAGE@
|
||||||
pkglibdir = $(libdir)/@PACKAGE@
|
pkglibdir = $(libdir)/@PACKAGE@
|
||||||
pkgincludedir = $(includedir)/@PACKAGE@
|
pkgincludedir = $(includedir)/@PACKAGE@
|
||||||
top_builddir = .
|
|
||||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||||
INSTALL = @INSTALL@
|
|
||||||
install_sh_DATA = $(install_sh) -c -m 644
|
install_sh_DATA = $(install_sh) -c -m 644
|
||||||
install_sh_PROGRAM = $(install_sh) -c
|
install_sh_PROGRAM = $(install_sh) -c
|
||||||
install_sh_SCRIPT = $(install_sh) -c
|
install_sh_SCRIPT = $(install_sh) -c
|
||||||
|
@ -81,19 +77,19 @@ check_PROGRAMS = src/processor/address_map_unittest$(EXEEXT) \
|
||||||
@SELFTEST_TRUE@ src/processor/stackwalker_selftest
|
@SELFTEST_TRUE@ src/processor/stackwalker_selftest
|
||||||
|
|
||||||
noinst_PROGRAMS =
|
noinst_PROGRAMS =
|
||||||
|
subdir = .
|
||||||
DIST_COMMON = README $(am__configure_deps) $(dist_doc_DATA) \
|
DIST_COMMON = README $(am__configure_deps) $(dist_doc_DATA) \
|
||||||
$(srcdir)/Makefile.am $(srcdir)/Makefile.in \
|
$(srcdir)/Makefile.am $(srcdir)/Makefile.in \
|
||||||
$(top_srcdir)/configure $(top_srcdir)/src/config.h.in AUTHORS \
|
$(top_srcdir)/configure $(top_srcdir)/src/config.h.in AUTHORS \
|
||||||
COPYING ChangeLog INSTALL NEWS autotools/config.guess \
|
COPYING ChangeLog INSTALL NEWS autotools/config.guess \
|
||||||
autotools/config.sub autotools/depcomp autotools/install-sh \
|
autotools/config.sub autotools/depcomp autotools/install-sh \
|
||||||
autotools/ltmain.sh autotools/missing
|
autotools/ltmain.sh autotools/missing
|
||||||
subdir = .
|
|
||||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||||
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
|
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
|
||||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||||
$(ACLOCAL_M4)
|
$(ACLOCAL_M4)
|
||||||
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
|
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
|
||||||
configure.lineno configure.status.lineno
|
configure.lineno config.status.lineno
|
||||||
mkinstalldirs = $(install_sh) -d
|
mkinstalldirs = $(install_sh) -d
|
||||||
CONFIG_HEADER = $(top_builddir)/src/config.h
|
CONFIG_HEADER = $(top_builddir)/src/config.h
|
||||||
CONFIG_CLEAN_FILES =
|
CONFIG_CLEAN_FILES =
|
||||||
|
@ -111,8 +107,8 @@ src_libbreakpad_la_LIBADD =
|
||||||
am__dirstamp = $(am__leading_dot)dirstamp
|
am__dirstamp = $(am__leading_dot)dirstamp
|
||||||
am_src_libbreakpad_la_OBJECTS = src/processor/basic_code_modules.lo \
|
am_src_libbreakpad_la_OBJECTS = src/processor/basic_code_modules.lo \
|
||||||
src/processor/basic_source_line_resolver.lo \
|
src/processor/basic_source_line_resolver.lo \
|
||||||
src/processor/call_stack.lo src/processor/minidump.lo \
|
src/processor/call_stack.lo src/processor/logging.lo \
|
||||||
src/processor/minidump_processor.lo \
|
src/processor/minidump.lo src/processor/minidump_processor.lo \
|
||||||
src/processor/pathname_stripper.lo \
|
src/processor/pathname_stripper.lo \
|
||||||
src/processor/process_state.lo \
|
src/processor/process_state.lo \
|
||||||
src/processor/simple_symbol_supplier.lo \
|
src/processor/simple_symbol_supplier.lo \
|
||||||
|
@ -143,7 +139,8 @@ am_src_processor_minidump_dump_OBJECTS = \
|
||||||
src_processor_minidump_dump_OBJECTS = \
|
src_processor_minidump_dump_OBJECTS = \
|
||||||
$(am_src_processor_minidump_dump_OBJECTS)
|
$(am_src_processor_minidump_dump_OBJECTS)
|
||||||
src_processor_minidump_dump_DEPENDENCIES = \
|
src_processor_minidump_dump_DEPENDENCIES = \
|
||||||
src/processor/basic_code_modules.lo src/processor/minidump.lo
|
src/processor/basic_code_modules.lo src/processor/logging.lo \
|
||||||
|
src/processor/minidump.lo src/processor/pathname_stripper.lo
|
||||||
am_src_processor_minidump_processor_unittest_OBJECTS = \
|
am_src_processor_minidump_processor_unittest_OBJECTS = \
|
||||||
src/processor/minidump_processor_unittest.$(OBJEXT)
|
src/processor/minidump_processor_unittest.$(OBJEXT)
|
||||||
src_processor_minidump_processor_unittest_OBJECTS = \
|
src_processor_minidump_processor_unittest_OBJECTS = \
|
||||||
|
@ -151,8 +148,9 @@ src_processor_minidump_processor_unittest_OBJECTS = \
|
||||||
src_processor_minidump_processor_unittest_DEPENDENCIES = \
|
src_processor_minidump_processor_unittest_DEPENDENCIES = \
|
||||||
src/processor/basic_code_modules.lo \
|
src/processor/basic_code_modules.lo \
|
||||||
src/processor/basic_source_line_resolver.lo \
|
src/processor/basic_source_line_resolver.lo \
|
||||||
src/processor/call_stack.lo \
|
src/processor/call_stack.lo src/processor/logging.lo \
|
||||||
src/processor/minidump_processor.lo src/processor/minidump.lo \
|
src/processor/minidump_processor.lo src/processor/minidump.lo \
|
||||||
|
src/processor/pathname_stripper.lo \
|
||||||
src/processor/process_state.lo src/processor/stackwalker.lo \
|
src/processor/process_state.lo src/processor/stackwalker.lo \
|
||||||
src/processor/stackwalker_ppc.lo \
|
src/processor/stackwalker_ppc.lo \
|
||||||
src/processor/stackwalker_x86.lo
|
src/processor/stackwalker_x86.lo
|
||||||
|
@ -163,8 +161,8 @@ src_processor_minidump_stackwalk_OBJECTS = \
|
||||||
src_processor_minidump_stackwalk_DEPENDENCIES = \
|
src_processor_minidump_stackwalk_DEPENDENCIES = \
|
||||||
src/processor/basic_code_modules.lo \
|
src/processor/basic_code_modules.lo \
|
||||||
src/processor/basic_source_line_resolver.lo \
|
src/processor/basic_source_line_resolver.lo \
|
||||||
src/processor/call_stack.lo src/processor/minidump.lo \
|
src/processor/call_stack.lo src/processor/logging.lo \
|
||||||
src/processor/minidump_processor.lo \
|
src/processor/minidump.lo src/processor/minidump_processor.lo \
|
||||||
src/processor/pathname_stripper.lo \
|
src/processor/pathname_stripper.lo \
|
||||||
src/processor/process_state.lo \
|
src/processor/process_state.lo \
|
||||||
src/processor/simple_symbol_supplier.lo \
|
src/processor/simple_symbol_supplier.lo \
|
||||||
|
@ -193,29 +191,32 @@ src_processor_stackwalker_selftest_OBJECTS = \
|
||||||
src_processor_stackwalker_selftest_DEPENDENCIES = \
|
src_processor_stackwalker_selftest_DEPENDENCIES = \
|
||||||
src/processor/basic_code_modules.lo \
|
src/processor/basic_code_modules.lo \
|
||||||
src/processor/basic_source_line_resolver.lo \
|
src/processor/basic_source_line_resolver.lo \
|
||||||
src/processor/call_stack.lo src/processor/minidump.lo \
|
src/processor/call_stack.lo src/processor/logging.lo \
|
||||||
|
src/processor/minidump.lo src/processor/pathname_stripper.lo \
|
||||||
src/processor/stackwalker.lo src/processor/stackwalker_ppc.lo \
|
src/processor/stackwalker.lo src/processor/stackwalker_ppc.lo \
|
||||||
src/processor/stackwalker_x86.lo
|
src/processor/stackwalker_x86.lo
|
||||||
SCRIPTS = $(noinst_SCRIPTS)
|
SCRIPTS = $(noinst_SCRIPTS)
|
||||||
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/src
|
DEFAULT_INCLUDES = -I. -I$(top_builddir)/src@am__isrc@
|
||||||
depcomp = $(SHELL) $(top_srcdir)/autotools/depcomp
|
depcomp = $(SHELL) $(top_srcdir)/autotools/depcomp
|
||||||
am__depfiles_maybe = depfiles
|
am__depfiles_maybe = depfiles
|
||||||
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
|
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
|
||||||
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
|
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
|
||||||
LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \
|
LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
|
||||||
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
|
--mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
|
||||||
$(AM_CXXFLAGS) $(CXXFLAGS)
|
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
|
||||||
CXXLD = $(CXX)
|
CXXLD = $(CXX)
|
||||||
CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \
|
CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
|
||||||
$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
|
--mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
|
||||||
|
$(LDFLAGS) -o $@
|
||||||
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
||||||
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||||
LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
|
LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
|
||||||
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
|
--mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
|
||||||
$(AM_CFLAGS) $(CFLAGS)
|
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||||
CCLD = $(CC)
|
CCLD = $(CC)
|
||||||
LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
|
LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
|
||||||
$(AM_LDFLAGS) $(LDFLAGS) -o $@
|
--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
|
||||||
|
$(LDFLAGS) -o $@
|
||||||
SOURCES = $(src_libbreakpad_la_SOURCES) \
|
SOURCES = $(src_libbreakpad_la_SOURCES) \
|
||||||
$(src_processor_address_map_unittest_SOURCES) \
|
$(src_processor_address_map_unittest_SOURCES) \
|
||||||
$(src_processor_basic_source_line_resolver_unittest_SOURCES) \
|
$(src_processor_basic_source_line_resolver_unittest_SOURCES) \
|
||||||
|
@ -254,8 +255,6 @@ GZIP_ENV = --best
|
||||||
distuninstallcheck_listfiles = find . -type f -print
|
distuninstallcheck_listfiles = find . -type f -print
|
||||||
distcleancheck_listfiles = find . -type f -print
|
distcleancheck_listfiles = find . -type f -print
|
||||||
ACLOCAL = @ACLOCAL@
|
ACLOCAL = @ACLOCAL@
|
||||||
AMDEP_FALSE = @AMDEP_FALSE@
|
|
||||||
AMDEP_TRUE = @AMDEP_TRUE@
|
|
||||||
AMTAR = @AMTAR@
|
AMTAR = @AMTAR@
|
||||||
AR = @AR@
|
AR = @AR@
|
||||||
AUTOCONF = @AUTOCONF@
|
AUTOCONF = @AUTOCONF@
|
||||||
|
@ -283,6 +282,7 @@ EXEEXT = @EXEEXT@
|
||||||
F77 = @F77@
|
F77 = @F77@
|
||||||
FFLAGS = @FFLAGS@
|
FFLAGS = @FFLAGS@
|
||||||
GREP = @GREP@
|
GREP = @GREP@
|
||||||
|
INSTALL = @INSTALL@
|
||||||
INSTALL_DATA = @INSTALL_DATA@
|
INSTALL_DATA = @INSTALL_DATA@
|
||||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||||
|
@ -295,6 +295,7 @@ LIBTOOL_DEPS = @LIBTOOL_DEPS@
|
||||||
LN_S = @LN_S@
|
LN_S = @LN_S@
|
||||||
LTLIBOBJS = @LTLIBOBJS@
|
LTLIBOBJS = @LTLIBOBJS@
|
||||||
MAKEINFO = @MAKEINFO@
|
MAKEINFO = @MAKEINFO@
|
||||||
|
MKDIR_P = @MKDIR_P@
|
||||||
OBJEXT = @OBJEXT@
|
OBJEXT = @OBJEXT@
|
||||||
PACKAGE = @PACKAGE@
|
PACKAGE = @PACKAGE@
|
||||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||||
|
@ -304,19 +305,17 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||||
RANLIB = @RANLIB@
|
RANLIB = @RANLIB@
|
||||||
SELFTEST_FALSE = @SELFTEST_FALSE@
|
|
||||||
SELFTEST_TRUE = @SELFTEST_TRUE@
|
|
||||||
SET_MAKE = @SET_MAKE@
|
SET_MAKE = @SET_MAKE@
|
||||||
SHELL = @SHELL@
|
SHELL = @SHELL@
|
||||||
STRIP = @STRIP@
|
STRIP = @STRIP@
|
||||||
VERSION = @VERSION@
|
VERSION = @VERSION@
|
||||||
|
abs_builddir = @abs_builddir@
|
||||||
|
abs_srcdir = @abs_srcdir@
|
||||||
|
abs_top_builddir = @abs_top_builddir@
|
||||||
|
abs_top_srcdir = @abs_top_srcdir@
|
||||||
ac_ct_CC = @ac_ct_CC@
|
ac_ct_CC = @ac_ct_CC@
|
||||||
ac_ct_CXX = @ac_ct_CXX@
|
ac_ct_CXX = @ac_ct_CXX@
|
||||||
ac_ct_F77 = @ac_ct_F77@
|
ac_ct_F77 = @ac_ct_F77@
|
||||||
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
|
|
||||||
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
|
|
||||||
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
|
|
||||||
am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
|
|
||||||
am__include = @am__include@
|
am__include = @am__include@
|
||||||
am__leading_dot = @am__leading_dot@
|
am__leading_dot = @am__leading_dot@
|
||||||
am__quote = @am__quote@
|
am__quote = @am__quote@
|
||||||
|
@ -328,6 +327,7 @@ build_alias = @build_alias@
|
||||||
build_cpu = @build_cpu@
|
build_cpu = @build_cpu@
|
||||||
build_os = @build_os@
|
build_os = @build_os@
|
||||||
build_vendor = @build_vendor@
|
build_vendor = @build_vendor@
|
||||||
|
builddir = @builddir@
|
||||||
datadir = @datadir@
|
datadir = @datadir@
|
||||||
datarootdir = @datarootdir@
|
datarootdir = @datarootdir@
|
||||||
docdir = $(prefix)/share/doc/$(PACKAGE)-$(VERSION)
|
docdir = $(prefix)/share/doc/$(PACKAGE)-$(VERSION)
|
||||||
|
@ -355,8 +355,11 @@ program_transform_name = @program_transform_name@
|
||||||
psdir = @psdir@
|
psdir = @psdir@
|
||||||
sbindir = @sbindir@
|
sbindir = @sbindir@
|
||||||
sharedstatedir = @sharedstatedir@
|
sharedstatedir = @sharedstatedir@
|
||||||
|
srcdir = @srcdir@
|
||||||
sysconfdir = @sysconfdir@
|
sysconfdir = @sysconfdir@
|
||||||
target_alias = @target_alias@
|
target_alias = @target_alias@
|
||||||
|
top_builddir = @top_builddir@
|
||||||
|
top_srcdir = @top_srcdir@
|
||||||
|
|
||||||
# This allows #includes to be relative to src/
|
# This allows #includes to be relative to src/
|
||||||
AM_CPPFLAGS = -I$(top_srcdir)/src
|
AM_CPPFLAGS = -I$(top_srcdir)/src
|
||||||
|
@ -395,6 +398,8 @@ src_libbreakpad_la_SOURCES = \
|
||||||
src/processor/contained_range_map.h \
|
src/processor/contained_range_map.h \
|
||||||
src/processor/contained_range_map-inl.h \
|
src/processor/contained_range_map-inl.h \
|
||||||
src/processor/linked_ptr.h \
|
src/processor/linked_ptr.h \
|
||||||
|
src/processor/logging.h \
|
||||||
|
src/processor/logging.cc \
|
||||||
src/processor/minidump.cc \
|
src/processor/minidump.cc \
|
||||||
src/processor/minidump_processor.cc \
|
src/processor/minidump_processor.cc \
|
||||||
src/processor/pathname_stripper.cc \
|
src/processor/pathname_stripper.cc \
|
||||||
|
@ -440,8 +445,10 @@ src_processor_minidump_processor_unittest_LDADD = \
|
||||||
src/processor/basic_code_modules.lo \
|
src/processor/basic_code_modules.lo \
|
||||||
src/processor/basic_source_line_resolver.lo \
|
src/processor/basic_source_line_resolver.lo \
|
||||||
src/processor/call_stack.lo \
|
src/processor/call_stack.lo \
|
||||||
|
src/processor/logging.lo \
|
||||||
src/processor/minidump_processor.lo \
|
src/processor/minidump_processor.lo \
|
||||||
src/processor/minidump.lo \
|
src/processor/minidump.lo \
|
||||||
|
src/processor/pathname_stripper.lo \
|
||||||
src/processor/process_state.lo \
|
src/processor/process_state.lo \
|
||||||
src/processor/stackwalker.lo \
|
src/processor/stackwalker.lo \
|
||||||
src/processor/stackwalker_ppc.lo \
|
src/processor/stackwalker_ppc.lo \
|
||||||
|
@ -466,7 +473,9 @@ src_processor_stackwalker_selftest_LDADD = \
|
||||||
src/processor/basic_code_modules.lo \
|
src/processor/basic_code_modules.lo \
|
||||||
src/processor/basic_source_line_resolver.lo \
|
src/processor/basic_source_line_resolver.lo \
|
||||||
src/processor/call_stack.lo \
|
src/processor/call_stack.lo \
|
||||||
|
src/processor/logging.lo \
|
||||||
src/processor/minidump.lo \
|
src/processor/minidump.lo \
|
||||||
|
src/processor/pathname_stripper.lo \
|
||||||
src/processor/stackwalker.lo \
|
src/processor/stackwalker.lo \
|
||||||
src/processor/stackwalker_ppc.lo \
|
src/processor/stackwalker_ppc.lo \
|
||||||
src/processor/stackwalker_x86.lo
|
src/processor/stackwalker_x86.lo
|
||||||
|
@ -477,7 +486,9 @@ src_processor_minidump_dump_SOURCES = \
|
||||||
|
|
||||||
src_processor_minidump_dump_LDADD = \
|
src_processor_minidump_dump_LDADD = \
|
||||||
src/processor/basic_code_modules.lo \
|
src/processor/basic_code_modules.lo \
|
||||||
src/processor/minidump.lo
|
src/processor/logging.lo \
|
||||||
|
src/processor/minidump.lo \
|
||||||
|
src/processor/pathname_stripper.lo
|
||||||
|
|
||||||
src_processor_minidump_stackwalk_SOURCES = \
|
src_processor_minidump_stackwalk_SOURCES = \
|
||||||
src/processor/minidump_stackwalk.cc
|
src/processor/minidump_stackwalk.cc
|
||||||
|
@ -486,6 +497,7 @@ src_processor_minidump_stackwalk_LDADD = \
|
||||||
src/processor/basic_code_modules.lo \
|
src/processor/basic_code_modules.lo \
|
||||||
src/processor/basic_source_line_resolver.lo \
|
src/processor/basic_source_line_resolver.lo \
|
||||||
src/processor/call_stack.lo \
|
src/processor/call_stack.lo \
|
||||||
|
src/processor/logging.lo \
|
||||||
src/processor/minidump.lo \
|
src/processor/minidump.lo \
|
||||||
src/processor/minidump_processor.lo \
|
src/processor/minidump_processor.lo \
|
||||||
src/processor/pathname_stripper.lo \
|
src/processor/pathname_stripper.lo \
|
||||||
|
@ -611,7 +623,7 @@ $(ACLOCAL_M4): $(am__aclocal_m4_deps)
|
||||||
src/config.h: src/stamp-h1
|
src/config.h: src/stamp-h1
|
||||||
@if test ! -f $@; then \
|
@if test ! -f $@; then \
|
||||||
rm -f src/stamp-h1; \
|
rm -f src/stamp-h1; \
|
||||||
$(MAKE) src/stamp-h1; \
|
$(MAKE) $(AM_MAKEFLAGS) src/stamp-h1; \
|
||||||
else :; fi
|
else :; fi
|
||||||
|
|
||||||
src/stamp-h1: $(top_srcdir)/src/config.h.in $(top_builddir)/config.status
|
src/stamp-h1: $(top_srcdir)/src/config.h.in $(top_builddir)/config.status
|
||||||
|
@ -626,7 +638,7 @@ distclean-hdr:
|
||||||
-rm -f src/config.h src/stamp-h1
|
-rm -f src/config.h src/stamp-h1
|
||||||
install-libLTLIBRARIES: $(lib_LTLIBRARIES)
|
install-libLTLIBRARIES: $(lib_LTLIBRARIES)
|
||||||
@$(NORMAL_INSTALL)
|
@$(NORMAL_INSTALL)
|
||||||
test -z "$(libdir)" || $(mkdir_p) "$(DESTDIR)$(libdir)"
|
test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
|
||||||
@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
|
@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
|
||||||
if test -f $$p; then \
|
if test -f $$p; then \
|
||||||
f=$(am__strip_dir) \
|
f=$(am__strip_dir) \
|
||||||
|
@ -637,7 +649,7 @@ install-libLTLIBRARIES: $(lib_LTLIBRARIES)
|
||||||
|
|
||||||
uninstall-libLTLIBRARIES:
|
uninstall-libLTLIBRARIES:
|
||||||
@$(NORMAL_UNINSTALL)
|
@$(NORMAL_UNINSTALL)
|
||||||
@set -x; list='$(lib_LTLIBRARIES)'; for p in $$list; do \
|
@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
|
||||||
p=$(am__strip_dir) \
|
p=$(am__strip_dir) \
|
||||||
echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
|
echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
|
||||||
$(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
|
$(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
|
||||||
|
@ -652,10 +664,10 @@ clean-libLTLIBRARIES:
|
||||||
rm -f "$${dir}/so_locations"; \
|
rm -f "$${dir}/so_locations"; \
|
||||||
done
|
done
|
||||||
src/processor/$(am__dirstamp):
|
src/processor/$(am__dirstamp):
|
||||||
@$(mkdir_p) src/processor
|
@$(MKDIR_P) src/processor
|
||||||
@: > src/processor/$(am__dirstamp)
|
@: > src/processor/$(am__dirstamp)
|
||||||
src/processor/$(DEPDIR)/$(am__dirstamp):
|
src/processor/$(DEPDIR)/$(am__dirstamp):
|
||||||
@$(mkdir_p) src/processor/$(DEPDIR)
|
@$(MKDIR_P) src/processor/$(DEPDIR)
|
||||||
@: > src/processor/$(DEPDIR)/$(am__dirstamp)
|
@: > src/processor/$(DEPDIR)/$(am__dirstamp)
|
||||||
src/processor/basic_code_modules.lo: src/processor/$(am__dirstamp) \
|
src/processor/basic_code_modules.lo: src/processor/$(am__dirstamp) \
|
||||||
src/processor/$(DEPDIR)/$(am__dirstamp)
|
src/processor/$(DEPDIR)/$(am__dirstamp)
|
||||||
|
@ -664,6 +676,8 @@ src/processor/basic_source_line_resolver.lo: \
|
||||||
src/processor/$(DEPDIR)/$(am__dirstamp)
|
src/processor/$(DEPDIR)/$(am__dirstamp)
|
||||||
src/processor/call_stack.lo: src/processor/$(am__dirstamp) \
|
src/processor/call_stack.lo: src/processor/$(am__dirstamp) \
|
||||||
src/processor/$(DEPDIR)/$(am__dirstamp)
|
src/processor/$(DEPDIR)/$(am__dirstamp)
|
||||||
|
src/processor/logging.lo: src/processor/$(am__dirstamp) \
|
||||||
|
src/processor/$(DEPDIR)/$(am__dirstamp)
|
||||||
src/processor/minidump.lo: src/processor/$(am__dirstamp) \
|
src/processor/minidump.lo: src/processor/$(am__dirstamp) \
|
||||||
src/processor/$(DEPDIR)/$(am__dirstamp)
|
src/processor/$(DEPDIR)/$(am__dirstamp)
|
||||||
src/processor/minidump_processor.lo: src/processor/$(am__dirstamp) \
|
src/processor/minidump_processor.lo: src/processor/$(am__dirstamp) \
|
||||||
|
@ -682,13 +696,13 @@ src/processor/stackwalker_ppc.lo: src/processor/$(am__dirstamp) \
|
||||||
src/processor/stackwalker_x86.lo: src/processor/$(am__dirstamp) \
|
src/processor/stackwalker_x86.lo: src/processor/$(am__dirstamp) \
|
||||||
src/processor/$(DEPDIR)/$(am__dirstamp)
|
src/processor/$(DEPDIR)/$(am__dirstamp)
|
||||||
src/$(am__dirstamp):
|
src/$(am__dirstamp):
|
||||||
@$(mkdir_p) src
|
@$(MKDIR_P) src
|
||||||
@: > src/$(am__dirstamp)
|
@: > src/$(am__dirstamp)
|
||||||
src/libbreakpad.la: $(src_libbreakpad_la_OBJECTS) $(src_libbreakpad_la_DEPENDENCIES) src/$(am__dirstamp)
|
src/libbreakpad.la: $(src_libbreakpad_la_OBJECTS) $(src_libbreakpad_la_DEPENDENCIES) src/$(am__dirstamp)
|
||||||
$(CXXLINK) -rpath $(libdir) $(src_libbreakpad_la_LDFLAGS) $(src_libbreakpad_la_OBJECTS) $(src_libbreakpad_la_LIBADD) $(LIBS)
|
$(CXXLINK) -rpath $(libdir) $(src_libbreakpad_la_OBJECTS) $(src_libbreakpad_la_LIBADD) $(LIBS)
|
||||||
install-binPROGRAMS: $(bin_PROGRAMS)
|
install-binPROGRAMS: $(bin_PROGRAMS)
|
||||||
@$(NORMAL_INSTALL)
|
@$(NORMAL_INSTALL)
|
||||||
test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)"
|
test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
|
||||||
@list='$(bin_PROGRAMS)'; for p in $$list; do \
|
@list='$(bin_PROGRAMS)'; for p in $$list; do \
|
||||||
p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
|
p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
|
||||||
if test -f $$p \
|
if test -f $$p \
|
||||||
|
@ -733,60 +747,60 @@ src/processor/address_map_unittest.$(OBJEXT): \
|
||||||
src/processor/$(DEPDIR)/$(am__dirstamp)
|
src/processor/$(DEPDIR)/$(am__dirstamp)
|
||||||
src/processor/address_map_unittest$(EXEEXT): $(src_processor_address_map_unittest_OBJECTS) $(src_processor_address_map_unittest_DEPENDENCIES) src/processor/$(am__dirstamp)
|
src/processor/address_map_unittest$(EXEEXT): $(src_processor_address_map_unittest_OBJECTS) $(src_processor_address_map_unittest_DEPENDENCIES) src/processor/$(am__dirstamp)
|
||||||
@rm -f src/processor/address_map_unittest$(EXEEXT)
|
@rm -f src/processor/address_map_unittest$(EXEEXT)
|
||||||
$(CXXLINK) $(src_processor_address_map_unittest_LDFLAGS) $(src_processor_address_map_unittest_OBJECTS) $(src_processor_address_map_unittest_LDADD) $(LIBS)
|
$(CXXLINK) $(src_processor_address_map_unittest_OBJECTS) $(src_processor_address_map_unittest_LDADD) $(LIBS)
|
||||||
src/processor/basic_source_line_resolver_unittest.$(OBJEXT): \
|
src/processor/basic_source_line_resolver_unittest.$(OBJEXT): \
|
||||||
src/processor/$(am__dirstamp) \
|
src/processor/$(am__dirstamp) \
|
||||||
src/processor/$(DEPDIR)/$(am__dirstamp)
|
src/processor/$(DEPDIR)/$(am__dirstamp)
|
||||||
src/processor/basic_source_line_resolver_unittest$(EXEEXT): $(src_processor_basic_source_line_resolver_unittest_OBJECTS) $(src_processor_basic_source_line_resolver_unittest_DEPENDENCIES) src/processor/$(am__dirstamp)
|
src/processor/basic_source_line_resolver_unittest$(EXEEXT): $(src_processor_basic_source_line_resolver_unittest_OBJECTS) $(src_processor_basic_source_line_resolver_unittest_DEPENDENCIES) src/processor/$(am__dirstamp)
|
||||||
@rm -f src/processor/basic_source_line_resolver_unittest$(EXEEXT)
|
@rm -f src/processor/basic_source_line_resolver_unittest$(EXEEXT)
|
||||||
$(CXXLINK) $(src_processor_basic_source_line_resolver_unittest_LDFLAGS) $(src_processor_basic_source_line_resolver_unittest_OBJECTS) $(src_processor_basic_source_line_resolver_unittest_LDADD) $(LIBS)
|
$(CXXLINK) $(src_processor_basic_source_line_resolver_unittest_OBJECTS) $(src_processor_basic_source_line_resolver_unittest_LDADD) $(LIBS)
|
||||||
src/processor/contained_range_map_unittest.$(OBJEXT): \
|
src/processor/contained_range_map_unittest.$(OBJEXT): \
|
||||||
src/processor/$(am__dirstamp) \
|
src/processor/$(am__dirstamp) \
|
||||||
src/processor/$(DEPDIR)/$(am__dirstamp)
|
src/processor/$(DEPDIR)/$(am__dirstamp)
|
||||||
src/processor/contained_range_map_unittest$(EXEEXT): $(src_processor_contained_range_map_unittest_OBJECTS) $(src_processor_contained_range_map_unittest_DEPENDENCIES) src/processor/$(am__dirstamp)
|
src/processor/contained_range_map_unittest$(EXEEXT): $(src_processor_contained_range_map_unittest_OBJECTS) $(src_processor_contained_range_map_unittest_DEPENDENCIES) src/processor/$(am__dirstamp)
|
||||||
@rm -f src/processor/contained_range_map_unittest$(EXEEXT)
|
@rm -f src/processor/contained_range_map_unittest$(EXEEXT)
|
||||||
$(CXXLINK) $(src_processor_contained_range_map_unittest_LDFLAGS) $(src_processor_contained_range_map_unittest_OBJECTS) $(src_processor_contained_range_map_unittest_LDADD) $(LIBS)
|
$(CXXLINK) $(src_processor_contained_range_map_unittest_OBJECTS) $(src_processor_contained_range_map_unittest_LDADD) $(LIBS)
|
||||||
src/processor/minidump_dump.$(OBJEXT): src/processor/$(am__dirstamp) \
|
src/processor/minidump_dump.$(OBJEXT): src/processor/$(am__dirstamp) \
|
||||||
src/processor/$(DEPDIR)/$(am__dirstamp)
|
src/processor/$(DEPDIR)/$(am__dirstamp)
|
||||||
src/processor/minidump_dump$(EXEEXT): $(src_processor_minidump_dump_OBJECTS) $(src_processor_minidump_dump_DEPENDENCIES) src/processor/$(am__dirstamp)
|
src/processor/minidump_dump$(EXEEXT): $(src_processor_minidump_dump_OBJECTS) $(src_processor_minidump_dump_DEPENDENCIES) src/processor/$(am__dirstamp)
|
||||||
@rm -f src/processor/minidump_dump$(EXEEXT)
|
@rm -f src/processor/minidump_dump$(EXEEXT)
|
||||||
$(CXXLINK) $(src_processor_minidump_dump_LDFLAGS) $(src_processor_minidump_dump_OBJECTS) $(src_processor_minidump_dump_LDADD) $(LIBS)
|
$(CXXLINK) $(src_processor_minidump_dump_OBJECTS) $(src_processor_minidump_dump_LDADD) $(LIBS)
|
||||||
src/processor/minidump_processor_unittest.$(OBJEXT): \
|
src/processor/minidump_processor_unittest.$(OBJEXT): \
|
||||||
src/processor/$(am__dirstamp) \
|
src/processor/$(am__dirstamp) \
|
||||||
src/processor/$(DEPDIR)/$(am__dirstamp)
|
src/processor/$(DEPDIR)/$(am__dirstamp)
|
||||||
src/processor/minidump_processor_unittest$(EXEEXT): $(src_processor_minidump_processor_unittest_OBJECTS) $(src_processor_minidump_processor_unittest_DEPENDENCIES) src/processor/$(am__dirstamp)
|
src/processor/minidump_processor_unittest$(EXEEXT): $(src_processor_minidump_processor_unittest_OBJECTS) $(src_processor_minidump_processor_unittest_DEPENDENCIES) src/processor/$(am__dirstamp)
|
||||||
@rm -f src/processor/minidump_processor_unittest$(EXEEXT)
|
@rm -f src/processor/minidump_processor_unittest$(EXEEXT)
|
||||||
$(CXXLINK) $(src_processor_minidump_processor_unittest_LDFLAGS) $(src_processor_minidump_processor_unittest_OBJECTS) $(src_processor_minidump_processor_unittest_LDADD) $(LIBS)
|
$(CXXLINK) $(src_processor_minidump_processor_unittest_OBJECTS) $(src_processor_minidump_processor_unittest_LDADD) $(LIBS)
|
||||||
src/processor/minidump_stackwalk.$(OBJEXT): \
|
src/processor/minidump_stackwalk.$(OBJEXT): \
|
||||||
src/processor/$(am__dirstamp) \
|
src/processor/$(am__dirstamp) \
|
||||||
src/processor/$(DEPDIR)/$(am__dirstamp)
|
src/processor/$(DEPDIR)/$(am__dirstamp)
|
||||||
src/processor/minidump_stackwalk$(EXEEXT): $(src_processor_minidump_stackwalk_OBJECTS) $(src_processor_minidump_stackwalk_DEPENDENCIES) src/processor/$(am__dirstamp)
|
src/processor/minidump_stackwalk$(EXEEXT): $(src_processor_minidump_stackwalk_OBJECTS) $(src_processor_minidump_stackwalk_DEPENDENCIES) src/processor/$(am__dirstamp)
|
||||||
@rm -f src/processor/minidump_stackwalk$(EXEEXT)
|
@rm -f src/processor/minidump_stackwalk$(EXEEXT)
|
||||||
$(CXXLINK) $(src_processor_minidump_stackwalk_LDFLAGS) $(src_processor_minidump_stackwalk_OBJECTS) $(src_processor_minidump_stackwalk_LDADD) $(LIBS)
|
$(CXXLINK) $(src_processor_minidump_stackwalk_OBJECTS) $(src_processor_minidump_stackwalk_LDADD) $(LIBS)
|
||||||
src/processor/pathname_stripper_unittest.$(OBJEXT): \
|
src/processor/pathname_stripper_unittest.$(OBJEXT): \
|
||||||
src/processor/$(am__dirstamp) \
|
src/processor/$(am__dirstamp) \
|
||||||
src/processor/$(DEPDIR)/$(am__dirstamp)
|
src/processor/$(DEPDIR)/$(am__dirstamp)
|
||||||
src/processor/pathname_stripper_unittest$(EXEEXT): $(src_processor_pathname_stripper_unittest_OBJECTS) $(src_processor_pathname_stripper_unittest_DEPENDENCIES) src/processor/$(am__dirstamp)
|
src/processor/pathname_stripper_unittest$(EXEEXT): $(src_processor_pathname_stripper_unittest_OBJECTS) $(src_processor_pathname_stripper_unittest_DEPENDENCIES) src/processor/$(am__dirstamp)
|
||||||
@rm -f src/processor/pathname_stripper_unittest$(EXEEXT)
|
@rm -f src/processor/pathname_stripper_unittest$(EXEEXT)
|
||||||
$(CXXLINK) $(src_processor_pathname_stripper_unittest_LDFLAGS) $(src_processor_pathname_stripper_unittest_OBJECTS) $(src_processor_pathname_stripper_unittest_LDADD) $(LIBS)
|
$(CXXLINK) $(src_processor_pathname_stripper_unittest_OBJECTS) $(src_processor_pathname_stripper_unittest_LDADD) $(LIBS)
|
||||||
src/processor/postfix_evaluator_unittest.$(OBJEXT): \
|
src/processor/postfix_evaluator_unittest.$(OBJEXT): \
|
||||||
src/processor/$(am__dirstamp) \
|
src/processor/$(am__dirstamp) \
|
||||||
src/processor/$(DEPDIR)/$(am__dirstamp)
|
src/processor/$(DEPDIR)/$(am__dirstamp)
|
||||||
src/processor/postfix_evaluator_unittest$(EXEEXT): $(src_processor_postfix_evaluator_unittest_OBJECTS) $(src_processor_postfix_evaluator_unittest_DEPENDENCIES) src/processor/$(am__dirstamp)
|
src/processor/postfix_evaluator_unittest$(EXEEXT): $(src_processor_postfix_evaluator_unittest_OBJECTS) $(src_processor_postfix_evaluator_unittest_DEPENDENCIES) src/processor/$(am__dirstamp)
|
||||||
@rm -f src/processor/postfix_evaluator_unittest$(EXEEXT)
|
@rm -f src/processor/postfix_evaluator_unittest$(EXEEXT)
|
||||||
$(CXXLINK) $(src_processor_postfix_evaluator_unittest_LDFLAGS) $(src_processor_postfix_evaluator_unittest_OBJECTS) $(src_processor_postfix_evaluator_unittest_LDADD) $(LIBS)
|
$(CXXLINK) $(src_processor_postfix_evaluator_unittest_OBJECTS) $(src_processor_postfix_evaluator_unittest_LDADD) $(LIBS)
|
||||||
src/processor/range_map_unittest.$(OBJEXT): \
|
src/processor/range_map_unittest.$(OBJEXT): \
|
||||||
src/processor/$(am__dirstamp) \
|
src/processor/$(am__dirstamp) \
|
||||||
src/processor/$(DEPDIR)/$(am__dirstamp)
|
src/processor/$(DEPDIR)/$(am__dirstamp)
|
||||||
src/processor/range_map_unittest$(EXEEXT): $(src_processor_range_map_unittest_OBJECTS) $(src_processor_range_map_unittest_DEPENDENCIES) src/processor/$(am__dirstamp)
|
src/processor/range_map_unittest$(EXEEXT): $(src_processor_range_map_unittest_OBJECTS) $(src_processor_range_map_unittest_DEPENDENCIES) src/processor/$(am__dirstamp)
|
||||||
@rm -f src/processor/range_map_unittest$(EXEEXT)
|
@rm -f src/processor/range_map_unittest$(EXEEXT)
|
||||||
$(CXXLINK) $(src_processor_range_map_unittest_LDFLAGS) $(src_processor_range_map_unittest_OBJECTS) $(src_processor_range_map_unittest_LDADD) $(LIBS)
|
$(CXXLINK) $(src_processor_range_map_unittest_OBJECTS) $(src_processor_range_map_unittest_LDADD) $(LIBS)
|
||||||
src/processor/stackwalker_selftest.$(OBJEXT): \
|
src/processor/stackwalker_selftest.$(OBJEXT): \
|
||||||
src/processor/$(am__dirstamp) \
|
src/processor/$(am__dirstamp) \
|
||||||
src/processor/$(DEPDIR)/$(am__dirstamp)
|
src/processor/$(DEPDIR)/$(am__dirstamp)
|
||||||
src/processor/stackwalker_selftest$(EXEEXT): $(src_processor_stackwalker_selftest_OBJECTS) $(src_processor_stackwalker_selftest_DEPENDENCIES) src/processor/$(am__dirstamp)
|
src/processor/stackwalker_selftest$(EXEEXT): $(src_processor_stackwalker_selftest_OBJECTS) $(src_processor_stackwalker_selftest_DEPENDENCIES) src/processor/$(am__dirstamp)
|
||||||
@rm -f src/processor/stackwalker_selftest$(EXEEXT)
|
@rm -f src/processor/stackwalker_selftest$(EXEEXT)
|
||||||
$(CXXLINK) $(src_processor_stackwalker_selftest_LDFLAGS) $(src_processor_stackwalker_selftest_OBJECTS) $(src_processor_stackwalker_selftest_LDADD) $(LIBS)
|
$(CXXLINK) $(src_processor_stackwalker_selftest_OBJECTS) $(src_processor_stackwalker_selftest_LDADD) $(LIBS)
|
||||||
|
|
||||||
mostlyclean-compile:
|
mostlyclean-compile:
|
||||||
-rm -f *.$(OBJEXT)
|
-rm -f *.$(OBJEXT)
|
||||||
|
@ -799,6 +813,8 @@ mostlyclean-compile:
|
||||||
-rm -f src/processor/call_stack.$(OBJEXT)
|
-rm -f src/processor/call_stack.$(OBJEXT)
|
||||||
-rm -f src/processor/call_stack.lo
|
-rm -f src/processor/call_stack.lo
|
||||||
-rm -f src/processor/contained_range_map_unittest.$(OBJEXT)
|
-rm -f src/processor/contained_range_map_unittest.$(OBJEXT)
|
||||||
|
-rm -f src/processor/logging.$(OBJEXT)
|
||||||
|
-rm -f src/processor/logging.lo
|
||||||
-rm -f src/processor/minidump.$(OBJEXT)
|
-rm -f src/processor/minidump.$(OBJEXT)
|
||||||
-rm -f src/processor/minidump.lo
|
-rm -f src/processor/minidump.lo
|
||||||
-rm -f src/processor/minidump_dump.$(OBJEXT)
|
-rm -f src/processor/minidump_dump.$(OBJEXT)
|
||||||
|
@ -832,6 +848,7 @@ distclean-compile:
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@src/processor/$(DEPDIR)/basic_source_line_resolver_unittest.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@src/processor/$(DEPDIR)/basic_source_line_resolver_unittest.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@src/processor/$(DEPDIR)/call_stack.Plo@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@src/processor/$(DEPDIR)/call_stack.Plo@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@src/processor/$(DEPDIR)/contained_range_map_unittest.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@src/processor/$(DEPDIR)/contained_range_map_unittest.Po@am__quote@
|
||||||
|
@AMDEP_TRUE@@am__include@ @am__quote@src/processor/$(DEPDIR)/logging.Plo@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@src/processor/$(DEPDIR)/minidump.Plo@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@src/processor/$(DEPDIR)/minidump.Plo@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@src/processor/$(DEPDIR)/minidump_dump.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@src/processor/$(DEPDIR)/minidump_dump.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@src/processor/$(DEPDIR)/minidump_processor.Plo@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@src/processor/$(DEPDIR)/minidump_processor.Plo@am__quote@
|
||||||
|
@ -850,24 +867,24 @@ distclean-compile:
|
||||||
|
|
||||||
.cc.o:
|
.cc.o:
|
||||||
@am__fastdepCXX_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
|
@am__fastdepCXX_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
|
||||||
@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$$depbase.Tpo" -c -o $@ $<; \
|
@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
|
||||||
@am__fastdepCXX_TRUE@ then mv -f "$$depbase.Tpo" "$$depbase.Po"; else rm -f "$$depbase.Tpo"; exit 1; fi
|
@am__fastdepCXX_TRUE@ mv -f $$depbase.Tpo $$depbase.Po
|
||||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||||
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
|
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
|
||||||
|
|
||||||
.cc.obj:
|
.cc.obj:
|
||||||
@am__fastdepCXX_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
|
@am__fastdepCXX_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
|
||||||
@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$$depbase.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
|
@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
|
||||||
@am__fastdepCXX_TRUE@ then mv -f "$$depbase.Tpo" "$$depbase.Po"; else rm -f "$$depbase.Tpo"; exit 1; fi
|
@am__fastdepCXX_TRUE@ mv -f $$depbase.Tpo $$depbase.Po
|
||||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||||
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
|
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
|
||||||
|
|
||||||
.cc.lo:
|
.cc.lo:
|
||||||
@am__fastdepCXX_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
|
@am__fastdepCXX_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
|
||||||
@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$$depbase.Tpo" -c -o $@ $<; \
|
@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
|
||||||
@am__fastdepCXX_TRUE@ then mv -f "$$depbase.Tpo" "$$depbase.Plo"; else rm -f "$$depbase.Tpo"; exit 1; fi
|
@am__fastdepCXX_TRUE@ mv -f $$depbase.Tpo $$depbase.Plo
|
||||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
|
||||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||||
@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
|
@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
|
||||||
|
@ -882,10 +899,9 @@ clean-libtool:
|
||||||
|
|
||||||
distclean-libtool:
|
distclean-libtool:
|
||||||
-rm -f libtool
|
-rm -f libtool
|
||||||
uninstall-info-am:
|
|
||||||
install-dist_docDATA: $(dist_doc_DATA)
|
install-dist_docDATA: $(dist_doc_DATA)
|
||||||
@$(NORMAL_INSTALL)
|
@$(NORMAL_INSTALL)
|
||||||
test -z "$(docdir)" || $(mkdir_p) "$(DESTDIR)$(docdir)"
|
test -z "$(docdir)" || $(MKDIR_P) "$(DESTDIR)$(docdir)"
|
||||||
@list='$(dist_doc_DATA)'; for p in $$list; do \
|
@list='$(dist_doc_DATA)'; for p in $$list; do \
|
||||||
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
|
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
|
||||||
f=$(am__strip_dir) \
|
f=$(am__strip_dir) \
|
||||||
|
@ -950,7 +966,7 @@ distclean-tags:
|
||||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
||||||
|
|
||||||
check-TESTS: $(TESTS)
|
check-TESTS: $(TESTS)
|
||||||
@failed=0; all=0; xfail=0; xpass=0; skip=0; \
|
@failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[ ]'; \
|
||||||
srcdir=$(srcdir); export srcdir; \
|
srcdir=$(srcdir); export srcdir; \
|
||||||
list=' $(TESTS) '; \
|
list=' $(TESTS) '; \
|
||||||
if test -n "$$list"; then \
|
if test -n "$$list"; then \
|
||||||
|
@ -961,7 +977,7 @@ check-TESTS: $(TESTS)
|
||||||
if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
|
if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
|
||||||
all=`expr $$all + 1`; \
|
all=`expr $$all + 1`; \
|
||||||
case " $(XFAIL_TESTS) " in \
|
case " $(XFAIL_TESTS) " in \
|
||||||
*" $$tst "*) \
|
*$$ws$$tst$$ws*) \
|
||||||
xpass=`expr $$xpass + 1`; \
|
xpass=`expr $$xpass + 1`; \
|
||||||
failed=`expr $$failed + 1`; \
|
failed=`expr $$failed + 1`; \
|
||||||
echo "XPASS: $$tst"; \
|
echo "XPASS: $$tst"; \
|
||||||
|
@ -973,7 +989,7 @@ check-TESTS: $(TESTS)
|
||||||
elif test $$? -ne 77; then \
|
elif test $$? -ne 77; then \
|
||||||
all=`expr $$all + 1`; \
|
all=`expr $$all + 1`; \
|
||||||
case " $(XFAIL_TESTS) " in \
|
case " $(XFAIL_TESTS) " in \
|
||||||
*" $$tst "*) \
|
*$$ws$$tst$$ws*) \
|
||||||
xfail=`expr $$xfail + 1`; \
|
xfail=`expr $$xfail + 1`; \
|
||||||
echo "XFAIL: $$tst"; \
|
echo "XFAIL: $$tst"; \
|
||||||
;; \
|
;; \
|
||||||
|
@ -1024,24 +1040,22 @@ check-TESTS: $(TESTS)
|
||||||
|
|
||||||
distdir: $(DISTFILES)
|
distdir: $(DISTFILES)
|
||||||
$(am__remove_distdir)
|
$(am__remove_distdir)
|
||||||
mkdir $(distdir)
|
test -d $(distdir) || mkdir $(distdir)
|
||||||
$(mkdir_p) $(distdir)/autotools $(distdir)/src $(distdir)/src/client $(distdir)/src/client/mac/handler $(distdir)/src/client/mac/handler/minidump_test.xcodeproj $(distdir)/src/client/windows $(distdir)/src/client/windows/handler $(distdir)/src/client/windows/sender $(distdir)/src/common $(distdir)/src/common/mac $(distdir)/src/common/windows $(distdir)/src/processor $(distdir)/src/processor/testdata $(distdir)/src/processor/testdata/symbols/kernel32.pdb/BCE8785C57B44245A669896B6A19B9542 $(distdir)/src/processor/testdata/symbols/test_app.pdb/5A9832E5287241C1838ED98914E9B7FF1 $(distdir)/src/tools/mac/crash_report $(distdir)/src/tools/mac/crash_report/crash_report.xcodeproj $(distdir)/src/tools/mac/dump_syms $(distdir)/src/tools/mac/dump_syms/dump_syms.xcodeproj $(distdir)/src/tools/mac/symupload $(distdir)/src/tools/mac/symupload/symupload.xcodeproj $(distdir)/src/tools/windows/converter $(distdir)/src/tools/windows/dump_syms $(distdir)/src/tools/windows/dump_syms/testdata $(distdir)/src/tools/windows/symupload
|
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||||
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
|
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
|
list='$(DISTFILES)'; \
|
||||||
list='$(DISTFILES)'; for file in $$list; do \
|
dist_files=`for file in $$list; do echo $$file; done | \
|
||||||
case $$file in \
|
sed -e "s|^$$srcdirstrip/||;t" \
|
||||||
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
|
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
|
||||||
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
|
case $$dist_files in \
|
||||||
|
*/*) $(MKDIR_P) `echo "$$dist_files" | \
|
||||||
|
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
|
||||||
|
sort -u` ;; \
|
||||||
esac; \
|
esac; \
|
||||||
|
for file in $$dist_files; do \
|
||||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||||
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
|
|
||||||
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
|
||||||
dir="/$$dir"; \
|
|
||||||
$(mkdir_p) "$(distdir)$$dir"; \
|
|
||||||
else \
|
|
||||||
dir=''; \
|
|
||||||
fi; \
|
|
||||||
if test -d $$d/$$file; then \
|
if test -d $$d/$$file; then \
|
||||||
|
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||||
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||||
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
|
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
|
||||||
fi; \
|
fi; \
|
||||||
|
@ -1055,7 +1069,7 @@ distdir: $(DISTFILES)
|
||||||
-find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
|
-find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
|
||||||
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
|
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
|
||||||
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
|
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
|
||||||
! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
|
! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
|
||||||
|| chmod -R a+r $(distdir)
|
|| chmod -R a+r $(distdir)
|
||||||
dist-gzip: distdir
|
dist-gzip: distdir
|
||||||
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
|
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
|
||||||
|
@ -1130,7 +1144,7 @@ distcheck: dist
|
||||||
$(am__remove_distdir)
|
$(am__remove_distdir)
|
||||||
@(echo "$(distdir) archives ready for distribution: "; \
|
@(echo "$(distdir) archives ready for distribution: "; \
|
||||||
list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
|
list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
|
||||||
sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}'
|
sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
|
||||||
distuninstallcheck:
|
distuninstallcheck:
|
||||||
@cd $(distuninstallcheck_dir) \
|
@cd $(distuninstallcheck_dir) \
|
||||||
&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
|
&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
|
||||||
|
@ -1158,7 +1172,7 @@ install-binPROGRAMS: install-libLTLIBRARIES
|
||||||
|
|
||||||
installdirs:
|
installdirs:
|
||||||
for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(docdir)"; do \
|
for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(docdir)"; do \
|
||||||
test -z "$$dir" || $(mkdir_p) "$$dir"; \
|
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
|
||||||
done
|
done
|
||||||
install: install-am
|
install: install-am
|
||||||
install-exec: install-exec-am
|
install-exec: install-exec-am
|
||||||
|
@ -1212,12 +1226,20 @@ info-am:
|
||||||
|
|
||||||
install-data-am: install-dist_docDATA
|
install-data-am: install-dist_docDATA
|
||||||
|
|
||||||
|
install-dvi: install-dvi-am
|
||||||
|
|
||||||
install-exec-am: install-binPROGRAMS install-libLTLIBRARIES
|
install-exec-am: install-binPROGRAMS install-libLTLIBRARIES
|
||||||
|
|
||||||
|
install-html: install-html-am
|
||||||
|
|
||||||
install-info: install-info-am
|
install-info: install-info-am
|
||||||
|
|
||||||
install-man:
|
install-man:
|
||||||
|
|
||||||
|
install-pdf: install-pdf-am
|
||||||
|
|
||||||
|
install-ps: install-ps-am
|
||||||
|
|
||||||
installcheck-am:
|
installcheck-am:
|
||||||
|
|
||||||
maintainer-clean: maintainer-clean-am
|
maintainer-clean: maintainer-clean-am
|
||||||
|
@ -1241,7 +1263,9 @@ ps: ps-am
|
||||||
ps-am:
|
ps-am:
|
||||||
|
|
||||||
uninstall-am: uninstall-binPROGRAMS uninstall-dist_docDATA \
|
uninstall-am: uninstall-binPROGRAMS uninstall-dist_docDATA \
|
||||||
uninstall-info-am uninstall-libLTLIBRARIES
|
uninstall-libLTLIBRARIES
|
||||||
|
|
||||||
|
.MAKE: install-am install-strip
|
||||||
|
|
||||||
.PHONY: CTAGS GTAGS all all-am am--refresh check check-TESTS check-am \
|
.PHONY: CTAGS GTAGS all all-am am--refresh check check-TESTS check-am \
|
||||||
clean clean-binPROGRAMS clean-checkPROGRAMS clean-generic \
|
clean clean-binPROGRAMS clean-checkPROGRAMS clean-generic \
|
||||||
|
@ -1252,14 +1276,15 @@ uninstall-am: uninstall-binPROGRAMS uninstall-dist_docDATA \
|
||||||
distclean-tags distcleancheck distdir distuninstallcheck dvi \
|
distclean-tags distcleancheck distdir distuninstallcheck dvi \
|
||||||
dvi-am html html-am info info-am install install-am \
|
dvi-am html html-am info info-am install install-am \
|
||||||
install-binPROGRAMS install-data install-data-am \
|
install-binPROGRAMS install-data install-data-am \
|
||||||
install-dist_docDATA install-exec install-exec-am install-info \
|
install-dist_docDATA install-dvi install-dvi-am install-exec \
|
||||||
install-info-am install-libLTLIBRARIES install-man \
|
install-exec-am install-html install-html-am install-info \
|
||||||
install-strip installcheck installcheck-am installdirs \
|
install-info-am install-libLTLIBRARIES install-man install-pdf \
|
||||||
maintainer-clean maintainer-clean-generic mostlyclean \
|
install-pdf-am install-ps install-ps-am install-strip \
|
||||||
mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
|
installcheck installcheck-am installdirs maintainer-clean \
|
||||||
pdf pdf-am ps ps-am tags uninstall uninstall-am \
|
maintainer-clean-generic mostlyclean mostlyclean-compile \
|
||||||
uninstall-binPROGRAMS uninstall-dist_docDATA uninstall-info-am \
|
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
|
||||||
uninstall-libLTLIBRARIES
|
tags uninstall uninstall-am uninstall-binPROGRAMS \
|
||||||
|
uninstall-dist_docDATA uninstall-libLTLIBRARIES
|
||||||
|
|
||||||
|
|
||||||
libtool: $(LIBTOOL_DEPS)
|
libtool: $(LIBTOOL_DEPS)
|
||||||
|
|
170
aclocal.m4
vendored
170
aclocal.m4
vendored
|
@ -1,7 +1,7 @@
|
||||||
# generated automatically by aclocal 1.9.6 -*- Autoconf -*-
|
# generated automatically by aclocal 1.10 -*- Autoconf -*-
|
||||||
|
|
||||||
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
|
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
|
||||||
# 2005 Free Software Foundation, Inc.
|
# 2005, 2006 Free Software Foundation, Inc.
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
# with or without modifications, as long as this notice is preserved.
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
@ -11,6 +11,11 @@
|
||||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||||
# PARTICULAR PURPOSE.
|
# PARTICULAR PURPOSE.
|
||||||
|
|
||||||
|
m4_if(m4_PACKAGE_VERSION, [2.61],,
|
||||||
|
[m4_fatal([this file was generated for autoconf 2.61.
|
||||||
|
You have another version of autoconf. If you want to use that,
|
||||||
|
you should regenerate the build system entirely.], [63])])
|
||||||
|
|
||||||
# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
|
# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
|
||||||
|
|
||||||
# serial 48 AC_PROG_LIBTOOL
|
# serial 48 AC_PROG_LIBTOOL
|
||||||
|
@ -6388,7 +6393,7 @@ SED=$lt_cv_path_SED
|
||||||
AC_MSG_RESULT([$SED])
|
AC_MSG_RESULT([$SED])
|
||||||
])
|
])
|
||||||
|
|
||||||
# Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc.
|
# Copyright (C) 2002, 2003, 2005, 2006 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
@ -6398,14 +6403,29 @@ AC_MSG_RESULT([$SED])
|
||||||
# ----------------------------
|
# ----------------------------
|
||||||
# Automake X.Y traces this macro to ensure aclocal.m4 has been
|
# Automake X.Y traces this macro to ensure aclocal.m4 has been
|
||||||
# generated from the m4 files accompanying Automake X.Y.
|
# generated from the m4 files accompanying Automake X.Y.
|
||||||
AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.9"])
|
# (This private macro should not be called outside this file.)
|
||||||
|
AC_DEFUN([AM_AUTOMAKE_VERSION],
|
||||||
|
[am__api_version='1.10'
|
||||||
|
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
|
||||||
|
dnl require some minimum version. Point them to the right macro.
|
||||||
|
m4_if([$1], [1.10], [],
|
||||||
|
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
|
||||||
|
])
|
||||||
|
|
||||||
|
# _AM_AUTOCONF_VERSION(VERSION)
|
||||||
|
# -----------------------------
|
||||||
|
# aclocal traces this macro to find the Autoconf version.
|
||||||
|
# This is a private macro too. Using m4_define simplifies
|
||||||
|
# the logic in aclocal, which can simply ignore this definition.
|
||||||
|
m4_define([_AM_AUTOCONF_VERSION], [])
|
||||||
|
|
||||||
# AM_SET_CURRENT_AUTOMAKE_VERSION
|
# AM_SET_CURRENT_AUTOMAKE_VERSION
|
||||||
# -------------------------------
|
# -------------------------------
|
||||||
# Call AM_AUTOMAKE_VERSION so it can be traced.
|
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
|
||||||
# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
|
# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
|
||||||
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
|
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
|
||||||
[AM_AUTOMAKE_VERSION([1.9.6])])
|
[AM_AUTOMAKE_VERSION([1.10])dnl
|
||||||
|
_AM_AUTOCONF_VERSION(m4_PACKAGE_VERSION)])
|
||||||
|
|
||||||
# AM_AUX_DIR_EXPAND -*- Autoconf -*-
|
# AM_AUX_DIR_EXPAND -*- Autoconf -*-
|
||||||
|
|
||||||
|
@ -6462,14 +6482,14 @@ am_aux_dir=`cd $ac_aux_dir && pwd`
|
||||||
|
|
||||||
# AM_CONDITIONAL -*- Autoconf -*-
|
# AM_CONDITIONAL -*- Autoconf -*-
|
||||||
|
|
||||||
# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005
|
# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006
|
||||||
# Free Software Foundation, Inc.
|
# Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
# with or without modifications, as long as this notice is preserved.
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
# serial 7
|
# serial 8
|
||||||
|
|
||||||
# AM_CONDITIONAL(NAME, SHELL-CONDITION)
|
# AM_CONDITIONAL(NAME, SHELL-CONDITION)
|
||||||
# -------------------------------------
|
# -------------------------------------
|
||||||
|
@ -6478,8 +6498,10 @@ AC_DEFUN([AM_CONDITIONAL],
|
||||||
[AC_PREREQ(2.52)dnl
|
[AC_PREREQ(2.52)dnl
|
||||||
ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
|
ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
|
||||||
[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
|
[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
|
||||||
AC_SUBST([$1_TRUE])
|
AC_SUBST([$1_TRUE])dnl
|
||||||
AC_SUBST([$1_FALSE])
|
AC_SUBST([$1_FALSE])dnl
|
||||||
|
_AM_SUBST_NOTMAKE([$1_TRUE])dnl
|
||||||
|
_AM_SUBST_NOTMAKE([$1_FALSE])dnl
|
||||||
if $2; then
|
if $2; then
|
||||||
$1_TRUE=
|
$1_TRUE=
|
||||||
$1_FALSE='#'
|
$1_FALSE='#'
|
||||||
|
@ -6493,15 +6515,14 @@ AC_CONFIG_COMMANDS_PRE(
|
||||||
Usually this means the macro was only invoked conditionally.]])
|
Usually this means the macro was only invoked conditionally.]])
|
||||||
fi])])
|
fi])])
|
||||||
|
|
||||||
|
# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
|
||||||
# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
|
|
||||||
# Free Software Foundation, Inc.
|
# Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
# with or without modifications, as long as this notice is preserved.
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
# serial 8
|
# serial 9
|
||||||
|
|
||||||
# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
|
# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
|
||||||
# written in clear, in which case automake, when reading aclocal.m4,
|
# written in clear, in which case automake, when reading aclocal.m4,
|
||||||
|
@ -6529,6 +6550,7 @@ AC_REQUIRE([AM_DEP_TRACK])dnl
|
||||||
ifelse([$1], CC, [depcc="$CC" am_compiler_list=],
|
ifelse([$1], CC, [depcc="$CC" am_compiler_list=],
|
||||||
[$1], CXX, [depcc="$CXX" am_compiler_list=],
|
[$1], CXX, [depcc="$CXX" am_compiler_list=],
|
||||||
[$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
|
[$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
|
||||||
|
[$1], UPC, [depcc="$UPC" am_compiler_list=],
|
||||||
[$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
|
[$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
|
||||||
[depcc="$$1" am_compiler_list=])
|
[depcc="$$1" am_compiler_list=])
|
||||||
|
|
||||||
|
@ -6594,6 +6616,7 @@ AC_CACHE_CHECK([dependency style of $depcc],
|
||||||
depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
|
depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
|
||||||
$SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
|
$SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
|
||||||
>/dev/null 2>conftest.err &&
|
>/dev/null 2>conftest.err &&
|
||||||
|
grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
|
||||||
grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
|
grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
|
||||||
grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
|
grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
|
||||||
${MAKE-make} -s -f confmf > /dev/null 2>&1; then
|
${MAKE-make} -s -f confmf > /dev/null 2>&1; then
|
||||||
|
@ -6646,7 +6669,8 @@ if test "x$enable_dependency_tracking" != xno; then
|
||||||
AMDEPBACKSLASH='\'
|
AMDEPBACKSLASH='\'
|
||||||
fi
|
fi
|
||||||
AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
|
AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
|
||||||
AC_SUBST([AMDEPBACKSLASH])
|
AC_SUBST([AMDEPBACKSLASH])dnl
|
||||||
|
_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
|
||||||
])
|
])
|
||||||
|
|
||||||
# Generate code to set up dependency tracking. -*- Autoconf -*-
|
# Generate code to set up dependency tracking. -*- Autoconf -*-
|
||||||
|
@ -6671,8 +6695,9 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
|
||||||
# some people rename them; so instead we look at the file content.
|
# some people rename them; so instead we look at the file content.
|
||||||
# Grep'ing the first line is not enough: some people post-process
|
# Grep'ing the first line is not enough: some people post-process
|
||||||
# each Makefile.in and add a new line on top of each file to say so.
|
# each Makefile.in and add a new line on top of each file to say so.
|
||||||
# So let's grep whole file.
|
# Grep'ing the whole file is not good either: AIX grep has a line
|
||||||
if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
|
# limit of 2048, but all sed's we know have understand at least 4000.
|
||||||
|
if sed 10q "$mf" | grep '^#.*generated by automake' > /dev/null 2>&1; then
|
||||||
dirpart=`AS_DIRNAME("$mf")`
|
dirpart=`AS_DIRNAME("$mf")`
|
||||||
else
|
else
|
||||||
continue
|
continue
|
||||||
|
@ -6731,8 +6756,8 @@ AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
|
||||||
|
|
||||||
# Do all the work for Automake. -*- Autoconf -*-
|
# Do all the work for Automake. -*- Autoconf -*-
|
||||||
|
|
||||||
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
|
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
|
||||||
# Free Software Foundation, Inc.
|
# 2005, 2006 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
@ -6755,17 +6780,21 @@ AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
|
||||||
# arguments mandatory, and then we can depend on a new Autoconf
|
# arguments mandatory, and then we can depend on a new Autoconf
|
||||||
# release and drop the old call support.
|
# release and drop the old call support.
|
||||||
AC_DEFUN([AM_INIT_AUTOMAKE],
|
AC_DEFUN([AM_INIT_AUTOMAKE],
|
||||||
[AC_PREREQ([2.58])dnl
|
[AC_PREREQ([2.60])dnl
|
||||||
dnl Autoconf wants to disallow AM_ names. We explicitly allow
|
dnl Autoconf wants to disallow AM_ names. We explicitly allow
|
||||||
dnl the ones we care about.
|
dnl the ones we care about.
|
||||||
m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
|
m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
|
||||||
AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
|
AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
|
||||||
AC_REQUIRE([AC_PROG_INSTALL])dnl
|
AC_REQUIRE([AC_PROG_INSTALL])dnl
|
||||||
|
if test "`cd $srcdir && pwd`" != "`pwd`"; then
|
||||||
|
# Use -I$(srcdir) only when $(srcdir) != ., so that make's output
|
||||||
|
# is not polluted with repeated "-I."
|
||||||
|
AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
|
||||||
# test to see if srcdir already configured
|
# test to see if srcdir already configured
|
||||||
if test "`cd $srcdir && pwd`" != "`pwd`" &&
|
if test -f $srcdir/config.status; then
|
||||||
test -f $srcdir/config.status; then
|
|
||||||
AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
|
AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
|
||||||
fi
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
# test whether we have cygpath
|
# test whether we have cygpath
|
||||||
if test -z "$CYGPATH_W"; then
|
if test -z "$CYGPATH_W"; then
|
||||||
|
@ -6784,6 +6813,9 @@ m4_ifval([$2],
|
||||||
AC_SUBST([PACKAGE], [$1])dnl
|
AC_SUBST([PACKAGE], [$1])dnl
|
||||||
AC_SUBST([VERSION], [$2])],
|
AC_SUBST([VERSION], [$2])],
|
||||||
[_AM_SET_OPTIONS([$1])dnl
|
[_AM_SET_OPTIONS([$1])dnl
|
||||||
|
dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
|
||||||
|
m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
|
||||||
|
[m4_fatal([AC_INIT should be called with package and version arguments])])dnl
|
||||||
AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
|
AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
|
||||||
AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
|
AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
|
||||||
|
|
||||||
|
@ -6819,6 +6851,10 @@ AC_PROVIDE_IFELSE([AC_PROG_CXX],
|
||||||
[_AM_DEPENDENCIES(CXX)],
|
[_AM_DEPENDENCIES(CXX)],
|
||||||
[define([AC_PROG_CXX],
|
[define([AC_PROG_CXX],
|
||||||
defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
|
defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
|
||||||
|
AC_PROVIDE_IFELSE([AC_PROG_OBJC],
|
||||||
|
[_AM_DEPENDENCIES(OBJC)],
|
||||||
|
[define([AC_PROG_OBJC],
|
||||||
|
defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
|
||||||
])
|
])
|
||||||
])
|
])
|
||||||
|
|
||||||
|
@ -6854,7 +6890,7 @@ echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
|
||||||
# Define $install_sh.
|
# Define $install_sh.
|
||||||
AC_DEFUN([AM_PROG_INSTALL_SH],
|
AC_DEFUN([AM_PROG_INSTALL_SH],
|
||||||
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
|
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
|
||||||
install_sh=${install_sh-"$am_aux_dir/install-sh"}
|
install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"}
|
||||||
AC_SUBST(install_sh)])
|
AC_SUBST(install_sh)])
|
||||||
|
|
||||||
# Copyright (C) 2003, 2005 Free Software Foundation, Inc.
|
# Copyright (C) 2003, 2005 Free Software Foundation, Inc.
|
||||||
|
@ -6932,14 +6968,14 @@ rm -f confinc confmf
|
||||||
|
|
||||||
# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
|
# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
|
||||||
|
|
||||||
# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2005
|
# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005
|
||||||
# Free Software Foundation, Inc.
|
# Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
# with or without modifications, as long as this notice is preserved.
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
# serial 4
|
# serial 5
|
||||||
|
|
||||||
# AM_MISSING_PROG(NAME, PROGRAM)
|
# AM_MISSING_PROG(NAME, PROGRAM)
|
||||||
# ------------------------------
|
# ------------------------------
|
||||||
|
@ -6955,6 +6991,7 @@ AC_SUBST($1)])
|
||||||
# If it does, set am_missing_run to use it, otherwise, to nothing.
|
# If it does, set am_missing_run to use it, otherwise, to nothing.
|
||||||
AC_DEFUN([AM_MISSING_HAS_RUN],
|
AC_DEFUN([AM_MISSING_HAS_RUN],
|
||||||
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
|
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
|
||||||
|
AC_REQUIRE_AUX_FILE([missing])dnl
|
||||||
test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
|
test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
|
||||||
# Use eval to expand $SHELL
|
# Use eval to expand $SHELL
|
||||||
if eval "$MISSING --run true"; then
|
if eval "$MISSING --run true"; then
|
||||||
|
@ -6965,7 +7002,7 @@ else
|
||||||
fi
|
fi
|
||||||
])
|
])
|
||||||
|
|
||||||
# Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
|
# Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
@ -6973,60 +7010,23 @@ fi
|
||||||
|
|
||||||
# AM_PROG_MKDIR_P
|
# AM_PROG_MKDIR_P
|
||||||
# ---------------
|
# ---------------
|
||||||
# Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise.
|
# Check for `mkdir -p'.
|
||||||
#
|
|
||||||
# Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories
|
|
||||||
# created by `make install' are always world readable, even if the
|
|
||||||
# installer happens to have an overly restrictive umask (e.g. 077).
|
|
||||||
# This was a mistake. There are at least two reasons why we must not
|
|
||||||
# use `-m 0755':
|
|
||||||
# - it causes special bits like SGID to be ignored,
|
|
||||||
# - it may be too restrictive (some setups expect 775 directories).
|
|
||||||
#
|
|
||||||
# Do not use -m 0755 and let people choose whatever they expect by
|
|
||||||
# setting umask.
|
|
||||||
#
|
|
||||||
# We cannot accept any implementation of `mkdir' that recognizes `-p'.
|
|
||||||
# Some implementations (such as Solaris 8's) are not thread-safe: if a
|
|
||||||
# parallel make tries to run `mkdir -p a/b' and `mkdir -p a/c'
|
|
||||||
# concurrently, both version can detect that a/ is missing, but only
|
|
||||||
# one can create it and the other will error out. Consequently we
|
|
||||||
# restrict ourselves to GNU make (using the --version option ensures
|
|
||||||
# this.)
|
|
||||||
AC_DEFUN([AM_PROG_MKDIR_P],
|
AC_DEFUN([AM_PROG_MKDIR_P],
|
||||||
[if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
|
[AC_PREREQ([2.60])dnl
|
||||||
# We used to keeping the `.' as first argument, in order to
|
AC_REQUIRE([AC_PROG_MKDIR_P])dnl
|
||||||
# allow $(mkdir_p) to be used without argument. As in
|
dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P,
|
||||||
# $(mkdir_p) $(somedir)
|
dnl while keeping a definition of mkdir_p for backward compatibility.
|
||||||
# where $(somedir) is conditionally defined. However this is wrong
|
dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
|
||||||
# for two reasons:
|
dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
|
||||||
# 1. if the package is installed by a user who cannot write `.'
|
dnl Makefile.ins that do not define MKDIR_P, so we do our own
|
||||||
# make install will fail,
|
dnl adjustment using top_builddir (which is defined more often than
|
||||||
# 2. the above comment should most certainly read
|
dnl MKDIR_P).
|
||||||
# $(mkdir_p) $(DESTDIR)$(somedir)
|
AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
|
||||||
# so it does not work when $(somedir) is undefined and
|
case $mkdir_p in
|
||||||
# $(DESTDIR) is not.
|
[[\\/$]]* | ?:[[\\/]]*) ;;
|
||||||
# To support the latter case, we have to write
|
*/*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
|
||||||
# test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir),
|
esac
|
||||||
# so the `.' trick is pointless.
|
])
|
||||||
mkdir_p='mkdir -p --'
|
|
||||||
else
|
|
||||||
# On NextStep and OpenStep, the `mkdir' command does not
|
|
||||||
# recognize any option. It will interpret all options as
|
|
||||||
# directories to create, and then abort because `.' already
|
|
||||||
# exists.
|
|
||||||
for d in ./-p ./--version;
|
|
||||||
do
|
|
||||||
test -d $d && rmdir $d
|
|
||||||
done
|
|
||||||
# $(mkinstalldirs) is defined by Automake if mkinstalldirs exists.
|
|
||||||
if test -f "$ac_aux_dir/mkinstalldirs"; then
|
|
||||||
mkdir_p='$(mkinstalldirs)'
|
|
||||||
else
|
|
||||||
mkdir_p='$(install_sh) -d'
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
AC_SUBST([mkdir_p])])
|
|
||||||
|
|
||||||
# Helper functions for option handling. -*- Autoconf -*-
|
# Helper functions for option handling. -*- Autoconf -*-
|
||||||
|
|
||||||
|
@ -7155,9 +7155,21 @@ dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
|
||||||
if test "$cross_compiling" != no; then
|
if test "$cross_compiling" != no; then
|
||||||
AC_CHECK_TOOL([STRIP], [strip], :)
|
AC_CHECK_TOOL([STRIP], [strip], :)
|
||||||
fi
|
fi
|
||||||
INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
|
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
|
||||||
AC_SUBST([INSTALL_STRIP_PROGRAM])])
|
AC_SUBST([INSTALL_STRIP_PROGRAM])])
|
||||||
|
|
||||||
|
# Copyright (C) 2006 Free Software Foundation, Inc.
|
||||||
|
#
|
||||||
|
# This file is free software; the Free Software Foundation
|
||||||
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
|
# _AM_SUBST_NOTMAKE(VARIABLE)
|
||||||
|
# ---------------------------
|
||||||
|
# Prevent Automake from outputing VARIABLE = @VARIABLE@ in Makefile.in.
|
||||||
|
# This macro is traced by Automake.
|
||||||
|
AC_DEFUN([_AM_SUBST_NOTMAKE])
|
||||||
|
|
||||||
# Check how to create a tarball. -*- Autoconf -*-
|
# Check how to create a tarball. -*- Autoconf -*-
|
||||||
|
|
||||||
# Copyright (C) 2004, 2005 Free Software Foundation, Inc.
|
# Copyright (C) 2004, 2005 Free Software Foundation, Inc.
|
||||||
|
|
51
autotools/config.guess
vendored
51
autotools/config.guess
vendored
|
@ -1,9 +1,10 @@
|
||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# Attempt to guess a canonical system name.
|
# Attempt to guess a canonical system name.
|
||||||
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
|
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
|
||||||
# 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
|
# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
|
||||||
|
# Inc.
|
||||||
|
|
||||||
timestamp='2005-12-13'
|
timestamp='2006-07-02'
|
||||||
|
|
||||||
# This file is free software; you can redistribute it and/or modify it
|
# This file is free software; you can redistribute it and/or modify it
|
||||||
# under the terms of the GNU General Public License as published by
|
# under the terms of the GNU General Public License as published by
|
||||||
|
@ -106,7 +107,7 @@ set_cc_for_build='
|
||||||
trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
|
trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
|
||||||
trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
|
trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
|
||||||
: ${TMPDIR=/tmp} ;
|
: ${TMPDIR=/tmp} ;
|
||||||
{ tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
|
{ tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
|
||||||
{ test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
|
{ test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
|
||||||
{ tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
|
{ tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
|
||||||
{ echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
|
{ echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
|
||||||
|
@ -206,8 +207,11 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
||||||
*:ekkoBSD:*:*)
|
*:ekkoBSD:*:*)
|
||||||
echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
|
echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
|
||||||
exit ;;
|
exit ;;
|
||||||
|
*:SolidBSD:*:*)
|
||||||
|
echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
|
||||||
|
exit ;;
|
||||||
macppc:MirBSD:*:*)
|
macppc:MirBSD:*:*)
|
||||||
echo powerppc-unknown-mirbsd${UNAME_RELEASE}
|
echo powerpc-unknown-mirbsd${UNAME_RELEASE}
|
||||||
exit ;;
|
exit ;;
|
||||||
*:MirBSD:*:*)
|
*:MirBSD:*:*)
|
||||||
echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
|
echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
|
||||||
|
@ -764,7 +768,14 @@ EOF
|
||||||
echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
|
echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
|
||||||
exit ;;
|
exit ;;
|
||||||
*:FreeBSD:*:*)
|
*:FreeBSD:*:*)
|
||||||
echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
|
case ${UNAME_MACHINE} in
|
||||||
|
pc98)
|
||||||
|
echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
|
||||||
|
amd64)
|
||||||
|
echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
|
||||||
|
*)
|
||||||
|
echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
|
||||||
|
esac
|
||||||
exit ;;
|
exit ;;
|
||||||
i*:CYGWIN*:*)
|
i*:CYGWIN*:*)
|
||||||
echo ${UNAME_MACHINE}-pc-cygwin
|
echo ${UNAME_MACHINE}-pc-cygwin
|
||||||
|
@ -779,8 +790,11 @@ EOF
|
||||||
i*:PW*:*)
|
i*:PW*:*)
|
||||||
echo ${UNAME_MACHINE}-pc-pw32
|
echo ${UNAME_MACHINE}-pc-pw32
|
||||||
exit ;;
|
exit ;;
|
||||||
x86:Interix*:[345]*)
|
x86:Interix*:[3456]*)
|
||||||
echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//'
|
echo i586-pc-interix${UNAME_RELEASE}
|
||||||
|
exit ;;
|
||||||
|
EM64T:Interix*:[3456]*)
|
||||||
|
echo x86_64-unknown-interix${UNAME_RELEASE}
|
||||||
exit ;;
|
exit ;;
|
||||||
[345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
|
[345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
|
||||||
echo i${UNAME_MACHINE}-pc-mks
|
echo i${UNAME_MACHINE}-pc-mks
|
||||||
|
@ -817,6 +831,9 @@ EOF
|
||||||
arm*:Linux:*:*)
|
arm*:Linux:*:*)
|
||||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||||
exit ;;
|
exit ;;
|
||||||
|
avr32*:Linux:*:*)
|
||||||
|
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||||
|
exit ;;
|
||||||
cris:Linux:*:*)
|
cris:Linux:*:*)
|
||||||
echo cris-axis-linux-gnu
|
echo cris-axis-linux-gnu
|
||||||
exit ;;
|
exit ;;
|
||||||
|
@ -851,7 +868,11 @@ EOF
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
EOF
|
EOF
|
||||||
eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '/^CPU/{s: ::g;p;}'`"
|
eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
|
||||||
|
/^CPU/{
|
||||||
|
s: ::g
|
||||||
|
p
|
||||||
|
}'`"
|
||||||
test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
|
test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
|
||||||
;;
|
;;
|
||||||
mips64:Linux:*:*)
|
mips64:Linux:*:*)
|
||||||
|
@ -870,7 +891,11 @@ EOF
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
EOF
|
EOF
|
||||||
eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '/^CPU/{s: ::g;p;}'`"
|
eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
|
||||||
|
/^CPU/{
|
||||||
|
s: ::g
|
||||||
|
p
|
||||||
|
}'`"
|
||||||
test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
|
test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
|
||||||
;;
|
;;
|
||||||
or32:Linux:*:*)
|
or32:Linux:*:*)
|
||||||
|
@ -967,7 +992,7 @@ EOF
|
||||||
LIBC=gnulibc1
|
LIBC=gnulibc1
|
||||||
# endif
|
# endif
|
||||||
#else
|
#else
|
||||||
#if defined(__INTEL_COMPILER) || defined(__PGI)
|
#if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
|
||||||
LIBC=gnu
|
LIBC=gnu
|
||||||
#else
|
#else
|
||||||
LIBC=gnuaout
|
LIBC=gnuaout
|
||||||
|
@ -977,7 +1002,11 @@ EOF
|
||||||
LIBC=dietlibc
|
LIBC=dietlibc
|
||||||
#endif
|
#endif
|
||||||
EOF
|
EOF
|
||||||
eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '/^LIBC/{s: ::g;p;}'`"
|
eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
|
||||||
|
/^LIBC/{
|
||||||
|
s: ::g
|
||||||
|
p
|
||||||
|
}'`"
|
||||||
test x"${LIBC}" != x && {
|
test x"${LIBC}" != x && {
|
||||||
echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
|
echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
|
||||||
exit
|
exit
|
||||||
|
|
63
autotools/config.sub
vendored
63
autotools/config.sub
vendored
|
@ -1,9 +1,10 @@
|
||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# Configuration validation subroutine script.
|
# Configuration validation subroutine script.
|
||||||
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
|
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
|
||||||
# 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
|
# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
|
||||||
|
# Inc.
|
||||||
|
|
||||||
timestamp='2005-12-11'
|
timestamp='2006-09-20'
|
||||||
|
|
||||||
# This file is (in principle) common to ALL GNU software.
|
# This file is (in principle) common to ALL GNU software.
|
||||||
# The presence of a machine in this file suggests that SOME GNU software
|
# The presence of a machine in this file suggests that SOME GNU software
|
||||||
|
@ -240,7 +241,7 @@ case $basic_machine in
|
||||||
| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
|
| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
|
||||||
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
|
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
|
||||||
| am33_2.0 \
|
| am33_2.0 \
|
||||||
| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
|
| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
|
||||||
| bfin \
|
| bfin \
|
||||||
| c4x | clipper \
|
| c4x | clipper \
|
||||||
| d10v | d30v | dlx | dsp16xx \
|
| d10v | d30v | dlx | dsp16xx \
|
||||||
|
@ -248,7 +249,8 @@ case $basic_machine in
|
||||||
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
|
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
|
||||||
| i370 | i860 | i960 | ia64 \
|
| i370 | i860 | i960 | ia64 \
|
||||||
| ip2k | iq2000 \
|
| ip2k | iq2000 \
|
||||||
| m32r | m32rle | m68000 | m68k | m88k | maxq | mcore \
|
| m32c | m32r | m32rle | m68000 | m68k | m88k \
|
||||||
|
| maxq | mb | microblaze | mcore \
|
||||||
| mips | mipsbe | mipseb | mipsel | mipsle \
|
| mips | mipsbe | mipseb | mipsel | mipsle \
|
||||||
| mips16 \
|
| mips16 \
|
||||||
| mips64 | mips64el \
|
| mips64 | mips64el \
|
||||||
|
@ -268,26 +270,25 @@ case $basic_machine in
|
||||||
| mn10200 | mn10300 \
|
| mn10200 | mn10300 \
|
||||||
| mt \
|
| mt \
|
||||||
| msp430 \
|
| msp430 \
|
||||||
|
| nios | nios2 \
|
||||||
| ns16k | ns32k \
|
| ns16k | ns32k \
|
||||||
| or32 \
|
| or32 \
|
||||||
| pdp10 | pdp11 | pj | pjl \
|
| pdp10 | pdp11 | pj | pjl \
|
||||||
| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
|
| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
|
||||||
| pyramid \
|
| pyramid \
|
||||||
| sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
|
| score \
|
||||||
|
| sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
|
||||||
| sh64 | sh64le \
|
| sh64 | sh64le \
|
||||||
| sparc | sparc64 | sparc64b | sparc86x | sparclet | sparclite \
|
| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
|
||||||
| sparcv8 | sparcv9 | sparcv9b \
|
| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
|
||||||
| strongarm \
|
| spu | strongarm \
|
||||||
| tahoe | thumb | tic4x | tic80 | tron \
|
| tahoe | thumb | tic4x | tic80 | tron \
|
||||||
| v850 | v850e \
|
| v850 | v850e \
|
||||||
| we32k \
|
| we32k \
|
||||||
| x86 | xscale | xscalee[bl] | xstormy16 | xtensa \
|
| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
|
||||||
| z8k)
|
| z8k)
|
||||||
basic_machine=$basic_machine-unknown
|
basic_machine=$basic_machine-unknown
|
||||||
;;
|
;;
|
||||||
m32c)
|
|
||||||
basic_machine=$basic_machine-unknown
|
|
||||||
;;
|
|
||||||
m6811 | m68hc11 | m6812 | m68hc12)
|
m6811 | m68hc11 | m6812 | m68hc12)
|
||||||
# Motorola 68HC11/12.
|
# Motorola 68HC11/12.
|
||||||
basic_machine=$basic_machine-unknown
|
basic_machine=$basic_machine-unknown
|
||||||
|
@ -317,7 +318,7 @@ case $basic_machine in
|
||||||
| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
|
| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
|
||||||
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
|
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
|
||||||
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
|
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
|
||||||
| avr-* \
|
| avr-* | avr32-* \
|
||||||
| bfin-* | bs2000-* \
|
| bfin-* | bs2000-* \
|
||||||
| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
|
| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
|
||||||
| clipper-* | craynv-* | cydra-* \
|
| clipper-* | craynv-* | cydra-* \
|
||||||
|
@ -328,7 +329,7 @@ case $basic_machine in
|
||||||
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
|
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
|
||||||
| i*86-* | i860-* | i960-* | ia64-* \
|
| i*86-* | i860-* | i960-* | ia64-* \
|
||||||
| ip2k-* | iq2000-* \
|
| ip2k-* | iq2000-* \
|
||||||
| m32r-* | m32rle-* \
|
| m32c-* | m32r-* | m32rle-* \
|
||||||
| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
|
| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
|
||||||
| m88110-* | m88k-* | maxq-* | mcore-* \
|
| m88110-* | m88k-* | maxq-* | mcore-* \
|
||||||
| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
|
| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
|
||||||
|
@ -350,29 +351,28 @@ case $basic_machine in
|
||||||
| mmix-* \
|
| mmix-* \
|
||||||
| mt-* \
|
| mt-* \
|
||||||
| msp430-* \
|
| msp430-* \
|
||||||
|
| nios-* | nios2-* \
|
||||||
| none-* | np1-* | ns16k-* | ns32k-* \
|
| none-* | np1-* | ns16k-* | ns32k-* \
|
||||||
| orion-* \
|
| orion-* \
|
||||||
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
|
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
|
||||||
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
|
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
|
||||||
| pyramid-* \
|
| pyramid-* \
|
||||||
| romp-* | rs6000-* \
|
| romp-* | rs6000-* \
|
||||||
| sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | shbe-* \
|
| sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
|
||||||
| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
|
| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
|
||||||
| sparc-* | sparc64-* | sparc64b-* | sparc86x-* | sparclet-* \
|
| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
|
||||||
| sparclite-* \
|
| sparclite-* \
|
||||||
| sparcv8-* | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
|
| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
|
||||||
| tahoe-* | thumb-* \
|
| tahoe-* | thumb-* \
|
||||||
| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
|
| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
|
||||||
| tron-* \
|
| tron-* \
|
||||||
| v850-* | v850e-* | vax-* \
|
| v850-* | v850e-* | vax-* \
|
||||||
| we32k-* \
|
| we32k-* \
|
||||||
| x86-* | x86_64-* | xps100-* | xscale-* | xscalee[bl]-* \
|
| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
|
||||||
| xstormy16-* | xtensa-* \
|
| xstormy16-* | xtensa-* \
|
||||||
| ymp-* \
|
| ymp-* \
|
||||||
| z8k-*)
|
| z8k-*)
|
||||||
;;
|
;;
|
||||||
m32c-*)
|
|
||||||
;;
|
|
||||||
# Recognize the various machine names and aliases which stand
|
# Recognize the various machine names and aliases which stand
|
||||||
# for a CPU type and a company and sometimes even an OS.
|
# for a CPU type and a company and sometimes even an OS.
|
||||||
386bsd)
|
386bsd)
|
||||||
|
@ -818,6 +818,12 @@ case $basic_machine in
|
||||||
pc532 | pc532-*)
|
pc532 | pc532-*)
|
||||||
basic_machine=ns32k-pc532
|
basic_machine=ns32k-pc532
|
||||||
;;
|
;;
|
||||||
|
pc98)
|
||||||
|
basic_machine=i386-pc
|
||||||
|
;;
|
||||||
|
pc98-*)
|
||||||
|
basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||||
|
;;
|
||||||
pentium | p5 | k5 | k6 | nexgen | viac3)
|
pentium | p5 | k5 | k6 | nexgen | viac3)
|
||||||
basic_machine=i586-pc
|
basic_machine=i586-pc
|
||||||
;;
|
;;
|
||||||
|
@ -904,6 +910,10 @@ case $basic_machine in
|
||||||
sb1el)
|
sb1el)
|
||||||
basic_machine=mipsisa64sb1el-unknown
|
basic_machine=mipsisa64sb1el-unknown
|
||||||
;;
|
;;
|
||||||
|
sde)
|
||||||
|
basic_machine=mipsisa32-sde
|
||||||
|
os=-elf
|
||||||
|
;;
|
||||||
sei)
|
sei)
|
||||||
basic_machine=mips-sei
|
basic_machine=mips-sei
|
||||||
os=-seiux
|
os=-seiux
|
||||||
|
@ -1120,7 +1130,7 @@ case $basic_machine in
|
||||||
sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
|
sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
|
||||||
basic_machine=sh-unknown
|
basic_machine=sh-unknown
|
||||||
;;
|
;;
|
||||||
sparc | sparcv8 | sparcv9 | sparcv9b)
|
sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
|
||||||
basic_machine=sparc-sun
|
basic_machine=sparc-sun
|
||||||
;;
|
;;
|
||||||
cydra)
|
cydra)
|
||||||
|
@ -1193,7 +1203,8 @@ case $os in
|
||||||
| -aos* \
|
| -aos* \
|
||||||
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
|
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
|
||||||
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
|
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
|
||||||
| -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* | -openbsd* \
|
| -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
|
||||||
|
| -openbsd* | -solidbsd* \
|
||||||
| -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
|
| -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
|
||||||
| -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
|
| -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
|
||||||
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
|
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
|
||||||
|
@ -1208,7 +1219,7 @@ case $os in
|
||||||
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
|
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
|
||||||
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
|
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
|
||||||
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
|
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
|
||||||
| -skyos* | -haiku* | -rdos*)
|
| -skyos* | -haiku* | -rdos* | -toppers*)
|
||||||
# Remember, each alternative MUST END IN *, to match a version number.
|
# Remember, each alternative MUST END IN *, to match a version number.
|
||||||
;;
|
;;
|
||||||
-qnx*)
|
-qnx*)
|
||||||
|
@ -1360,6 +1371,12 @@ else
|
||||||
# system, and we'll never get to this point.
|
# system, and we'll never get to this point.
|
||||||
|
|
||||||
case $basic_machine in
|
case $basic_machine in
|
||||||
|
score-*)
|
||||||
|
os=-elf
|
||||||
|
;;
|
||||||
|
spu-*)
|
||||||
|
os=-elf
|
||||||
|
;;
|
||||||
*-acorn)
|
*-acorn)
|
||||||
os=-riscix1.2
|
os=-riscix1.2
|
||||||
;;
|
;;
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# depcomp - compile a program generating dependencies as side-effects
|
# depcomp - compile a program generating dependencies as side-effects
|
||||||
|
|
||||||
scriptversion=2005-07-09.11
|
scriptversion=2006-10-15.18
|
||||||
|
|
||||||
# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
|
# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006 Free Software
|
||||||
|
# Foundation, Inc.
|
||||||
|
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -91,7 +92,20 @@ gcc3)
|
||||||
## gcc 3 implements dependency tracking that does exactly what
|
## gcc 3 implements dependency tracking that does exactly what
|
||||||
## we want. Yay! Note: for some reason libtool 1.4 doesn't like
|
## we want. Yay! Note: for some reason libtool 1.4 doesn't like
|
||||||
## it if -MD -MP comes after the -MF stuff. Hmm.
|
## it if -MD -MP comes after the -MF stuff. Hmm.
|
||||||
"$@" -MT "$object" -MD -MP -MF "$tmpdepfile"
|
## Unfortunately, FreeBSD c89 acceptance of flags depends upon
|
||||||
|
## the command line argument order; so add the flags where they
|
||||||
|
## appear in depend2.am. Note that the slowdown incurred here
|
||||||
|
## affects only configure: in makefiles, %FASTDEP% shortcuts this.
|
||||||
|
for arg
|
||||||
|
do
|
||||||
|
case $arg in
|
||||||
|
-c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
|
||||||
|
*) set fnord "$@" "$arg" ;;
|
||||||
|
esac
|
||||||
|
shift # fnord
|
||||||
|
shift # $arg
|
||||||
|
done
|
||||||
|
"$@"
|
||||||
stat=$?
|
stat=$?
|
||||||
if test $stat -eq 0; then :
|
if test $stat -eq 0; then :
|
||||||
else
|
else
|
||||||
|
@ -276,6 +290,46 @@ icc)
|
||||||
rm -f "$tmpdepfile"
|
rm -f "$tmpdepfile"
|
||||||
;;
|
;;
|
||||||
|
|
||||||
|
hp2)
|
||||||
|
# The "hp" stanza above does not work with aCC (C++) and HP's ia64
|
||||||
|
# compilers, which have integrated preprocessors. The correct option
|
||||||
|
# to use with these is +Maked; it writes dependencies to a file named
|
||||||
|
# 'foo.d', which lands next to the object file, wherever that
|
||||||
|
# happens to be.
|
||||||
|
# Much of this is similar to the tru64 case; see comments there.
|
||||||
|
dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
|
||||||
|
test "x$dir" = "x$object" && dir=
|
||||||
|
base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
|
||||||
|
if test "$libtool" = yes; then
|
||||||
|
tmpdepfile1=$dir$base.d
|
||||||
|
tmpdepfile2=$dir.libs/$base.d
|
||||||
|
"$@" -Wc,+Maked
|
||||||
|
else
|
||||||
|
tmpdepfile1=$dir$base.d
|
||||||
|
tmpdepfile2=$dir$base.d
|
||||||
|
"$@" +Maked
|
||||||
|
fi
|
||||||
|
stat=$?
|
||||||
|
if test $stat -eq 0; then :
|
||||||
|
else
|
||||||
|
rm -f "$tmpdepfile1" "$tmpdepfile2"
|
||||||
|
exit $stat
|
||||||
|
fi
|
||||||
|
|
||||||
|
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
|
||||||
|
do
|
||||||
|
test -f "$tmpdepfile" && break
|
||||||
|
done
|
||||||
|
if test -f "$tmpdepfile"; then
|
||||||
|
sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
|
||||||
|
# Add `dependent.h:' lines.
|
||||||
|
sed -ne '2,${; s/^ *//; s/ \\*$//; s/$/:/; p;}' "$tmpdepfile" >> "$depfile"
|
||||||
|
else
|
||||||
|
echo "#dummy" > "$depfile"
|
||||||
|
fi
|
||||||
|
rm -f "$tmpdepfile" "$tmpdepfile2"
|
||||||
|
;;
|
||||||
|
|
||||||
tru64)
|
tru64)
|
||||||
# The Tru64 compiler uses -MD to generate dependencies as a side
|
# The Tru64 compiler uses -MD to generate dependencies as a side
|
||||||
# effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
|
# effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
|
||||||
|
@ -288,13 +342,13 @@ tru64)
|
||||||
|
|
||||||
if test "$libtool" = yes; then
|
if test "$libtool" = yes; then
|
||||||
# With Tru64 cc, shared objects can also be used to make a
|
# With Tru64 cc, shared objects can also be used to make a
|
||||||
# static library. This mecanism is used in libtool 1.4 series to
|
# static library. This mechanism is used in libtool 1.4 series to
|
||||||
# handle both shared and static libraries in a single compilation.
|
# handle both shared and static libraries in a single compilation.
|
||||||
# With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
|
# With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
|
||||||
#
|
#
|
||||||
# With libtool 1.5 this exception was removed, and libtool now
|
# With libtool 1.5 this exception was removed, and libtool now
|
||||||
# generates 2 separate objects for the 2 libraries. These two
|
# generates 2 separate objects for the 2 libraries. These two
|
||||||
# compilations output dependencies in in $dir.libs/$base.o.d and
|
# compilations output dependencies in $dir.libs/$base.o.d and
|
||||||
# in $dir$base.o.d. We have to check for both files, because
|
# in $dir$base.o.d. We have to check for both files, because
|
||||||
# one of the two compilations can be disabled. We should prefer
|
# one of the two compilations can be disabled. We should prefer
|
||||||
# $dir$base.o.d over $dir.libs/$base.o.d because the latter is
|
# $dir$base.o.d over $dir.libs/$base.o.d because the latter is
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
# install - install a program, script, or datafile
|
# install - install a program, script, or datafile
|
||||||
|
|
||||||
scriptversion=2005-05-14.22
|
scriptversion=2006-10-14.15
|
||||||
|
|
||||||
# This originates from X11R5 (mit/util/scripts/install.sh), which was
|
# This originates from X11R5 (mit/util/scripts/install.sh), which was
|
||||||
# later released in X11R6 (xc/config/util/install.sh) with the
|
# later released in X11R6 (xc/config/util/install.sh) with the
|
||||||
|
@ -39,15 +39,24 @@ scriptversion=2005-05-14.22
|
||||||
# when there is no Makefile.
|
# when there is no Makefile.
|
||||||
#
|
#
|
||||||
# This script is compatible with the BSD install script, but was written
|
# This script is compatible with the BSD install script, but was written
|
||||||
# from scratch. It can only install one file at a time, a restriction
|
# from scratch.
|
||||||
# shared with many OS's install programs.
|
|
||||||
|
nl='
|
||||||
|
'
|
||||||
|
IFS=" "" $nl"
|
||||||
|
|
||||||
# set DOITPROG to echo to test this script
|
# set DOITPROG to echo to test this script
|
||||||
|
|
||||||
# Don't use :- since 4.3BSD and earlier shells don't like it.
|
# Don't use :- since 4.3BSD and earlier shells don't like it.
|
||||||
doit="${DOITPROG-}"
|
doit="${DOITPROG-}"
|
||||||
|
if test -z "$doit"; then
|
||||||
|
doit_exec=exec
|
||||||
|
else
|
||||||
|
doit_exec=$doit
|
||||||
|
fi
|
||||||
|
|
||||||
# put in absolute paths if you don't have them in your path; or use env. vars.
|
# Put in absolute file names if you don't have them in your path;
|
||||||
|
# or use environment vars.
|
||||||
|
|
||||||
mvprog="${MVPROG-mv}"
|
mvprog="${MVPROG-mv}"
|
||||||
cpprog="${CPPROG-cp}"
|
cpprog="${CPPROG-cp}"
|
||||||
|
@ -58,7 +67,13 @@ stripprog="${STRIPPROG-strip}"
|
||||||
rmprog="${RMPROG-rm}"
|
rmprog="${RMPROG-rm}"
|
||||||
mkdirprog="${MKDIRPROG-mkdir}"
|
mkdirprog="${MKDIRPROG-mkdir}"
|
||||||
|
|
||||||
chmodcmd="$chmodprog 0755"
|
posix_glob=
|
||||||
|
posix_mkdir=
|
||||||
|
|
||||||
|
# Desired mode of installed file.
|
||||||
|
mode=0755
|
||||||
|
|
||||||
|
chmodcmd=$chmodprog
|
||||||
chowncmd=
|
chowncmd=
|
||||||
chgrpcmd=
|
chgrpcmd=
|
||||||
stripcmd=
|
stripcmd=
|
||||||
|
@ -95,7 +110,7 @@ Environment variables override the default commands:
|
||||||
CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG
|
CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG
|
||||||
"
|
"
|
||||||
|
|
||||||
while test -n "$1"; do
|
while test $# -ne 0; do
|
||||||
case $1 in
|
case $1 in
|
||||||
-c) shift
|
-c) shift
|
||||||
continue;;
|
continue;;
|
||||||
|
@ -111,9 +126,15 @@ while test -n "$1"; do
|
||||||
|
|
||||||
--help) echo "$usage"; exit $?;;
|
--help) echo "$usage"; exit $?;;
|
||||||
|
|
||||||
-m) chmodcmd="$chmodprog $2"
|
-m) mode=$2
|
||||||
shift
|
shift
|
||||||
shift
|
shift
|
||||||
|
case $mode in
|
||||||
|
*' '* | *' '* | *'
|
||||||
|
'* | *'*'* | *'?'* | *'['*)
|
||||||
|
echo "$0: invalid mode: $mode" >&2
|
||||||
|
exit 1;;
|
||||||
|
esac
|
||||||
continue;;
|
continue;;
|
||||||
|
|
||||||
-o) chowncmd="$chownprog $2"
|
-o) chowncmd="$chownprog $2"
|
||||||
|
@ -136,9 +157,19 @@ while test -n "$1"; do
|
||||||
|
|
||||||
--version) echo "$0 $scriptversion"; exit $?;;
|
--version) echo "$0 $scriptversion"; exit $?;;
|
||||||
|
|
||||||
*) # When -d is used, all remaining arguments are directories to create.
|
--) shift
|
||||||
|
break;;
|
||||||
|
|
||||||
|
-*) echo "$0: invalid option: $1" >&2
|
||||||
|
exit 1;;
|
||||||
|
|
||||||
|
*) break;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
if test $# -ne 0 && test -z "$dir_arg$dstarg"; then
|
||||||
|
# When -d is used, all remaining arguments are directories to create.
|
||||||
# When -t is used, the destination is already specified.
|
# When -t is used, the destination is already specified.
|
||||||
test -n "$dir_arg$dstarg" && break
|
|
||||||
# Otherwise, the last argument is the destination. Remove it from $@.
|
# Otherwise, the last argument is the destination. Remove it from $@.
|
||||||
for arg
|
for arg
|
||||||
do
|
do
|
||||||
|
@ -150,11 +181,9 @@ while test -n "$1"; do
|
||||||
shift # arg
|
shift # arg
|
||||||
dstarg=$arg
|
dstarg=$arg
|
||||||
done
|
done
|
||||||
break;;
|
fi
|
||||||
esac
|
|
||||||
done
|
|
||||||
|
|
||||||
if test -z "$1"; then
|
if test $# -eq 0; then
|
||||||
if test -z "$dir_arg"; then
|
if test -z "$dir_arg"; then
|
||||||
echo "$0: no input file specified." >&2
|
echo "$0: no input file specified." >&2
|
||||||
exit 1
|
exit 1
|
||||||
|
@ -164,6 +193,33 @@ if test -z "$1"; then
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if test -z "$dir_arg"; then
|
||||||
|
trap '(exit $?); exit' 1 2 13 15
|
||||||
|
|
||||||
|
# Set umask so as not to create temps with too-generous modes.
|
||||||
|
# However, 'strip' requires both read and write access to temps.
|
||||||
|
case $mode in
|
||||||
|
# Optimize common cases.
|
||||||
|
*644) cp_umask=133;;
|
||||||
|
*755) cp_umask=22;;
|
||||||
|
|
||||||
|
*[0-7])
|
||||||
|
if test -z "$stripcmd"; then
|
||||||
|
u_plus_rw=
|
||||||
|
else
|
||||||
|
u_plus_rw='% 200'
|
||||||
|
fi
|
||||||
|
cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
|
||||||
|
*)
|
||||||
|
if test -z "$stripcmd"; then
|
||||||
|
u_plus_rw=
|
||||||
|
else
|
||||||
|
u_plus_rw=,u+rw
|
||||||
|
fi
|
||||||
|
cp_umask=$mode$u_plus_rw;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
|
||||||
for src
|
for src
|
||||||
do
|
do
|
||||||
# Protect names starting with `-'.
|
# Protect names starting with `-'.
|
||||||
|
@ -173,15 +229,11 @@ do
|
||||||
|
|
||||||
if test -n "$dir_arg"; then
|
if test -n "$dir_arg"; then
|
||||||
dst=$src
|
dst=$src
|
||||||
src=
|
dstdir=$dst
|
||||||
|
test -d "$dstdir"
|
||||||
|
dstdir_status=$?
|
||||||
|
else
|
||||||
|
|
||||||
if test -d "$dst"; then
|
|
||||||
mkdircmd=:
|
|
||||||
chmodcmd=
|
|
||||||
else
|
|
||||||
mkdircmd=$mkdirprog
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
# Waiting for this to be detected by the "$cpprog $src $dsttmp" command
|
# Waiting for this to be detected by the "$cpprog $src $dsttmp" command
|
||||||
# might cause directories to be created, which would be especially bad
|
# might cause directories to be created, which would be especially bad
|
||||||
# if $src (and thus $dsttmp) contains '*'.
|
# if $src (and thus $dsttmp) contains '*'.
|
||||||
|
@ -208,53 +260,188 @@ do
|
||||||
echo "$0: $dstarg: Is a directory" >&2
|
echo "$0: $dstarg: Is a directory" >&2
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
dst=$dst/`basename "$src"`
|
dstdir=$dst
|
||||||
|
dst=$dstdir/`basename "$src"`
|
||||||
|
dstdir_status=0
|
||||||
|
else
|
||||||
|
# Prefer dirname, but fall back on a substitute if dirname fails.
|
||||||
|
dstdir=`
|
||||||
|
(dirname "$dst") 2>/dev/null ||
|
||||||
|
expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
|
||||||
|
X"$dst" : 'X\(//\)[^/]' \| \
|
||||||
|
X"$dst" : 'X\(//\)$' \| \
|
||||||
|
X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
|
||||||
|
echo X"$dst" |
|
||||||
|
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
|
||||||
|
s//\1/
|
||||||
|
q
|
||||||
|
}
|
||||||
|
/^X\(\/\/\)[^/].*/{
|
||||||
|
s//\1/
|
||||||
|
q
|
||||||
|
}
|
||||||
|
/^X\(\/\/\)$/{
|
||||||
|
s//\1/
|
||||||
|
q
|
||||||
|
}
|
||||||
|
/^X\(\/\).*/{
|
||||||
|
s//\1/
|
||||||
|
q
|
||||||
|
}
|
||||||
|
s/.*/./; q'
|
||||||
|
`
|
||||||
|
|
||||||
|
test -d "$dstdir"
|
||||||
|
dstdir_status=$?
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# This sed command emulates the dirname command.
|
obsolete_mkdir_used=false
|
||||||
dstdir=`echo "$dst" | sed -e 's,/*$,,;s,[^/]*$,,;s,/*$,,;s,^$,.,'`
|
|
||||||
|
|
||||||
# Make sure that the destination directory exists.
|
if test $dstdir_status != 0; then
|
||||||
|
case $posix_mkdir in
|
||||||
|
'')
|
||||||
|
# Create intermediate dirs using mode 755 as modified by the umask.
|
||||||
|
# This is like FreeBSD 'install' as of 1997-10-28.
|
||||||
|
umask=`umask`
|
||||||
|
case $stripcmd.$umask in
|
||||||
|
# Optimize common cases.
|
||||||
|
*[2367][2367]) mkdir_umask=$umask;;
|
||||||
|
.*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
|
||||||
|
|
||||||
# Skip lots of stat calls in the usual case.
|
*[0-7])
|
||||||
if test ! -d "$dstdir"; then
|
mkdir_umask=`expr $umask + 22 \
|
||||||
defaultIFS='
|
- $umask % 100 % 40 + $umask % 20 \
|
||||||
'
|
- $umask % 10 % 4 + $umask % 2
|
||||||
IFS="${IFS-$defaultIFS}"
|
`;;
|
||||||
|
*) mkdir_umask=$umask,go-w;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# With -d, create the new directory with the user-specified mode.
|
||||||
|
# Otherwise, rely on $mkdir_umask.
|
||||||
|
if test -n "$dir_arg"; then
|
||||||
|
mkdir_mode=-m$mode
|
||||||
|
else
|
||||||
|
mkdir_mode=
|
||||||
|
fi
|
||||||
|
|
||||||
|
posix_mkdir=false
|
||||||
|
case $umask in
|
||||||
|
*[123567][0-7][0-7])
|
||||||
|
# POSIX mkdir -p sets u+wx bits regardless of umask, which
|
||||||
|
# is incompatible with FreeBSD 'install' when (umask & 300) != 0.
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
|
||||||
|
trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
|
||||||
|
|
||||||
|
if (umask $mkdir_umask &&
|
||||||
|
exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
|
||||||
|
then
|
||||||
|
if test -z "$dir_arg" || {
|
||||||
|
# Check for POSIX incompatibilities with -m.
|
||||||
|
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
|
||||||
|
# other-writeable bit of parent directory when it shouldn't.
|
||||||
|
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
|
||||||
|
ls_ld_tmpdir=`ls -ld "$tmpdir"`
|
||||||
|
case $ls_ld_tmpdir in
|
||||||
|
d????-?r-*) different_mode=700;;
|
||||||
|
d????-?--*) different_mode=755;;
|
||||||
|
*) false;;
|
||||||
|
esac &&
|
||||||
|
$mkdirprog -m$different_mode -p -- "$tmpdir" && {
|
||||||
|
ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
|
||||||
|
test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
then posix_mkdir=:
|
||||||
|
fi
|
||||||
|
rmdir "$tmpdir/d" "$tmpdir"
|
||||||
|
else
|
||||||
|
# Remove any dirs left behind by ancient mkdir implementations.
|
||||||
|
rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
|
||||||
|
fi
|
||||||
|
trap '' 0;;
|
||||||
|
esac;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if
|
||||||
|
$posix_mkdir && (
|
||||||
|
umask $mkdir_umask &&
|
||||||
|
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
|
||||||
|
)
|
||||||
|
then :
|
||||||
|
else
|
||||||
|
|
||||||
|
# The umask is ridiculous, or mkdir does not conform to POSIX,
|
||||||
|
# or it failed possibly due to a race condition. Create the
|
||||||
|
# directory the slow way, step by step, checking for races as we go.
|
||||||
|
|
||||||
|
case $dstdir in
|
||||||
|
/*) prefix=/ ;;
|
||||||
|
-*) prefix=./ ;;
|
||||||
|
*) prefix= ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
case $posix_glob in
|
||||||
|
'')
|
||||||
|
if (set -f) 2>/dev/null; then
|
||||||
|
posix_glob=true
|
||||||
|
else
|
||||||
|
posix_glob=false
|
||||||
|
fi ;;
|
||||||
|
esac
|
||||||
|
|
||||||
oIFS=$IFS
|
oIFS=$IFS
|
||||||
# Some sh's can't handle IFS=/ for some reason.
|
IFS=/
|
||||||
IFS='%'
|
$posix_glob && set -f
|
||||||
set x `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
|
set fnord $dstdir
|
||||||
shift
|
shift
|
||||||
|
$posix_glob && set +f
|
||||||
IFS=$oIFS
|
IFS=$oIFS
|
||||||
|
|
||||||
pathcomp=
|
prefixes=
|
||||||
|
|
||||||
while test $# -ne 0 ; do
|
for d
|
||||||
pathcomp=$pathcomp$1
|
do
|
||||||
shift
|
test -z "$d" && continue
|
||||||
if test ! -d "$pathcomp"; then
|
|
||||||
$mkdirprog "$pathcomp"
|
prefix=$prefix$d
|
||||||
# mkdir can fail with a `File exist' error in case several
|
if test -d "$prefix"; then
|
||||||
# install-sh are creating the directory concurrently. This
|
prefixes=
|
||||||
# is OK.
|
else
|
||||||
test -d "$pathcomp" || exit
|
if $posix_mkdir; then
|
||||||
|
(umask=$mkdir_umask &&
|
||||||
|
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
|
||||||
|
# Don't fail if two instances are running concurrently.
|
||||||
|
test -d "$prefix" || exit 1
|
||||||
|
else
|
||||||
|
case $prefix in
|
||||||
|
*\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
|
||||||
|
*) qprefix=$prefix;;
|
||||||
|
esac
|
||||||
|
prefixes="$prefixes '$qprefix'"
|
||||||
fi
|
fi
|
||||||
pathcomp=$pathcomp/
|
fi
|
||||||
|
prefix=$prefix/
|
||||||
done
|
done
|
||||||
|
|
||||||
|
if test -n "$prefixes"; then
|
||||||
|
# Don't fail if two instances are running concurrently.
|
||||||
|
(umask $mkdir_umask &&
|
||||||
|
eval "\$doit_exec \$mkdirprog $prefixes") ||
|
||||||
|
test -d "$dstdir" || exit 1
|
||||||
|
obsolete_mkdir_used=true
|
||||||
|
fi
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test -n "$dir_arg"; then
|
if test -n "$dir_arg"; then
|
||||||
$doit $mkdircmd "$dst" \
|
{ test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
|
||||||
&& { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \
|
{ test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
|
||||||
&& { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \
|
{ test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
|
||||||
&& { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \
|
test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
|
||||||
&& { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; }
|
|
||||||
|
|
||||||
else
|
else
|
||||||
dstfile=`basename "$dst"`
|
|
||||||
|
|
||||||
# Make a couple of temp file names in the proper directory.
|
# Make a couple of temp file names in the proper directory.
|
||||||
dsttmp=$dstdir/_inst.$$_
|
dsttmp=$dstdir/_inst.$$_
|
||||||
|
@ -262,10 +449,9 @@ do
|
||||||
|
|
||||||
# Trap to clean up those temp files at exit.
|
# Trap to clean up those temp files at exit.
|
||||||
trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
|
trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
|
||||||
trap '(exit $?); exit' 1 2 13 15
|
|
||||||
|
|
||||||
# Copy the file name to the temp name.
|
# Copy the file name to the temp name.
|
||||||
$doit $cpprog "$src" "$dsttmp" &&
|
(umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
|
||||||
|
|
||||||
# and set any options; do chmod last to preserve setuid bits.
|
# and set any options; do chmod last to preserve setuid bits.
|
||||||
#
|
#
|
||||||
|
@ -276,10 +462,10 @@ do
|
||||||
{ test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \
|
{ test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \
|
||||||
&& { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \
|
&& { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \
|
||||||
&& { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \
|
&& { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \
|
||||||
&& { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } &&
|
&& { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
|
||||||
|
|
||||||
# Now rename the file to the real destination.
|
# Now rename the file to the real destination.
|
||||||
{ $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 2>/dev/null \
|
{ $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null \
|
||||||
|| {
|
|| {
|
||||||
# The rename failed, perhaps because mv can't rename something else
|
# The rename failed, perhaps because mv can't rename something else
|
||||||
# to itself, or perhaps because mv is so ancient that it does not
|
# to itself, or perhaps because mv is so ancient that it does not
|
||||||
|
@ -291,11 +477,12 @@ do
|
||||||
# reasons. In this case, the final cleanup might fail but the new
|
# reasons. In this case, the final cleanup might fail but the new
|
||||||
# file should still install successfully.
|
# file should still install successfully.
|
||||||
{
|
{
|
||||||
if test -f "$dstdir/$dstfile"; then
|
if test -f "$dst"; then
|
||||||
$doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \
|
$doit $rmcmd -f "$dst" 2>/dev/null \
|
||||||
|| $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \
|
|| { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null \
|
||||||
|
&& { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }; }\
|
||||||
|| {
|
|| {
|
||||||
echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2
|
echo "$0: cannot unlink or rename $dst" >&2
|
||||||
(exit 1); exit 1
|
(exit 1); exit 1
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -304,16 +491,13 @@ do
|
||||||
} &&
|
} &&
|
||||||
|
|
||||||
# Now rename the file to the real destination.
|
# Now rename the file to the real destination.
|
||||||
$doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
|
$doit $mvcmd "$dsttmp" "$dst"
|
||||||
}
|
}
|
||||||
}
|
} || exit 1
|
||||||
fi || { (exit 1); exit 1; }
|
|
||||||
done
|
|
||||||
|
|
||||||
# The final little trick to "correctly" pass the exit status to the exit trap.
|
trap '' 0
|
||||||
{
|
fi
|
||||||
(exit 0); exit 0
|
done
|
||||||
}
|
|
||||||
|
|
||||||
# Local variables:
|
# Local variables:
|
||||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# Common stub for a few missing GNU programs while installing.
|
# Common stub for a few missing GNU programs while installing.
|
||||||
|
|
||||||
scriptversion=2005-06-08.21
|
scriptversion=2006-05-10.23
|
||||||
|
|
||||||
# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005
|
# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006
|
||||||
# Free Software Foundation, Inc.
|
# Free Software Foundation, Inc.
|
||||||
# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
|
# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
|
||||||
|
|
||||||
|
@ -33,6 +33,8 @@ if test $# -eq 0; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
run=:
|
run=:
|
||||||
|
sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
|
||||||
|
sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
|
||||||
|
|
||||||
# In the cases where this matters, `missing' is being run in the
|
# In the cases where this matters, `missing' is being run in the
|
||||||
# srcdir already.
|
# srcdir already.
|
||||||
|
@ -44,7 +46,7 @@ fi
|
||||||
|
|
||||||
msg="missing on your system"
|
msg="missing on your system"
|
||||||
|
|
||||||
case "$1" in
|
case $1 in
|
||||||
--run)
|
--run)
|
||||||
# Try to run requested program, and just exit if it succeeds.
|
# Try to run requested program, and just exit if it succeeds.
|
||||||
run=
|
run=
|
||||||
|
@ -77,6 +79,7 @@ Supported PROGRAM values:
|
||||||
aclocal touch file \`aclocal.m4'
|
aclocal touch file \`aclocal.m4'
|
||||||
autoconf touch file \`configure'
|
autoconf touch file \`configure'
|
||||||
autoheader touch file \`config.h.in'
|
autoheader touch file \`config.h.in'
|
||||||
|
autom4te touch the output file, or create a stub one
|
||||||
automake touch all \`Makefile.in' files
|
automake touch all \`Makefile.in' files
|
||||||
bison create \`y.tab.[ch]', if possible, from existing .[ch]
|
bison create \`y.tab.[ch]', if possible, from existing .[ch]
|
||||||
flex create \`lex.yy.c', if possible, from existing .c
|
flex create \`lex.yy.c', if possible, from existing .c
|
||||||
|
@ -106,7 +109,7 @@ esac
|
||||||
# Now exit if we have it, but it failed. Also exit now if we
|
# Now exit if we have it, but it failed. Also exit now if we
|
||||||
# don't have it and --version was passed (most likely to detect
|
# don't have it and --version was passed (most likely to detect
|
||||||
# the program).
|
# the program).
|
||||||
case "$1" in
|
case $1 in
|
||||||
lex|yacc)
|
lex|yacc)
|
||||||
# Not GNU programs, they don't have --version.
|
# Not GNU programs, they don't have --version.
|
||||||
;;
|
;;
|
||||||
|
@ -135,7 +138,7 @@ esac
|
||||||
|
|
||||||
# If it does not exist, or fails to run (possibly an outdated version),
|
# If it does not exist, or fails to run (possibly an outdated version),
|
||||||
# try to emulate it.
|
# try to emulate it.
|
||||||
case "$1" in
|
case $1 in
|
||||||
aclocal*)
|
aclocal*)
|
||||||
echo 1>&2 "\
|
echo 1>&2 "\
|
||||||
WARNING: \`$1' is $msg. You should only need it if
|
WARNING: \`$1' is $msg. You should only need it if
|
||||||
|
@ -164,7 +167,7 @@ WARNING: \`$1' is $msg. You should only need it if
|
||||||
test -z "$files" && files="config.h"
|
test -z "$files" && files="config.h"
|
||||||
touch_files=
|
touch_files=
|
||||||
for f in $files; do
|
for f in $files; do
|
||||||
case "$f" in
|
case $f in
|
||||||
*:*) touch_files="$touch_files "`echo "$f" |
|
*:*) touch_files="$touch_files "`echo "$f" |
|
||||||
sed -e 's/^[^:]*://' -e 's/:.*//'`;;
|
sed -e 's/^[^:]*://' -e 's/:.*//'`;;
|
||||||
*) touch_files="$touch_files $f.in";;
|
*) touch_files="$touch_files $f.in";;
|
||||||
|
@ -192,8 +195,8 @@ WARNING: \`$1' is needed, but is $msg.
|
||||||
You can get \`$1' as part of \`Autoconf' from any GNU
|
You can get \`$1' as part of \`Autoconf' from any GNU
|
||||||
archive site."
|
archive site."
|
||||||
|
|
||||||
file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'`
|
file=`echo "$*" | sed -n "$sed_output"`
|
||||||
test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'`
|
test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
|
||||||
if test -f "$file"; then
|
if test -f "$file"; then
|
||||||
touch $file
|
touch $file
|
||||||
else
|
else
|
||||||
|
@ -214,25 +217,25 @@ WARNING: \`$1' $msg. You should only need it if
|
||||||
in order for those modifications to take effect. You can get
|
in order for those modifications to take effect. You can get
|
||||||
\`Bison' from any GNU archive site."
|
\`Bison' from any GNU archive site."
|
||||||
rm -f y.tab.c y.tab.h
|
rm -f y.tab.c y.tab.h
|
||||||
if [ $# -ne 1 ]; then
|
if test $# -ne 1; then
|
||||||
eval LASTARG="\${$#}"
|
eval LASTARG="\${$#}"
|
||||||
case "$LASTARG" in
|
case $LASTARG in
|
||||||
*.y)
|
*.y)
|
||||||
SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
|
SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
|
||||||
if [ -f "$SRCFILE" ]; then
|
if test -f "$SRCFILE"; then
|
||||||
cp "$SRCFILE" y.tab.c
|
cp "$SRCFILE" y.tab.c
|
||||||
fi
|
fi
|
||||||
SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
|
SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
|
||||||
if [ -f "$SRCFILE" ]; then
|
if test -f "$SRCFILE"; then
|
||||||
cp "$SRCFILE" y.tab.h
|
cp "$SRCFILE" y.tab.h
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
fi
|
fi
|
||||||
if [ ! -f y.tab.h ]; then
|
if test ! -f y.tab.h; then
|
||||||
echo >y.tab.h
|
echo >y.tab.h
|
||||||
fi
|
fi
|
||||||
if [ ! -f y.tab.c ]; then
|
if test ! -f y.tab.c; then
|
||||||
echo 'main() { return 0; }' >y.tab.c
|
echo 'main() { return 0; }' >y.tab.c
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
@ -244,18 +247,18 @@ WARNING: \`$1' is $msg. You should only need it if
|
||||||
in order for those modifications to take effect. You can get
|
in order for those modifications to take effect. You can get
|
||||||
\`Flex' from any GNU archive site."
|
\`Flex' from any GNU archive site."
|
||||||
rm -f lex.yy.c
|
rm -f lex.yy.c
|
||||||
if [ $# -ne 1 ]; then
|
if test $# -ne 1; then
|
||||||
eval LASTARG="\${$#}"
|
eval LASTARG="\${$#}"
|
||||||
case "$LASTARG" in
|
case $LASTARG in
|
||||||
*.l)
|
*.l)
|
||||||
SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
|
SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
|
||||||
if [ -f "$SRCFILE" ]; then
|
if test -f "$SRCFILE"; then
|
||||||
cp "$SRCFILE" lex.yy.c
|
cp "$SRCFILE" lex.yy.c
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
fi
|
fi
|
||||||
if [ ! -f lex.yy.c ]; then
|
if test ! -f lex.yy.c; then
|
||||||
echo 'main() { return 0; }' >lex.yy.c
|
echo 'main() { return 0; }' >lex.yy.c
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
@ -267,11 +270,9 @@ WARNING: \`$1' is $msg. You should only need it if
|
||||||
\`Help2man' package in order for those modifications to take
|
\`Help2man' package in order for those modifications to take
|
||||||
effect. You can get \`Help2man' from any GNU archive site."
|
effect. You can get \`Help2man' from any GNU archive site."
|
||||||
|
|
||||||
file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
|
file=`echo "$*" | sed -n "$sed_output"`
|
||||||
if test -z "$file"; then
|
test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
|
||||||
file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
|
if test -f "$file"; then
|
||||||
fi
|
|
||||||
if [ -f "$file" ]; then
|
|
||||||
touch $file
|
touch $file
|
||||||
else
|
else
|
||||||
test -z "$file" || exec >$file
|
test -z "$file" || exec >$file
|
||||||
|
@ -289,11 +290,17 @@ WARNING: \`$1' is $msg. You should only need it if
|
||||||
DU, IRIX). You might want to install the \`Texinfo' package or
|
DU, IRIX). You might want to install the \`Texinfo' package or
|
||||||
the \`GNU make' package. Grab either from any GNU archive site."
|
the \`GNU make' package. Grab either from any GNU archive site."
|
||||||
# The file to touch is that specified with -o ...
|
# The file to touch is that specified with -o ...
|
||||||
file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
|
file=`echo "$*" | sed -n "$sed_output"`
|
||||||
|
test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
|
||||||
if test -z "$file"; then
|
if test -z "$file"; then
|
||||||
# ... or it is the one specified with @setfilename ...
|
# ... or it is the one specified with @setfilename ...
|
||||||
infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
|
infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
|
||||||
file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $infile`
|
file=`sed -n '
|
||||||
|
/^@setfilename/{
|
||||||
|
s/.* \([^ ]*\) *$/\1/
|
||||||
|
p
|
||||||
|
q
|
||||||
|
}' $infile`
|
||||||
# ... or it is derived from the source name (dir/f.texi becomes f.info)
|
# ... or it is derived from the source name (dir/f.texi becomes f.info)
|
||||||
test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
|
test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
|
||||||
fi
|
fi
|
||||||
|
@ -317,13 +324,13 @@ WARNING: \`$1' is $msg. You should only need it if
|
||||||
fi
|
fi
|
||||||
firstarg="$1"
|
firstarg="$1"
|
||||||
if shift; then
|
if shift; then
|
||||||
case "$firstarg" in
|
case $firstarg in
|
||||||
*o*)
|
*o*)
|
||||||
firstarg=`echo "$firstarg" | sed s/o//`
|
firstarg=`echo "$firstarg" | sed s/o//`
|
||||||
tar "$firstarg" "$@" && exit 0
|
tar "$firstarg" "$@" && exit 0
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
case "$firstarg" in
|
case $firstarg in
|
||||||
*h*)
|
*h*)
|
||||||
firstarg=`echo "$firstarg" | sed s/h//`
|
firstarg=`echo "$firstarg" | sed s/h//`
|
||||||
tar "$firstarg" "$@" && exit 0
|
tar "$firstarg" "$@" && exit 0
|
||||||
|
|
|
@ -63,13 +63,15 @@ class MinidumpProcessor {
|
||||||
|
|
||||||
// Populates the cpu_* fields of the |info| parameter with textual
|
// Populates the cpu_* fields of the |info| parameter with textual
|
||||||
// representations of the CPU type that the minidump in |dump| was
|
// representations of the CPU type that the minidump in |dump| was
|
||||||
// produced on.
|
// produced on. Returns false if this information is not available in
|
||||||
static void GetCPUInfo(Minidump *dump, SystemInfo *info);
|
// the minidump.
|
||||||
|
static bool GetCPUInfo(Minidump *dump, SystemInfo *info);
|
||||||
|
|
||||||
// Populates the os_* fields of the |info| parameter with textual
|
// Populates the os_* fields of the |info| parameter with textual
|
||||||
// representations of the operating system that the minidump in |dump|
|
// representations of the operating system that the minidump in |dump|
|
||||||
// was produced on.
|
// was produced on. Returns false if this information is not available in
|
||||||
static void GetOSInfo(Minidump *dump, SystemInfo *info);
|
// the minidump.
|
||||||
|
static bool GetOSInfo(Minidump *dump, SystemInfo *info);
|
||||||
|
|
||||||
// Returns a textual representation of the reason that a crash occurred,
|
// Returns a textual representation of the reason that a crash occurred,
|
||||||
// if the minidump in dump was produced as a result of a crash. Returns
|
// if the minidump in dump was produced as a result of a crash. Returns
|
||||||
|
|
104
src/processor/logging.cc
Normal file
104
src/processor/logging.cc
Normal file
|
@ -0,0 +1,104 @@
|
||||||
|
// Copyright (c) 2007, Google Inc.
|
||||||
|
// All rights reserved.
|
||||||
|
//
|
||||||
|
// Redistribution and use in source and binary forms, with or without
|
||||||
|
// modification, are permitted provided that the following conditions are
|
||||||
|
// met:
|
||||||
|
//
|
||||||
|
// * Redistributions of source code must retain the above copyright
|
||||||
|
// notice, this list of conditions and the following disclaimer.
|
||||||
|
// * Redistributions in binary form must reproduce the above
|
||||||
|
// copyright notice, this list of conditions and the following disclaimer
|
||||||
|
// in the documentation and/or other materials provided with the
|
||||||
|
// distribution.
|
||||||
|
// * Neither the name of Google Inc. nor the names of its
|
||||||
|
// contributors may be used to endorse or promote products derived from
|
||||||
|
// this software without specific prior written permission.
|
||||||
|
//
|
||||||
|
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
// logging.cc: Breakpad logging
|
||||||
|
//
|
||||||
|
// See logging.h for documentation.
|
||||||
|
//
|
||||||
|
// Author: Mark Mentovai
|
||||||
|
|
||||||
|
#include <assert.h>
|
||||||
|
#include <errno.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <time.h>
|
||||||
|
|
||||||
|
#include "processor/logging.h"
|
||||||
|
#include "processor/pathname_stripper.h"
|
||||||
|
|
||||||
|
namespace google_breakpad {
|
||||||
|
|
||||||
|
LogStream::LogStream(std::ostream &stream, Severity severity,
|
||||||
|
const char *file, int line)
|
||||||
|
: stream_(stream) {
|
||||||
|
time_t clock;
|
||||||
|
time(&clock);
|
||||||
|
struct tm tm_struct;
|
||||||
|
localtime_r(&clock, &tm_struct);
|
||||||
|
char time_string[20];
|
||||||
|
strftime(time_string, sizeof(time_string), "%Y-%m-%d %H:%M:%S", &tm_struct);
|
||||||
|
|
||||||
|
const char *severity_string = "UNKNOWN_SEVERITY";
|
||||||
|
switch (severity) {
|
||||||
|
case SEVERITY_INFO:
|
||||||
|
severity_string = "INFO";
|
||||||
|
break;
|
||||||
|
case SEVERITY_ERROR:
|
||||||
|
severity_string = "ERROR";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
stream_ << time_string << ": " << PathnameStripper::File(file) << ":" <<
|
||||||
|
line << ": " << severity_string << ": ";
|
||||||
|
}
|
||||||
|
|
||||||
|
LogStream::~LogStream() {
|
||||||
|
stream_ << std::endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string HexString(u_int32_t number) {
|
||||||
|
char buffer[11];
|
||||||
|
snprintf(buffer, sizeof(buffer), "0x%x", number);
|
||||||
|
return std::string(buffer);
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string HexString(u_int64_t number) {
|
||||||
|
char buffer[19];
|
||||||
|
snprintf(buffer, sizeof(buffer), "0x%llx", number);
|
||||||
|
return std::string(buffer);
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string HexString(int number) {
|
||||||
|
char buffer[19];
|
||||||
|
snprintf(buffer, sizeof(buffer), "0x%x", number);
|
||||||
|
return std::string(buffer);
|
||||||
|
}
|
||||||
|
|
||||||
|
int ErrnoString(std::string *error_string) {
|
||||||
|
assert(error_string);
|
||||||
|
|
||||||
|
// strerror isn't necessarily thread-safe. strerror_r would be preferrable,
|
||||||
|
// but GNU libc uses a nonstandard strerror_r by default, which returns a
|
||||||
|
// char* (rather than an int success indicator) and doesn't necessarily
|
||||||
|
// use the supplied buffer.
|
||||||
|
error_string->assign(strerror(errno));
|
||||||
|
return errno;
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace google_breakpad
|
140
src/processor/logging.h
Normal file
140
src/processor/logging.h
Normal file
|
@ -0,0 +1,140 @@
|
||||||
|
// Copyright (c) 2007, Google Inc.
|
||||||
|
// All rights reserved.
|
||||||
|
//
|
||||||
|
// Redistribution and use in source and binary forms, with or without
|
||||||
|
// modification, are permitted provided that the following conditions are
|
||||||
|
// met:
|
||||||
|
//
|
||||||
|
// * Redistributions of source code must retain the above copyright
|
||||||
|
// notice, this list of conditions and the following disclaimer.
|
||||||
|
// * Redistributions in binary form must reproduce the above
|
||||||
|
// copyright notice, this list of conditions and the following disclaimer
|
||||||
|
// in the documentation and/or other materials provided with the
|
||||||
|
// distribution.
|
||||||
|
// * Neither the name of Google Inc. nor the names of its
|
||||||
|
// contributors may be used to endorse or promote products derived from
|
||||||
|
// this software without specific prior written permission.
|
||||||
|
//
|
||||||
|
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
// logging.h: Breakpad logging
|
||||||
|
//
|
||||||
|
// Breakpad itself uses Breakpad logging with statements of the form:
|
||||||
|
// BPLOG(severity) << "message";
|
||||||
|
// severity may be INFO, ERROR, or other values defined in this file.
|
||||||
|
//
|
||||||
|
// BPLOG is an overridable macro so that users can customize Breakpad's
|
||||||
|
// logging. Left at the default, logging messages are sent to stderr along
|
||||||
|
// with a timestamp and the source code location that produced a message.
|
||||||
|
// The streams may be changed by redefining BPLOG_*_STREAM, the logging
|
||||||
|
// behavior may be changed by redefining BPLOG_*, and the entire logging
|
||||||
|
// system may be overridden by redefining BPLOG(severity). These
|
||||||
|
// redefinitions may be passed to the preprocessor as a command-line flag
|
||||||
|
// (-D).
|
||||||
|
//
|
||||||
|
// If an additional header is required to override Breakpad logging, it can
|
||||||
|
// be specified by the BP_LOGGING_INCLUDE macro. If defined, this header
|
||||||
|
// will #include the header specified by that macro.
|
||||||
|
//
|
||||||
|
// Author: Mark Mentovai
|
||||||
|
|
||||||
|
#ifndef PROCESSOR_LOGGING_H__
|
||||||
|
#define PROCESSOR_LOGGING_H__
|
||||||
|
|
||||||
|
#include <iostream>
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
#include "google_breakpad/common/breakpad_types.h"
|
||||||
|
|
||||||
|
#ifdef BP_LOGGING_INCLUDE
|
||||||
|
#include BP_LOGGING_INCLUDE
|
||||||
|
#endif // BP_LOGGING_INCLUDE
|
||||||
|
|
||||||
|
namespace google_breakpad {
|
||||||
|
|
||||||
|
class LogStream {
|
||||||
|
public:
|
||||||
|
enum Severity {
|
||||||
|
SEVERITY_INFO,
|
||||||
|
SEVERITY_ERROR,
|
||||||
|
};
|
||||||
|
|
||||||
|
// Begin logging a message to the stream identified by |stream|, at the
|
||||||
|
// indicated severity. The file and line parameters should be set so as to
|
||||||
|
// identify the line of source code that is producing a message.
|
||||||
|
LogStream(std::ostream &stream, Severity severity,
|
||||||
|
const char *file, int line);
|
||||||
|
|
||||||
|
// Finish logging by printing a newline and flushing the output stream.
|
||||||
|
~LogStream();
|
||||||
|
|
||||||
|
template<typename T> std::ostream& operator<<(const T &t) {
|
||||||
|
return stream_ << t;
|
||||||
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
std::ostream &stream_;
|
||||||
|
|
||||||
|
// Disallow copy constructor and assignment operator
|
||||||
|
explicit LogStream(const LogStream &that);
|
||||||
|
void operator=(const LogStream &that);
|
||||||
|
};
|
||||||
|
|
||||||
|
// This class is used to explicitly ignore values in the conditional logging
|
||||||
|
// macros. This avoids compiler warnings like "value computed is not used"
|
||||||
|
// and "statement has no effect".
|
||||||
|
class LogMessageVoidify {
|
||||||
|
public:
|
||||||
|
LogMessageVoidify() {}
|
||||||
|
|
||||||
|
// This has to be an operator with a precedence lower than << but higher
|
||||||
|
// than ?:
|
||||||
|
void operator&(std::ostream &) {}
|
||||||
|
};
|
||||||
|
|
||||||
|
// Returns number formatted as a hexadecimal string, such as "0x7b".
|
||||||
|
std::string HexString(u_int32_t number);
|
||||||
|
std::string HexString(u_int64_t number);
|
||||||
|
std::string HexString(int number);
|
||||||
|
|
||||||
|
// Returns the error code as set in the global errno variable, and sets
|
||||||
|
// error_string, a required argument, to a string describing that error
|
||||||
|
// code.
|
||||||
|
int ErrnoString(std::string *error_string);
|
||||||
|
|
||||||
|
} // namespace google_breakpad
|
||||||
|
|
||||||
|
#ifndef BPLOG
|
||||||
|
#define BPLOG(severity) BPLOG_ ## severity
|
||||||
|
#endif // BPLOG
|
||||||
|
|
||||||
|
#ifndef BPLOG_INFO
|
||||||
|
#ifndef BPLOG_INFO_STREAM
|
||||||
|
#define BPLOG_INFO_STREAM std::clog
|
||||||
|
#endif // BPLOG_INFO_STREAM
|
||||||
|
#define BPLOG_INFO LogStream(BPLOG_INFO_STREAM, LogStream::SEVERITY_INFO, \
|
||||||
|
__FILE__, __LINE__)
|
||||||
|
#endif // BPLOG_INFO
|
||||||
|
|
||||||
|
#ifndef BPLOG_ERROR
|
||||||
|
#ifndef BPLOG_ERROR_STREAM
|
||||||
|
#define BPLOG_ERROR_STREAM std::cerr
|
||||||
|
#endif // BPLOG_ERROR_STREAM
|
||||||
|
#define BPLOG_ERROR LogStream(BPLOG_ERROR_STREAM, LogStream::SEVERITY_ERROR, \
|
||||||
|
__FILE__, __LINE__)
|
||||||
|
#endif // BPLOG_ERROR
|
||||||
|
|
||||||
|
#define BPLOG_IF(severity, condition) \
|
||||||
|
!(condition) ? (void) 0 : LogMessageVoidify() & BPLOG(severity)
|
||||||
|
|
||||||
|
#endif // PROCESSOR_LOGGING_H__
|
File diff suppressed because it is too large
Load diff
|
@ -33,6 +33,7 @@
|
||||||
#include "google_breakpad/processor/call_stack.h"
|
#include "google_breakpad/processor/call_stack.h"
|
||||||
#include "google_breakpad/processor/minidump.h"
|
#include "google_breakpad/processor/minidump.h"
|
||||||
#include "google_breakpad/processor/process_state.h"
|
#include "google_breakpad/processor/process_state.h"
|
||||||
|
#include "processor/logging.h"
|
||||||
#include "processor/scoped_ptr.h"
|
#include "processor/scoped_ptr.h"
|
||||||
#include "processor/stackwalker_x86.h"
|
#include "processor/stackwalker_x86.h"
|
||||||
|
|
||||||
|
@ -48,19 +49,23 @@ MinidumpProcessor::~MinidumpProcessor() {
|
||||||
|
|
||||||
MinidumpProcessor::ProcessResult MinidumpProcessor::Process(
|
MinidumpProcessor::ProcessResult MinidumpProcessor::Process(
|
||||||
const string &minidump_file, ProcessState *process_state) {
|
const string &minidump_file, ProcessState *process_state) {
|
||||||
|
BPLOG(INFO) << "Processing minidump in file " << minidump_file;
|
||||||
|
|
||||||
Minidump dump(minidump_file);
|
Minidump dump(minidump_file);
|
||||||
if (!dump.Read()) {
|
if (!dump.Read()) {
|
||||||
|
BPLOG(ERROR) << "Minidump " << minidump_file << " could not be read";
|
||||||
return PROCESS_ERROR;
|
return PROCESS_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
process_state->Clear();
|
process_state->Clear();
|
||||||
|
|
||||||
const MDRawHeader *header = dump.header();
|
const MDRawHeader *header = dump.header();
|
||||||
|
BPLOG_IF(ERROR, !header) << "Minidump " << minidump_file << " has no header";
|
||||||
assert(header);
|
assert(header);
|
||||||
process_state->time_date_stamp_ = header->time_date_stamp;
|
process_state->time_date_stamp_ = header->time_date_stamp;
|
||||||
|
|
||||||
GetCPUInfo(&dump, &process_state->system_info_);
|
bool has_cpu_info = GetCPUInfo(&dump, &process_state->system_info_);
|
||||||
GetOSInfo(&dump, &process_state->system_info_);
|
bool has_os_info = GetOSInfo(&dump, &process_state->system_info_);
|
||||||
|
|
||||||
u_int32_t dump_thread_id = 0;
|
u_int32_t dump_thread_id = 0;
|
||||||
bool has_dump_thread = false;
|
bool has_dump_thread = false;
|
||||||
|
@ -93,24 +98,45 @@ MinidumpProcessor::ProcessResult MinidumpProcessor::Process(
|
||||||
|
|
||||||
MinidumpThreadList *threads = dump.GetThreadList();
|
MinidumpThreadList *threads = dump.GetThreadList();
|
||||||
if (!threads) {
|
if (!threads) {
|
||||||
|
BPLOG(ERROR) << "Minidump " << minidump_file << " has no thread list";
|
||||||
return PROCESS_ERROR;
|
return PROCESS_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BPLOG(INFO) << "Minidump " << minidump_file << " has " <<
|
||||||
|
(has_cpu_info ? "" : "no ") << "CPU info, " <<
|
||||||
|
(has_os_info ? "" : "no ") << "OS info, " <<
|
||||||
|
(breakpad_info != NULL ? "" : "no ") << "Breakpad info, " <<
|
||||||
|
(exception != NULL ? "" : "no ") << "exception, " <<
|
||||||
|
(module_list != NULL ? "" : "no ") << "module list, " <<
|
||||||
|
(threads != NULL ? "" : "no ") << "thread list, " <<
|
||||||
|
(has_dump_thread ? "" : "no ") << "dump thread, and " <<
|
||||||
|
(has_requesting_thread ? "" : "no ") << "requesting thread";
|
||||||
|
|
||||||
bool found_requesting_thread = false;
|
bool found_requesting_thread = false;
|
||||||
unsigned int thread_count = threads->thread_count();
|
unsigned int thread_count = threads->thread_count();
|
||||||
for (unsigned int thread_index = 0;
|
for (unsigned int thread_index = 0;
|
||||||
thread_index < thread_count;
|
thread_index < thread_count;
|
||||||
++thread_index) {
|
++thread_index) {
|
||||||
|
char thread_string_buffer[64];
|
||||||
|
snprintf(thread_string_buffer, sizeof(thread_string_buffer), "%d/%d",
|
||||||
|
thread_index, thread_count);
|
||||||
|
string thread_string = minidump_file + ":" + thread_string_buffer;
|
||||||
|
|
||||||
MinidumpThread *thread = threads->GetThreadAtIndex(thread_index);
|
MinidumpThread *thread = threads->GetThreadAtIndex(thread_index);
|
||||||
if (!thread) {
|
if (!thread) {
|
||||||
|
BPLOG(ERROR) << "Could not get thread for " << thread_string;
|
||||||
return PROCESS_ERROR;
|
return PROCESS_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
u_int32_t thread_id;
|
u_int32_t thread_id;
|
||||||
if (!thread->GetThreadID(&thread_id)) {
|
if (!thread->GetThreadID(&thread_id)) {
|
||||||
|
BPLOG(ERROR) << "Could not get thread ID for " << thread_string;
|
||||||
return PROCESS_ERROR;
|
return PROCESS_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
thread_string += " id " + HexString(thread_id);
|
||||||
|
BPLOG(INFO) << "Looking at thread " << thread_string;
|
||||||
|
|
||||||
// If this thread is the thread that produced the minidump, don't process
|
// If this thread is the thread that produced the minidump, don't process
|
||||||
// it. Because of the problems associated with a thread producing a
|
// it. Because of the problems associated with a thread producing a
|
||||||
// dump of itself (when both its context and its stack are in flux),
|
// dump of itself (when both its context and its stack are in flux),
|
||||||
|
@ -124,6 +150,7 @@ MinidumpProcessor::ProcessResult MinidumpProcessor::Process(
|
||||||
if (has_requesting_thread && thread_id == requesting_thread_id) {
|
if (has_requesting_thread && thread_id == requesting_thread_id) {
|
||||||
if (found_requesting_thread) {
|
if (found_requesting_thread) {
|
||||||
// There can't be more than one requesting thread.
|
// There can't be more than one requesting thread.
|
||||||
|
BPLOG(ERROR) << "Duplicate requesting thread: " << thread_string;
|
||||||
return PROCESS_ERROR;
|
return PROCESS_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -150,6 +177,7 @@ MinidumpProcessor::ProcessResult MinidumpProcessor::Process(
|
||||||
|
|
||||||
MinidumpMemoryRegion *thread_memory = thread->GetMemory();
|
MinidumpMemoryRegion *thread_memory = thread->GetMemory();
|
||||||
if (!thread_memory) {
|
if (!thread_memory) {
|
||||||
|
BPLOG(ERROR) << "No memory region for " << thread_string;
|
||||||
return PROCESS_ERROR;
|
return PROCESS_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -169,11 +197,14 @@ MinidumpProcessor::ProcessResult MinidumpProcessor::Process(
|
||||||
supplier_,
|
supplier_,
|
||||||
resolver_));
|
resolver_));
|
||||||
if (!stackwalker.get()) {
|
if (!stackwalker.get()) {
|
||||||
|
BPLOG(ERROR) << "No stackwalker for " << thread_string;
|
||||||
return PROCESS_ERROR;
|
return PROCESS_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
scoped_ptr<CallStack> stack(new CallStack());
|
scoped_ptr<CallStack> stack(new CallStack());
|
||||||
if (!stackwalker->Walk(stack.get())) {
|
if (!stackwalker->Walk(stack.get())) {
|
||||||
|
BPLOG(INFO) << "Processing interrupted by stackwalker (missing " <<
|
||||||
|
"symbols?) at " << thread_string;
|
||||||
return PROCESS_INTERRUPTED;
|
return PROCESS_INTERRUPTED;
|
||||||
}
|
}
|
||||||
process_state->threads_.push_back(stack.release());
|
process_state->threads_.push_back(stack.release());
|
||||||
|
@ -182,9 +213,13 @@ MinidumpProcessor::ProcessResult MinidumpProcessor::Process(
|
||||||
// If a requesting thread was indicated, it must be present.
|
// If a requesting thread was indicated, it must be present.
|
||||||
if (has_requesting_thread && !found_requesting_thread) {
|
if (has_requesting_thread && !found_requesting_thread) {
|
||||||
// Don't mark as an error, but invalidate the requesting thread
|
// Don't mark as an error, but invalidate the requesting thread
|
||||||
|
BPLOG(ERROR) << "Minidump indicated requesting thread " <<
|
||||||
|
HexString(requesting_thread_id) << ", not found in " <<
|
||||||
|
minidump_file;
|
||||||
process_state->requesting_thread_ = -1;
|
process_state->requesting_thread_ = -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BPLOG(INFO) << "Processed " << minidump_file;
|
||||||
return PROCESS_OK;
|
return PROCESS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -204,7 +239,7 @@ static const MDRawSystemInfo* GetSystemInfo(Minidump *dump,
|
||||||
}
|
}
|
||||||
|
|
||||||
// static
|
// static
|
||||||
void MinidumpProcessor::GetCPUInfo(Minidump *dump, SystemInfo *info) {
|
bool MinidumpProcessor::GetCPUInfo(Minidump *dump, SystemInfo *info) {
|
||||||
assert(dump);
|
assert(dump);
|
||||||
assert(info);
|
assert(info);
|
||||||
|
|
||||||
|
@ -214,7 +249,7 @@ void MinidumpProcessor::GetCPUInfo(Minidump *dump, SystemInfo *info) {
|
||||||
MinidumpSystemInfo *system_info;
|
MinidumpSystemInfo *system_info;
|
||||||
const MDRawSystemInfo *raw_system_info = GetSystemInfo(dump, &system_info);
|
const MDRawSystemInfo *raw_system_info = GetSystemInfo(dump, &system_info);
|
||||||
if (!raw_system_info)
|
if (!raw_system_info)
|
||||||
return;
|
return false;
|
||||||
|
|
||||||
switch (raw_system_info->processor_architecture) {
|
switch (raw_system_info->processor_architecture) {
|
||||||
case MD_CPU_ARCHITECTURE_X86: {
|
case MD_CPU_ARCHITECTURE_X86: {
|
||||||
|
@ -248,10 +283,12 @@ void MinidumpProcessor::GetCPUInfo(Minidump *dump, SystemInfo *info) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// static
|
// static
|
||||||
void MinidumpProcessor::GetOSInfo(Minidump *dump, SystemInfo *info) {
|
bool MinidumpProcessor::GetOSInfo(Minidump *dump, SystemInfo *info) {
|
||||||
assert(dump);
|
assert(dump);
|
||||||
assert(info);
|
assert(info);
|
||||||
|
|
||||||
|
@ -262,7 +299,7 @@ void MinidumpProcessor::GetOSInfo(Minidump *dump, SystemInfo *info) {
|
||||||
MinidumpSystemInfo *system_info;
|
MinidumpSystemInfo *system_info;
|
||||||
const MDRawSystemInfo *raw_system_info = GetSystemInfo(dump, &system_info);
|
const MDRawSystemInfo *raw_system_info = GetSystemInfo(dump, &system_info);
|
||||||
if (!raw_system_info)
|
if (!raw_system_info)
|
||||||
return;
|
return false;
|
||||||
|
|
||||||
info->os_short = system_info->GetOS();
|
info->os_short = system_info->GetOS();
|
||||||
|
|
||||||
|
@ -309,6 +346,8 @@ void MinidumpProcessor::GetOSInfo(Minidump *dump, SystemInfo *info) {
|
||||||
info->os_version.append(" ");
|
info->os_version.append(" ");
|
||||||
info->os_version.append(*csd_version);
|
info->os_version.append(*csd_version);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// static
|
// static
|
||||||
|
@ -375,6 +414,7 @@ string MinidumpProcessor::GetCrashReason(Minidump *dump, u_int64_t *address) {
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
reason.append(flags_string);
|
reason.append(flags_string);
|
||||||
|
BPLOG(INFO) << "Unknown exception reason " << reason;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -403,6 +443,7 @@ string MinidumpProcessor::GetCrashReason(Minidump *dump, u_int64_t *address) {
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
reason.append(flags_string);
|
reason.append(flags_string);
|
||||||
|
BPLOG(INFO) << "Unknown exception reason " << reason;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -429,12 +470,14 @@ string MinidumpProcessor::GetCrashReason(Minidump *dump, u_int64_t *address) {
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
reason.append(flags_string);
|
reason.append(flags_string);
|
||||||
|
BPLOG(INFO) << "Unknown exception reason " << reason;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
reason.append(flags_string);
|
reason.append(flags_string);
|
||||||
|
BPLOG(INFO) << "Unknown exception reason " << reason;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -471,6 +514,7 @@ string MinidumpProcessor::GetCrashReason(Minidump *dump, u_int64_t *address) {
|
||||||
reason.append("EXC_PPC_ALTIVECASSIST");
|
reason.append("EXC_PPC_ALTIVECASSIST");
|
||||||
default:
|
default:
|
||||||
reason.append(flags_string);
|
reason.append(flags_string);
|
||||||
|
BPLOG(INFO) << "Unknown exception reason " << reason;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -503,12 +547,14 @@ string MinidumpProcessor::GetCrashReason(Minidump *dump, u_int64_t *address) {
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
reason.append(flags_string);
|
reason.append(flags_string);
|
||||||
|
BPLOG(INFO) << "Unknown exception reason " << reason;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
reason.append(flags_string);
|
reason.append(flags_string);
|
||||||
|
BPLOG(INFO) << "Unknown exception reason " << reason;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -529,6 +575,7 @@ string MinidumpProcessor::GetCrashReason(Minidump *dump, u_int64_t *address) {
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
reason.append(flags_string);
|
reason.append(flags_string);
|
||||||
|
BPLOG(INFO) << "Unknown exception reason " << reason;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -542,6 +589,7 @@ string MinidumpProcessor::GetCrashReason(Minidump *dump, u_int64_t *address) {
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
reason.append(flags_string);
|
reason.append(flags_string);
|
||||||
|
BPLOG(INFO) << "Unknown exception reason " << reason;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -556,12 +604,14 @@ string MinidumpProcessor::GetCrashReason(Minidump *dump, u_int64_t *address) {
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
reason.append(flags_string);
|
reason.append(flags_string);
|
||||||
|
BPLOG(INFO) << "Unknown exception reason " << reason;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
reason.append(flags_string);
|
reason.append(flags_string);
|
||||||
|
BPLOG(INFO) << "Unknown exception reason " << reason;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -668,7 +718,16 @@ string MinidumpProcessor::GetCrashReason(Minidump *dump, u_int64_t *address) {
|
||||||
case MD_EXCEPTION_CODE_WIN_POSSIBLE_DEADLOCK:
|
case MD_EXCEPTION_CODE_WIN_POSSIBLE_DEADLOCK:
|
||||||
reason = "EXCEPTION_POSSIBLE_DEADLOCK";
|
reason = "EXCEPTION_POSSIBLE_DEADLOCK";
|
||||||
break;
|
break;
|
||||||
|
default:
|
||||||
|
BPLOG(INFO) << "Unknown exception reason " << reason;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
default: {
|
||||||
|
BPLOG(INFO) << "Unknown exception reason " << reason;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue