# -*- 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 += [ "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", ] if CONFIG["MOZ_APP_NAME"] != "zucchini": TEST_DIRS += [ "tests/gtest", ]