# HG changeset patch # User Ted Mielczarek # Date 1360255133 18000 # Node ID d23a69a6c34a1f1c21e241f37b388c8689f2386b # Parent c3b1109dd392c16a9fe4e85da693010966dbbf0b Change the representation of CFI rules to avoid postfix expressions in most cases Patch by Julian Seward R=ted diff --git a/Makefile.am b/Makefile.am --- a/Makefile.am +++ b/Makefile.am @@ -133,16 +133,17 @@ src/google_breakpad/processor/source_line_resolver_base.h \ src/google_breakpad/processor/source_line_resolver_interface.h \ src/google_breakpad/processor/stack_frame.h \ src/google_breakpad/processor/stack_frame_cpu.h \ src/google_breakpad/processor/stack_frame_symbolizer.h \ src/google_breakpad/processor/stackwalker.h \ src/google_breakpad/processor/symbol_supplier.h \ src/google_breakpad/processor/system_info.h \ + src/common/module.cc \ src/processor/address_map-inl.h \ src/processor/address_map.h \ src/processor/basic_code_module.h \ src/processor/basic_code_modules.cc \ src/processor/basic_code_modules.h \ src/processor/basic_source_line_resolver_types.h \ src/processor/basic_source_line_resolver.cc \ src/processor/binarystream.h \ @@ -555,30 +556,32 @@ src/testing/src/gmock-all.cc src_processor_basic_source_line_resolver_unittest_CPPFLAGS = \ -I$(top_srcdir)/src \ -I$(top_srcdir)/src/testing/include \ -I$(top_srcdir)/src/testing/gtest/include \ -I$(top_srcdir)/src/testing/gtest \ -I$(top_srcdir)/src/testing src_processor_basic_source_line_resolver_unittest_LDADD = \ + src/common/module.o \ src/processor/basic_source_line_resolver.o \ src/processor/cfi_frame_info.o \ src/processor/pathname_stripper.o \ src/processor/logging.o \ src/processor/source_line_resolver_base.o \ src/processor/tokenize.o \ $(PTHREAD_CFLAGS) $(PTHREAD_LIBS) src_processor_cfi_frame_info_unittest_SOURCES = \ src/processor/cfi_frame_info_unittest.cc \ src/testing/gtest/src/gtest-all.cc \ src/testing/gtest/src/gtest_main.cc \ src/testing/src/gmock-all.cc src_processor_cfi_frame_info_unittest_LDADD = \ + src/common/module.o \ src/processor/cfi_frame_info.o \ src/processor/logging.o \ src/processor/pathname_stripper.o \ $(PTHREAD_CFLAGS) $(PTHREAD_LIBS) src_processor_cfi_frame_info_unittest_CPPFLAGS = \ -I$(top_srcdir)/src \ -I$(top_srcdir)/src/testing/include \ -I$(top_srcdir)/src/testing/gtest/include \ @@ -598,16 +601,17 @@ src/testing/src/gmock-all.cc src_processor_exploitability_unittest_CPPFLAGS = \ -I$(top_srcdir)/src \ -I$(top_srcdir)/src/testing/include \ -I$(top_srcdir)/src/testing/gtest/include \ -I$(top_srcdir)/src/testing/gtest \ -I$(top_srcdir)/src/testing src_processor_exploitability_unittest_LDADD = \ + src/common/module.o \ src/processor/minidump_processor.o \ src/processor/process_state.o \ src/processor/disassembler_x86.o \ src/processor/exploitability.o \ src/processor/exploitability_win.o \ src/processor/basic_code_modules.o \ src/processor/basic_source_line_resolver.o \ src/processor/call_stack.o \ @@ -649,16 +653,17 @@ src/testing/src/gmock-all.cc src_processor_fast_source_line_resolver_unittest_CPPFLAGS = \ -I$(top_srcdir)/src \ -I$(top_srcdir)/src/testing/include \ -I$(top_srcdir)/src/testing/gtest/include \ -I$(top_srcdir)/src/testing/gtest \ -I$(top_srcdir)/src/testing src_processor_fast_source_line_resolver_unittest_LDADD = \ + src/common/module.o \ src/processor/fast_source_line_resolver.o \ src/processor/basic_source_line_resolver.o \ src/processor/cfi_frame_info.o \ src/processor/module_comparer.o \ src/processor/module_serializer.o \ src/processor/pathname_stripper.o \ src/processor/logging.o \ src/processor/source_line_resolver_base.o \ @@ -686,16 +691,17 @@ src/testing/src/gmock-all.cc src_processor_minidump_processor_unittest_CPPFLAGS = \ -I$(top_srcdir)/src \ -I$(top_srcdir)/src/testing/include \ -I$(top_srcdir)/src/testing/gtest/include \ -I$(top_srcdir)/src/testing/gtest \ -I$(top_srcdir)/src/testing src_processor_minidump_processor_unittest_LDADD = \ + src/common/module.o \ src/processor/basic_code_modules.o \ src/processor/basic_source_line_resolver.o \ src/processor/call_stack.o \ src/processor/cfi_frame_info.o \ src/processor/disassembler_x86.o \ src/processor/exploitability.o \ src/processor/exploitability_win.o \ src/processor/logging.o \ @@ -799,16 +805,17 @@ src/processor/pathname_stripper_unittest.cc src_processor_pathname_stripper_unittest_LDADD = \ src/processor/pathname_stripper.o \ $(PTHREAD_CFLAGS) $(PTHREAD_LIBS) src_processor_postfix_evaluator_unittest_SOURCES = \ src/processor/postfix_evaluator_unittest.cc src_processor_postfix_evaluator_unittest_LDADD = \ + src/common/module.o \ src/processor/logging.o \ src/processor/pathname_stripper.o \ $(PTHREAD_CFLAGS) $(PTHREAD_LIBS) src_processor_range_map_unittest_SOURCES = \ src/processor/range_map_unittest.cc src_processor_range_map_unittest_LDADD = \ src/processor/logging.o \ @@ -928,16 +935,17 @@ src/processor/basic_code_modules.o \ src/processor/logging.o \ src/processor/minidump.o \ src/processor/pathname_stripper.o src_processor_minidump_stackwalk_SOURCES = \ src/processor/minidump_stackwalk.cc src_processor_minidump_stackwalk_LDADD = \ + src/common/module.o \ src/processor/basic_code_modules.o \ src/processor/basic_source_line_resolver.o \ src/processor/binarystream.o \ src/processor/call_stack.o \ src/processor/cfi_frame_info.o \ src/processor/disassembler_x86.o \ src/processor/exploitability.o \ src/processor/exploitability_win.o \ diff --git a/Makefile.in b/Makefile.in --- a/Makefile.in +++ b/Makefile.in @@ -1,14 +1,14 @@ -# Makefile.in generated by automake 1.11.1 from Makefile.am. +# Makefile.in generated by automake 1.11.3 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, -# Inc. +# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software +# Foundation, Inc. # This Makefile.in 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. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @@ -190,16 +190,22 @@ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" \ "$(DESTDIR)$(docdir)" LIBRARIES = $(lib_LIBRARIES) $(noinst_LIBRARIES) AR = ar ARFLAGS = cru src_client_linux_libbreakpad_client_a_AR = $(AR) $(ARFLAGS) src_client_linux_libbreakpad_client_a_LIBADD = am__src_client_linux_libbreakpad_client_a_SOURCES_DIST = \ @@ -261,18 +267,18 @@ src/google_breakpad/processor/source_line_resolver_base.h \ src/google_breakpad/processor/source_line_resolver_interface.h \ src/google_breakpad/processor/stack_frame.h \ src/google_breakpad/processor/stack_frame_cpu.h \ src/google_breakpad/processor/stack_frame_symbolizer.h \ src/google_breakpad/processor/stackwalker.h \ src/google_breakpad/processor/symbol_supplier.h \ src/google_breakpad/processor/system_info.h \ - src/processor/address_map-inl.h src/processor/address_map.h \ - src/processor/basic_code_module.h \ + src/common/module.cc src/processor/address_map-inl.h \ + src/processor/address_map.h src/processor/basic_code_module.h \ src/processor/basic_code_modules.cc \ src/processor/basic_code_modules.h \ src/processor/basic_source_line_resolver_types.h \ src/processor/basic_source_line_resolver.cc \ src/processor/binarystream.h src/processor/binarystream.cc \ src/processor/call_stack.cc src/processor/cfi_frame_info.cc \ src/processor/cfi_frame_info.h \ src/processor/contained_range_map-inl.h \ @@ -322,17 +328,19 @@ src/processor/static_contained_range_map-inl.h \ src/processor/static_contained_range_map.h \ src/processor/static_map_iterator-inl.h \ src/processor/static_map_iterator.h \ src/processor/static_map-inl.h src/processor/static_map.h \ src/processor/static_range_map-inl.h \ src/processor/static_range_map.h src/processor/tokenize.cc \ src/processor/tokenize.h -@DISABLE_PROCESSOR_FALSE@am_src_libbreakpad_a_OBJECTS = src/processor/basic_code_modules.$(OBJEXT) \ +@DISABLE_PROCESSOR_FALSE@am_src_libbreakpad_a_OBJECTS = \ +@DISABLE_PROCESSOR_FALSE@ src/common/module.$(OBJEXT) \ +@DISABLE_PROCESSOR_FALSE@ src/processor/basic_code_modules.$(OBJEXT) \ @DISABLE_PROCESSOR_FALSE@ src/processor/basic_source_line_resolver.$(OBJEXT) \ @DISABLE_PROCESSOR_FALSE@ src/processor/binarystream.$(OBJEXT) \ @DISABLE_PROCESSOR_FALSE@ src/processor/call_stack.$(OBJEXT) \ @DISABLE_PROCESSOR_FALSE@ src/processor/cfi_frame_info.$(OBJEXT) \ @DISABLE_PROCESSOR_FALSE@ src/processor/disassembler_x86.$(OBJEXT) \ @DISABLE_PROCESSOR_FALSE@ src/processor/exploitability.$(OBJEXT) \ @DISABLE_PROCESSOR_FALSE@ src/processor/exploitability_win.$(OBJEXT) \ @DISABLE_PROCESSOR_FALSE@ src/processor/fast_source_line_resolver.$(OBJEXT) \ @@ -620,17 +628,19 @@ am__src_processor_basic_source_line_resolver_unittest_SOURCES_DIST = \ src/processor/basic_source_line_resolver_unittest.cc \ src/testing/gtest/src/gtest-all.cc \ src/testing/src/gmock-all.cc @DISABLE_PROCESSOR_FALSE@am_src_processor_basic_source_line_resolver_unittest_OBJECTS = src/processor/src_processor_basic_source_line_resolver_unittest-basic_source_line_resolver_unittest.$(OBJEXT) \ @DISABLE_PROCESSOR_FALSE@ src/testing/gtest/src/src_processor_basic_source_line_resolver_unittest-gtest-all.$(OBJEXT) \ @DISABLE_PROCESSOR_FALSE@ src/testing/src/src_processor_basic_source_line_resolver_unittest-gmock-all.$(OBJEXT) src_processor_basic_source_line_resolver_unittest_OBJECTS = $(am_src_processor_basic_source_line_resolver_unittest_OBJECTS) -@DISABLE_PROCESSOR_FALSE@src_processor_basic_source_line_resolver_unittest_DEPENDENCIES = src/processor/basic_source_line_resolver.o \ +@DISABLE_PROCESSOR_FALSE@src_processor_basic_source_line_resolver_unittest_DEPENDENCIES = \ +@DISABLE_PROCESSOR_FALSE@ src/common/module.o \ +@DISABLE_PROCESSOR_FALSE@ src/processor/basic_source_line_resolver.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/cfi_frame_info.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/pathname_stripper.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/logging.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/source_line_resolver_base.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/tokenize.o \ @DISABLE_PROCESSOR_FALSE@ $(am__DEPENDENCIES_1) \ @DISABLE_PROCESSOR_FALSE@ $(am__DEPENDENCIES_1) am__src_processor_binarystream_unittest_SOURCES_DIST = \ @@ -653,16 +663,17 @@ src/testing/src/gmock-all.cc @DISABLE_PROCESSOR_FALSE@am_src_processor_cfi_frame_info_unittest_OBJECTS = src/processor/src_processor_cfi_frame_info_unittest-cfi_frame_info_unittest.$(OBJEXT) \ @DISABLE_PROCESSOR_FALSE@ src/testing/gtest/src/src_processor_cfi_frame_info_unittest-gtest-all.$(OBJEXT) \ @DISABLE_PROCESSOR_FALSE@ src/testing/gtest/src/src_processor_cfi_frame_info_unittest-gtest_main.$(OBJEXT) \ @DISABLE_PROCESSOR_FALSE@ src/testing/src/src_processor_cfi_frame_info_unittest-gmock-all.$(OBJEXT) src_processor_cfi_frame_info_unittest_OBJECTS = \ $(am_src_processor_cfi_frame_info_unittest_OBJECTS) @DISABLE_PROCESSOR_FALSE@src_processor_cfi_frame_info_unittest_DEPENDENCIES = \ +@DISABLE_PROCESSOR_FALSE@ src/common/module.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/cfi_frame_info.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/logging.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/pathname_stripper.o \ @DISABLE_PROCESSOR_FALSE@ $(am__DEPENDENCIES_1) \ @DISABLE_PROCESSOR_FALSE@ $(am__DEPENDENCIES_1) am__src_processor_contained_range_map_unittest_SOURCES_DIST = \ src/processor/contained_range_map_unittest.cc @DISABLE_PROCESSOR_FALSE@am_src_processor_contained_range_map_unittest_OBJECTS = src/processor/contained_range_map_unittest.$(OBJEXT) @@ -694,16 +705,17 @@ src/testing/src/gmock-all.cc @DISABLE_PROCESSOR_FALSE@am_src_processor_exploitability_unittest_OBJECTS = src/processor/src_processor_exploitability_unittest-exploitability_unittest.$(OBJEXT) \ @DISABLE_PROCESSOR_FALSE@ src/testing/gtest/src/src_processor_exploitability_unittest-gtest-all.$(OBJEXT) \ @DISABLE_PROCESSOR_FALSE@ src/testing/gtest/src/src_processor_exploitability_unittest-gtest_main.$(OBJEXT) \ @DISABLE_PROCESSOR_FALSE@ src/testing/src/src_processor_exploitability_unittest-gmock-all.$(OBJEXT) src_processor_exploitability_unittest_OBJECTS = \ $(am_src_processor_exploitability_unittest_OBJECTS) @DISABLE_PROCESSOR_FALSE@src_processor_exploitability_unittest_DEPENDENCIES = \ +@DISABLE_PROCESSOR_FALSE@ src/common/module.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/minidump_processor.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/process_state.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/disassembler_x86.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/exploitability.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/exploitability_win.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/basic_code_modules.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/basic_source_line_resolver.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/call_stack.o \ @@ -726,17 +738,19 @@ am__src_processor_fast_source_line_resolver_unittest_SOURCES_DIST = \ src/processor/fast_source_line_resolver_unittest.cc \ src/testing/gtest/src/gtest-all.cc \ src/testing/src/gmock-all.cc @DISABLE_PROCESSOR_FALSE@am_src_processor_fast_source_line_resolver_unittest_OBJECTS = src/processor/src_processor_fast_source_line_resolver_unittest-fast_source_line_resolver_unittest.$(OBJEXT) \ @DISABLE_PROCESSOR_FALSE@ src/testing/gtest/src/src_processor_fast_source_line_resolver_unittest-gtest-all.$(OBJEXT) \ @DISABLE_PROCESSOR_FALSE@ src/testing/src/src_processor_fast_source_line_resolver_unittest-gmock-all.$(OBJEXT) src_processor_fast_source_line_resolver_unittest_OBJECTS = $(am_src_processor_fast_source_line_resolver_unittest_OBJECTS) -@DISABLE_PROCESSOR_FALSE@src_processor_fast_source_line_resolver_unittest_DEPENDENCIES = src/processor/fast_source_line_resolver.o \ +@DISABLE_PROCESSOR_FALSE@src_processor_fast_source_line_resolver_unittest_DEPENDENCIES = \ +@DISABLE_PROCESSOR_FALSE@ src/common/module.o \ +@DISABLE_PROCESSOR_FALSE@ src/processor/fast_source_line_resolver.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/basic_source_line_resolver.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/cfi_frame_info.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/module_comparer.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/module_serializer.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/pathname_stripper.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/logging.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/source_line_resolver_base.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/tokenize.o \ @@ -771,16 +785,17 @@ src/testing/gtest/src/gtest-all.cc \ src/testing/src/gmock-all.cc @DISABLE_PROCESSOR_FALSE@am_src_processor_minidump_processor_unittest_OBJECTS = src/processor/src_processor_minidump_processor_unittest-minidump_processor_unittest.$(OBJEXT) \ @DISABLE_PROCESSOR_FALSE@ src/testing/gtest/src/src_processor_minidump_processor_unittest-gtest-all.$(OBJEXT) \ @DISABLE_PROCESSOR_FALSE@ src/testing/src/src_processor_minidump_processor_unittest-gmock-all.$(OBJEXT) src_processor_minidump_processor_unittest_OBJECTS = \ $(am_src_processor_minidump_processor_unittest_OBJECTS) @DISABLE_PROCESSOR_FALSE@src_processor_minidump_processor_unittest_DEPENDENCIES = \ +@DISABLE_PROCESSOR_FALSE@ src/common/module.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/basic_code_modules.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/basic_source_line_resolver.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/call_stack.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/cfi_frame_info.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/disassembler_x86.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/exploitability.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/exploitability_win.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/logging.o \ @@ -801,16 +816,17 @@ @DISABLE_PROCESSOR_FALSE@ $(am__DEPENDENCIES_1) \ @DISABLE_PROCESSOR_FALSE@ $(am__DEPENDENCIES_1) am__src_processor_minidump_stackwalk_SOURCES_DIST = \ src/processor/minidump_stackwalk.cc @DISABLE_PROCESSOR_FALSE@am_src_processor_minidump_stackwalk_OBJECTS = src/processor/minidump_stackwalk.$(OBJEXT) src_processor_minidump_stackwalk_OBJECTS = \ $(am_src_processor_minidump_stackwalk_OBJECTS) @DISABLE_PROCESSOR_FALSE@src_processor_minidump_stackwalk_DEPENDENCIES = \ +@DISABLE_PROCESSOR_FALSE@ src/common/module.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/basic_code_modules.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/basic_source_line_resolver.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/binarystream.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/call_stack.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/cfi_frame_info.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/disassembler_x86.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/exploitability.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/exploitability_win.o \ @@ -862,16 +878,17 @@ @DISABLE_PROCESSOR_FALSE@ $(am__DEPENDENCIES_1) \ @DISABLE_PROCESSOR_FALSE@ $(am__DEPENDENCIES_1) am__src_processor_postfix_evaluator_unittest_SOURCES_DIST = \ src/processor/postfix_evaluator_unittest.cc @DISABLE_PROCESSOR_FALSE@am_src_processor_postfix_evaluator_unittest_OBJECTS = src/processor/postfix_evaluator_unittest.$(OBJEXT) src_processor_postfix_evaluator_unittest_OBJECTS = \ $(am_src_processor_postfix_evaluator_unittest_OBJECTS) @DISABLE_PROCESSOR_FALSE@src_processor_postfix_evaluator_unittest_DEPENDENCIES = \ +@DISABLE_PROCESSOR_FALSE@ src/common/module.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/logging.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/pathname_stripper.o \ @DISABLE_PROCESSOR_FALSE@ $(am__DEPENDENCIES_1) \ @DISABLE_PROCESSOR_FALSE@ $(am__DEPENDENCIES_1) am__src_processor_range_map_unittest_SOURCES_DIST = \ src/processor/range_map_unittest.cc @DISABLE_PROCESSOR_FALSE@am_src_processor_range_map_unittest_OBJECTS = src/processor/range_map_unittest.$(OBJEXT) src_processor_range_map_unittest_OBJECTS = \ @@ -1212,22 +1229,26 @@ ETAGS = etags CTAGS = ctags am__tty_colors = \ red=; grn=; lgn=; blu=; std= DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) am__remove_distdir = \ - { test ! -d "$(distdir)" \ - || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ - && rm -fr "$(distdir)"; }; } + if test -d "$(distdir)"; then \ + find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -rf "$(distdir)" \ + || { sleep 5 && rm -rf "$(distdir)"; }; \ + else :; fi DIST_ARCHIVES = $(distdir).tar.gz GZIP_ENV = --best distuninstallcheck_listfiles = find . -type f -print +am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ + | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' distcleancheck_listfiles = find . -type f -print ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ @@ -1383,16 +1404,17 @@ @DISABLE_PROCESSOR_FALSE@ src/google_breakpad/processor/source_line_resolver_base.h \ @DISABLE_PROCESSOR_FALSE@ src/google_breakpad/processor/source_line_resolver_interface.h \ @DISABLE_PROCESSOR_FALSE@ src/google_breakpad/processor/stack_frame.h \ @DISABLE_PROCESSOR_FALSE@ src/google_breakpad/processor/stack_frame_cpu.h \ @DISABLE_PROCESSOR_FALSE@ src/google_breakpad/processor/stack_frame_symbolizer.h \ @DISABLE_PROCESSOR_FALSE@ src/google_breakpad/processor/stackwalker.h \ @DISABLE_PROCESSOR_FALSE@ src/google_breakpad/processor/symbol_supplier.h \ @DISABLE_PROCESSOR_FALSE@ src/google_breakpad/processor/system_info.h \ +@DISABLE_PROCESSOR_FALSE@ src/common/module.cc \ @DISABLE_PROCESSOR_FALSE@ src/processor/address_map-inl.h \ @DISABLE_PROCESSOR_FALSE@ src/processor/address_map.h \ @DISABLE_PROCESSOR_FALSE@ src/processor/basic_code_module.h \ @DISABLE_PROCESSOR_FALSE@ src/processor/basic_code_modules.cc \ @DISABLE_PROCESSOR_FALSE@ src/processor/basic_code_modules.h \ @DISABLE_PROCESSOR_FALSE@ src/processor/basic_source_line_resolver_types.h \ @DISABLE_PROCESSOR_FALSE@ src/processor/basic_source_line_resolver.cc \ @DISABLE_PROCESSOR_FALSE@ src/processor/binarystream.h \ @@ -1715,31 +1737,33 @@ @DISABLE_PROCESSOR_FALSE@src_processor_basic_source_line_resolver_unittest_CPPFLAGS = \ @DISABLE_PROCESSOR_FALSE@ -I$(top_srcdir)/src \ @DISABLE_PROCESSOR_FALSE@ -I$(top_srcdir)/src/testing/include \ @DISABLE_PROCESSOR_FALSE@ -I$(top_srcdir)/src/testing/gtest/include \ @DISABLE_PROCESSOR_FALSE@ -I$(top_srcdir)/src/testing/gtest \ @DISABLE_PROCESSOR_FALSE@ -I$(top_srcdir)/src/testing @DISABLE_PROCESSOR_FALSE@src_processor_basic_source_line_resolver_unittest_LDADD = \ +@DISABLE_PROCESSOR_FALSE@ src/common/module.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/basic_source_line_resolver.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/cfi_frame_info.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/pathname_stripper.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/logging.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/source_line_resolver_base.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/tokenize.o \ @DISABLE_PROCESSOR_FALSE@ $(PTHREAD_CFLAGS) $(PTHREAD_LIBS) @DISABLE_PROCESSOR_FALSE@src_processor_cfi_frame_info_unittest_SOURCES = \ @DISABLE_PROCESSOR_FALSE@ src/processor/cfi_frame_info_unittest.cc \ @DISABLE_PROCESSOR_FALSE@ src/testing/gtest/src/gtest-all.cc \ @DISABLE_PROCESSOR_FALSE@ src/testing/gtest/src/gtest_main.cc \ @DISABLE_PROCESSOR_FALSE@ src/testing/src/gmock-all.cc @DISABLE_PROCESSOR_FALSE@src_processor_cfi_frame_info_unittest_LDADD = \ +@DISABLE_PROCESSOR_FALSE@ src/common/module.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/cfi_frame_info.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/logging.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/pathname_stripper.o \ @DISABLE_PROCESSOR_FALSE@ $(PTHREAD_CFLAGS) $(PTHREAD_LIBS) @DISABLE_PROCESSOR_FALSE@src_processor_cfi_frame_info_unittest_CPPFLAGS = \ @DISABLE_PROCESSOR_FALSE@ -I$(top_srcdir)/src \ @DISABLE_PROCESSOR_FALSE@ -I$(top_srcdir)/src/testing/include \ @@ -1763,16 +1787,17 @@ @DISABLE_PROCESSOR_FALSE@src_processor_exploitability_unittest_CPPFLAGS = \ @DISABLE_PROCESSOR_FALSE@ -I$(top_srcdir)/src \ @DISABLE_PROCESSOR_FALSE@ -I$(top_srcdir)/src/testing/include \ @DISABLE_PROCESSOR_FALSE@ -I$(top_srcdir)/src/testing/gtest/include \ @DISABLE_PROCESSOR_FALSE@ -I$(top_srcdir)/src/testing/gtest \ @DISABLE_PROCESSOR_FALSE@ -I$(top_srcdir)/src/testing @DISABLE_PROCESSOR_FALSE@src_processor_exploitability_unittest_LDADD = \ +@DISABLE_PROCESSOR_FALSE@ src/common/module.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/minidump_processor.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/process_state.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/disassembler_x86.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/exploitability.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/exploitability_win.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/basic_code_modules.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/basic_source_line_resolver.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/call_stack.o \ @@ -1818,16 +1843,17 @@ @DISABLE_PROCESSOR_FALSE@src_processor_fast_source_line_resolver_unittest_CPPFLAGS = \ @DISABLE_PROCESSOR_FALSE@ -I$(top_srcdir)/src \ @DISABLE_PROCESSOR_FALSE@ -I$(top_srcdir)/src/testing/include \ @DISABLE_PROCESSOR_FALSE@ -I$(top_srcdir)/src/testing/gtest/include \ @DISABLE_PROCESSOR_FALSE@ -I$(top_srcdir)/src/testing/gtest \ @DISABLE_PROCESSOR_FALSE@ -I$(top_srcdir)/src/testing @DISABLE_PROCESSOR_FALSE@src_processor_fast_source_line_resolver_unittest_LDADD = \ +@DISABLE_PROCESSOR_FALSE@ src/common/module.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/fast_source_line_resolver.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/basic_source_line_resolver.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/cfi_frame_info.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/module_comparer.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/module_serializer.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/pathname_stripper.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/logging.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/source_line_resolver_base.o \ @@ -1859,16 +1885,17 @@ @DISABLE_PROCESSOR_FALSE@src_processor_minidump_processor_unittest_CPPFLAGS = \ @DISABLE_PROCESSOR_FALSE@ -I$(top_srcdir)/src \ @DISABLE_PROCESSOR_FALSE@ -I$(top_srcdir)/src/testing/include \ @DISABLE_PROCESSOR_FALSE@ -I$(top_srcdir)/src/testing/gtest/include \ @DISABLE_PROCESSOR_FALSE@ -I$(top_srcdir)/src/testing/gtest \ @DISABLE_PROCESSOR_FALSE@ -I$(top_srcdir)/src/testing @DISABLE_PROCESSOR_FALSE@src_processor_minidump_processor_unittest_LDADD = \ +@DISABLE_PROCESSOR_FALSE@ src/common/module.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/basic_code_modules.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/basic_source_line_resolver.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/call_stack.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/cfi_frame_info.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/disassembler_x86.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/exploitability.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/exploitability_win.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/logging.o \ @@ -1984,16 +2011,17 @@ @DISABLE_PROCESSOR_FALSE@src_processor_pathname_stripper_unittest_LDADD = \ @DISABLE_PROCESSOR_FALSE@ src/processor/pathname_stripper.o \ @DISABLE_PROCESSOR_FALSE@ $(PTHREAD_CFLAGS) $(PTHREAD_LIBS) @DISABLE_PROCESSOR_FALSE@src_processor_postfix_evaluator_unittest_SOURCES = \ @DISABLE_PROCESSOR_FALSE@ src/processor/postfix_evaluator_unittest.cc @DISABLE_PROCESSOR_FALSE@src_processor_postfix_evaluator_unittest_LDADD = \ +@DISABLE_PROCESSOR_FALSE@ src/common/module.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/logging.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/pathname_stripper.o \ @DISABLE_PROCESSOR_FALSE@ $(PTHREAD_CFLAGS) $(PTHREAD_LIBS) @DISABLE_PROCESSOR_FALSE@src_processor_range_map_unittest_SOURCES = \ @DISABLE_PROCESSOR_FALSE@ src/processor/range_map_unittest.cc @DISABLE_PROCESSOR_FALSE@src_processor_range_map_unittest_LDADD = \ @@ -2122,16 +2150,17 @@ @DISABLE_PROCESSOR_FALSE@ src/processor/logging.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/minidump.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/pathname_stripper.o @DISABLE_PROCESSOR_FALSE@src_processor_minidump_stackwalk_SOURCES = \ @DISABLE_PROCESSOR_FALSE@ src/processor/minidump_stackwalk.cc @DISABLE_PROCESSOR_FALSE@src_processor_minidump_stackwalk_LDADD = \ +@DISABLE_PROCESSOR_FALSE@ src/common/module.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/basic_code_modules.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/basic_source_line_resolver.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/binarystream.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/call_stack.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/cfi_frame_info.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/disassembler_x86.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/exploitability.o \ @DISABLE_PROCESSOR_FALSE@ src/processor/exploitability_win.o \ @@ -2289,17 +2318,17 @@ src/tools/windows/dump_syms/testdata/dump_syms_regtest.sym \ src/tools/windows/symupload/symupload.cc \ src/tools/windows/symupload/symupload.vcproj all: all-am .SUFFIXES: .SUFFIXES: .S .c .cc .o .obj -am--refresh: +am--refresh: Makefile @: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \ $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \ && exit 0; \ @@ -2325,20 +2354,18 @@ $(top_srcdir)/configure: $(am__configure_deps) $(am__cd) $(srcdir) && $(AUTOCONF) $(ACLOCAL_M4): $(am__aclocal_m4_deps) $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) $(am__aclocal_m4_deps): src/config.h: src/stamp-h1 - @if test ! -f $@; then \ - rm -f src/stamp-h1; \ - $(MAKE) $(AM_MAKEFLAGS) src/stamp-h1; \ - else :; fi + @if test ! -f $@; then rm -f src/stamp-h1; else :; fi + @if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) src/stamp-h1; else :; fi src/stamp-h1: $(top_srcdir)/src/config.h.in $(top_builddir)/config.status @rm -f src/stamp-h1 cd $(top_builddir) && $(SHELL) ./config.status src/config.h $(top_srcdir)/src/config.h.in: $(am__configure_deps) ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) rm -f src/stamp-h1 touch $@ @@ -2366,19 +2393,17 @@ ( cd "$(DESTDIR)$(libdir)" && $(RANLIB) $$f ) || exit $$?; \ else :; fi; \ done uninstall-libLIBRARIES: @$(NORMAL_UNINSTALL) @list='$(lib_LIBRARIES)'; test -n "$(libdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - test -n "$$files" || exit 0; \ - echo " ( cd '$(DESTDIR)$(libdir)' && rm -f "$$files" )"; \ - cd "$(DESTDIR)$(libdir)" && rm -f $$files + dir='$(DESTDIR)$(libdir)'; $(am__uninstall_files_from_dir) clean-libLIBRARIES: -test -z "$(lib_LIBRARIES)" || rm -f $(lib_LIBRARIES) clean-noinstLIBRARIES: -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) src/client/linux/crash_generation/$(am__dirstamp): @$(MKDIR_P) src/client/linux/crash_generation @@ -2477,20 +2502,22 @@ @$(MKDIR_P) src/common/android/$(DEPDIR) @: > src/common/android/$(DEPDIR)/$(am__dirstamp) src/common/android/breakpad_getcontext.$(OBJEXT): \ src/common/android/$(am__dirstamp) \ src/common/android/$(DEPDIR)/$(am__dirstamp) src/client/linux/$(am__dirstamp): @$(MKDIR_P) src/client/linux @: > src/client/linux/$(am__dirstamp) -src/client/linux/libbreakpad_client.a: $(src_client_linux_libbreakpad_client_a_OBJECTS) $(src_client_linux_libbreakpad_client_a_DEPENDENCIES) src/client/linux/$(am__dirstamp) +src/client/linux/libbreakpad_client.a: $(src_client_linux_libbreakpad_client_a_OBJECTS) $(src_client_linux_libbreakpad_client_a_DEPENDENCIES) $(EXTRA_src_client_linux_libbreakpad_client_a_DEPENDENCIES) src/client/linux/$(am__dirstamp) -rm -f src/client/linux/libbreakpad_client.a $(src_client_linux_libbreakpad_client_a_AR) src/client/linux/libbreakpad_client.a $(src_client_linux_libbreakpad_client_a_OBJECTS) $(src_client_linux_libbreakpad_client_a_LIBADD) $(RANLIB) src/client/linux/libbreakpad_client.a +src/common/module.$(OBJEXT): src/common/$(am__dirstamp) \ + src/common/$(DEPDIR)/$(am__dirstamp) src/processor/$(am__dirstamp): @$(MKDIR_P) src/processor @: > src/processor/$(am__dirstamp) src/processor/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) src/processor/$(DEPDIR) @: > src/processor/$(DEPDIR)/$(am__dirstamp) src/processor/basic_code_modules.$(OBJEXT): \ src/processor/$(am__dirstamp) \ @@ -2559,17 +2586,17 @@ src/processor/stackwalker_x86.$(OBJEXT): \ src/processor/$(am__dirstamp) \ src/processor/$(DEPDIR)/$(am__dirstamp) src/processor/tokenize.$(OBJEXT): src/processor/$(am__dirstamp) \ src/processor/$(DEPDIR)/$(am__dirstamp) src/$(am__dirstamp): @$(MKDIR_P) src @: > src/$(am__dirstamp) -src/libbreakpad.a: $(src_libbreakpad_a_OBJECTS) $(src_libbreakpad_a_DEPENDENCIES) src/$(am__dirstamp) +src/libbreakpad.a: $(src_libbreakpad_a_OBJECTS) $(src_libbreakpad_a_DEPENDENCIES) $(EXTRA_src_libbreakpad_a_DEPENDENCIES) src/$(am__dirstamp) -rm -f src/libbreakpad.a $(src_libbreakpad_a_AR) src/libbreakpad.a $(src_libbreakpad_a_OBJECTS) $(src_libbreakpad_a_LIBADD) $(RANLIB) src/libbreakpad.a src/third_party/libdisasm/$(am__dirstamp): @$(MKDIR_P) src/third_party/libdisasm @: > src/third_party/libdisasm/$(am__dirstamp) src/third_party/libdisasm/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) src/third_party/libdisasm/$(DEPDIR) @@ -2611,17 +2638,17 @@ src/third_party/libdisasm/$(am__dirstamp) \ src/third_party/libdisasm/$(DEPDIR)/$(am__dirstamp) src/third_party/libdisasm/x86_misc.$(OBJEXT): \ src/third_party/libdisasm/$(am__dirstamp) \ src/third_party/libdisasm/$(DEPDIR)/$(am__dirstamp) src/third_party/libdisasm/x86_operand_list.$(OBJEXT): \ src/third_party/libdisasm/$(am__dirstamp) \ src/third_party/libdisasm/$(DEPDIR)/$(am__dirstamp) -src/third_party/libdisasm/libdisasm.a: $(src_third_party_libdisasm_libdisasm_a_OBJECTS) $(src_third_party_libdisasm_libdisasm_a_DEPENDENCIES) src/third_party/libdisasm/$(am__dirstamp) +src/third_party/libdisasm/libdisasm.a: $(src_third_party_libdisasm_libdisasm_a_OBJECTS) $(src_third_party_libdisasm_libdisasm_a_DEPENDENCIES) $(EXTRA_src_third_party_libdisasm_libdisasm_a_DEPENDENCIES) src/third_party/libdisasm/$(am__dirstamp) -rm -f src/third_party/libdisasm/libdisasm.a $(src_third_party_libdisasm_libdisasm_a_AR) src/third_party/libdisasm/libdisasm.a $(src_third_party_libdisasm_libdisasm_a_OBJECTS) $(src_third_party_libdisasm_libdisasm_a_LIBADD) $(RANLIB) src/third_party/libdisasm/libdisasm.a install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ for p in $$list; do echo "$$p $$p"; done | \ @@ -2658,17 +2685,17 @@ clean-binPROGRAMS: -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) clean-checkPROGRAMS: -test -z "$(check_PROGRAMS)" || rm -f $(check_PROGRAMS) clean-noinstPROGRAMS: -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS) -src/client/linux/linux_client_unittest$(EXEEXT): $(src_client_linux_linux_client_unittest_OBJECTS) $(src_client_linux_linux_client_unittest_DEPENDENCIES) src/client/linux/$(am__dirstamp) +src/client/linux/linux_client_unittest$(EXEEXT): $(src_client_linux_linux_client_unittest_OBJECTS) $(src_client_linux_linux_client_unittest_DEPENDENCIES) $(EXTRA_src_client_linux_linux_client_unittest_DEPENDENCIES) src/client/linux/$(am__dirstamp) @rm -f src/client/linux/linux_client_unittest$(EXEEXT) $(src_client_linux_linux_client_unittest_LINK) $(src_client_linux_linux_client_unittest_OBJECTS) $(src_client_linux_linux_client_unittest_LDADD) $(LIBS) src/client/linux/handler/src_client_linux_linux_client_unittest_shlib-exception_handler_unittest.$(OBJEXT): \ src/client/linux/handler/$(am__dirstamp) \ src/client/linux/handler/$(DEPDIR)/$(am__dirstamp) src/client/linux/minidump_writer/src_client_linux_linux_client_unittest_shlib-directory_reader_unittest.$(OBJEXT): \ src/client/linux/minidump_writer/$(am__dirstamp) \ src/client/linux/minidump_writer/$(DEPDIR)/$(am__dirstamp) @@ -2751,23 +2778,23 @@ src/processor/$(am__dirstamp) \ src/processor/$(DEPDIR)/$(am__dirstamp) src/common/android/src_client_linux_linux_client_unittest_shlib-breakpad_getcontext.$(OBJEXT): \ src/common/android/$(am__dirstamp) \ src/common/android/$(DEPDIR)/$(am__dirstamp) src/common/android/src_client_linux_linux_client_unittest_shlib-breakpad_getcontext_unittest.$(OBJEXT): \ src/common/android/$(am__dirstamp) \ src/common/android/$(DEPDIR)/$(am__dirstamp) -src/client/linux/linux_client_unittest_shlib$(EXEEXT): $(src_client_linux_linux_client_unittest_shlib_OBJECTS) $(src_client_linux_linux_client_unittest_shlib_DEPENDENCIES) src/client/linux/$(am__dirstamp) +src/client/linux/linux_client_unittest_shlib$(EXEEXT): $(src_client_linux_linux_client_unittest_shlib_OBJECTS) $(src_client_linux_linux_client_unittest_shlib_DEPENDENCIES) $(EXTRA_src_client_linux_linux_client_unittest_shlib_DEPENDENCIES) src/client/linux/$(am__dirstamp) @rm -f src/client/linux/linux_client_unittest_shlib$(EXEEXT) $(src_client_linux_linux_client_unittest_shlib_LINK) $(src_client_linux_linux_client_unittest_shlib_OBJECTS) $(src_client_linux_linux_client_unittest_shlib_LDADD) $(LIBS) src/client/linux/minidump_writer/src_client_linux_linux_dumper_unittest_helper-linux_dumper_unittest_helper.$(OBJEXT): \ src/client/linux/minidump_writer/$(am__dirstamp) \ src/client/linux/minidump_writer/$(DEPDIR)/$(am__dirstamp) -src/client/linux/linux_dumper_unittest_helper$(EXEEXT): $(src_client_linux_linux_dumper_unittest_helper_OBJECTS) $(src_client_linux_linux_dumper_unittest_helper_DEPENDENCIES) src/client/linux/$(am__dirstamp) +src/client/linux/linux_dumper_unittest_helper$(EXEEXT): $(src_client_linux_linux_dumper_unittest_helper_OBJECTS) $(src_client_linux_linux_dumper_unittest_helper_DEPENDENCIES) $(EXTRA_src_client_linux_linux_dumper_unittest_helper_DEPENDENCIES) src/client/linux/$(am__dirstamp) @rm -f src/client/linux/linux_dumper_unittest_helper$(EXEEXT) $(src_client_linux_linux_dumper_unittest_helper_LINK) $(src_client_linux_linux_dumper_unittest_helper_OBJECTS) $(src_client_linux_linux_dumper_unittest_helper_LDADD) $(LIBS) src/common/src_common_dumper_unittest-byte_cursor_unittest.$(OBJEXT): \ src/common/$(am__dirstamp) \ src/common/$(DEPDIR)/$(am__dirstamp) src/common/src_common_dumper_unittest-dwarf_cfi_to_module.$(OBJEXT): \ src/common/$(am__dirstamp) \ src/common/$(DEPDIR)/$(am__dirstamp) @@ -2901,17 +2928,17 @@ src/testing/gtest/src/$(am__dirstamp) \ src/testing/gtest/src/$(DEPDIR)/$(am__dirstamp) src/testing/gtest/src/src_common_dumper_unittest-gtest_main.$(OBJEXT): \ src/testing/gtest/src/$(am__dirstamp) \ src/testing/gtest/src/$(DEPDIR)/$(am__dirstamp) src/testing/src/src_common_dumper_unittest-gmock-all.$(OBJEXT): \ src/testing/src/$(am__dirstamp) \ src/testing/src/$(DEPDIR)/$(am__dirstamp) -src/common/dumper_unittest$(EXEEXT): $(src_common_dumper_unittest_OBJECTS) $(src_common_dumper_unittest_DEPENDENCIES) src/common/$(am__dirstamp) +src/common/dumper_unittest$(EXEEXT): $(src_common_dumper_unittest_OBJECTS) $(src_common_dumper_unittest_DEPENDENCIES) $(EXTRA_src_common_dumper_unittest_DEPENDENCIES) src/common/$(am__dirstamp) @rm -f src/common/dumper_unittest$(EXEEXT) $(CXXLINK) $(src_common_dumper_unittest_OBJECTS) $(src_common_dumper_unittest_LDADD) $(LIBS) src/common/src_common_test_assembler_unittest-test_assembler.$(OBJEXT): \ src/common/$(am__dirstamp) \ src/common/$(DEPDIR)/$(am__dirstamp) src/common/src_common_test_assembler_unittest-test_assembler_unittest.$(OBJEXT): \ src/common/$(am__dirstamp) \ src/common/$(DEPDIR)/$(am__dirstamp) @@ -2919,145 +2946,145 @@ src/testing/gtest/src/$(am__dirstamp) \ src/testing/gtest/src/$(DEPDIR)/$(am__dirstamp) src/testing/gtest/src/src_common_test_assembler_unittest-gtest_main.$(OBJEXT): \ src/testing/gtest/src/$(am__dirstamp) \ src/testing/gtest/src/$(DEPDIR)/$(am__dirstamp) src/testing/src/src_common_test_assembler_unittest-gmock-all.$(OBJEXT): \ src/testing/src/$(am__dirstamp) \ src/testing/src/$(DEPDIR)/$(am__dirstamp) -src/common/test_assembler_unittest$(EXEEXT): $(src_common_test_assembler_unittest_OBJECTS) $(src_common_test_assembler_unittest_DEPENDENCIES) src/common/$(am__dirstamp) +src/common/test_assembler_unittest$(EXEEXT): $(src_common_test_assembler_unittest_OBJECTS) $(src_common_test_assembler_unittest_DEPENDENCIES) $(EXTRA_src_common_test_assembler_unittest_DEPENDENCIES) src/common/$(am__dirstamp) @rm -f src/common/test_assembler_unittest$(EXEEXT) $(CXXLINK) $(src_common_test_assembler_unittest_OBJECTS) $(src_common_test_assembler_unittest_LDADD) $(LIBS) src/processor/address_map_unittest.$(OBJEXT): \ src/processor/$(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) $(EXTRA_src_processor_address_map_unittest_DEPENDENCIES) src/processor/$(am__dirstamp) @rm -f src/processor/address_map_unittest$(EXEEXT) $(CXXLINK) $(src_processor_address_map_unittest_OBJECTS) $(src_processor_address_map_unittest_LDADD) $(LIBS) src/processor/src_processor_basic_source_line_resolver_unittest-basic_source_line_resolver_unittest.$(OBJEXT): \ src/processor/$(am__dirstamp) \ src/processor/$(DEPDIR)/$(am__dirstamp) src/testing/gtest/src/src_processor_basic_source_line_resolver_unittest-gtest-all.$(OBJEXT): \ src/testing/gtest/src/$(am__dirstamp) \ src/testing/gtest/src/$(DEPDIR)/$(am__dirstamp) src/testing/src/src_processor_basic_source_line_resolver_unittest-gmock-all.$(OBJEXT): \ src/testing/src/$(am__dirstamp) \ src/testing/src/$(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) $(EXTRA_src_processor_basic_source_line_resolver_unittest_DEPENDENCIES) src/processor/$(am__dirstamp) @rm -f src/processor/basic_source_line_resolver_unittest$(EXEEXT) $(CXXLINK) $(src_processor_basic_source_line_resolver_unittest_OBJECTS) $(src_processor_basic_source_line_resolver_unittest_LDADD) $(LIBS) src/processor/src_processor_binarystream_unittest-binarystream_unittest.$(OBJEXT): \ src/processor/$(am__dirstamp) \ src/processor/$(DEPDIR)/$(am__dirstamp) src/testing/gtest/src/src_processor_binarystream_unittest-gtest-all.$(OBJEXT): \ src/testing/gtest/src/$(am__dirstamp) \ src/testing/gtest/src/$(DEPDIR)/$(am__dirstamp) src/testing/src/src_processor_binarystream_unittest-gmock-all.$(OBJEXT): \ src/testing/src/$(am__dirstamp) \ src/testing/src/$(DEPDIR)/$(am__dirstamp) -src/processor/binarystream_unittest$(EXEEXT): $(src_processor_binarystream_unittest_OBJECTS) $(src_processor_binarystream_unittest_DEPENDENCIES) src/processor/$(am__dirstamp) +src/processor/binarystream_unittest$(EXEEXT): $(src_processor_binarystream_unittest_OBJECTS) $(src_processor_binarystream_unittest_DEPENDENCIES) $(EXTRA_src_processor_binarystream_unittest_DEPENDENCIES) src/processor/$(am__dirstamp) @rm -f src/processor/binarystream_unittest$(EXEEXT) $(CXXLINK) $(src_processor_binarystream_unittest_OBJECTS) $(src_processor_binarystream_unittest_LDADD) $(LIBS) src/processor/src_processor_cfi_frame_info_unittest-cfi_frame_info_unittest.$(OBJEXT): \ src/processor/$(am__dirstamp) \ src/processor/$(DEPDIR)/$(am__dirstamp) src/testing/gtest/src/src_processor_cfi_frame_info_unittest-gtest-all.$(OBJEXT): \ src/testing/gtest/src/$(am__dirstamp) \ src/testing/gtest/src/$(DEPDIR)/$(am__dirstamp) src/testing/gtest/src/src_processor_cfi_frame_info_unittest-gtest_main.$(OBJEXT): \ src/testing/gtest/src/$(am__dirstamp) \ src/testing/gtest/src/$(DEPDIR)/$(am__dirstamp) src/testing/src/src_processor_cfi_frame_info_unittest-gmock-all.$(OBJEXT): \ src/testing/src/$(am__dirstamp) \ src/testing/src/$(DEPDIR)/$(am__dirstamp) -src/processor/cfi_frame_info_unittest$(EXEEXT): $(src_processor_cfi_frame_info_unittest_OBJECTS) $(src_processor_cfi_frame_info_unittest_DEPENDENCIES) src/processor/$(am__dirstamp) +src/processor/cfi_frame_info_unittest$(EXEEXT): $(src_processor_cfi_frame_info_unittest_OBJECTS) $(src_processor_cfi_frame_info_unittest_DEPENDENCIES) $(EXTRA_src_processor_cfi_frame_info_unittest_DEPENDENCIES) src/processor/$(am__dirstamp) @rm -f src/processor/cfi_frame_info_unittest$(EXEEXT) $(CXXLINK) $(src_processor_cfi_frame_info_unittest_OBJECTS) $(src_processor_cfi_frame_info_unittest_LDADD) $(LIBS) src/processor/contained_range_map_unittest.$(OBJEXT): \ src/processor/$(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) $(EXTRA_src_processor_contained_range_map_unittest_DEPENDENCIES) src/processor/$(am__dirstamp) @rm -f src/processor/contained_range_map_unittest$(EXEEXT) $(CXXLINK) $(src_processor_contained_range_map_unittest_OBJECTS) $(src_processor_contained_range_map_unittest_LDADD) $(LIBS) src/processor/src_processor_disassembler_x86_unittest-disassembler_x86_unittest.$(OBJEXT): \ src/processor/$(am__dirstamp) \ src/processor/$(DEPDIR)/$(am__dirstamp) src/testing/gtest/src/src_processor_disassembler_x86_unittest-gtest-all.$(OBJEXT): \ src/testing/gtest/src/$(am__dirstamp) \ src/testing/gtest/src/$(DEPDIR)/$(am__dirstamp) src/testing/gtest/src/src_processor_disassembler_x86_unittest-gtest_main.$(OBJEXT): \ src/testing/gtest/src/$(am__dirstamp) \ src/testing/gtest/src/$(DEPDIR)/$(am__dirstamp) src/testing/src/src_processor_disassembler_x86_unittest-gmock-all.$(OBJEXT): \ src/testing/src/$(am__dirstamp) \ src/testing/src/$(DEPDIR)/$(am__dirstamp) -src/processor/disassembler_x86_unittest$(EXEEXT): $(src_processor_disassembler_x86_unittest_OBJECTS) $(src_processor_disassembler_x86_unittest_DEPENDENCIES) src/processor/$(am__dirstamp) +src/processor/disassembler_x86_unittest$(EXEEXT): $(src_processor_disassembler_x86_unittest_OBJECTS) $(src_processor_disassembler_x86_unittest_DEPENDENCIES) $(EXTRA_src_processor_disassembler_x86_unittest_DEPENDENCIES) src/processor/$(am__dirstamp) @rm -f src/processor/disassembler_x86_unittest$(EXEEXT) $(CXXLINK) $(src_processor_disassembler_x86_unittest_OBJECTS) $(src_processor_disassembler_x86_unittest_LDADD) $(LIBS) src/processor/src_processor_exploitability_unittest-exploitability_unittest.$(OBJEXT): \ src/processor/$(am__dirstamp) \ src/processor/$(DEPDIR)/$(am__dirstamp) src/testing/gtest/src/src_processor_exploitability_unittest-gtest-all.$(OBJEXT): \ src/testing/gtest/src/$(am__dirstamp) \ src/testing/gtest/src/$(DEPDIR)/$(am__dirstamp) src/testing/gtest/src/src_processor_exploitability_unittest-gtest_main.$(OBJEXT): \ src/testing/gtest/src/$(am__dirstamp) \ src/testing/gtest/src/$(DEPDIR)/$(am__dirstamp) src/testing/src/src_processor_exploitability_unittest-gmock-all.$(OBJEXT): \ src/testing/src/$(am__dirstamp) \ src/testing/src/$(DEPDIR)/$(am__dirstamp) -src/processor/exploitability_unittest$(EXEEXT): $(src_processor_exploitability_unittest_OBJECTS) $(src_processor_exploitability_unittest_DEPENDENCIES) src/processor/$(am__dirstamp) +src/processor/exploitability_unittest$(EXEEXT): $(src_processor_exploitability_unittest_OBJECTS) $(src_processor_exploitability_unittest_DEPENDENCIES) $(EXTRA_src_processor_exploitability_unittest_DEPENDENCIES) src/processor/$(am__dirstamp) @rm -f src/processor/exploitability_unittest$(EXEEXT) $(CXXLINK) $(src_processor_exploitability_unittest_OBJECTS) $(src_processor_exploitability_unittest_LDADD) $(LIBS) src/processor/src_processor_fast_source_line_resolver_unittest-fast_source_line_resolver_unittest.$(OBJEXT): \ src/processor/$(am__dirstamp) \ src/processor/$(DEPDIR)/$(am__dirstamp) src/testing/gtest/src/src_processor_fast_source_line_resolver_unittest-gtest-all.$(OBJEXT): \ src/testing/gtest/src/$(am__dirstamp) \ src/testing/gtest/src/$(DEPDIR)/$(am__dirstamp) src/testing/src/src_processor_fast_source_line_resolver_unittest-gmock-all.$(OBJEXT): \ src/testing/src/$(am__dirstamp) \ src/testing/src/$(DEPDIR)/$(am__dirstamp) -src/processor/fast_source_line_resolver_unittest$(EXEEXT): $(src_processor_fast_source_line_resolver_unittest_OBJECTS) $(src_processor_fast_source_line_resolver_unittest_DEPENDENCIES) src/processor/$(am__dirstamp) +src/processor/fast_source_line_resolver_unittest$(EXEEXT): $(src_processor_fast_source_line_resolver_unittest_OBJECTS) $(src_processor_fast_source_line_resolver_unittest_DEPENDENCIES) $(EXTRA_src_processor_fast_source_line_resolver_unittest_DEPENDENCIES) src/processor/$(am__dirstamp) @rm -f src/processor/fast_source_line_resolver_unittest$(EXEEXT) $(CXXLINK) $(src_processor_fast_source_line_resolver_unittest_OBJECTS) $(src_processor_fast_source_line_resolver_unittest_LDADD) $(LIBS) src/processor/src_processor_map_serializers_unittest-map_serializers_unittest.$(OBJEXT): \ src/processor/$(am__dirstamp) \ src/processor/$(DEPDIR)/$(am__dirstamp) src/testing/gtest/src/src_processor_map_serializers_unittest-gtest-all.$(OBJEXT): \ src/testing/gtest/src/$(am__dirstamp) \ src/testing/gtest/src/$(DEPDIR)/$(am__dirstamp) src/testing/src/src_processor_map_serializers_unittest-gmock-all.$(OBJEXT): \ src/testing/src/$(am__dirstamp) \ src/testing/src/$(DEPDIR)/$(am__dirstamp) -src/processor/map_serializers_unittest$(EXEEXT): $(src_processor_map_serializers_unittest_OBJECTS) $(src_processor_map_serializers_unittest_DEPENDENCIES) src/processor/$(am__dirstamp) +src/processor/map_serializers_unittest$(EXEEXT): $(src_processor_map_serializers_unittest_OBJECTS) $(src_processor_map_serializers_unittest_DEPENDENCIES) $(EXTRA_src_processor_map_serializers_unittest_DEPENDENCIES) src/processor/$(am__dirstamp) @rm -f src/processor/map_serializers_unittest$(EXEEXT) $(CXXLINK) $(src_processor_map_serializers_unittest_OBJECTS) $(src_processor_map_serializers_unittest_LDADD) $(LIBS) src/processor/minidump_dump.$(OBJEXT): src/processor/$(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) $(EXTRA_src_processor_minidump_dump_DEPENDENCIES) src/processor/$(am__dirstamp) @rm -f src/processor/minidump_dump$(EXEEXT) $(CXXLINK) $(src_processor_minidump_dump_OBJECTS) $(src_processor_minidump_dump_LDADD) $(LIBS) src/processor/src_processor_minidump_processor_unittest-minidump_processor_unittest.$(OBJEXT): \ src/processor/$(am__dirstamp) \ src/processor/$(DEPDIR)/$(am__dirstamp) src/testing/gtest/src/src_processor_minidump_processor_unittest-gtest-all.$(OBJEXT): \ src/testing/gtest/src/$(am__dirstamp) \ src/testing/gtest/src/$(DEPDIR)/$(am__dirstamp) src/testing/src/src_processor_minidump_processor_unittest-gmock-all.$(OBJEXT): \ src/testing/src/$(am__dirstamp) \ src/testing/src/$(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) $(EXTRA_src_processor_minidump_processor_unittest_DEPENDENCIES) src/processor/$(am__dirstamp) @rm -f src/processor/minidump_processor_unittest$(EXEEXT) $(CXXLINK) $(src_processor_minidump_processor_unittest_OBJECTS) $(src_processor_minidump_processor_unittest_LDADD) $(LIBS) src/processor/minidump_stackwalk.$(OBJEXT): \ src/processor/$(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) $(EXTRA_src_processor_minidump_stackwalk_DEPENDENCIES) src/processor/$(am__dirstamp) @rm -f src/processor/minidump_stackwalk$(EXEEXT) $(CXXLINK) $(src_processor_minidump_stackwalk_OBJECTS) $(src_processor_minidump_stackwalk_LDADD) $(LIBS) src/common/src_processor_minidump_unittest-test_assembler.$(OBJEXT): \ src/common/$(am__dirstamp) \ src/common/$(DEPDIR)/$(am__dirstamp) src/processor/src_processor_minidump_unittest-minidump_unittest.$(OBJEXT): \ src/processor/$(am__dirstamp) \ src/processor/$(DEPDIR)/$(am__dirstamp) @@ -3068,35 +3095,35 @@ src/testing/gtest/src/$(am__dirstamp) \ src/testing/gtest/src/$(DEPDIR)/$(am__dirstamp) src/testing/gtest/src/src_processor_minidump_unittest-gtest_main.$(OBJEXT): \ src/testing/gtest/src/$(am__dirstamp) \ src/testing/gtest/src/$(DEPDIR)/$(am__dirstamp) src/testing/src/src_processor_minidump_unittest-gmock-all.$(OBJEXT): \ src/testing/src/$(am__dirstamp) \ src/testing/src/$(DEPDIR)/$(am__dirstamp) -src/processor/minidump_unittest$(EXEEXT): $(src_processor_minidump_unittest_OBJECTS) $(src_processor_minidump_unittest_DEPENDENCIES) src/processor/$(am__dirstamp) +src/processor/minidump_unittest$(EXEEXT): $(src_processor_minidump_unittest_OBJECTS) $(src_processor_minidump_unittest_DEPENDENCIES) $(EXTRA_src_processor_minidump_unittest_DEPENDENCIES) src/processor/$(am__dirstamp) @rm -f src/processor/minidump_unittest$(EXEEXT) $(CXXLINK) $(src_processor_minidump_unittest_OBJECTS) $(src_processor_minidump_unittest_LDADD) $(LIBS) src/processor/pathname_stripper_unittest.$(OBJEXT): \ src/processor/$(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) $(EXTRA_src_processor_pathname_stripper_unittest_DEPENDENCIES) src/processor/$(am__dirstamp) @rm -f src/processor/pathname_stripper_unittest$(EXEEXT) $(CXXLINK) $(src_processor_pathname_stripper_unittest_OBJECTS) $(src_processor_pathname_stripper_unittest_LDADD) $(LIBS) src/processor/postfix_evaluator_unittest.$(OBJEXT): \ src/processor/$(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) $(EXTRA_src_processor_postfix_evaluator_unittest_DEPENDENCIES) src/processor/$(am__dirstamp) @rm -f src/processor/postfix_evaluator_unittest$(EXEEXT) $(CXXLINK) $(src_processor_postfix_evaluator_unittest_OBJECTS) $(src_processor_postfix_evaluator_unittest_LDADD) $(LIBS) src/processor/range_map_unittest.$(OBJEXT): \ src/processor/$(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) $(EXTRA_src_processor_range_map_unittest_DEPENDENCIES) src/processor/$(am__dirstamp) @rm -f src/processor/range_map_unittest$(EXEEXT) $(CXXLINK) $(src_processor_range_map_unittest_OBJECTS) $(src_processor_range_map_unittest_LDADD) $(LIBS) src/common/src_processor_stackwalker_amd64_unittest-test_assembler.$(OBJEXT): \ src/common/$(am__dirstamp) \ src/common/$(DEPDIR)/$(am__dirstamp) src/processor/src_processor_stackwalker_amd64_unittest-stackwalker_amd64_unittest.$(OBJEXT): \ src/processor/$(am__dirstamp) \ src/processor/$(DEPDIR)/$(am__dirstamp) @@ -3104,17 +3131,17 @@ src/testing/gtest/src/$(am__dirstamp) \ src/testing/gtest/src/$(DEPDIR)/$(am__dirstamp) src/testing/gtest/src/src_processor_stackwalker_amd64_unittest-gtest_main.$(OBJEXT): \ src/testing/gtest/src/$(am__dirstamp) \ src/testing/gtest/src/$(DEPDIR)/$(am__dirstamp) src/testing/src/src_processor_stackwalker_amd64_unittest-gmock-all.$(OBJEXT): \ src/testing/src/$(am__dirstamp) \ src/testing/src/$(DEPDIR)/$(am__dirstamp) -src/processor/stackwalker_amd64_unittest$(EXEEXT): $(src_processor_stackwalker_amd64_unittest_OBJECTS) $(src_processor_stackwalker_amd64_unittest_DEPENDENCIES) src/processor/$(am__dirstamp) +src/processor/stackwalker_amd64_unittest$(EXEEXT): $(src_processor_stackwalker_amd64_unittest_OBJECTS) $(src_processor_stackwalker_amd64_unittest_DEPENDENCIES) $(EXTRA_src_processor_stackwalker_amd64_unittest_DEPENDENCIES) src/processor/$(am__dirstamp) @rm -f src/processor/stackwalker_amd64_unittest$(EXEEXT) $(CXXLINK) $(src_processor_stackwalker_amd64_unittest_OBJECTS) $(src_processor_stackwalker_amd64_unittest_LDADD) $(LIBS) src/common/src_processor_stackwalker_arm_unittest-test_assembler.$(OBJEXT): \ src/common/$(am__dirstamp) \ src/common/$(DEPDIR)/$(am__dirstamp) src/processor/src_processor_stackwalker_arm_unittest-stackwalker_arm_unittest.$(OBJEXT): \ src/processor/$(am__dirstamp) \ src/processor/$(DEPDIR)/$(am__dirstamp) @@ -3122,23 +3149,23 @@ src/testing/gtest/src/$(am__dirstamp) \ src/testing/gtest/src/$(DEPDIR)/$(am__dirstamp) src/testing/gtest/src/src_processor_stackwalker_arm_unittest-gtest_main.$(OBJEXT): \ src/testing/gtest/src/$(am__dirstamp) \ src/testing/gtest/src/$(DEPDIR)/$(am__dirstamp) src/testing/src/src_processor_stackwalker_arm_unittest-gmock-all.$(OBJEXT): \ src/testing/src/$(am__dirstamp) \ src/testing/src/$(DEPDIR)/$(am__dirstamp) -src/processor/stackwalker_arm_unittest$(EXEEXT): $(src_processor_stackwalker_arm_unittest_OBJECTS) $(src_processor_stackwalker_arm_unittest_DEPENDENCIES) src/processor/$(am__dirstamp) +src/processor/stackwalker_arm_unittest$(EXEEXT): $(src_processor_stackwalker_arm_unittest_OBJECTS) $(src_processor_stackwalker_arm_unittest_DEPENDENCIES) $(EXTRA_src_processor_stackwalker_arm_unittest_DEPENDENCIES) src/processor/$(am__dirstamp) @rm -f src/processor/stackwalker_arm_unittest$(EXEEXT) $(CXXLINK) $(src_processor_stackwalker_arm_unittest_OBJECTS) $(src_processor_stackwalker_arm_unittest_LDADD) $(LIBS) src/processor/stackwalker_selftest.$(OBJEXT): \ src/processor/$(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) $(EXTRA_src_processor_stackwalker_selftest_DEPENDENCIES) src/processor/$(am__dirstamp) @rm -f src/processor/stackwalker_selftest$(EXEEXT) $(CXXLINK) $(src_processor_stackwalker_selftest_OBJECTS) $(src_processor_stackwalker_selftest_LDADD) $(LIBS) src/common/src_processor_stackwalker_x86_unittest-test_assembler.$(OBJEXT): \ src/common/$(am__dirstamp) \ src/common/$(DEPDIR)/$(am__dirstamp) src/processor/src_processor_stackwalker_x86_unittest-stackwalker_x86_unittest.$(OBJEXT): \ src/processor/$(am__dirstamp) \ src/processor/$(DEPDIR)/$(am__dirstamp) @@ -3146,65 +3173,65 @@ src/testing/gtest/src/$(am__dirstamp) \ src/testing/gtest/src/$(DEPDIR)/$(am__dirstamp) src/testing/gtest/src/src_processor_stackwalker_x86_unittest-gtest_main.$(OBJEXT): \ src/testing/gtest/src/$(am__dirstamp) \ src/testing/gtest/src/$(DEPDIR)/$(am__dirstamp) src/testing/src/src_processor_stackwalker_x86_unittest-gmock-all.$(OBJEXT): \ src/testing/src/$(am__dirstamp) \ src/testing/src/$(DEPDIR)/$(am__dirstamp) -src/processor/stackwalker_x86_unittest$(EXEEXT): $(src_processor_stackwalker_x86_unittest_OBJECTS) $(src_processor_stackwalker_x86_unittest_DEPENDENCIES) src/processor/$(am__dirstamp) +src/processor/stackwalker_x86_unittest$(EXEEXT): $(src_processor_stackwalker_x86_unittest_OBJECTS) $(src_processor_stackwalker_x86_unittest_DEPENDENCIES) $(EXTRA_src_processor_stackwalker_x86_unittest_DEPENDENCIES) src/processor/$(am__dirstamp) @rm -f src/processor/stackwalker_x86_unittest$(EXEEXT) $(CXXLINK) $(src_processor_stackwalker_x86_unittest_OBJECTS) $(src_processor_stackwalker_x86_unittest_LDADD) $(LIBS) src/processor/src_processor_static_address_map_unittest-static_address_map_unittest.$(OBJEXT): \ src/processor/$(am__dirstamp) \ src/processor/$(DEPDIR)/$(am__dirstamp) src/testing/gtest/src/src_processor_static_address_map_unittest-gtest-all.$(OBJEXT): \ src/testing/gtest/src/$(am__dirstamp) \ src/testing/gtest/src/$(DEPDIR)/$(am__dirstamp) src/testing/src/src_processor_static_address_map_unittest-gmock-all.$(OBJEXT): \ src/testing/src/$(am__dirstamp) \ src/testing/src/$(DEPDIR)/$(am__dirstamp) -src/processor/static_address_map_unittest$(EXEEXT): $(src_processor_static_address_map_unittest_OBJECTS) $(src_processor_static_address_map_unittest_DEPENDENCIES) src/processor/$(am__dirstamp) +src/processor/static_address_map_unittest$(EXEEXT): $(src_processor_static_address_map_unittest_OBJECTS) $(src_processor_static_address_map_unittest_DEPENDENCIES) $(EXTRA_src_processor_static_address_map_unittest_DEPENDENCIES) src/processor/$(am__dirstamp) @rm -f src/processor/static_address_map_unittest$(EXEEXT) $(CXXLINK) $(src_processor_static_address_map_unittest_OBJECTS) $(src_processor_static_address_map_unittest_LDADD) $(LIBS) src/processor/src_processor_static_contained_range_map_unittest-static_contained_range_map_unittest.$(OBJEXT): \ src/processor/$(am__dirstamp) \ src/processor/$(DEPDIR)/$(am__dirstamp) src/testing/gtest/src/src_processor_static_contained_range_map_unittest-gtest-all.$(OBJEXT): \ src/testing/gtest/src/$(am__dirstamp) \ src/testing/gtest/src/$(DEPDIR)/$(am__dirstamp) src/testing/src/src_processor_static_contained_range_map_unittest-gmock-all.$(OBJEXT): \ src/testing/src/$(am__dirstamp) \ src/testing/src/$(DEPDIR)/$(am__dirstamp) -src/processor/static_contained_range_map_unittest$(EXEEXT): $(src_processor_static_contained_range_map_unittest_OBJECTS) $(src_processor_static_contained_range_map_unittest_DEPENDENCIES) src/processor/$(am__dirstamp) +src/processor/static_contained_range_map_unittest$(EXEEXT): $(src_processor_static_contained_range_map_unittest_OBJECTS) $(src_processor_static_contained_range_map_unittest_DEPENDENCIES) $(EXTRA_src_processor_static_contained_range_map_unittest_DEPENDENCIES) src/processor/$(am__dirstamp) @rm -f src/processor/static_contained_range_map_unittest$(EXEEXT) $(CXXLINK) $(src_processor_static_contained_range_map_unittest_OBJECTS) $(src_processor_static_contained_range_map_unittest_LDADD) $(LIBS) src/processor/src_processor_static_map_unittest-static_map_unittest.$(OBJEXT): \ src/processor/$(am__dirstamp) \ src/processor/$(DEPDIR)/$(am__dirstamp) src/testing/gtest/src/src_processor_static_map_unittest-gtest-all.$(OBJEXT): \ src/testing/gtest/src/$(am__dirstamp) \ src/testing/gtest/src/$(DEPDIR)/$(am__dirstamp) src/testing/src/src_processor_static_map_unittest-gmock-all.$(OBJEXT): \ src/testing/src/$(am__dirstamp) \ src/testing/src/$(DEPDIR)/$(am__dirstamp) -src/processor/static_map_unittest$(EXEEXT): $(src_processor_static_map_unittest_OBJECTS) $(src_processor_static_map_unittest_DEPENDENCIES) src/processor/$(am__dirstamp) +src/processor/static_map_unittest$(EXEEXT): $(src_processor_static_map_unittest_OBJECTS) $(src_processor_static_map_unittest_DEPENDENCIES) $(EXTRA_src_processor_static_map_unittest_DEPENDENCIES) src/processor/$(am__dirstamp) @rm -f src/processor/static_map_unittest$(EXEEXT) $(CXXLINK) $(src_processor_static_map_unittest_OBJECTS) $(src_processor_static_map_unittest_LDADD) $(LIBS) src/processor/src_processor_static_range_map_unittest-static_range_map_unittest.$(OBJEXT): \ src/processor/$(am__dirstamp) \ src/processor/$(DEPDIR)/$(am__dirstamp) src/testing/gtest/src/src_processor_static_range_map_unittest-gtest-all.$(OBJEXT): \ src/testing/gtest/src/$(am__dirstamp) \ src/testing/gtest/src/$(DEPDIR)/$(am__dirstamp) src/testing/src/src_processor_static_range_map_unittest-gmock-all.$(OBJEXT): \ src/testing/src/$(am__dirstamp) \ src/testing/src/$(DEPDIR)/$(am__dirstamp) -src/processor/static_range_map_unittest$(EXEEXT): $(src_processor_static_range_map_unittest_OBJECTS) $(src_processor_static_range_map_unittest_DEPENDENCIES) src/processor/$(am__dirstamp) +src/processor/static_range_map_unittest$(EXEEXT): $(src_processor_static_range_map_unittest_OBJECTS) $(src_processor_static_range_map_unittest_DEPENDENCIES) $(EXTRA_src_processor_static_range_map_unittest_DEPENDENCIES) src/processor/$(am__dirstamp) @rm -f src/processor/static_range_map_unittest$(EXEEXT) $(CXXLINK) $(src_processor_static_range_map_unittest_OBJECTS) $(src_processor_static_range_map_unittest_LDADD) $(LIBS) src/common/src_processor_synth_minidump_unittest-test_assembler.$(OBJEXT): \ src/common/$(am__dirstamp) \ src/common/$(DEPDIR)/$(am__dirstamp) src/processor/src_processor_synth_minidump_unittest-synth_minidump_unittest.$(OBJEXT): \ src/processor/$(am__dirstamp) \ src/processor/$(DEPDIR)/$(am__dirstamp) @@ -3215,17 +3242,17 @@ src/testing/gtest/src/$(am__dirstamp) \ src/testing/gtest/src/$(DEPDIR)/$(am__dirstamp) src/testing/src/src_processor_synth_minidump_unittest-gmock-all.$(OBJEXT): \ src/testing/src/$(am__dirstamp) \ src/testing/src/$(DEPDIR)/$(am__dirstamp) src/processor/src_processor_synth_minidump_unittest-synth_minidump.$(OBJEXT): \ src/processor/$(am__dirstamp) \ src/processor/$(DEPDIR)/$(am__dirstamp) -src/processor/synth_minidump_unittest$(EXEEXT): $(src_processor_synth_minidump_unittest_OBJECTS) $(src_processor_synth_minidump_unittest_DEPENDENCIES) src/processor/$(am__dirstamp) +src/processor/synth_minidump_unittest$(EXEEXT): $(src_processor_synth_minidump_unittest_OBJECTS) $(src_processor_synth_minidump_unittest_DEPENDENCIES) $(EXTRA_src_processor_synth_minidump_unittest_DEPENDENCIES) src/processor/$(am__dirstamp) @rm -f src/processor/synth_minidump_unittest$(EXEEXT) $(CXXLINK) $(src_processor_synth_minidump_unittest_OBJECTS) $(src_processor_synth_minidump_unittest_LDADD) $(LIBS) src/tools/linux/core2md/$(am__dirstamp): @$(MKDIR_P) src/tools/linux/core2md @: > src/tools/linux/core2md/$(am__dirstamp) src/tools/linux/core2md/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) src/tools/linux/core2md/$(DEPDIR) @: > src/tools/linux/core2md/$(DEPDIR)/$(am__dirstamp) @@ -3233,29 +3260,27 @@ src/tools/linux/core2md/$(am__dirstamp) \ src/tools/linux/core2md/$(DEPDIR)/$(am__dirstamp) src/client/linux/minidump_writer/linux_core_dumper.$(OBJEXT): \ src/client/linux/minidump_writer/$(am__dirstamp) \ src/client/linux/minidump_writer/$(DEPDIR)/$(am__dirstamp) src/common/linux/elf_core_dump.$(OBJEXT): \ src/common/linux/$(am__dirstamp) \ src/common/linux/$(DEPDIR)/$(am__dirstamp) -src/tools/linux/core2md/core2md$(EXEEXT): $(src_tools_linux_core2md_core2md_OBJECTS) $(src_tools_linux_core2md_core2md_DEPENDENCIES) src/tools/linux/core2md/$(am__dirstamp) +src/tools/linux/core2md/core2md$(EXEEXT): $(src_tools_linux_core2md_core2md_OBJECTS) $(src_tools_linux_core2md_core2md_DEPENDENCIES) $(EXTRA_src_tools_linux_core2md_core2md_DEPENDENCIES) src/tools/linux/core2md/$(am__dirstamp) @rm -f src/tools/linux/core2md/core2md$(EXEEXT) $(CXXLINK) $(src_tools_linux_core2md_core2md_OBJECTS) $(src_tools_linux_core2md_core2md_LDADD) $(LIBS) src/common/dwarf_cfi_to_module.$(OBJEXT): src/common/$(am__dirstamp) \ src/common/$(DEPDIR)/$(am__dirstamp) src/common/dwarf_cu_to_module.$(OBJEXT): src/common/$(am__dirstamp) \ src/common/$(DEPDIR)/$(am__dirstamp) src/common/dwarf_line_to_module.$(OBJEXT): src/common/$(am__dirstamp) \ src/common/$(DEPDIR)/$(am__dirstamp) src/common/language.$(OBJEXT): src/common/$(am__dirstamp) \ src/common/$(DEPDIR)/$(am__dirstamp) -src/common/module.$(OBJEXT): src/common/$(am__dirstamp) \ - src/common/$(DEPDIR)/$(am__dirstamp) src/common/stabs_reader.$(OBJEXT): src/common/$(am__dirstamp) \ src/common/$(DEPDIR)/$(am__dirstamp) src/common/stabs_to_module.$(OBJEXT): src/common/$(am__dirstamp) \ src/common/$(DEPDIR)/$(am__dirstamp) src/common/dwarf/bytereader.$(OBJEXT): \ src/common/dwarf/$(am__dirstamp) \ src/common/dwarf/$(DEPDIR)/$(am__dirstamp) src/common/dwarf/dwarf2diehandler.$(OBJEXT): \ @@ -3274,65 +3299,65 @@ @$(MKDIR_P) src/tools/linux/dump_syms @: > src/tools/linux/dump_syms/$(am__dirstamp) src/tools/linux/dump_syms/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) src/tools/linux/dump_syms/$(DEPDIR) @: > src/tools/linux/dump_syms/$(DEPDIR)/$(am__dirstamp) src/tools/linux/dump_syms/dump_syms.$(OBJEXT): \ src/tools/linux/dump_syms/$(am__dirstamp) \ src/tools/linux/dump_syms/$(DEPDIR)/$(am__dirstamp) -src/tools/linux/dump_syms/dump_syms$(EXEEXT): $(src_tools_linux_dump_syms_dump_syms_OBJECTS) $(src_tools_linux_dump_syms_dump_syms_DEPENDENCIES) src/tools/linux/dump_syms/$(am__dirstamp) +src/tools/linux/dump_syms/dump_syms$(EXEEXT): $(src_tools_linux_dump_syms_dump_syms_OBJECTS) $(src_tools_linux_dump_syms_dump_syms_DEPENDENCIES) $(EXTRA_src_tools_linux_dump_syms_dump_syms_DEPENDENCIES) src/tools/linux/dump_syms/$(am__dirstamp) @rm -f src/tools/linux/dump_syms/dump_syms$(EXEEXT) $(CXXLINK) $(src_tools_linux_dump_syms_dump_syms_OBJECTS) $(src_tools_linux_dump_syms_dump_syms_LDADD) $(LIBS) src/tools/linux/md2core/$(am__dirstamp): @$(MKDIR_P) src/tools/linux/md2core @: > src/tools/linux/md2core/$(am__dirstamp) src/tools/linux/md2core/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) src/tools/linux/md2core/$(DEPDIR) @: > src/tools/linux/md2core/$(DEPDIR)/$(am__dirstamp) src/tools/linux/md2core/minidump-2-core.$(OBJEXT): \ src/tools/linux/md2core/$(am__dirstamp) \ src/tools/linux/md2core/$(DEPDIR)/$(am__dirstamp) -src/tools/linux/md2core/minidump-2-core$(EXEEXT): $(src_tools_linux_md2core_minidump_2_core_OBJECTS) $(src_tools_linux_md2core_minidump_2_core_DEPENDENCIES) src/tools/linux/md2core/$(am__dirstamp) +src/tools/linux/md2core/minidump-2-core$(EXEEXT): $(src_tools_linux_md2core_minidump_2_core_OBJECTS) $(src_tools_linux_md2core_minidump_2_core_DEPENDENCIES) $(EXTRA_src_tools_linux_md2core_minidump_2_core_DEPENDENCIES) src/tools/linux/md2core/$(am__dirstamp) @rm -f src/tools/linux/md2core/minidump-2-core$(EXEEXT) $(CXXLINK) $(src_tools_linux_md2core_minidump_2_core_OBJECTS) $(src_tools_linux_md2core_minidump_2_core_LDADD) $(LIBS) src/testing/gtest/src/src_tools_linux_md2core_minidump_2_core_unittest-gtest-all.$(OBJEXT): \ src/testing/gtest/src/$(am__dirstamp) \ src/testing/gtest/src/$(DEPDIR)/$(am__dirstamp) src/testing/gtest/src/src_tools_linux_md2core_minidump_2_core_unittest-gtest_main.$(OBJEXT): \ src/testing/gtest/src/$(am__dirstamp) \ src/testing/gtest/src/$(DEPDIR)/$(am__dirstamp) src/testing/src/src_tools_linux_md2core_minidump_2_core_unittest-gmock-all.$(OBJEXT): \ src/testing/src/$(am__dirstamp) \ src/testing/src/$(DEPDIR)/$(am__dirstamp) src/tools/linux/md2core/src_tools_linux_md2core_minidump_2_core_unittest-minidump_memory_range_unittest.$(OBJEXT): \ src/tools/linux/md2core/$(am__dirstamp) \ src/tools/linux/md2core/$(DEPDIR)/$(am__dirstamp) -src/tools/linux/md2core/minidump_2_core_unittest$(EXEEXT): $(src_tools_linux_md2core_minidump_2_core_unittest_OBJECTS) $(src_tools_linux_md2core_minidump_2_core_unittest_DEPENDENCIES) src/tools/linux/md2core/$(am__dirstamp) +src/tools/linux/md2core/minidump_2_core_unittest$(EXEEXT): $(src_tools_linux_md2core_minidump_2_core_unittest_OBJECTS) $(src_tools_linux_md2core_minidump_2_core_unittest_DEPENDENCIES) $(EXTRA_src_tools_linux_md2core_minidump_2_core_unittest_DEPENDENCIES) src/tools/linux/md2core/$(am__dirstamp) @rm -f src/tools/linux/md2core/minidump_2_core_unittest$(EXEEXT) $(CXXLINK) $(src_tools_linux_md2core_minidump_2_core_unittest_OBJECTS) $(src_tools_linux_md2core_minidump_2_core_unittest_LDADD) $(LIBS) src/common/linux/http_upload.$(OBJEXT): \ src/common/linux/$(am__dirstamp) \ src/common/linux/$(DEPDIR)/$(am__dirstamp) src/tools/linux/symupload/$(am__dirstamp): @$(MKDIR_P) src/tools/linux/symupload @: > src/tools/linux/symupload/$(am__dirstamp) src/tools/linux/symupload/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) src/tools/linux/symupload/$(DEPDIR) @: > src/tools/linux/symupload/$(DEPDIR)/$(am__dirstamp) src/tools/linux/symupload/minidump_upload.$(OBJEXT): \ src/tools/linux/symupload/$(am__dirstamp) \ src/tools/linux/symupload/$(DEPDIR)/$(am__dirstamp) -src/tools/linux/symupload/minidump_upload$(EXEEXT): $(src_tools_linux_symupload_minidump_upload_OBJECTS) $(src_tools_linux_symupload_minidump_upload_DEPENDENCIES) src/tools/linux/symupload/$(am__dirstamp) +src/tools/linux/symupload/minidump_upload$(EXEEXT): $(src_tools_linux_symupload_minidump_upload_OBJECTS) $(src_tools_linux_symupload_minidump_upload_DEPENDENCIES) $(EXTRA_src_tools_linux_symupload_minidump_upload_DEPENDENCIES) src/tools/linux/symupload/$(am__dirstamp) @rm -f src/tools/linux/symupload/minidump_upload$(EXEEXT) $(CXXLINK) $(src_tools_linux_symupload_minidump_upload_OBJECTS) $(src_tools_linux_symupload_minidump_upload_LDADD) $(LIBS) src/tools/linux/symupload/sym_upload.$(OBJEXT): \ src/tools/linux/symupload/$(am__dirstamp) \ src/tools/linux/symupload/$(DEPDIR)/$(am__dirstamp) -src/tools/linux/symupload/sym_upload$(EXEEXT): $(src_tools_linux_symupload_sym_upload_OBJECTS) $(src_tools_linux_symupload_sym_upload_DEPENDENCIES) src/tools/linux/symupload/$(am__dirstamp) +src/tools/linux/symupload/sym_upload$(EXEEXT): $(src_tools_linux_symupload_sym_upload_OBJECTS) $(src_tools_linux_symupload_sym_upload_DEPENDENCIES) $(EXTRA_src_tools_linux_symupload_sym_upload_DEPENDENCIES) src/tools/linux/symupload/$(am__dirstamp) @rm -f src/tools/linux/symupload/sym_upload$(EXEEXT) $(CXXLINK) $(src_tools_linux_symupload_sym_upload_OBJECTS) $(src_tools_linux_symupload_sym_upload_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) -rm -f src/client/linux/crash_generation/crash_generation_client.$(OBJEXT) -rm -f src/client/linux/crash_generation/crash_generation_server.$(OBJEXT) -rm -f src/client/linux/handler/exception_handler.$(OBJEXT) @@ -5859,19 +5884,17 @@ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(docdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(docdir)" || exit $$?; \ done uninstall-dist_docDATA: @$(NORMAL_UNINSTALL) @list='$(dist_doc_DATA)'; test -n "$(docdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - test -n "$$files" || exit 0; \ - echo " ( cd '$(DESTDIR)$(docdir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(docdir)" && rm -f $$files + dir='$(DESTDIR)$(docdir)'; $(am__uninstall_files_from_dir) ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ @@ -5996,24 +6019,25 @@ report=""; \ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \ report="Please report to $(PACKAGE_BUGREPORT)"; \ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$report"; \ fi; \ dashes=`echo "$$dashes" | sed s/./=/g`; \ if test "$$failed" -eq 0; then \ - echo "$$grn$$dashes"; \ + col="$$grn"; \ else \ - echo "$$red$$dashes"; \ + col="$$red"; \ fi; \ - echo "$$banner"; \ - test -z "$$skipped" || echo "$$skipped"; \ - test -z "$$report" || echo "$$report"; \ - echo "$$dashes$$std"; \ + echo "$${col}$$dashes$${std}"; \ + echo "$${col}$$banner$${std}"; \ + test -z "$$skipped" || echo "$${col}$$skipped$${std}"; \ + test -z "$$report" || echo "$${col}$$report$${std}"; \ + echo "$${col}$$dashes$${std}"; \ test "$$failed" -eq 0; \ else :; fi distdir: $(DISTFILES) $(am__remove_distdir) test -d "$(distdir)" || mkdir "$(distdir)" @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ @@ -6051,25 +6075,29 @@ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ || chmod -R a+r "$(distdir)" dist-gzip: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__remove_distdir) dist-bzip2: distdir - tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 + tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 + $(am__remove_distdir) + +dist-lzip: distdir + tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz $(am__remove_distdir) dist-lzma: distdir tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma $(am__remove_distdir) dist-xz: distdir - tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz + tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz $(am__remove_distdir) dist-tarZ: distdir tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z $(am__remove_distdir) dist-shar: distdir shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz @@ -6090,16 +6118,18 @@ distcheck: dist case '$(DIST_ARCHIVES)' in \ *.tar.gz*) \ GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ *.tar.bz2*) \ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ *.tar.lzma*) \ lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\ + *.tar.lz*) \ + lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ *.tar.xz*) \ xz -dc $(distdir).tar.xz | $(am__untar) ;;\ *.tar.Z*) \ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ *.shar.gz*) \ GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ *.zip*) \ unzip $(distdir).zip ;;\ @@ -6109,16 +6139,17 @@ mkdir $(distdir)/_inst chmod a-w $(distdir) test -d $(distdir)/_build || exit 0; \ dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ && am__cwd=`pwd` \ && $(am__cd) $(distdir)/_build \ && ../configure --srcdir=.. --prefix="$$dc_install_base" \ + $(AM_DISTCHECK_CONFIGURE_FLAGS) \ $(DISTCHECK_CONFIGURE_FLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) dvi \ && $(MAKE) $(AM_MAKEFLAGS) check \ && $(MAKE) $(AM_MAKEFLAGS) install \ && $(MAKE) $(AM_MAKEFLAGS) installcheck \ && $(MAKE) $(AM_MAKEFLAGS) uninstall \ && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ @@ -6137,18 +6168,26 @@ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ && cd "$$am__cwd" \ || exit 1 $(am__remove_distdir) @(echo "$(distdir) archives ready for distribution: "; \ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' distuninstallcheck: - @$(am__cd) '$(distuninstallcheck_dir)' \ - && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ + @test -n '$(distuninstallcheck_dir)' || { \ + echo 'ERROR: trying to run $@ with an empty' \ + '$$(distuninstallcheck_dir)' >&2; \ + exit 1; \ + }; \ + $(am__cd) '$(distuninstallcheck_dir)' || { \ + echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ + exit 1; \ + }; \ + test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left after uninstall:" ; \ if test -n "$(DESTDIR)"; then \ echo " (check DESTDIR support)"; \ fi ; \ $(distuninstallcheck_listfiles) ; \ exit 1; } >&2 distcleancheck: distclean @if test '$(srcdir)' = . ; then \ @@ -6173,20 +6212,25 @@ install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -rm -f src/$(am__dirstamp) @@ -6308,18 +6352,18 @@ uninstall-am: uninstall-binPROGRAMS uninstall-dist_docDATA \ uninstall-libLIBRARIES .MAKE: check-am install-am install-strip .PHONY: CTAGS GTAGS all all-am am--refresh check check-TESTS check-am \ clean clean-binPROGRAMS clean-checkPROGRAMS clean-generic \ clean-libLIBRARIES clean-noinstLIBRARIES clean-noinstPROGRAMS \ - ctags dist dist-all dist-bzip2 dist-gzip dist-lzma dist-shar \ - dist-tarZ dist-xz dist-zip distcheck distclean \ + ctags dist dist-all dist-bzip2 dist-gzip dist-lzip dist-lzma \ + dist-shar dist-tarZ dist-xz dist-zip distcheck distclean \ distclean-compile distclean-generic distclean-hdr \ distclean-tags distcleancheck distdir distuninstallcheck dvi \ dvi-am html html-am info info-am install install-am \ install-binPROGRAMS install-data install-data-am \ install-dist_docDATA install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-libLIBRARIES install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ diff --git a/aclocal.m4 b/aclocal.m4 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -1,61 +1,65 @@ -# generated automatically by aclocal 1.11.1 -*- Autoconf -*- +# generated automatically by aclocal 1.11.3 -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -# 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. +# 2005, 2006, 2007, 2008, 2009, 2010, 2011 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. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.65],, -[m4_warning([this file was generated for autoconf 2.65. +m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.68],, +[m4_warning([this file was generated for autoconf 2.68. You have another version of autoconf. It may work, but is not guaranteed to. If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically `autoreconf'.])]) -# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008, 2011 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. +# serial 1 + # AM_AUTOMAKE_VERSION(VERSION) # ---------------------------- # Automake X.Y traces this macro to ensure aclocal.m4 has been # generated from the m4 files accompanying Automake X.Y. # (This private macro should not be called outside this file.) AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version='1.11' 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.11.1], [], +m4_if([$1], [1.11.3], [], [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 # ------------------------------- # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -[AM_AUTOMAKE_VERSION([1.11.1])dnl +[AM_AUTOMAKE_VERSION([1.11.3])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) # Figure out how to run the assembler. -*- Autoconf -*- # Copyright (C) 2001, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # @@ -74,22 +78,24 @@ test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS AC_ARG_VAR([CCAS], [assembler compiler command (defaults to CC)]) AC_ARG_VAR([CCASFLAGS], [assembler compiler flags (defaults to CFLAGS)]) _AM_IF_OPTION([no-dependencies],, [_AM_DEPENDENCIES([CCAS])])dnl ]) # AM_AUX_DIR_EXPAND -*- Autoconf -*- -# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +# Copyright (C) 2001, 2003, 2005, 2011 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. +# serial 1 + # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets # $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to # `$srcdir', `$srcdir/..', or `$srcdir/../..'. # # Of course, Automake must honor this variable whenever it calls a # tool from the auxiliary directory. The problem is that $srcdir (and # therefore $ac_aux_dir as well) can be either absolute or relative, # depending on how configure is run. This is pretty annoying, since @@ -161,24 +167,24 @@ $1_FALSE= fi AC_CONFIG_COMMANDS_PRE( [if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then AC_MSG_ERROR([[conditional "$1" was never defined. Usually this means the macro was only invoked conditionally.]]) fi])]) -# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009 -# Free Software Foundation, Inc. +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009, +# 2010, 2011 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. -# serial 10 +# serial 12 # 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, # will think it sees a *use*, and therefore will trigger all it's # C support machinery. Also note that it means that autoscan, seeing # CC etc. in the Makefile, will ask for an AC_PROG_CC use... @@ -208,16 +214,17 @@ AC_CACHE_CHECK([dependency style of $depcc], [am_cv_$1_dependencies_compiler_type], [if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. + rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a @@ -272,17 +279,17 @@ # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; - msvisualcpp | msvcmsys) + msvc7 | msvc7msys | msvisualcpp | msvcmsys) # This compiler won't grok `-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac @@ -337,20 +344,23 @@ # ------------ AC_DEFUN([AM_DEP_TRACK], [AC_ARG_ENABLE(dependency-tracking, [ --disable-dependency-tracking speeds up one-time build --enable-dependency-tracking do not reject slow dependency extractors]) if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' + am__nodep='_no' fi AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) AC_SUBST([AMDEPBACKSLASH])dnl _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl +AC_SUBST([am__nodep])dnl +_AM_SUBST_NOTMAKE([am__nodep])dnl ]) # Generate code to set up dependency tracking. -*- Autoconf -*- # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation @@ -574,22 +584,25 @@ $_am_arg | $_am_arg:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) -# Copyright (C) 2001, 2003, 2005, 2008 Free Software Foundation, Inc. +# Copyright (C) 2001, 2003, 2005, 2008, 2011 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. +# serial 1 + # AM_PROG_INSTALL_SH # ------------------ # Define $install_sh. AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl if test x"${install_sh}" != xset; then case $am_aux_dir in *\ * | *\ *) @@ -746,22 +759,25 @@ if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= AC_MSG_WARN([`missing' script is too old or missing]) fi ]) -# Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +# Copyright (C) 2003, 2004, 2005, 2006, 2011 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. +# serial 1 + # AM_PROG_MKDIR_P # --------------- # Check for `mkdir -p'. AC_DEFUN([AM_PROG_MKDIR_P], [AC_PREREQ([2.60])dnl AC_REQUIRE([AC_PROG_MKDIR_P])dnl dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P, dnl while keeping a definition of mkdir_p for backward compatibility. @@ -774,53 +790,56 @@ case $mkdir_p in [[\\/$]]* | ?:[[\\/]]*) ;; */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; esac ]) # Helper functions for option handling. -*- Autoconf -*- -# Copyright (C) 2001, 2002, 2003, 2005, 2008 Free Software Foundation, Inc. +# Copyright (C) 2001, 2002, 2003, 2005, 2008, 2010 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. -# serial 4 +# serial 5 # _AM_MANGLE_OPTION(NAME) # ----------------------- AC_DEFUN([_AM_MANGLE_OPTION], [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) # _AM_SET_OPTION(NAME) -# ------------------------------ +# -------------------- # Set option NAME. Presently that only means defining a flag for this option. AC_DEFUN([_AM_SET_OPTION], [m4_define(_AM_MANGLE_OPTION([$1]), 1)]) # _AM_SET_OPTIONS(OPTIONS) -# ---------------------------------- +# ------------------------ # OPTIONS is a space-separated list of Automake options. AC_DEFUN([_AM_SET_OPTIONS], [m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) # _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) # ------------------------------------------- # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) -# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +# Copyright (C) 2001, 2003, 2005, 2011 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. +# serial 1 + # AM_RUN_LOG(COMMAND) # ------------------- # Run COMMAND, save the exit status in ac_status, and log it. # (This has been adapted from Autoconf's _AC_RUN_LOG macro.) AC_DEFUN([AM_RUN_LOG], [{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD ac_status=$? @@ -887,22 +906,24 @@ # Ok. : else AC_MSG_ERROR([newly created file is older than distributed files! Check your system clock]) fi AC_MSG_RESULT(yes)]) -# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +# Copyright (C) 2001, 2003, 2005, 2011 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. +# serial 1 + # AM_PROG_INSTALL_STRIP # --------------------- # One issue with vendor `install' (even GNU) is that you can't # specify the program used to strip binaries. This is especially # annoying in cross-compiling environments, where the build's strip # is unlikely to handle the host's binaries. # Fortunately install-sh will honor a STRIPPROG variable, so we # always use install-sh in `make install-strip', and initialize @@ -915,38 +936,38 @@ # will honor the `STRIP' environment variable to overrule this program. dnl Don't test for $cross_compiling = yes, because it might be `maybe'. if test "$cross_compiling" != no; then AC_CHECK_TOOL([STRIP], [strip], :) fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) -# Copyright (C) 2006, 2008 Free Software Foundation, Inc. +# Copyright (C) 2006, 2008, 2010 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. -# serial 2 +# serial 3 # _AM_SUBST_NOTMAKE(VARIABLE) # --------------------------- # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. # This macro is traced by Automake. AC_DEFUN([_AM_SUBST_NOTMAKE]) # AM_SUBST_NOTMAKE(VARIABLE) -# --------------------------- +# -------------------------- # Public sister of _AM_SUBST_NOTMAKE. AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) # Check how to create a tarball. -*- Autoconf -*- -# Copyright (C) 2004, 2005 Free Software Foundation, Inc. +# Copyright (C) 2004, 2005, 2012 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. # serial 2 # _AM_PROG_TAR(FORMAT) @@ -958,20 +979,21 @@ # writing to stdout a FORMAT-tarball containing the directory # $tardir. # tardir=directory && $(am__tar) > result.tar # # Substitute a variable $(am__untar) that extract such # a tarball read from stdin. # $(am__untar) < result.tar AC_DEFUN([_AM_PROG_TAR], -[# Always define AMTAR for backward compatibility. -AM_MISSING_PROG([AMTAR], [tar]) +[# Always define AMTAR for backward compatibility. Yes, it's still used +# in the wild :-( We should find a proper way to deprecate it ... +AC_SUBST([AMTAR], ['$${TAR-tar}']) m4_if([$1], [v7], - [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'], + [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], [m4_case([$1], [ustar],, [pax],, [m4_fatal([Unknown tar format])]) AC_MSG_CHECKING([how to create a $1 tar archive]) # Loop over all known methods to create a tar archive until one works. _am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' _am_tools=${am_cv_prog_tar_$1-$_am_tools} # Do not fold the above two line into one, because Tru64 sh and # Solaris sh will not grok spaces in the rhs of `-'. diff --git a/configure b/configure --- a/configure +++ b/configure @@ -1,18 +1,18 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.65 for breakpad 0.1. +# Generated by GNU Autoconf 2.68 for breakpad 0.1. # # Report bugs to . # # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, -# Inc. +# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software +# Foundation, Inc. # # # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## @@ -86,16 +86,17 @@ # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. +as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break @@ -211,21 +212,28 @@ fi; } IFS=$as_save_IFS if test "x$CONFIG_SHELL" != x; then : # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also # works around shells that cannot unset nonexistent variables. + # Preserve -v and -x to the replacement shell. BASH_ENV=/dev/null ENV=/dev/null (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV export CONFIG_SHELL - exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} + case $- in # (((( + *v*x* | *x*v* ) as_opts=-vx ;; + *v* ) as_opts=-v ;; + *x* ) as_opts=-x ;; + * ) as_opts= ;; + esac + exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"} fi if test x$as_have_required = xno; then : $as_echo "$0: This script requires a shell more modern than all" $as_echo "$0: the shells that I found on your system." if test x${ZSH_VERSION+set} = xset ; then $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" $as_echo "$0: be upgraded to zsh 4.3.4 or later." @@ -314,17 +322,17 @@ /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive @@ -354,29 +362,29 @@ else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith -# as_fn_error ERROR [LINENO LOG_FD] -# --------------------------------- +# as_fn_error STATUS ERROR [LINENO LOG_FD] +# ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with status $?, using 1 if that was 0. +# script with STATUS, using 1 if that was 0. as_fn_error () { - as_status=$?; test $as_status -eq 0 && as_status=1 - if test "$3"; then - as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3 + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi - $as_echo "$as_me: error: $1" >&2 + $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false @@ -528,17 +536,17 @@ # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" test -n "$DJDIR" || exec 7<&0 &1 # Name of the host. -# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, +# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` # # Initializations. # ac_default_prefix=/usr/local ac_clean_files= @@ -627,16 +635,17 @@ am__fastdepCCAS_FALSE am__fastdepCCAS_TRUE CCASDEPMODE CCASFLAGS CCAS am__fastdepCC_FALSE am__fastdepCC_TRUE CCDEPMODE +am__nodep AMDEPBACKSLASH AMDEP_FALSE AMDEP_TRUE am__quote am__include DEPDIR OBJEXT EXEEXT @@ -794,18 +803,19 @@ # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval $ac_prev=\$ac_option ac_prev= continue fi case $ac_option in - *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; - *) ac_optarg=yes ;; + *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *=) ac_optarg= ;; + *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. case $ac_dashdash$ac_option in --) ac_dashdash=yes ;; @@ -840,17 +850,17 @@ -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) datarootdir=$ac_optarg ;; -disable-* | --disable-*) ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error "invalid feature name: $ac_useropt" + as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" ac_unrecognized_sep=', ';; @@ -866,17 +876,17 @@ ac_prev=dvidir ;; -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) dvidir=$ac_optarg ;; -enable-* | --enable-*) ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error "invalid feature name: $ac_useropt" + as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" ac_unrecognized_sep=', ';; @@ -1070,33 +1080,33 @@ -version | --version | --versio | --versi | --vers | -V) ac_init_version=: ;; -with-* | --with-*) ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error "invalid package name: $ac_useropt" + as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=\$ac_optarg ;; -without-* | --without-*) ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error "invalid package name: $ac_useropt" + as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" ac_unrecognized_sep=', ';; @@ -1116,50 +1126,50 @@ -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; - -*) as_fn_error "unrecognized option: \`$ac_option' -Try \`$0 --help' for more information." + -*) as_fn_error $? "unrecognized option: \`$ac_option' +Try \`$0 --help' for more information" ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. case $ac_envvar in #( '' | [0-9]* | *[!_$as_cr_alnum]* ) - as_fn_error "invalid variable name: \`$ac_envvar'" ;; + as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; esac eval $ac_envvar=\$ac_optarg export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 - : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} + : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" ;; esac done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` - as_fn_error "missing argument to $ac_option" + as_fn_error $? "missing argument to $ac_option" fi if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; - fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;; + fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi # Check all directory arguments for consistency. for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ @@ -1172,49 +1182,49 @@ ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` eval $ac_var=\$ac_val;; esac # Be sure to have absolute directory names. case $ac_val in [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac - as_fn_error "expected an absolute directory name for --$ac_var: $ac_val" + as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" done # There might be people who depend on the old broken behavior: `$host' # used to hold the argument of --host etc. # FIXME: To remove some day. build=$build_alias host=$host_alias target=$target_alias # FIXME: To remove some day. if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe - $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. - If a cross compiler is detected then cross compile mode will be used." >&2 + $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host. + If a cross compiler is detected then cross compile mode will be used" >&2 elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi fi ac_tool_prefix= test -n "$host_alias" && ac_tool_prefix=$host_alias- test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || - as_fn_error "working directory cannot be determined" + as_fn_error $? "working directory cannot be determined" test "X$ac_ls_di" = "X$ac_pwd_ls_di" || - as_fn_error "pwd does not report name of working directory" + as_fn_error $? "pwd does not report name of working directory" # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then the parent directory. ac_confdir=`$as_dirname -- "$as_myself" || $as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ @@ -1243,21 +1253,21 @@ if test ! -r "$srcdir/$ac_unique_file"; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." - as_fn_error "cannot find sources ($ac_unique_file) in $srcdir" + as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( - cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg" + cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then srcdir=. fi # Remove unnecessary trailing slashes from srcdir. # Double slashes in file names in object file debugging info # mess up M-x gdb in Emacs. @@ -1287,17 +1297,17 @@ Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit - -q, --quiet, --silent do not print \`checking...' messages + -q, --quiet, --silent do not print \`checking ...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or \`..'] Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [$ac_default_prefix] @@ -1440,19 +1450,19 @@ cd "$ac_pwd" || { ac_status=$?; break; } done fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF breakpad configure 0.1 -generated by GNU Autoconf 2.65 - -Copyright (C) 2009 Free Software Foundation, Inc. +generated by GNU Autoconf 2.68 + +Copyright (C) 2010 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF exit fi ## ------------------------ ## ## Autoconf initialization. ## @@ -1486,17 +1496,17 @@ } && test -s conftest.$ac_objext; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_compile # ac_fn_c_try_cpp LINENO # ---------------------- # Try to preprocess conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_cpp () @@ -1512,28 +1522,28 @@ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } >/dev/null && { + test $ac_status = 0; } > conftest.i && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_cpp # ac_fn_cxx_try_compile LINENO # ---------------------------- # Try to compile conftest.$ac_ext, and return whether this succeeded. ac_fn_cxx_try_compile () @@ -1561,17 +1571,17 @@ } && test -s conftest.$ac_objext; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_cxx_try_compile # ac_fn_c_try_run LINENO # ---------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. Assumes # that executables *can* be run. @@ -1603,17 +1613,17 @@ else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=$ac_status fi rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_run # ac_fn_c_try_link LINENO # ----------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_link () @@ -1649,33 +1659,33 @@ ac_retval=1 fi # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would # interfere with the next link command; also delete a directory that is # left behind by Apple's compiler. We do this before executing the actions. rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_link # ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES # ------------------------------------------------------- # Tests whether HEADER exists, giving a warning if it cannot be compiled using # the include files in INCLUDES and setting the cache variable VAR # accordingly. ac_fn_c_check_header_mongrel () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : + if eval \${$3+:} false; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } else # Is the header compilable? { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 @@ -1701,17 +1711,17 @@ /* end confdefs.h. */ #include <$2> _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : ac_header_preproc=yes else ac_header_preproc=no fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 $as_echo "$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( yes:no: ) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 $as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} @@ -1724,49 +1734,47 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 $as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 $as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 $as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} -( cat <<\_ASBOX -## --------------------------------------------------- ## +( $as_echo "## --------------------------------------------------- ## ## Report this to google-breakpad-dev@googlegroups.com ## -## --------------------------------------------------- ## -_ASBOX +## --------------------------------------------------- ##" ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else eval "$3=\$ac_header_compiler" fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } fi - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_mongrel # ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES # ------------------------------------------------------- # Tests whether HEADER exists and can be compiled using the include files in # INCLUDES, setting the cache variable VAR accordingly. ac_fn_c_check_header_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> _ACEOF if ac_fn_c_try_compile "$LINENO"; then : @@ -1774,25 +1782,25 @@ else eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_compile cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by breakpad $as_me 0.1, which was -generated by GNU Autoconf 2.65. Invocation command line was +generated by GNU Autoconf 2.68. Invocation command line was $ $0 $@ _ACEOF exec 5>>config.log { cat <<_ASUNAME ## --------- ## @@ -1892,21 +1900,19 @@ # would cause problems or look ugly. # WARNING: Use '\'' to represent an apostrophe within the trap. # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. trap 'exit_status=$? # Save into config.log some information that might help in debugging. { echo - cat <<\_ASBOX -## ---------------- ## + $as_echo "## ---------------- ## ## Cache variables. ## -## ---------------- ## -_ASBOX +## ---------------- ##" echo # The following way of writing the cache mishandles newlines in values, ( for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( @@ -1930,56 +1936,50 @@ *) sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) echo - cat <<\_ASBOX -## ----------------- ## + $as_echo "## ----------------- ## ## Output variables. ## -## ----------------- ## -_ASBOX +## ----------------- ##" echo for ac_var in $ac_subst_vars do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo if test -n "$ac_subst_files"; then - cat <<\_ASBOX -## ------------------- ## + $as_echo "## ------------------- ## ## File substitutions. ## -## ------------------- ## -_ASBOX +## ------------------- ##" echo for ac_var in $ac_subst_files do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo fi if test -s confdefs.h; then - cat <<\_ASBOX -## ----------- ## + $as_echo "## ----------- ## ## confdefs.h. ## -## ----------- ## -_ASBOX +## ----------- ##" echo cat confdefs.h echo fi test "$ac_signal" != 0 && $as_echo "$as_me: caught signal $ac_signal" $as_echo "$as_me: exit $exit_status" } >&5 @@ -2024,32 +2024,41 @@ _ACEOF # Let the site file select an alternate cache file if it wants to. # Prefer an explicitly selected file to automatically selected ones. ac_site_file1=NONE ac_site_file2=NONE if test -n "$CONFIG_SITE"; then - ac_site_file1=$CONFIG_SITE + # We do not want a PATH search for config.site. + case $CONFIG_SITE in #(( + -*) ac_site_file1=./$CONFIG_SITE;; + */*) ac_site_file1=$CONFIG_SITE;; + *) ac_site_file1=./$CONFIG_SITE;; + esac elif test "x$prefix" != xNONE; then ac_site_file1=$prefix/share/config.site ac_site_file2=$prefix/etc/config.site else ac_site_file1=$ac_default_prefix/share/config.site ac_site_file2=$ac_default_prefix/etc/config.site fi for ac_site_file in "$ac_site_file1" "$ac_site_file2" do test "x$ac_site_file" = xNONE && continue if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 $as_echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 - . "$ac_site_file" + . "$ac_site_file" \ + || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "failed to load site script $ac_site_file +See \`config.log' for more details" "$LINENO" 5; } fi done if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special files # actually), so we avoid doing that. DJGPP emulates it as a regular file. if test /dev/null != "$cache_file" && test -f "$cache_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 @@ -2115,77 +2124,83 @@ esac fi done if $ac_cache_corrupted; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} - as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 + as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 fi ## -------------------- ## ## Main body of script. ## ## -------------------- ## ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_aux_dir= for ac_dir in autotools "$srcdir"/autotools; do - for ac_t in install-sh install.sh shtool; do - if test -f "$ac_dir/$ac_t"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/$ac_t -c" - break 2 - fi - done + if test -f "$ac_dir/install-sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break + elif test -f "$ac_dir/install.sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break + elif test -f "$ac_dir/shtool"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/shtool install -c" + break + fi done if test -z "$ac_aux_dir"; then - as_fn_error "cannot find install-sh, install.sh, or shtool in autotools \"$srcdir\"/autotools" "$LINENO" 5 + as_fn_error $? "cannot find install-sh, install.sh, or shtool in autotools \"$srcdir\"/autotools" "$LINENO" 5 fi # These three variables are undocumented and unsupported, # and are intended to be withdrawn in a future Autoconf release. # They can cause serious problems if a builder's source tree is in a directory # whose full name contains unusual characters. ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. # Make sure we can run config.sub. $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || - as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 + as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 $as_echo_n "checking build system type... " >&6; } -if test "${ac_cv_build+set}" = set; then : +if ${ac_cv_build+:} false; then : $as_echo_n "(cached) " >&6 else ac_build_alias=$build_alias test "x$ac_build_alias" = x && ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` test "x$ac_build_alias" = x && - as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5 + as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || - as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 $as_echo "$ac_cv_build" >&6; } case $ac_cv_build in *-*-*) ;; -*) as_fn_error "invalid value of canonical build" "$LINENO" 5;; +*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; esac build=$ac_cv_build ac_save_IFS=$IFS; IFS='-' set x $ac_cv_build shift build_cpu=$1 build_vendor=$2 shift; shift @@ -2193,32 +2208,32 @@ # except with old shells: build_os=$* IFS=$ac_save_IFS case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 $as_echo_n "checking host system type... " >&6; } -if test "${ac_cv_host+set}" = set; then : +if ${ac_cv_host+:} false; then : $as_echo_n "(cached) " >&6 else if test "x$host_alias" = x; then ac_cv_host=$ac_cv_build else ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || - as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 $as_echo "$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; -*) as_fn_error "invalid value of canonical host" "$LINENO" 5;; +*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; esac host=$ac_cv_host ac_save_IFS=$IFS; IFS='-' set x $ac_cv_host shift host_cpu=$1 host_vendor=$2 shift; shift @@ -2244,17 +2259,17 @@ # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. # Reject install programs that cannot install multiple files. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 $as_echo_n "checking for a BSD-compatible install... " >&6; } if test -z "$INSTALL"; then -if test "${ac_cv_path_install+set}" = set; then : +if ${ac_cv_path_install+:} false; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. @@ -2331,21 +2346,21 @@ sleep 1 echo timestamp > conftest.file # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' ' case `pwd` in *[\\\"\#\$\&\'\`$am_lf]*) - as_fn_error "unsafe absolute working directory name" "$LINENO" 5;; + as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;; esac case $srcdir in *[\\\"\#\$\&\'\`$am_lf\ \ ]*) - as_fn_error "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;; + as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;; esac # Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( @@ -2357,27 +2372,27 @@ rm -f conftest.file if test "$*" != "X $srcdir/configure conftest.file" \ && test "$*" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". - as_fn_error "ls -t appears to fail. Make sure there is not a broken + as_fn_error $? "ls -t appears to fail. Make sure there is not a broken alias in your environment" "$LINENO" 5 fi test "$2" = conftest.file ) then # Ok. : else - as_fn_error "newly created file is older than distributed files! + as_fn_error $? "newly created file is older than distributed files! Check your system clock" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } test "$program_prefix" != NONE && program_transform_name="s&^&$program_prefix&;$program_transform_name" # Use a double $ so make ignores it. test "$program_suffix" != NONE && @@ -2421,17 +2436,17 @@ # tool to use in cross-compilation environments, therefore Automake # will honor the `STRIP' environment variable to overrule this program. if test "$cross_compiling" != no; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_STRIP+set}" = set; then : +if ${ac_cv_prog_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do @@ -2461,17 +2476,17 @@ fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then : +if ${ac_cv_prog_ac_ct_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do @@ -2514,17 +2529,17 @@ fi fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 $as_echo_n "checking for a thread-safe mkdir -p... " >&6; } if test -z "$MKDIR_P"; then - if test "${ac_cv_path_mkdir+set}" = set; then : + if ${ac_cv_path_mkdir+:} false; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in mkdir gmkdir; do @@ -2565,17 +2580,17 @@ esac for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_AWK+set}" = set; then : +if ${ac_cv_prog_AWK+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do @@ -2605,25 +2620,25 @@ test -n "$AWK" && break done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } set x ${MAKE-make} ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` -if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : $as_echo_n "(cached) " >&6 else cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF -# GNU make sometimes prints "make[1]: Entering...", which would confuse us. +# GNU make sometimes prints "make[1]: Entering ...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; *) eval ac_cv_prog_make_${ac_make}_set=no;; esac rm -f conftest.make fi @@ -2647,17 +2662,17 @@ rmdir .tst 2>/dev/null if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." am__isrc=' -I$(srcdir)' # test to see if srcdir already configured if test -f $srcdir/config.status; then - as_fn_error "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 + as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else @@ -2693,19 +2708,19 @@ AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} # We need awk for the "check" target. The system "awk" is bad on # some platforms. -# Always define AMTAR for backward compatibility. - -AMTAR=${AMTAR-"${am_missing_run}tar"} +# Always define AMTAR for backward compatibility. Yes, it's still used +# in the wild :-( We should find a proper way to deprecate it ... +AMTAR='$${TAR-tar}' { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to create a ustar tar archive" >&5 $as_echo_n "checking how to create a ustar tar archive... " >&6; } # Loop over all known methods to create a tar archive until one works. _am_tools='gnutar plaintar pax cpio none' _am_tools=${am_cv_prog_tar_ustar-$_am_tools} # Do not fold the above two line into one, because Tru64 sh and @@ -2771,17 +2786,17 @@ ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } grep GrepMe conftest.dir/file >/dev/null 2>&1 && break fi done rm -rf conftest.dir -if test "${am_cv_prog_tar_ustar+set}" = set; then : +if ${am_cv_prog_tar_ustar+:} false; then : $as_echo_n "(cached) " >&6 else am_cv_prog_tar_ustar=$_am_tool fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_tar_ustar" >&5 $as_echo "$am_cv_prog_tar_ustar" >&6; } @@ -2839,16 +2854,17 @@ # Check whether --enable-dependency-tracking was given. if test "${enable_dependency_tracking+set}" = set; then : enableval=$enable_dependency_tracking; fi if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' + am__nodep='_no' fi if test "x$enable_dependency_tracking" != xno; then AMDEP_TRUE= AMDEP_FALSE='#' else AMDEP_TRUE='#' AMDEP_FALSE= fi @@ -2859,17 +2875,17 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then : +if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do @@ -2899,17 +2915,17 @@ fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : +if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do @@ -2952,17 +2968,17 @@ fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then : +if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do @@ -2992,17 +3008,17 @@ fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then : +if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH @@ -3051,17 +3067,17 @@ if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl.exe do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then : +if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do @@ -3095,17 +3111,17 @@ if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl.exe do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : +if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do @@ -3149,18 +3165,18 @@ fi fi fi test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "no acceptable C compiler found in \$PATH -See \`config.log' for more details." "$LINENO" 5; } +as_fn_error $? "no acceptable C compiler found in \$PATH +See \`config.log' for more details" "$LINENO" 5; } # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in @@ -3264,19 +3280,18 @@ if test -z "$ac_file"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ as_fn_set_status 77 -as_fn_error "C compiler cannot create executables -See \`config.log' for more details." "$LINENO" 5; }; } +as_fn_error 77 "C compiler cannot create executables +See \`config.log' for more details" "$LINENO" 5; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 $as_echo_n "checking for C compiler default output file name... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 $as_echo "$ac_file" >&6; } @@ -3308,18 +3323,18 @@ *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` break;; * ) break;; esac done else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details." "$LINENO" 5; } +as_fn_error $? "cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest conftest$ac_cv_exeext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 $as_echo "$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT @@ -3366,30 +3381,30 @@ test $ac_status = 0; }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "cannot run C compiled programs. +as_fn_error $? "cannot run C compiled programs. If you meant to cross compile, use \`--host'. -See \`config.log' for more details." "$LINENO" 5; } +See \`config.log' for more details" "$LINENO" 5; } fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 $as_echo "$cross_compiling" >&6; } rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 $as_echo_n "checking for suffix of object files... " >&6; } -if test "${ac_cv_objext+set}" = set; then : +if ${ac_cv_objext+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { @@ -3419,28 +3434,28 @@ esac done else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "cannot compute suffix of object files: cannot compile -See \`config.log' for more details." "$LINENO" 5; } +as_fn_error $? "cannot compute suffix of object files: cannot compile +See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 $as_echo "$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; } -if test "${ac_cv_c_compiler_gnu+set}" = set; then : +if ${ac_cv_c_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { @@ -3467,17 +3482,17 @@ GCC=yes else GCC= fi ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 $as_echo_n "checking whether $CC accepts -g... " >&6; } -if test "${ac_cv_prog_cc_g+set}" = set; then : +if ${ac_cv_prog_cc_g+:} false; then : $as_echo_n "(cached) " >&6 else ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -3545,17 +3560,17 @@ if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } -if test "${ac_cv_prog_cc_c89+set}" = set; then : +if ${ac_cv_prog_cc_c89+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include @@ -3644,25 +3659,26 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CC" am_compiler_list= { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 $as_echo_n "checking dependency style of $depcc... " >&6; } -if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then : +if ${am_cv_CC_dependencies_compiler_type+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. + rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a @@ -3712,17 +3728,17 @@ # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; - msvisualcpp | msvcmsys) + msvc7 | msvc7msys | msvisualcpp | msvcmsys) # This compiler won't grok `-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac @@ -3778,25 +3794,26 @@ test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS depcc="$CCAS" am_compiler_list= { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 $as_echo_n "checking dependency style of $depcc... " >&6; } -if test "${am_cv_CCAS_dependencies_compiler_type+set}" = set; then : +if ${am_cv_CCAS_dependencies_compiler_type+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. + rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a @@ -3844,17 +3861,17 @@ # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; - msvisualcpp | msvcmsys) + msvc7 | msvc7msys | msvisualcpp | msvcmsys) # This compiler won't grok `-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac @@ -3909,17 +3926,17 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then : +if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do @@ -3949,17 +3966,17 @@ fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : +if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do @@ -4002,17 +4019,17 @@ fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then : +if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do @@ -4042,17 +4059,17 @@ fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then : +if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH @@ -4101,17 +4118,17 @@ if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl.exe do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then : +if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do @@ -4145,17 +4162,17 @@ if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl.exe do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : +if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do @@ -4199,18 +4216,18 @@ fi fi fi test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "no acceptable C compiler found in \$PATH -See \`config.log' for more details." "$LINENO" 5; } +as_fn_error $? "no acceptable C compiler found in \$PATH +See \`config.log' for more details" "$LINENO" 5; } # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in @@ -4229,17 +4246,17 @@ fi rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; } -if test "${ac_cv_c_compiler_gnu+set}" = set; then : +if ${ac_cv_c_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { @@ -4266,17 +4283,17 @@ GCC=yes else GCC= fi ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 $as_echo_n "checking whether $CC accepts -g... " >&6; } -if test "${ac_cv_prog_cc_g+set}" = set; then : +if ${ac_cv_prog_cc_g+:} false; then : $as_echo_n "(cached) " >&6 else ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -4344,17 +4361,17 @@ if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } -if test "${ac_cv_prog_cc_c89+set}" = set; then : +if ${ac_cv_prog_cc_c89+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include @@ -4443,25 +4460,26 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CC" am_compiler_list= { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 $as_echo_n "checking dependency style of $depcc... " >&6; } -if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then : +if ${am_cv_CC_dependencies_compiler_type+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. + rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a @@ -4511,17 +4529,17 @@ # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; - msvisualcpp | msvcmsys) + msvc7 | msvc7msys | msvisualcpp | msvcmsys) # This compiler won't grok `-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac @@ -4575,17 +4593,17 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC and cc understand -c and -o together" >&5 $as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cc understands -c and -o together" >&5 $as_echo_n "checking whether cc understands -c and -o together... " >&6; } fi set dummy $CC; ac_cc=`$as_echo "$2" | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` -if { as_var=ac_cv_prog_cc_${ac_cc}_c_o; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${ac_cv_prog_cc_${ac_cc}_c_o+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { @@ -4704,17 +4722,17 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 $as_echo_n "checking how to run the C preprocessor... " >&6; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then - if test "${ac_cv_prog_CPP+set}" = set; then : + if ${ac_cv_prog_CPP+:} false; then : $as_echo_n "(cached) " >&6 else # Double quotes because CPP needs to be expanded for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" do ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do @@ -4734,37 +4752,37 @@ Syntax error _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext +rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : break fi done ac_cv_prog_CPP=$CPP fi @@ -4793,44 +4811,44 @@ Syntax error _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext +rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details." "$LINENO" 5; } +as_fn_error $? "C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details" "$LINENO" 5; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu @@ -4845,17 +4863,17 @@ else if test -n "$ac_tool_prefix"; then for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CXX+set}" = set; then : +if ${ac_cv_prog_CXX+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do @@ -4889,17 +4907,17 @@ if test -z "$CXX"; then ac_ct_CXX=$CXX for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then : +if ${ac_cv_prog_ac_ct_CXX+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do @@ -4967,17 +4985,17 @@ fi rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5 $as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } -if test "${ac_cv_cxx_compiler_gnu+set}" = set; then : +if ${ac_cv_cxx_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { @@ -5004,17 +5022,17 @@ GXX=yes else GXX= fi ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 $as_echo_n "checking whether $CXX accepts -g... " >&6; } -if test "${ac_cv_prog_cxx_g+set}" = set; then : +if ${ac_cv_prog_cxx_g+:} false; then : $as_echo_n "(cached) " >&6 else ac_save_cxx_werror_flag=$ac_cxx_werror_flag ac_cxx_werror_flag=yes ac_cv_prog_cxx_g=no CXXFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -5090,25 +5108,26 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CXX" am_compiler_list= { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 $as_echo_n "checking dependency style of $depcc... " >&6; } -if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then : +if ${am_cv_CXX_dependencies_compiler_type+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. + rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a @@ -5158,17 +5177,17 @@ # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; - msvisualcpp | msvcmsys) + msvc7 | msvc7msys | msvisualcpp | msvcmsys) # This compiler won't grok `-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac @@ -5218,17 +5237,17 @@ fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_RANLIB+set}" = set; then : +if ${ac_cv_prog_RANLIB+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do @@ -5258,17 +5277,17 @@ fi if test -z "$ac_cv_prog_RANLIB"; then ac_ct_RANLIB=$RANLIB # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then : +if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_RANLIB"; then ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do @@ -5318,17 +5337,17 @@ GCC_FALSE= fi # let the Makefile know if we're gcc { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 $as_echo_n "checking for grep that handles long lines and -e... " >&6; } -if test "${ac_cv_path_GREP+set}" = set; then : +if ${ac_cv_path_GREP+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$GREP"; then ac_path_GREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do @@ -5367,31 +5386,31 @@ esac $ac_path_GREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_GREP"; then - as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_GREP=$GREP fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 $as_echo "$ac_cv_path_GREP" >&6; } GREP="$ac_cv_path_GREP" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 $as_echo_n "checking for egrep... " >&6; } -if test "${ac_cv_path_EGREP+set}" = set; then : +if ${ac_cv_path_EGREP+:} false; then : $as_echo_n "(cached) " >&6 else if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 then ac_cv_path_EGREP="$GREP -E" else if test -z "$EGREP"; then ac_path_EGREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST @@ -5433,32 +5452,32 @@ esac $ac_path_EGREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_EGREP"; then - as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_EGREP=$EGREP fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 $as_echo "$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } -if test "${ac_cv_header_stdc+set}" = set; then : +if ${ac_cv_header_stdc+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #include @@ -5785,17 +5804,17 @@ PTHREAD_CFLAGS="$flag" ;; pthread-config) # Extract the first word of "pthread-config", so it can be a program name with args. set dummy pthread-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ax_pthread_config+set}" = set; then : +if ${ac_cv_prog_ax_pthread_config+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ax_pthread_config"; then ac_cv_prog_ax_pthread_config="$ax_pthread_config" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do @@ -5946,17 +5965,17 @@ # More AIX lossage: must compile with xlc_r or cc_r if test x"$GCC" != xyes; then for ac_prog in xlc_r cc_r do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_PTHREAD_CC+set}" = set; then : +if ${ac_cv_prog_PTHREAD_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$PTHREAD_CC"; then ac_cv_prog_PTHREAD_CC="$PTHREAD_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do @@ -6018,31 +6037,30 @@ # On IRIX 5.3, sys/types and inttypes.h are conflicting. for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ inttypes.h stdint.h unistd.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default " -eval as_val=\$$as_ac_Header - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_header in a.out.h do : ac_fn_c_check_header_mongrel "$LINENO" "a.out.h" "ac_cv_header_a_out_h" "$ac_includes_default" -if test "x$ac_cv_header_a_out_h" = x""yes; then : +if test "x$ac_cv_header_a_out_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_A_OUT_H 1 _ACEOF fi done @@ -6084,17 +6102,17 @@ CFLAGS="${CFLAGS} -m32" CXXFLAGS="${CXXFLAGS} -m32" usem32=true ;; no) usem32=false ;; *) - as_fn_error "bad value ${enableval} for --enable-m32" "$LINENO" 5 + as_fn_error $? "bad value ${enableval} for --enable-m32" "$LINENO" 5 ;; esac else usem32=false fi # Check whether --enable-processor was given. @@ -6102,17 +6120,17 @@ enableval=$enable_processor; case "${enableval}" in yes) disable_processor=false ;; no) disable_processor=true ;; *) - as_fn_error "bad value ${enableval} for --disable-processor" "$LINENO" 5 + as_fn_error $? "bad value ${enableval} for --disable-processor" "$LINENO" 5 ;; esac else disable_processor=false fi if test x$disable_processor = xtrue; then DISABLE_PROCESSOR_TRUE= @@ -6128,47 +6146,47 @@ enableval=$enable_tools; case "${enableval}" in yes) disable_tools=false ;; no) disable_tools=true ;; *) - as_fn_error "bad value ${enableval} for --disable-tools" "$LINENO" 5 + as_fn_error $? "bad value ${enableval} for --disable-tools" "$LINENO" 5 ;; esac else disable_tools=false fi if test x$disable_tools = xtrue; then DISABLE_TOOLS_TRUE= DISABLE_TOOLS_FALSE='#' else DISABLE_TOOLS_TRUE='#' DISABLE_TOOLS_FALSE= fi if test x$LINUX_HOST = xfalse -a x$disable_processor = xtrue -a x$disable_tools = xtrue; then - as_fn_error "--disable-processor and --disable-tools were specified, and not building for Linux. Nothing to build!" "$LINENO" 5 + as_fn_error $? "--disable-processor and --disable-tools were specified, and not building for Linux. Nothing to build!" "$LINENO" 5 fi # Check whether --enable-selftest was given. if test "${enable_selftest+set}" = set; then : enableval=$enable_selftest; case "${enableval}" in yes) selftest=true ;; no) selftest=false ;; *) - as_fn_error "bad value ${enableval} for --enable-selftest" "$LINENO" 5 + as_fn_error $? "bad value ${enableval} for --enable-selftest" "$LINENO" 5 ;; esac else selftest=false fi if test x$selftest = xtrue; then SELFTEST_TRUE= @@ -6240,35 +6258,47 @@ t clear :clear s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then - test "x$cache_file" != "x/dev/null" && + if test "x$cache_file" != "x/dev/null"; then { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 $as_echo "$as_me: updating cache $cache_file" >&6;} - cat confcache >$cache_file + if test ! -f "$cache_file" || test -h "$cache_file"; then + cat confcache >"$cache_file" + else + case $cache_file in #( + */* | ?:*) + mv -f confcache "$cache_file"$$ && + mv -f "$cache_file"$$ "$cache_file" ;; #( + *) + mv -f confcache "$cache_file" ;; + esac + fi + fi else { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' DEFS=-DHAVE_CONFIG_H ac_libobjs= ac_ltlibobjs= +U= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ac_i=`$as_echo "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' @@ -6282,61 +6312,61 @@ am__EXEEXT_TRUE= am__EXEEXT_FALSE='#' else am__EXEEXT_TRUE='#' am__EXEEXT_FALSE= fi if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then - as_fn_error "conditional \"AMDEP\" was never defined. + as_fn_error $? "conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then - as_fn_error "conditional \"am__fastdepCC\" was never defined. + as_fn_error $? "conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCCAS_TRUE}" && test -z "${am__fastdepCCAS_FALSE}"; then - as_fn_error "conditional \"am__fastdepCCAS\" was never defined. + as_fn_error $? "conditional \"am__fastdepCCAS\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then - as_fn_error "conditional \"am__fastdepCC\" was never defined. + as_fn_error $? "conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then - as_fn_error "conditional \"am__fastdepCXX\" was never defined. + as_fn_error $? "conditional \"am__fastdepCXX\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${GCC_TRUE}" && test -z "${GCC_FALSE}"; then - as_fn_error "conditional \"GCC\" was never defined. + as_fn_error $? "conditional \"GCC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${LINUX_HOST_TRUE}" && test -z "${LINUX_HOST_FALSE}"; then - as_fn_error "conditional \"LINUX_HOST\" was never defined. + as_fn_error $? "conditional \"LINUX_HOST\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${ANDROID_HOST_TRUE}" && test -z "${ANDROID_HOST_FALSE}"; then - as_fn_error "conditional \"ANDROID_HOST\" was never defined. + as_fn_error $? "conditional \"ANDROID_HOST\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${DISABLE_PROCESSOR_TRUE}" && test -z "${DISABLE_PROCESSOR_FALSE}"; then - as_fn_error "conditional \"DISABLE_PROCESSOR\" was never defined. + as_fn_error $? "conditional \"DISABLE_PROCESSOR\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${DISABLE_TOOLS_TRUE}" && test -z "${DISABLE_TOOLS_FALSE}"; then - as_fn_error "conditional \"DISABLE_TOOLS\" was never defined. + as_fn_error $? "conditional \"DISABLE_TOOLS\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${SELFTEST_TRUE}" && test -z "${SELFTEST_FALSE}"; then - as_fn_error "conditional \"SELFTEST\" was never defined. + as_fn_error $? "conditional \"SELFTEST\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi -: ${CONFIG_STATUS=./config.status} +: "${CONFIG_STATUS=./config.status}" ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 $as_echo "$as_me: creating $CONFIG_STATUS" >&6;} as_write_fail=0 cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 #! $SHELL @@ -6427,16 +6457,17 @@ # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. +as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break @@ -6472,29 +6503,29 @@ export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH -# as_fn_error ERROR [LINENO LOG_FD] -# --------------------------------- +# as_fn_error STATUS ERROR [LINENO LOG_FD] +# ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with status $?, using 1 if that was 0. +# script with STATUS, using 1 if that was 0. as_fn_error () { - as_status=$?; test $as_status -eq 0 && as_status=1 - if test "$3"; then - as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3 + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi - $as_echo "$as_me: error: $1" >&2 + $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () @@ -6680,17 +6711,17 @@ /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false @@ -6734,17 +6765,17 @@ test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Save the log message, to keep $0 and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" This file was extended by breakpad $as_me 0.1, which was -generated by GNU Autoconf 2.65. Invocation command line was +generated by GNU Autoconf 2.68. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ on `(hostname || uname -n) 2>/dev/null | sed 1q` @@ -6800,20 +6831,20 @@ Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ breakpad config.status 0.1 -configured by $0, generated by GNU Autoconf 2.65, +configured by $0, generated by GNU Autoconf 2.68, with options \\"\$ac_cs_config\\" -Copyright (C) 2009 Free Software Foundation, Inc. +Copyright (C) 2010 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." ac_pwd='$ac_pwd' srcdir='$srcdir' INSTALL='$INSTALL' MKDIR_P='$MKDIR_P' AWK='$AWK' @@ -6821,21 +6852,26 @@ _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # The default lists apply if the user does not specify any file. ac_need_defaults=: while test $# != 0 do case $1 in - --*=*) + --*=?*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; + --*=) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg= + ac_shift=: + ;; *) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; esac case $ac_option in @@ -6847,38 +6883,39 @@ --config | --confi | --conf | --con | --co | --c ) $as_echo "$ac_cs_config"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; esac as_fn_append CONFIG_FILES " '$ac_optarg'" ac_need_defaults=false;; --header | --heade | --head | --hea ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; esac as_fn_append CONFIG_HEADERS " '$ac_optarg'" ac_need_defaults=false;; --he | --h) # Conflict between --help and --header - as_fn_error "ambiguous option: \`$1' + as_fn_error $? "ambiguous option: \`$1' Try \`$0 --help' for more information.";; --help | --hel | -h ) $as_echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. - -*) as_fn_error "unrecognized option: \`$1' + -*) as_fn_error $? "unrecognized option: \`$1' Try \`$0 --help' for more information." ;; *) as_fn_append ac_config_targets " $1" ac_need_defaults=false ;; esac shift done @@ -6926,17 +6963,17 @@ # Handling of arguments. for ac_config_target in $ac_config_targets do case $ac_config_target in "src/config.h") CONFIG_HEADERS="$CONFIG_HEADERS src/config.h" ;; "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; - *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;; + *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; esac done # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. @@ -6949,82 +6986,84 @@ # Have a temporary directory for convenience. Make it in the build tree # simply because there is no reason against having it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. # Hook for its removal unless debugging. # Note that there is a small window in which the directory will not be cleaned: # after its creation but before its name has been assigned to `$tmp'. $debug || { - tmp= + tmp= ac_tmp= trap 'exit_status=$? - { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status + : "${ac_tmp:=$tmp}" + { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status ' 0 trap 'as_fn_exit 1' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && - test -n "$tmp" && test -d "$tmp" + test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") -} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5 +} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 +ac_tmp=$tmp # Set up the scripts for CONFIG_FILES section. # No need to generate them if there are no CONFIG_FILES. # This happens for instance with `./config.status config.h'. if test -n "$CONFIG_FILES"; then ac_cr=`echo X | tr X '\015'` # On cygwin, bash can eat \r inside `` if the user requested igncr. # But we know of no other shell where ac_cr would be empty at this # point, so we can use a bashism as a fallback. if test "x$ac_cr" = x; then eval ac_cr=\$\'\\r\' fi ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then - ac_cs_awk_cr='\r' + ac_cs_awk_cr='\\r' else ac_cs_awk_cr=$ac_cr fi -echo 'BEGIN {' >"$tmp/subs1.awk" && +echo 'BEGIN {' >"$ac_tmp/subs1.awk" && _ACEOF { echo "cat >conf$$subs.awk <<_ACEOF" && echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && echo "_ACEOF" } >conf$$subs.sh || - as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 -ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'` + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 +ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` ac_delim='%!_!# ' for ac_last_try in false false false false false :; do . ./conf$$subs.sh || - as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then - as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done rm -f conf$$subs.sh cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -cat >>"\$tmp/subs1.awk" <<\\_ACAWK && +cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && _ACEOF sed -n ' h s/^/S["/; s/!.*/"]=/ p g s/^[^!]*!// :repl @@ -7062,17 +7101,17 @@ /^[^""]/{ N s/\n// } ' >>$CONFIG_STATUS || ac_write_fail=1 rm -f conf$$subs.awk cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK -cat >>"\$tmp/subs1.awk" <<_ACAWK && +cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && for (key in S) S_is_set[key] = 1 FS = "" } { line = $ 0 nfields = split(line, field, "@") substed = 0 @@ -7094,59 +7133,67 @@ _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" else cat -fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \ - || as_fn_error "could not setup config files machinery" "$LINENO" 5 +fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ + || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 _ACEOF -# VPATH may cause trouble with some makes, so we remove $(srcdir), -# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and +# VPATH may cause trouble with some makes, so we remove sole $(srcdir), +# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=/{ -s/:*\$(srcdir):*/:/ -s/:*\${srcdir}:*/:/ -s/:*@srcdir@:*/:/ -s/^\([^=]*=[ ]*\):*/\1/ + ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ +h +s/// +s/^/:/ +s/[ ]*$/:/ +s/:\$(srcdir):/:/g +s/:\${srcdir}:/:/g +s/:@srcdir@:/:/g +s/^:*// s/:*$// +x +s/\(=[ ]*\).*/\1/ +G +s/\n// s/^[^=]*=[ ]*$// }' fi cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 fi # test -n "$CONFIG_FILES" # Set up the scripts for CONFIG_HEADERS section. # No need to generate them if there are no CONFIG_HEADERS. # This happens for instance with `./config.status Makefile'. if test -n "$CONFIG_HEADERS"; then -cat >"$tmp/defines.awk" <<\_ACAWK || +cat >"$ac_tmp/defines.awk" <<\_ACAWK || BEGIN { _ACEOF # Transform confdefs.h into an awk script `defines.awk', embedded as # here-document in config.status, that substitutes the proper values into # config.h.in to produce config.h. # Create a delimiter string that does not exist in confdefs.h, to ease # handling of long lines. ac_delim='%!_!# ' for ac_last_try in false false :; do - ac_t=`sed -n "/$ac_delim/p" confdefs.h` - if test -z "$ac_t"; then + ac_tt=`sed -n "/$ac_delim/p" confdefs.h` + if test -z "$ac_tt"; then break elif $ac_last_try; then - as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5 + as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done # For the awk script, D is an array of macro values keyed by name, # likewise P contains macro parameters if any. Preserve backslash # newline sequences. @@ -7221,30 +7268,30 @@ next } } } { print } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - as_fn_error "could not setup config headers machinery" "$LINENO" 5 + as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 fi # test -n "$CONFIG_HEADERS" eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" shift for ac_tag do case $ac_tag in :[FHLC]) ac_mode=$ac_tag; continue;; esac case $ac_mode$ac_tag in :[FHL]*:*);; - :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;; + :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac ac_save_IFS=$IFS IFS=: set x $ac_tag IFS=$ac_save_IFS shift @@ -7253,26 +7300,26 @@ case $ac_mode in :L) ac_source=$1;; :[FH]) ac_file_inputs= for ac_f do case $ac_f in - -) ac_f="$tmp/stdin";; + -) ac_f="$ac_tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style, # because $ac_f cannot contain `:'. test -f "$ac_f" || case $ac_f in [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || - as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;; + as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; esac case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac as_fn_append ac_file_inputs " '$ac_f'" done # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ @@ -7288,18 +7335,18 @@ case $configure_input in #( *\&* | *\|* | *\\* ) ac_sed_conf_input=`$as_echo "$configure_input" | sed 's/[\\\\&|]/\\\\&/g'`;; #( *) ac_sed_conf_input=$configure_input;; esac case $ac_tag in - *:-:* | *:-) cat >"$tmp/stdin" \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 ;; + *:-:* | *:-) cat >"$ac_tmp/stdin" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; esac ;; esac ac_dir=`$as_dirname -- "$ac_file" || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ @@ -7425,56 +7472,57 @@ s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t s&@builddir@&$ac_builddir&;t t s&@abs_builddir@&$ac_abs_builddir&;t t s&@abs_top_builddir@&$ac_abs_top_builddir&;t t s&@INSTALL@&$ac_INSTALL&;t t s&@MKDIR_P@&$ac_MKDIR_P&;t t $ac_datarootdir_hack " -eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 +eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ + >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && - { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && - { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && + { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ + "$ac_tmp/out"`; test -z "$ac_out"; } && { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined." >&5 +which seems to be undefined. Please make sure it is defined" >&5 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined." >&2;} - - rm -f "$tmp/stdin" +which seems to be undefined. Please make sure it is defined" >&2;} + + rm -f "$ac_tmp/stdin" case $ac_file in - -) cat "$tmp/out" && rm -f "$tmp/out";; - *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";; + -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; + *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; esac \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; :H) # # CONFIG_HEADER # if test x"$ac_file" != x-; then { $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" - } >"$tmp/config.h" \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 - if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" + } >"$ac_tmp/config.h" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 $as_echo "$as_me: $ac_file is unchanged" >&6;} else rm -f "$ac_file" - mv "$tmp/config.h" "$ac_file" \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 + mv "$ac_tmp/config.h" "$ac_file" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 fi else $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \ - || as_fn_error "could not create -" "$LINENO" 5 + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ + || as_fn_error $? "could not create -" "$LINENO" 5 fi # Compute "$ac_file"'s index in $config_headers. _am_arg="$ac_file" _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $_am_arg | $_am_arg:* ) break ;; @@ -7614,17 +7662,17 @@ done # for ac_tag as_fn_exit 0 _ACEOF ac_clean_files=$ac_clean_files_save test $ac_write_fail = 0 || - as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5 + as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 # configure is writing to config.log, and then calls config.status. # config.status does its own redirection, appending to config.log. # Unfortunately, on DOS this fails, as config.log is still kept open # by configure, so config.status won't be able to write to it; its # output is simply discarded. So we exec the FD to /dev/null, # effectively closing config.log, so it can be properly (re)opened and @@ -7635,15 +7683,15 @@ ac_config_status_args= test "$silent" = yes && ac_config_status_args="$ac_config_status_args --quiet" exec 5>/dev/null $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. - $ac_cs_success || as_fn_exit $? + $ac_cs_success || as_fn_exit 1 fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi diff --git a/src/common/dwarf_cfi_to_module.cc b/src/common/dwarf_cfi_to_module.cc --- a/src/common/dwarf_cfi_to_module.cc +++ b/src/common/dwarf_cfi_to_module.cc @@ -122,17 +122,18 @@ return_address_ = return_address; // Breakpad STACK CFI records must provide a .ra rule, but DWARF CFI // may not establish any rule for .ra if the return address column // is an ordinary register, and that register holds the return // address on entry to the function. So establish an initial .ra // rule citing the return address register. if (return_address_ < register_names_.size()) - entry_->initial_rules[ra_name_] = register_names_[return_address_]; + entry_->initial_rules[ra_name_] + = Module::Expr(register_names_[return_address_], 0, false); return true; } string DwarfCFIToModule::RegisterName(int i) { assert(entry_); if (i < 0) { assert(i == kCFARegister); @@ -148,69 +149,65 @@ reporter_->UnnamedRegister(entry_offset_, reg); char buf[30]; sprintf(buf, "unnamed_register%u", reg); return buf; } void DwarfCFIToModule::Record(Module::Address address, int reg, - const string &rule) { + const Module::Expr &rule) { assert(entry_); - // Place the name in our global set of strings, and then use the string - // from the set. Even though the assignment looks like a copy, all the - // major std::string implementations use reference counting internally, - // so the effect is to have all our data structures share copies of rules - // whenever possible. Since register names are drawn from a - // vector, register names are already shared. - string shared_rule = *common_strings_.insert(rule).first; - // Is this one of this entry's initial rules? if (address == entry_->address) - entry_->initial_rules[RegisterName(reg)] = shared_rule; + entry_->initial_rules[RegisterName(reg)] = rule; // File it under the appropriate address. else - entry_->rule_changes[address][RegisterName(reg)] = shared_rule; + entry_->rule_changes[address][RegisterName(reg)] = rule; } bool DwarfCFIToModule::UndefinedRule(uint64 address, int reg) { reporter_->UndefinedNotSupported(entry_offset_, RegisterName(reg)); // Treat this as a non-fatal error. return true; } bool DwarfCFIToModule::SameValueRule(uint64 address, int reg) { - ostringstream s; - s << RegisterName(reg); - Record(address, reg, s.str()); + // reg + 0 + Module::Expr rule + = Module::Expr(RegisterName(reg), 0, false); + Record(address, reg, rule); return true; } bool DwarfCFIToModule::OffsetRule(uint64 address, int reg, int base_register, long offset) { - ostringstream s; - s << RegisterName(base_register) << " " << offset << " + ^"; - Record(address, reg, s.str()); + // *(base_register + offset) + Module::Expr rule + = Module::Expr(RegisterName(base_register), offset, true); + Record(address, reg, rule); return true; } bool DwarfCFIToModule::ValOffsetRule(uint64 address, int reg, int base_register, long offset) { - ostringstream s; - s << RegisterName(base_register) << " " << offset << " +"; - Record(address, reg, s.str()); + // base_register + offset + Module::Expr rule + = Module::Expr(RegisterName(base_register), offset, false); + Record(address, reg, rule); return true; } bool DwarfCFIToModule::RegisterRule(uint64 address, int reg, int base_register) { - ostringstream s; - s << RegisterName(base_register); - Record(address, reg, s.str()); + // base_register + 0 + Module::Expr rule + = Module::Expr(RegisterName(base_register), 0, false); + Record(address, reg, rule); return true; } bool DwarfCFIToModule::ExpressionRule(uint64 address, int reg, const string &expression) { reporter_->ExpressionsNotSupported(entry_offset_, RegisterName(reg)); // Treat this as a non-fatal error. return true; diff --git a/src/common/dwarf_cfi_to_module.h b/src/common/dwarf_cfi_to_module.h --- a/src/common/dwarf_cfi_to_module.h +++ b/src/common/dwarf_cfi_to_module.h @@ -147,17 +147,17 @@ const string &expression); virtual bool End(); private: // Return the name to use for register REG. string RegisterName(int i); // Record RULE for register REG at ADDRESS. - void Record(Module::Address address, int reg, const string &rule); + void Record(Module::Address address, int reg, const Module::Expr &rule); // The module to which we should add entries. Module *module_; // Map from register numbers to register names. const vector ®ister_names_; // The reporter to use to report problems. diff --git a/src/common/dwarf_cfi_to_module_unittest.cc b/src/common/dwarf_cfi_to_module_unittest.cc --- a/src/common/dwarf_cfi_to_module_unittest.cc +++ b/src/common/dwarf_cfi_to_module_unittest.cc @@ -153,69 +153,71 @@ } TEST_F(Rule, SameValueRule) { StartEntry(); ASSERT_TRUE(handler.SameValueRule(entry_address, 6)); ASSERT_TRUE(handler.End()); CheckEntry(); Module::RuleMap expected_initial; - expected_initial["reg6"] = "reg6"; + expected_initial["reg6"] = Module::Expr("reg6", 0, false); EXPECT_THAT(entries[0]->initial_rules, ContainerEq(expected_initial)); EXPECT_EQ(0U, entries[0]->rule_changes.size()); } TEST_F(Rule, OffsetRule) { StartEntry(); ASSERT_TRUE(handler.OffsetRule(entry_address + 1, return_reg, DwarfCFIToModule::kCFARegister, 16927065)); ASSERT_TRUE(handler.End()); CheckEntry(); EXPECT_EQ(0U, entries[0]->initial_rules.size()); Module::RuleChangeMap expected_changes; - expected_changes[entry_address + 1][".ra"] = ".cfa 16927065 + ^"; + expected_changes[entry_address + 1][".ra"] = + Module::Expr(".cfa", 16927065, true); EXPECT_THAT(entries[0]->rule_changes, ContainerEq(expected_changes)); } TEST_F(Rule, OffsetRuleNegative) { StartEntry(); ASSERT_TRUE(handler.OffsetRule(entry_address + 1, DwarfCFIToModule::kCFARegister, 4, -34530721)); ASSERT_TRUE(handler.End()); CheckEntry(); EXPECT_EQ(0U, entries[0]->initial_rules.size()); Module::RuleChangeMap expected_changes; - expected_changes[entry_address + 1][".cfa"] = "reg4 -34530721 + ^"; + expected_changes[entry_address + 1][".cfa"] = + Module::Expr("reg4", -34530721, true); EXPECT_THAT(entries[0]->rule_changes, ContainerEq(expected_changes)); } TEST_F(Rule, ValOffsetRule) { // Use an unnamed register number, to exercise that branch of RegisterName. EXPECT_CALL(reporter, UnnamedRegister(_, 11)); StartEntry(); ASSERT_TRUE(handler.ValOffsetRule(entry_address + 0x5ab7, DwarfCFIToModule::kCFARegister, 11, 61812979)); ASSERT_TRUE(handler.End()); CheckEntry(); EXPECT_EQ(0U, entries[0]->initial_rules.size()); Module::RuleChangeMap expected_changes; expected_changes[entry_address + 0x5ab7][".cfa"] = - "unnamed_register11 61812979 +"; + Module::Expr("unnamed_register11", 61812979, false); EXPECT_THAT(entries[0]->rule_changes, ContainerEq(expected_changes)); } TEST_F(Rule, RegisterRule) { StartEntry(); ASSERT_TRUE(handler.RegisterRule(entry_address, return_reg, 3)); ASSERT_TRUE(handler.End()); CheckEntry(); Module::RuleMap expected_initial; - expected_initial[".ra"] = "reg3"; + expected_initial[".ra"] = Module::Expr("reg3", 0, false); EXPECT_THAT(entries[0]->initial_rules, ContainerEq(expected_initial)); EXPECT_EQ(0U, entries[0]->rule_changes.size()); } TEST_F(Rule, ExpressionRule) { EXPECT_CALL(reporter, ExpressionsNotSupported(_, "reg2")); StartEntry(); ASSERT_TRUE(handler.ExpressionRule(entry_address + 0xf326, 2, @@ -239,45 +241,46 @@ TEST_F(Rule, DefaultReturnAddressRule) { return_reg = 2; StartEntry(); ASSERT_TRUE(handler.RegisterRule(entry_address, 0, 1)); ASSERT_TRUE(handler.End()); CheckEntry(); Module::RuleMap expected_initial; - expected_initial[".ra"] = "reg2"; - expected_initial["reg0"] = "reg1"; + expected_initial[".ra"] = Module::Expr("reg2", 0, false); + expected_initial["reg0"] = Module::Expr("reg1", 0, false); EXPECT_THAT(entries[0]->initial_rules, ContainerEq(expected_initial)); EXPECT_EQ(0U, entries[0]->rule_changes.size()); } TEST_F(Rule, DefaultReturnAddressRuleOverride) { return_reg = 2; StartEntry(); ASSERT_TRUE(handler.RegisterRule(entry_address, return_reg, 1)); ASSERT_TRUE(handler.End()); CheckEntry(); Module::RuleMap expected_initial; - expected_initial[".ra"] = "reg1"; + expected_initial[".ra"] = Module::Expr("reg1", 0, false); EXPECT_THAT(entries[0]->initial_rules, ContainerEq(expected_initial)); EXPECT_EQ(0U, entries[0]->rule_changes.size()); } TEST_F(Rule, DefaultReturnAddressRuleLater) { return_reg = 2; StartEntry(); ASSERT_TRUE(handler.RegisterRule(entry_address + 1, return_reg, 1)); ASSERT_TRUE(handler.End()); CheckEntry(); Module::RuleMap expected_initial; - expected_initial[".ra"] = "reg2"; + expected_initial[".ra"] = Module::Expr("reg2", 0, false); EXPECT_THAT(entries[0]->initial_rules, ContainerEq(expected_initial)); Module::RuleChangeMap expected_changes; - expected_changes[entry_address + 1][".ra"] = "reg1"; + expected_changes[entry_address + 1][".ra"] = + Module::Expr("reg1", 0, false); EXPECT_THAT(entries[0]->rule_changes, ContainerEq(expected_changes)); } TEST(RegisterNames, I386) { vector names = DwarfCFIToModule::RegisterNames::I386(); EXPECT_EQ("$eax", names[0]); EXPECT_EQ("$ecx", names[1]); diff --git a/src/common/module.cc b/src/common/module.cc --- a/src/common/module.cc +++ b/src/common/module.cc @@ -251,16 +251,34 @@ } bool Module::ReportError() { fprintf(stderr, "error writing symbol file: %s\n", strerror(errno)); return false; } +std::ostream& operator<<(std::ostream& stream, const Module::Expr& expr) { + assert(!expr.invalid()); + switch (expr.how_) { + case Module::kExprSimple: + stream << expr.ident_ << " " << expr.offset_ << " +"; + break; + case Module::kExprSimpleMem: + stream << expr.ident_ << " " << expr.offset_ << " + ^"; + break; + case Module::kExprPostfix: + stream << expr.postfix_; break; + case Module::kExprInvalid: + default: + break; + } + return stream; +} + bool Module::WriteRuleMap(const RuleMap &rule_map, std::ostream &stream) { for (RuleMap::const_iterator it = rule_map.begin(); it != rule_map.end(); ++it) { if (it != rule_map.begin()) stream << ' '; stream << it->first << ": " << it->second; } return stream.good(); diff --git a/src/common/module.h b/src/common/module.h --- a/src/common/module.h +++ b/src/common/module.h @@ -119,21 +119,81 @@ }; // An exported symbol. struct Extern { Address address; string name; }; - // A map from register names to postfix expressions that recover - // their their values. This can represent a complete set of rules to + // Representation of an expression. This can either be a postfix + // expression, in which case it is stored as a string, or a simple + // expression of the form (identifier + imm) or *(identifier + imm). + // It can also be invalid (denoting "no value"). + enum ExprHow { + kExprInvalid = 1, + kExprPostfix, + kExprSimple, + kExprSimpleMem + }; + struct Expr { + // Construct a simple-form expression + Expr(string ident, long offset, bool deref) { + if (ident.empty()) { + Expr(); + } else { + postfix_ = ""; + ident_ = ident; + offset_ = offset; + how_ = deref ? kExprSimpleMem : kExprSimple; + } + } + // Construct an expression from a postfix string + Expr(string postfix) { + if (postfix.empty()) { + Expr(); + } else { + postfix_ = postfix; + ident_ = ""; + offset_ = 0; + how_ = kExprPostfix; + } + } + // Construct an invalid expression + Expr() { + postfix_ = ""; + ident_ = ""; + offset_ = 0; + how_ = kExprInvalid; + } + bool invalid() const { return how_ == kExprInvalid; } + bool operator==(const Expr& other) const { + return how_ == other.how_ && + ident_ == other.ident_ && + offset_ == other.offset_ && + postfix_ == other.postfix_; + } + + // The identifier that gives the starting value for simple expressions. + string ident_; + // The offset to add for simple expressions. + long offset_; + // The Postfix expression string to evaluate for non-simple expressions. + string postfix_; + // The operation expressed by this expression. + ExprHow how_; + + friend std::ostream& operator<<(std::ostream& stream, const Expr& expr); + }; + + // A map from register names to expressions that recover + // their values. This can represent a complete set of rules to // follow at some address, or a set of changes to be applied to an // extant set of rules. - typedef map RuleMap; + typedef map RuleMap; // A map from addresses to RuleMaps, representing changes that take // effect at given addresses. typedef map RuleChangeMap; // A range of 'STACK CFI' stack walking information. An instance of // this structure corresponds to a 'STACK CFI INIT' record and the // subsequent 'STACK CFI' records that fall within its range. diff --git a/src/common/module_unittest.cc b/src/common/module_unittest.cc --- a/src/common/module_unittest.cc +++ b/src/common/module_unittest.cc @@ -125,21 +125,21 @@ function->lines.push_back(line1); m.AddFunction(function); // Some stack information. Module::StackFrameEntry *entry = new Module::StackFrameEntry(); entry->address = 0x30f9e5c83323973dULL; entry->size = 0x49fc9ca7c7c13dc2ULL; - entry->initial_rules[".cfa"] = "he was a handsome man"; - entry->initial_rules["and"] = "what i want to know is"; + entry->initial_rules[".cfa"] = Module::Expr("he was a handsome man"); + entry->initial_rules["and"] = Module::Expr("what i want to know is"); entry->rule_changes[0x30f9e5c83323973eULL]["how"] = - "do you like your blueeyed boy"; - entry->rule_changes[0x30f9e5c83323973eULL]["Mister"] = "Death"; + Module::Expr("do you like your blueeyed boy"); + entry->rule_changes[0x30f9e5c83323973eULL]["Mister"] = Module::Expr("Death"); m.AddStackFrameEntry(entry); // Set the load address. Doing this after adding all the data to // the module must work fine. m.SetLoadAddress(0x2ab698b0b6407073LL); m.Write(s, ALL_SYMBOL_DATA); string contents = s.str(); @@ -229,21 +229,21 @@ function->lines.push_back(line1); m.AddFunction(function); // Some stack information. Module::StackFrameEntry *entry = new Module::StackFrameEntry(); entry->address = 0x30f9e5c83323973dULL; entry->size = 0x49fc9ca7c7c13dc2ULL; - entry->initial_rules[".cfa"] = "he was a handsome man"; - entry->initial_rules["and"] = "what i want to know is"; + entry->initial_rules[".cfa"] = Module::Expr("he was a handsome man"); + entry->initial_rules["and"] = Module::Expr("what i want to know is"); entry->rule_changes[0x30f9e5c83323973eULL]["how"] = - "do you like your blueeyed boy"; - entry->rule_changes[0x30f9e5c83323973eULL]["Mister"] = "Death"; + Module::Expr("do you like your blueeyed boy"); + entry->rule_changes[0x30f9e5c83323973eULL]["Mister"] = Module::Expr("Death"); m.AddStackFrameEntry(entry); // Set the load address. Doing this after adding all the data to // the module must work fine. m.SetLoadAddress(0x2ab698b0b6407073LL); m.Write(s, NO_CFI); string contents = s.str(); @@ -305,34 +305,34 @@ entry1->address = 0xddb5f41285aa7757ULL; entry1->size = 0x1486493370dc5073ULL; m.AddStackFrameEntry(entry1); // Second STACK CFI entry, with initial rules but no deltas. Module::StackFrameEntry *entry2 = new Module::StackFrameEntry(); entry2->address = 0x8064f3af5e067e38ULL; entry2->size = 0x0de2a5ee55509407ULL; - entry2->initial_rules[".cfa"] = "I think that I shall never see"; - entry2->initial_rules["stromboli"] = "a poem lovely as a tree"; - entry2->initial_rules["cannoli"] = "a tree whose hungry mouth is prest"; + entry2->initial_rules[".cfa"] = Module::Expr("I think that I shall never see"); + entry2->initial_rules["stromboli"] = Module::Expr("a poem lovely as a tree"); + entry2->initial_rules["cannoli"] = Module::Expr("a tree whose hungry mouth is prest"); m.AddStackFrameEntry(entry2); // Third STACK CFI entry, with initial rules and deltas. Module::StackFrameEntry *entry3 = new Module::StackFrameEntry(); entry3->address = 0x5e8d0db0a7075c6cULL; entry3->size = 0x1c7edb12a7aea229ULL; - entry3->initial_rules[".cfa"] = "Whose woods are these"; + entry3->initial_rules[".cfa"] = Module::Expr("Whose woods are these"); entry3->rule_changes[0x47ceb0f63c269d7fULL]["calzone"] = - "the village though"; + Module::Expr("the village though"); entry3->rule_changes[0x47ceb0f63c269d7fULL]["cannoli"] = - "he will not see me stopping here"; + Module::Expr("he will not see me stopping here"); entry3->rule_changes[0x36682fad3763ffffULL]["stromboli"] = - "his house is in"; + Module::Expr("his house is in"); entry3->rule_changes[0x36682fad3763ffffULL][".cfa"] = - "I think I know"; + Module::Expr("I think I know"); m.AddStackFrameEntry(entry3); // Check that Write writes STACK CFI records properly. m.Write(s, ALL_SYMBOL_DATA); string contents = s.str(); EXPECT_STREQ("MODULE os-name architecture id-string name with spaces\n" "STACK CFI INIT 5e8d0db0a7075c6c 1c7edb12a7aea229" " .cfa: Whose woods are these\n" @@ -352,33 +352,33 @@ // Check that GetStackFrameEntries works. vector entries; m.GetStackFrameEntries(&entries); ASSERT_EQ(3U, entries.size()); // Check first entry. EXPECT_EQ(0x5e8d0db0a7075c6cULL, entries[0]->address); EXPECT_EQ(0x1c7edb12a7aea229ULL, entries[0]->size); Module::RuleMap entry1_initial; - entry1_initial[".cfa"] = "Whose woods are these"; + entry1_initial[".cfa"] = Module::Expr("Whose woods are these"); EXPECT_THAT(entries[0]->initial_rules, ContainerEq(entry1_initial)); Module::RuleChangeMap entry1_changes; - entry1_changes[0x36682fad3763ffffULL][".cfa"] = "I think I know"; - entry1_changes[0x36682fad3763ffffULL]["stromboli"] = "his house is in"; - entry1_changes[0x47ceb0f63c269d7fULL]["calzone"] = "the village though"; + entry1_changes[0x36682fad3763ffffULL][".cfa"] = Module::Expr("I think I know"); + entry1_changes[0x36682fad3763ffffULL]["stromboli"] = Module::Expr("his house is in"); + entry1_changes[0x47ceb0f63c269d7fULL]["calzone"] = Module::Expr("the village though"); entry1_changes[0x47ceb0f63c269d7fULL]["cannoli"] = - "he will not see me stopping here"; + Module::Expr("he will not see me stopping here"); EXPECT_THAT(entries[0]->rule_changes, ContainerEq(entry1_changes)); // Check second entry. EXPECT_EQ(0x8064f3af5e067e38ULL, entries[1]->address); EXPECT_EQ(0x0de2a5ee55509407ULL, entries[1]->size); ASSERT_EQ(3U, entries[1]->initial_rules.size()); Module::RuleMap entry2_initial; - entry2_initial[".cfa"] = "I think that I shall never see"; - entry2_initial["stromboli"] = "a poem lovely as a tree"; - entry2_initial["cannoli"] = "a tree whose hungry mouth is prest"; + entry2_initial[".cfa"] = Module::Expr("I think that I shall never see"); + entry2_initial["stromboli"] = Module::Expr("a poem lovely as a tree"); + entry2_initial["cannoli"] = Module::Expr("a tree whose hungry mouth is prest"); EXPECT_THAT(entries[1]->initial_rules, ContainerEq(entry2_initial)); ASSERT_EQ(0U, entries[1]->rule_changes.size()); // Check third entry. EXPECT_EQ(0xddb5f41285aa7757ULL, entries[2]->address); EXPECT_EQ(0x1486493370dc5073ULL, entries[2]->size); ASSERT_EQ(0U, entries[2]->initial_rules.size()); ASSERT_EQ(0U, entries[2]->rule_changes.size()); } @@ -585,34 +585,34 @@ entry1->address = 0x2000; entry1->size = 0x900; m.AddStackFrameEntry(entry1); // Second STACK CFI entry, with initial rules but no deltas. Module::StackFrameEntry *entry2 = new Module::StackFrameEntry(); entry2->address = 0x3000; entry2->size = 0x900; - entry2->initial_rules[".cfa"] = "I think that I shall never see"; - entry2->initial_rules["stromboli"] = "a poem lovely as a tree"; - entry2->initial_rules["cannoli"] = "a tree whose hungry mouth is prest"; + entry2->initial_rules[".cfa"] = Module::Expr("I think that I shall never see"); + entry2->initial_rules["stromboli"] = Module::Expr("a poem lovely as a tree"); + entry2->initial_rules["cannoli"] = Module::Expr("a tree whose hungry mouth is prest"); m.AddStackFrameEntry(entry2); // Third STACK CFI entry, with initial rules and deltas. Module::StackFrameEntry *entry3 = new Module::StackFrameEntry(); entry3->address = 0x1000; entry3->size = 0x900; - entry3->initial_rules[".cfa"] = "Whose woods are these"; + entry3->initial_rules[".cfa"] = Module::Expr("Whose woods are these"); entry3->rule_changes[0x47ceb0f63c269d7fULL]["calzone"] = - "the village though"; + Module::Expr("the village though"); entry3->rule_changes[0x47ceb0f63c269d7fULL]["cannoli"] = - "he will not see me stopping here"; + Module::Expr("he will not see me stopping here"); entry3->rule_changes[0x36682fad3763ffffULL]["stromboli"] = - "his house is in"; + Module::Expr("his house is in"); entry3->rule_changes[0x36682fad3763ffffULL][".cfa"] = - "I think I know"; + Module::Expr("I think I know"); m.AddStackFrameEntry(entry3); Module::StackFrameEntry* s = m.FindStackFrameEntryByAddress(0x1000); EXPECT_EQ(entry3, s); s = m.FindStackFrameEntryByAddress(0x18FF); EXPECT_EQ(entry3, s); s = m.FindStackFrameEntryByAddress(0x1900); diff --git a/src/processor/cfi_frame_info.cc b/src/processor/cfi_frame_info.cc --- a/src/processor/cfi_frame_info.cc +++ b/src/processor/cfi_frame_info.cc @@ -48,17 +48,17 @@ #endif template bool CFIFrameInfo::FindCallerRegs(const RegisterValueMap ®isters, const MemoryRegion &memory, RegisterValueMap *caller_registers) const { // If there are not rules for both .ra and .cfa in effect at this address, // don't use this CFI data for stack walking. - if (cfa_rule_.empty() || ra_rule_.empty()) + if (cfa_rule_.invalid() || ra_rule_.invalid()) return false; RegisterValueMap working; PostfixEvaluator evaluator(&working, &memory); caller_registers->clear(); // First, compute the CFA. @@ -99,20 +99,20 @@ template bool CFIFrameInfo::FindCallerRegs( const RegisterValueMap ®isters, const MemoryRegion &memory, RegisterValueMap *caller_registers) const; string CFIFrameInfo::Serialize() const { std::ostringstream stream; - if (!cfa_rule_.empty()) { + if (!cfa_rule_.invalid()) { stream << ".cfa: " << cfa_rule_; } - if (!ra_rule_.empty()) { + if (!ra_rule_.invalid()) { if (static_cast(stream.tellp()) != 0) stream << " "; stream << ".ra: " << ra_rule_; } for (RuleMap::const_iterator iter = register_rules_.begin(); iter != register_rules_.end(); ++iter) { if (static_cast(stream.tellp()) != 0) @@ -166,21 +166,22 @@ if (name_.empty() || expression_.empty()) return false; if (name_ == ".cfa") handler_->CFARule(expression_); else if (name_ == ".ra") handler_->RARule(expression_); else handler_->RegisterRule(name_, expression_); return true; } void CFIFrameInfoParseHandler::CFARule(const string &expression) { - frame_info_->SetCFARule(expression); + // 'expression' is a postfix expression string. + frame_info_->SetCFARule(Module::Expr(expression)); } void CFIFrameInfoParseHandler::RARule(const string &expression) { - frame_info_->SetRARule(expression); + frame_info_->SetRARule(Module::Expr(expression)); } void CFIFrameInfoParseHandler::RegisterRule(const string &name, const string &expression) { - frame_info_->SetRegisterRule(name, expression); + frame_info_->SetRegisterRule(name, Module::Expr(expression)); } } // namespace google_breakpad diff --git a/src/processor/cfi_frame_info.h b/src/processor/cfi_frame_info.h --- a/src/processor/cfi_frame_info.h +++ b/src/processor/cfi_frame_info.h @@ -38,16 +38,17 @@ #ifndef PROCESSOR_CFI_FRAME_INFO_H_ #define PROCESSOR_CFI_FRAME_INFO_H_ #include #include #include "common/using_std_string.h" #include "google_breakpad/common/breakpad_types.h" +#include "common/module.h" namespace google_breakpad { using std::map; class MemoryRegion; // A set of rules for recovering the calling frame's registers' @@ -61,26 +62,27 @@ // INIT' record that covers that instruction, and then apply the // changes given by the 'STACK CFI' records up to our instruction's // address. Then, use the FindCallerRegs member function to apply the // rules to the callee frame's register values, yielding the caller // frame's register values. class CFIFrameInfo { public: // A map from register names onto values. - template class RegisterValueMap: + template class RegisterValueMap: public map { }; // Set the expression for computing a call frame address, return // address, or register's value. At least the CFA rule and the RA // rule must be set before calling FindCallerRegs. - void SetCFARule(const string &expression) { cfa_rule_ = expression; } - void SetRARule(const string &expression) { ra_rule_ = expression; } - void SetRegisterRule(const string ®ister_name, const string &expression) { - register_rules_[register_name] = expression; + void SetCFARule(const Module::Expr& rule) { cfa_rule_ = rule; } + void SetRARule(const Module::Expr& rule) { ra_rule_ = rule; } + void SetRegisterRule(const string& register_name, + const Module::Expr& rule) { + register_rules_[register_name] = rule; } // Compute the values of the calling frame's registers, according to // this rule set. Use ValueType in expression evaluation; this // should be uint32_t on machines with 32-bit addresses, or // uint64_t on machines with 64-bit addresses. // // Return true on success, false otherwise. @@ -101,37 +103,33 @@ RegisterValueMap *caller_registers) const; // Serialize the rules in this object into a string in the format // of STACK CFI records. string Serialize() const; private: - // A map from register names onto evaluation rules. - typedef map RuleMap; + // A map from register names onto evaluation rules. + typedef map RuleMap; - // In this type, a "postfix expression" is an expression of the sort - // interpreted by google_breakpad::PostfixEvaluator. - - // A postfix expression for computing the current frame's CFA (call + // An expression for computing the current frame's CFA (call // frame address). The CFA is a reference address for the frame that // remains unchanged throughout the frame's lifetime. You should // evaluate this expression with a dictionary initially populated // with the values of the current frame's known registers. - string cfa_rule_; + Module::Expr cfa_rule_; // The following expressions should be evaluated with a dictionary // initially populated with the values of the current frame's known // registers, and with ".cfa" set to the result of evaluating the // cfa_rule expression, above. - // A postfix expression for computing the current frame's return - // address. - string ra_rule_; + // An expression for computing the current frame's return address. + Module::Expr ra_rule_; // For a register named REG, rules[REG] is a postfix expression // which leaves the value of REG in the calling frame on the top of // the stack. You should evaluate this expression RuleMap register_rules_; }; // A parser for STACK CFI-style rule sets. diff --git a/src/processor/cfi_frame_info_unittest.cc b/src/processor/cfi_frame_info_unittest.cc --- a/src/processor/cfi_frame_info_unittest.cc +++ b/src/processor/cfi_frame_info_unittest.cc @@ -30,24 +30,26 @@ // Original author: Jim Blandy // cfi_frame_info_unittest.cc: Unit tests for CFIFrameInfo, // CFIRuleParser, CFIFrameInfoParseHandler, and SimpleCFIWalker. #include #include "breakpad_googletest_includes.h" +#include "common/module.h" #include "common/using_std_string.h" #include "processor/cfi_frame_info.h" #include "google_breakpad/processor/memory_region.h" using google_breakpad::CFIFrameInfo; using google_breakpad::CFIFrameInfoParseHandler; using google_breakpad::CFIRuleParser; using google_breakpad::MemoryRegion; +using google_breakpad::Module; using google_breakpad::SimpleCFIWalker; using testing::_; using testing::A; using testing::AtMost; using testing::DoAll; using testing::Return; using testing::SetArgumentPointee; using testing::Test; @@ -81,56 +83,56 @@ }; class Simple: public CFIFixture, public Test { }; // FindCallerRegs should fail if no .cfa rule is provided. TEST_F(Simple, NoCFA) { ExpectNoMemoryReferences(); - cfi.SetRARule("0"); + cfi.SetRARule(Module::Expr("0")); ASSERT_FALSE(cfi.FindCallerRegs(registers, memory, &caller_registers)); ASSERT_EQ(".ra: 0", cfi.Serialize()); } // FindCallerRegs should fail if no .ra rule is provided. TEST_F(Simple, NoRA) { ExpectNoMemoryReferences(); - cfi.SetCFARule("0"); + cfi.SetCFARule(Module::Expr("0")); ASSERT_FALSE(cfi.FindCallerRegs(registers, memory, &caller_registers)); ASSERT_EQ(".cfa: 0", cfi.Serialize()); } TEST_F(Simple, SetCFAAndRARule) { ExpectNoMemoryReferences(); - cfi.SetCFARule("330903416631436410"); - cfi.SetRARule("5870666104170902211"); + cfi.SetCFARule(Module::Expr("330903416631436410")); + cfi.SetRARule(Module::Expr("5870666104170902211")); ASSERT_TRUE(cfi.FindCallerRegs(registers, memory, &caller_registers)); ASSERT_EQ(2U, caller_registers.size()); ASSERT_EQ(330903416631436410ULL, caller_registers[".cfa"]); ASSERT_EQ(5870666104170902211ULL, caller_registers[".ra"]); ASSERT_EQ(".cfa: 330903416631436410 .ra: 5870666104170902211", cfi.Serialize()); } TEST_F(Simple, SetManyRules) { ExpectNoMemoryReferences(); - cfi.SetCFARule("$temp1 68737028 = $temp2 61072337 = $temp1 $temp2 -"); - cfi.SetRARule(".cfa 99804755 +"); - cfi.SetRegisterRule("register1", ".cfa 54370437 *"); - cfi.SetRegisterRule("vodkathumbscrewingly", "24076308 .cfa +"); - cfi.SetRegisterRule("pubvexingfjordschmaltzy", ".cfa 29801007 -"); - cfi.SetRegisterRule("uncopyrightables", "92642917 .cfa /"); + cfi.SetCFARule(Module::Expr("$temp1 68737028 = $temp2 61072337 = $temp1 $temp2 -")); + cfi.SetRARule(Module::Expr(".cfa 99804755 +")); + cfi.SetRegisterRule("register1", Module::Expr(".cfa 54370437 *")); + cfi.SetRegisterRule("vodkathumbscrewingly", Module::Expr("24076308 .cfa +")); + cfi.SetRegisterRule("pubvexingfjordschmaltzy", Module::Expr(".cfa 29801007 -")); + cfi.SetRegisterRule("uncopyrightables", Module::Expr("92642917 .cfa /")); ASSERT_TRUE(cfi.FindCallerRegs(registers, memory, &caller_registers)); ASSERT_EQ(6U, caller_registers.size()); ASSERT_EQ(7664691U, caller_registers[".cfa"]); ASSERT_EQ(107469446U, caller_registers[".ra"]); ASSERT_EQ(416732599139967ULL, caller_registers["register1"]); ASSERT_EQ(31740999U, caller_registers["vodkathumbscrewingly"]); ASSERT_EQ(-22136316ULL, caller_registers["pubvexingfjordschmaltzy"]); @@ -142,154 +144,154 @@ "uncopyrightables: 92642917 .cfa / " "vodkathumbscrewingly: 24076308 .cfa +", cfi.Serialize()); } TEST_F(Simple, RulesOverride) { ExpectNoMemoryReferences(); - cfi.SetCFARule("330903416631436410"); - cfi.SetRARule("5870666104170902211"); - cfi.SetCFARule("2828089117179001"); + cfi.SetCFARule(Module::Expr("330903416631436410")); + cfi.SetRARule(Module::Expr("5870666104170902211")); + cfi.SetCFARule(Module::Expr("2828089117179001")); ASSERT_TRUE(cfi.FindCallerRegs(registers, memory, &caller_registers)); ASSERT_EQ(2U, caller_registers.size()); ASSERT_EQ(2828089117179001ULL, caller_registers[".cfa"]); ASSERT_EQ(5870666104170902211ULL, caller_registers[".ra"]); ASSERT_EQ(".cfa: 2828089117179001 .ra: 5870666104170902211", cfi.Serialize()); } class Scope: public CFIFixture, public Test { }; // There should be no value for .cfa in scope when evaluating the CFA rule. TEST_F(Scope, CFALacksCFA) { ExpectNoMemoryReferences(); - cfi.SetCFARule(".cfa"); - cfi.SetRARule("0"); + cfi.SetCFARule(Module::Expr(".cfa")); + cfi.SetRARule(Module::Expr("0")); ASSERT_FALSE(cfi.FindCallerRegs(registers, memory, &caller_registers)); } // There should be no value for .ra in scope when evaluating the CFA rule. TEST_F(Scope, CFALacksRA) { ExpectNoMemoryReferences(); - cfi.SetCFARule(".ra"); - cfi.SetRARule("0"); + cfi.SetCFARule(Module::Expr(".ra")); + cfi.SetRARule(Module::Expr("0")); ASSERT_FALSE(cfi.FindCallerRegs(registers, memory, &caller_registers)); } // The current frame's registers should be in scope when evaluating // the CFA rule. TEST_F(Scope, CFASeesCurrentRegs) { ExpectNoMemoryReferences(); registers[".baraminology"] = 0x06a7bc63e4f13893ULL; registers[".ornithorhynchus"] = 0x5e0bf850bafce9d2ULL; - cfi.SetCFARule(".baraminology .ornithorhynchus +"); - cfi.SetRARule("0"); + cfi.SetCFARule(Module::Expr(".baraminology .ornithorhynchus +")); + cfi.SetRARule(Module::Expr("0")); ASSERT_TRUE(cfi.FindCallerRegs(registers, memory, &caller_registers)); ASSERT_EQ(2U, caller_registers.size()); ASSERT_EQ(0x06a7bc63e4f13893ULL + 0x5e0bf850bafce9d2ULL, caller_registers[".cfa"]); } // .cfa should be in scope in the return address expression. TEST_F(Scope, RASeesCFA) { ExpectNoMemoryReferences(); - cfi.SetCFARule("48364076"); - cfi.SetRARule(".cfa"); + cfi.SetCFARule(Module::Expr("48364076")); + cfi.SetRARule(Module::Expr(".cfa")); ASSERT_TRUE(cfi.FindCallerRegs(registers, memory, &caller_registers)); ASSERT_EQ(2U, caller_registers.size()); ASSERT_EQ(48364076U, caller_registers[".ra"]); } // There should be no value for .ra in scope when evaluating the CFA rule. TEST_F(Scope, RALacksRA) { ExpectNoMemoryReferences(); - cfi.SetCFARule("0"); - cfi.SetRARule(".ra"); + cfi.SetCFARule(Module::Expr("0")); + cfi.SetRARule(Module::Expr(".ra")); ASSERT_FALSE(cfi.FindCallerRegs(registers, memory, &caller_registers)); } // The current frame's registers should be in scope in the return // address expression. TEST_F(Scope, RASeesCurrentRegs) { ExpectNoMemoryReferences(); registers["noachian"] = 0x54dc4a5d8e5eb503ULL; - cfi.SetCFARule("10359370"); - cfi.SetRARule("noachian"); + cfi.SetCFARule(Module::Expr("10359370")); + cfi.SetRARule(Module::Expr("noachian")); ASSERT_TRUE(cfi.FindCallerRegs(registers, memory, &caller_registers)); ASSERT_EQ(2U, caller_registers.size()); ASSERT_EQ(0x54dc4a5d8e5eb503ULL, caller_registers[".ra"]); } // .cfa should be in scope for register rules. TEST_F(Scope, RegistersSeeCFA) { ExpectNoMemoryReferences(); - cfi.SetCFARule("6515179"); - cfi.SetRARule(".cfa"); - cfi.SetRegisterRule("rogerian", ".cfa"); + cfi.SetCFARule(Module::Expr("6515179")); + cfi.SetRARule(Module::Expr(".cfa")); + cfi.SetRegisterRule("rogerian", Module::Expr(".cfa")); ASSERT_TRUE(cfi.FindCallerRegs(registers, memory, &caller_registers)); ASSERT_EQ(3U, caller_registers.size()); ASSERT_EQ(6515179U, caller_registers["rogerian"]); } // The return address should not be in scope for register rules. TEST_F(Scope, RegsLackRA) { ExpectNoMemoryReferences(); - cfi.SetCFARule("42740329"); - cfi.SetRARule("27045204"); - cfi.SetRegisterRule("$r1", ".ra"); + cfi.SetCFARule(Module::Expr("42740329")); + cfi.SetRARule(Module::Expr("27045204")); + cfi.SetRegisterRule("$r1", Module::Expr(".ra")); ASSERT_FALSE(cfi.FindCallerRegs(registers, memory, &caller_registers)); } // Register rules can see the current frame's register values. TEST_F(Scope, RegsSeeRegs) { ExpectNoMemoryReferences(); registers["$r1"] = 0x6ed3582c4bedb9adULL; registers["$r2"] = 0xd27d9e742b8df6d0ULL; - cfi.SetCFARule("88239303"); - cfi.SetRARule("30503835"); - cfi.SetRegisterRule("$r1", "$r1 42175211 = $r2"); - cfi.SetRegisterRule("$r2", "$r2 21357221 = $r1"); + cfi.SetCFARule(Module::Expr("88239303")); + cfi.SetRARule(Module::Expr("30503835")); + cfi.SetRegisterRule("$r1", Module::Expr("$r1 42175211 = $r2")); + cfi.SetRegisterRule("$r2", Module::Expr("$r2 21357221 = $r1")); ASSERT_TRUE(cfi.FindCallerRegs(registers, memory, &caller_registers)); ASSERT_EQ(4U, caller_registers.size()); ASSERT_EQ(0xd27d9e742b8df6d0ULL, caller_registers["$r1"]); ASSERT_EQ(0x6ed3582c4bedb9adULL, caller_registers["$r2"]); } // Each rule's temporaries are separate. TEST_F(Scope, SeparateTempsRA) { ExpectNoMemoryReferences(); - cfi.SetCFARule("$temp1 76569129 = $temp1"); - cfi.SetRARule("0"); + cfi.SetCFARule(Module::Expr("$temp1 76569129 = $temp1")); + cfi.SetRARule(Module::Expr("0")); ASSERT_TRUE(cfi.FindCallerRegs(registers, memory, &caller_registers)); - cfi.SetCFARule("$temp1 76569129 = $temp1"); - cfi.SetRARule("$temp1"); + cfi.SetCFARule(Module::Expr("$temp1 76569129 = $temp1")); + cfi.SetRARule(Module::Expr("$temp1")); ASSERT_FALSE(cfi.FindCallerRegs(registers, memory, &caller_registers)); } class MockCFIRuleParserHandler: public CFIRuleParser::Handler { public: MOCK_METHOD1(CFARule, void(const string &)); MOCK_METHOD1(RARule, void(const string &)); @@ -512,20 +514,20 @@ .WillRepeatedly(DoAll(SetArgumentPointee<1>(0xdc1975eba8602302ULL), Return(true))); // Saved return address. EXPECT_CALL(memory, GetMemoryAtAddress(stack_top + 16, A())) .WillRepeatedly(DoAll(SetArgumentPointee<1>(0xba5ad6d9acce28deULL), Return(true))); - call_frame_info.SetCFARule("sp 24 +"); - call_frame_info.SetRARule(".cfa 8 - ^"); - call_frame_info.SetRegisterRule("r0", ".cfa 24 - ^"); - call_frame_info.SetRegisterRule("r1", "r2"); + call_frame_info.SetCFARule(Module::Expr("sp 24 +")); + call_frame_info.SetRARule(Module::Expr(".cfa 8 - ^")); + call_frame_info.SetRegisterRule("r0", Module::Expr(".cfa 24 - ^")); + call_frame_info.SetRegisterRule("r1", Module::Expr("r2")); callee_context.r0 = 0x94e030ca79edd119ULL; callee_context.r1 = 0x937b4d7e95ce52d9ULL; callee_context.r2 = 0x5fe0027416b8b62aULL; // caller's r1 // callee_context.r3 is not valid in callee. // callee_context.r4 is not valid in callee. callee_context.sp = stack_top; callee_context.pc = 0x25b21b224311d280ULL; diff --git a/src/processor/postfix_evaluator-inl.h b/src/processor/postfix_evaluator-inl.h --- a/src/processor/postfix_evaluator-inl.h +++ b/src/processor/postfix_evaluator-inl.h @@ -226,52 +226,100 @@ return false; } } return true; } template -bool PostfixEvaluator::Evaluate(const string &expression, - DictionaryValidityType *assigned) { +bool PostfixEvaluator::Evaluate(const Module::Expr& expr, + DictionaryValidityType* assigned) { + // The expression is being exevaluated only for its side effects. Skip + // expressions that denote values only. + if (expr.how_ != Module::kExprPostfix) { + BPLOG(ERROR) << "Can't evaluate for side-effects: " << expr; + return false; + } + // Ensure that the stack is cleared before returning. AutoStackClearer clearer(&stack_); - if (!EvaluateInternal(expression, assigned)) + if (!EvaluateInternal(expr.postfix_, assigned)) return false; // If there's anything left on the stack, it indicates incomplete execution. // This is a failure case. If the stack is empty, evalution was complete // and successful. if (stack_.empty()) return true; - BPLOG(ERROR) << "Incomplete execution: " << expression; + BPLOG(ERROR) << "Incomplete execution: " << expr; return false; } template -bool PostfixEvaluator::EvaluateForValue(const string &expression, - ValueType *result) { - // Ensure that the stack is cleared before returning. - AutoStackClearer clearer(&stack_); +bool PostfixEvaluator::EvaluateForValue(const Module::Expr& expr, + ValueType* result) { + switch (expr.how_) { - if (!EvaluateInternal(expression, NULL)) - return false; + // Postfix expression. Give to the evaluator and return the + // one-and-only stack element that should be left over. + case Module::kExprPostfix: { + // Ensure that the stack is cleared before returning. + AutoStackClearer clearer(&stack_); - // A successful execution should leave exactly one value on the stack. - if (stack_.size() != 1) { - BPLOG(ERROR) << "Expression yielded bad number of results: " - << "'" << expression << "'"; - return false; + if (!EvaluateInternal(expr.postfix_, NULL)) + return false; + + // A successful execution should leave exactly one value on the stack. + if (stack_.size() != 1) { + BPLOG(ERROR) << "Expression yielded bad number of results: " + << "'" << expr << "'"; + return false; + } + + return PopValue(result); + } + + // Simple-form expressions + case Module::kExprSimple: + case Module::kExprSimpleMem: { + // Look up the base value + typename DictionaryType::const_iterator iterator + = dictionary_->find(expr.ident_); + if (iterator == dictionary_->end()) { + // The identifier wasn't found in the dictionary. Don't imply any + // default value, just fail. + BPLOG(INFO) << "Identifier " << expr.ident_ + << " not in dictionary (kExprSimple{Mem})"; + return false; + } + + // Form the sum + ValueType sum = iterator->second + (int64_t)expr.offset_; + + // and dereference if necessary + if (expr.how_ == Module::kExprSimpleMem) { + ValueType derefd; + if (!memory_ || !memory_->GetMemoryAtAddress(sum, &derefd)) { + return false; + } + *result = derefd; + } else { + *result = sum; + } + return true; + } + + default: + return false; } +} - return PopValue(result); -} template typename PostfixEvaluator::PopResult PostfixEvaluator::PopValueOrIdentifier( ValueType *value, string *identifier) { // There needs to be at least one element on the stack to pop. if (!stack_.size()) return POP_RESULT_FAIL; diff --git a/src/processor/postfix_evaluator.h b/src/processor/postfix_evaluator.h --- a/src/processor/postfix_evaluator.h +++ b/src/processor/postfix_evaluator.h @@ -70,16 +70,17 @@ #define PROCESSOR_POSTFIX_EVALUATOR_H__ #include #include #include #include "common/using_std_string.h" +#include "common/module.h" namespace google_breakpad { using std::map; using std::vector; class MemoryRegion; @@ -100,23 +101,23 @@ // Evaluate the expression, starting with an empty stack. The results of // execution will be stored in one (or more) variables in the dictionary. // Returns false if any failures occur during execution, leaving // variables in the dictionary in an indeterminate state. If assigned is // non-NULL, any keys set in the dictionary as a result of evaluation // will also be set to true in assigned, providing a way to determine if // an expression modifies any of its input variables. - bool Evaluate(const string &expression, DictionaryValidityType *assigned); + bool Evaluate(const Module::Expr &expr, DictionaryValidityType *assigned); - // Like Evaluate, but provides the value left on the stack to the - // caller. If evaluation succeeds and leaves exactly one value on - // the stack, pop that value, store it in *result, and return true. - // Otherwise, return false. - bool EvaluateForValue(const string &expression, ValueType *result); + // Like Evaluate, but expects the expression to denote a value. + // If evaluation succeeds and (in the case of a postfix expression) + // leaves exactly one value on the stack, pop that value, store it in + // *result, and return true. Otherwise, return false. + bool EvaluateForValue(const Module::Expr& expression, ValueType* result); DictionaryType* dictionary() const { return dictionary_; } // Reset the dictionary. PostfixEvaluator does not take ownership. void set_dictionary(DictionaryType *dictionary) {dictionary_ = dictionary; } private: // Return values for PopValueOrIdentifier