# Copyright 2014 Google Inc. All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are # met: # # * Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # * Redistributions in binary form must reproduce the above # copyright notice, this list of conditions and the following disclaimer # in the documentation and/or other materials provided with the # distribution. # * Neither the name of Google Inc. nor the names of its # contributors may be used to endorse or promote products derived from # this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. { 'target_defaults': { 'target_conditions': [ ['OS=="mac"', { 'defines': ['HAVE_MACH_O_NLIST_H'], }], ['OS=="linux"', { # Assume glibc. 'defines': ['HAVE_A_OUT_H', 'HAVE_GETCONTEXT'], 'sources!': [ 'linux/breakpad_getcontext.S', 'linux/breakpad_getcontext.h', 'linux/breakpad_getcontext_unittest.cc', ], }], ['OS!="android"', {'sources/': [['exclude', '(^|/)android/']]}], ['OS!="linux"', {'sources/': [['exclude', '(^|/)linux/']]}], ['OS!="mac"', {'sources/': [['exclude', '(^|/)mac/']]}], ['OS!="solaris"', {'sources/': [['exclude', '(^|/)solaris/']]}], ['OS!="win"', {'sources/': [['exclude', '(^|/)windows/']]}], ], }, 'targets': [ { 'target_name': 'common', 'type': 'static_library', 'sources': [ 'android/include/elf.h', 'android/include/link.h', 'android/include/stab.h', 'android/include/sys/procfs.h', 'android/include/sys/user.h', 'android/testing/include/wchar.h', 'android/testing/mkdtemp.h', 'android/testing/pthread_fixes.h', 'android/ucontext_constants.h', 'basictypes.h', 'byte_cursor.h', 'convert_UTF.cc', 'convert_UTF.h', 'dwarf/bytereader-inl.h', 'dwarf/bytereader.cc', 'dwarf/bytereader.h', 'dwarf/cfi_assembler.cc', 'dwarf/cfi_assembler.h', 'dwarf/dwarf2diehandler.cc', 'dwarf/dwarf2diehandler.h', 'dwarf/dwarf2enums.h', 'dwarf/dwarf2reader.cc', 'dwarf/dwarf2reader.h', 'dwarf/dwarf2reader_test_common.h', 'dwarf/elf_reader.cc', 'dwarf/elf_reader.h', 'dwarf/functioninfo.cc', 'dwarf/functioninfo.h', 'dwarf/line_state_machine.h', 'dwarf/types.h', 'dwarf_cfi_to_module.cc', 'dwarf_cfi_to_module.h', 'dwarf_cu_to_module.cc', 'dwarf_cu_to_module.h', 'dwarf_line_to_module.cc', 'dwarf_line_to_module.h', 'language.cc', 'language.h', 'linux/breakpad_getcontext.S', 'linux/breakpad_getcontext.h', 'linux/crc32.cc', 'linux/crc32.h', 'linux/dump_symbols.cc', 'linux/dump_symbols.h', 'linux/eintr_wrapper.h', 'linux/elf_core_dump.cc', 'linux/elf_core_dump.h', 'linux/elf_gnu_compat.h', 'linux/elf_symbols_to_module.cc', 'linux/elf_symbols_to_module.h', 'linux/elfutils-inl.h', 'linux/elfutils.cc', 'linux/elfutils.h', 'linux/file_id.cc', 'linux/file_id.h', 'linux/google_crashdump_uploader.cc', 'linux/google_crashdump_uploader.h', 'linux/guid_creator.cc', 'linux/guid_creator.h', 'linux/http_upload.cc', 'linux/http_upload.h', 'linux/ignore_ret.h', 'linux/libcurl_wrapper.cc', 'linux/libcurl_wrapper.h', 'linux/linux_libc_support.cc', 'linux/linux_libc_support.h', 'linux/memory_mapped_file.cc', 'linux/memory_mapped_file.h', 'linux/safe_readlink.cc', 'linux/safe_readlink.h', 'linux/symbol_collector_client.cc', 'linux/symbol_collector_client.h', 'linux/synth_elf.cc', 'linux/synth_elf.h', 'long_string_dictionary.cc', 'long_string_dictionary.h', 'mac/arch_utilities.cc', 'mac/arch_utilities.h', 'mac/bootstrap_compat.cc', 'mac/bootstrap_compat.h', 'mac/byteswap.h', 'mac/dump_syms.h', 'mac/dump_syms.cc', 'mac/file_id.cc', 'mac/file_id.h', 'mac/GTMDefines.h', 'mac/GTMLogger.h', 'mac/GTMLogger.m', 'mac/HTTPMultipartUpload.h', 'mac/HTTPMultipartUpload.m', 'mac/MachIPC.h', 'mac/MachIPC.mm', 'mac/macho_id.cc', 'mac/macho_id.h', 'mac/macho_reader.cc', 'mac/macho_reader.h', 'mac/macho_utilities.cc', 'mac/macho_utilities.h', 'mac/macho_walker.cc', 'mac/macho_walker.h', 'mac/scoped_task_suspend-inl.h', 'mac/string_utilities.cc', 'mac/string_utilities.h', 'mac/super_fat_arch.h', 'md5.cc', 'md5.h', 'memory_allocator.h', 'memory_range.h', 'module.cc', 'module.h', 'scoped_ptr.h', 'simple_string_dictionary.cc', 'simple_string_dictionary.h', 'solaris/dump_symbols.cc', 'solaris/dump_symbols.h', 'solaris/file_id.cc', 'solaris/file_id.h', 'solaris/guid_creator.cc', 'solaris/guid_creator.h', 'solaris/message_output.h', 'stabs_reader.cc', 'stabs_reader.h', 'stabs_to_module.cc', 'stabs_to_module.h', 'string_conversion.cc', 'string_conversion.h', 'symbol_data.h', 'test_assembler.cc', 'test_assembler.h', 'unordered.h', 'using_std_string.h', 'windows/common_windows.gyp', 'windows/dia_util.cc', 'windows/dia_util.h', 'windows/guid_string.cc', 'windows/guid_string.h', 'windows/http_upload.cc', 'windows/http_upload.h', 'windows/omap.cc', 'windows/omap.h', 'windows/omap_internal.h', 'windows/pdb_source_line_writer.cc', 'windows/pdb_source_line_writer.h', 'windows/string_utils-inl.h', 'windows/string_utils.cc', ], 'include_dirs': [ '..', ], }, { 'target_name': 'common_unittests', 'type': 'executable', 'sources': [ 'byte_cursor_unittest.cc', 'dwarf/bytereader_unittest.cc', 'dwarf/dwarf2diehandler_unittest.cc', 'dwarf/dwarf2reader_cfi_unittest.cc', 'dwarf/dwarf2reader_die_unittest.cc', 'dwarf_cfi_to_module_unittest.cc', 'dwarf_cu_to_module_unittest.cc', 'dwarf_line_to_module_unittest.cc', 'linux/breakpad_getcontext_unittest.cc', 'linux/dump_symbols_unittest.cc', 'linux/elf_core_dump_unittest.cc', 'linux/elf_symbols_to_module_unittest.cc', 'linux/file_id_unittest.cc', 'linux/google_crashdump_uploader_test.cc', 'linux/linux_libc_support_unittest.cc', 'linux/memory_mapped_file_unittest.cc', 'linux/safe_readlink_unittest.cc', 'linux/synth_elf_unittest.cc', 'linux/tests/auto_testfile.h', 'linux/tests/crash_generator.cc', 'linux/tests/crash_generator.h', 'long_string_dictionary_unittest.cc', 'mac/macho_reader_unittest.cc', 'memory_allocator_unittest.cc', 'memory_range_unittest.cc', 'module_unittest.cc', 'simple_string_dictionary_unittest.cc', 'stabs_reader_unittest.cc', 'stabs_to_module_unittest.cc', 'string_conversion_unittest.cc', 'test_assembler_unittest.cc', 'tests/auto_tempdir.h', 'tests/file_utils.cc', 'tests/file_utils.h', 'windows/omap_unittest.cc', ], 'include_dirs': [ '..', ], 'dependencies': [ 'common', '../build/testing.gyp:gmock_main', '../build/testing.gyp:gmock', '../build/testing.gyp:gtest', ], 'libraries': [ '-ldl', ], }, ], }