Source code

Revision control

Copy as Markdown

Other Tools

# -*- 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/.
Library("zucchini")
DisableStlWrapping()
LOCAL_INCLUDES += [
"/third_party/abseil-cpp/",
"/third_party/googletest/googletest/include",
"/third_party/zucchini/chromium-shim/",
"/third_party/zucchini/chromium/",
]
DEFINES["_FILE_OFFSET_BITS"] = 64
DEFINES["UNICODE"] = True
DEFINES["ENABLED_VLOG_LEVEL"] = 1
if not CONFIG["MOZ_DEBUG"]:
DEFINES["NDEBUG"] = True
EXPORTS.mozilla += [
"/third_party/zucchini/moz_zucchini.h",
]
SOURCES += [
"/third_party/zucchini/chromium-shim/base/logging.cc",
"/third_party/zucchini/chromium/base/base_paths.cc",
"/third_party/zucchini/chromium/base/check.cc",
"/third_party/zucchini/chromium/base/check_op.cc",
"/third_party/zucchini/chromium/base/files/file.cc",
"/third_party/zucchini/chromium/base/files/file_enumerator.cc",
"/third_party/zucchini/chromium/base/files/file_path.cc",
"/third_party/zucchini/chromium/base/files/file_tracing.cc",
"/third_party/zucchini/chromium/base/files/file_util.cc",
"/third_party/zucchini/chromium/base/files/memory_mapped_file.cc",
"/third_party/zucchini/chromium/base/functional/callback_internal.cc",
"/third_party/zucchini/chromium/base/location.cc",
"/third_party/zucchini/chromium/base/memory/ref_counted.cc",
"/third_party/zucchini/chromium/base/path_service.cc",
"/third_party/zucchini/chromium/base/rand_util.cc",
"/third_party/zucchini/chromium/base/strings/strcat.cc",
"/third_party/zucchini/chromium/base/strings/string_number_conversions.cc",
"/third_party/zucchini/chromium/base/strings/string_util.cc",
"/third_party/zucchini/chromium/base/strings/string_util_constants.cc",
"/third_party/zucchini/chromium/base/strings/stringprintf.cc",
"/third_party/zucchini/chromium/base/strings/utf_ostream_operators.cc",
"/third_party/zucchini/chromium/base/strings/utf_string_conversions.cc",
"/third_party/zucchini/chromium/base/third_party/nspr/prtime.cc",
"/third_party/zucchini/chromium/base/time/time.cc",
"/third_party/zucchini/chromium/base/trace_event/trace_event_stub.cc",
"/third_party/zucchini/chromium/components/zucchini/abs32_utils.cc",
"/third_party/zucchini/chromium/components/zucchini/address_translator.cc",
"/third_party/zucchini/chromium/components/zucchini/arm_utils.cc",
"/third_party/zucchini/chromium/components/zucchini/binary_data_histogram.cc",
"/third_party/zucchini/chromium/components/zucchini/buffer_sink.cc",
"/third_party/zucchini/chromium/components/zucchini/buffer_source.cc",
"/third_party/zucchini/chromium/components/zucchini/crc32.cc",
"/third_party/zucchini/chromium/components/zucchini/disassembler.cc",
"/third_party/zucchini/chromium/components/zucchini/disassembler_elf.cc",
"/third_party/zucchini/chromium/components/zucchini/disassembler_no_op.cc",
"/third_party/zucchini/chromium/components/zucchini/disassembler_win32.cc",
"/third_party/zucchini/chromium/components/zucchini/element_detection.cc",
"/third_party/zucchini/chromium/components/zucchini/encoded_view.cc",
"/third_party/zucchini/chromium/components/zucchini/ensemble_matcher.cc",
"/third_party/zucchini/chromium/components/zucchini/equivalence_map.cc",
"/third_party/zucchini/chromium/components/zucchini/heuristic_ensemble_matcher.cc",
"/third_party/zucchini/chromium/components/zucchini/image_index.cc",
"/third_party/zucchini/chromium/components/zucchini/imposed_ensemble_matcher.cc",
"/third_party/zucchini/chromium/components/zucchini/io_utils.cc",
"/third_party/zucchini/chromium/components/zucchini/mapped_file.cc",
"/third_party/zucchini/chromium/components/zucchini/patch_reader.cc",
"/third_party/zucchini/chromium/components/zucchini/patch_writer.cc",
"/third_party/zucchini/chromium/components/zucchini/reference_set.cc",
"/third_party/zucchini/chromium/components/zucchini/rel32_finder.cc",
"/third_party/zucchini/chromium/components/zucchini/rel32_utils.cc",
"/third_party/zucchini/chromium/components/zucchini/reloc_elf.cc",
"/third_party/zucchini/chromium/components/zucchini/reloc_win32.cc",
"/third_party/zucchini/chromium/components/zucchini/target_pool.cc",
"/third_party/zucchini/chromium/components/zucchini/targets_affinity.cc",
"/third_party/zucchini/chromium/components/zucchini/zucchini_apply.cc",
"/third_party/zucchini/chromium/components/zucchini/zucchini_gen.cc",
"/third_party/zucchini/chromium/components/zucchini/zucchini_integration.cc",
"/third_party/zucchini/moz_zucchini.cc",
]
if CONFIG["TARGET_OS"] == "WINNT":
USE_STATIC_MSVCRT = True
SOURCES += [
"/third_party/zucchini/chromium/base/base_paths_win.cc",
"/third_party/zucchini/chromium/base/cpu.cc",
"/third_party/zucchini/chromium/base/files/file_enumerator_win.cc",
"/third_party/zucchini/chromium/base/files/file_util_win.cc",
"/third_party/zucchini/chromium/base/files/file_win.cc",
"/third_party/zucchini/chromium/base/files/memory_mapped_file_win.cc",
"/third_party/zucchini/chromium/base/process/process_handle_win.cc",
"/third_party/zucchini/chromium/base/rand_util_win.cc",
"/third_party/zucchini/chromium/base/scoped_clear_last_error_win.cc",
"/third_party/zucchini/chromium/base/strings/strcat_win.cc",
"/third_party/zucchini/chromium/base/strings/string_util_win.cc",
"/third_party/zucchini/chromium/base/synchronization/lock_impl_win.cc",
"/third_party/zucchini/chromium/base/system/sys_info_win.cc",
"/third_party/zucchini/chromium/base/time/time_win.cc",
"/third_party/zucchini/chromium/base/win/scoped_handle.cc",
"/third_party/zucchini/chromium/base/win/win_util.cc",
"/third_party/zucchini/chromium/base/win/windows_version.cc",
"/third_party/zucchini/chromium/components/zucchini/exception_filter_helper_win.cc",
]
OS_LIBS += [
"mincore",
"shell32",
"shlwapi",
"user32",
"winmm",
]
if CONFIG["TARGET_KERNEL"] == "Linux" or CONFIG["TARGET_OS"] == "OSX":
SOURCES += [
"/third_party/zucchini/chromium/base/files/file_enumerator_posix.cc",
"/third_party/zucchini/chromium/base/files/file_posix.cc",
"/third_party/zucchini/chromium/base/files/file_util_posix.cc",
"/third_party/zucchini/chromium/base/files/memory_mapped_file_posix.cc",
"/third_party/zucchini/chromium/base/files/scoped_file.cc",
"/third_party/zucchini/chromium/base/posix/safe_strerror.cc",
"/third_party/zucchini/chromium/base/rand_util_posix.cc",
"/third_party/zucchini/chromium/base/strings/sys_string_conversions_posix.cc",
"/third_party/zucchini/chromium/base/synchronization/lock_impl_posix.cc",
"/third_party/zucchini/chromium/base/system/sys_info_posix.cc",
]
if CONFIG["TARGET_KERNEL"] == "Linux":
SOURCES += [
"/third_party/zucchini/chromium/base/base_paths_posix.cc",
"/third_party/zucchini/chromium/base/files/scoped_file_linux.cc",
"/third_party/zucchini/chromium/base/time/time_now_posix.cc",
]
if CONFIG["TARGET_OS"] == "OSX":
SOURCES += [
"/third_party/zucchini/chromium/base/base_paths_apple.cc",
"/third_party/zucchini/chromium/base/base_paths_mac.mm",
"/third_party/zucchini/chromium/base/files/file_util_mac.mm",
"/third_party/zucchini/chromium/base/mac/foundation_util.mm",
"/third_party/zucchini/chromium/base/mac/mach_logging.cc",
"/third_party/zucchini/chromium/base/time/time_mac.mm",
]
CMMFLAGS += [
"-fobjc-arc",
]
OS_LIBS += [
"-framework Foundation",
]
DIRS += [
"executable",
]
TEST_DIRS += [
"tests/gtest",
]