# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.

UNIFIED_SOURCES += [
    'crash_generation/crash_generation_client.cc',
    'crash_generation/crash_generation_server.cc',
    'dump_writer_common/thread_info.cc',
    'dump_writer_common/ucontext_reader.cc',
    'handler/exception_handler.cc',
    'handler/guid_generator.cc',
    'handler/minidump_descriptor.cc',
    'log/log.cc',
    'microdump_writer/microdump_writer.cc',
    'minidump_writer/linux_dumper.cc',
    'minidump_writer/linux_ptrace_dumper.cc',
    'minidump_writer/minidump_writer.cc',
]

# On Linux we override the guid_creator.h header and use our own instead
if CONFIG['OS_TARGET'] == 'Linux' or CONFIG['OS_TARGET'] == 'Android':
    DEFINES['COMMON_LINUX_GUID_CREATOR_H__'] = 1

if CONFIG['OS_TARGET'] == 'Android':
    DEFINES['ANDROID_NDK_MAJOR_VERSION'] = CONFIG['ANDROID_NDK_MAJOR_VERSION']
    DEFINES['ANDROID_NDK_MINOR_VERSION'] = CONFIG['ANDROID_NDK_MINOR_VERSION']
    LOCAL_INCLUDES += [
        '/toolkit/crashreporter/google-breakpad/src/common/android/include',
    ]

# We allow warnings for third-party code that can be updated from upstream.
AllowCompilerWarnings()

FINAL_LIBRARY = 'xul'

if CONFIG['OS_TARGET'] == 'Android' and CONFIG['CPU_ARCH'] == 'x86':
    # The NDK's user.h defines this struct with a different name.
    DEFINES['user_fpxregs_struct'] = 'user_fxsr_struct'

include('/toolkit/crashreporter/crashreporter.mozbuild')
