import("//compiler-rt/target.gni") scudo_cflags = [ "-Werror=conversion", "-nostdinc++", ] source_set("sources") { configs -= [ "//llvm/utils/gn/build:llvm_code" ] configs += [ "//llvm/utils/gn/build:crt_code" ] cflags = scudo_cflags sources = [ "allocator_config.h", "atomic_helpers.h", "bytemap.h", "checksum.cpp", "checksum.h", "chunk.h", "combined.h", "common.cpp", "common.h", "crc32_hw.cpp", "flags.cpp", "flags.h", "flags_parser.cpp", "flags_parser.h", "fuchsia.cpp", "fuchsia.h", "include/scudo/interface.h", "internal_defs.h", "linux.cpp", "linux.h", "list.h", "local_cache.h", "memtag.h", "mutex.h", "options.h", "platform.h", "primary32.h", "primary64.h", "quarantine.h", "release.cpp", "release.h", "report.cpp", "report.h", "secondary.h", "size_class_map.h", "stack_depot.h", "stats.h", "string_utils.cpp", "string_utils.h", "tsd.h", "tsd_exclusive.h", "tsd_shared.h", "vector.h", "wrappers_c.h", "wrappers_c_checks.h", ] if (current_cpu == "arm" || current_cpu == "arm64") { cflags += [ "-mcrc" ] } if (current_cpu == "x64") { cflags += [ "-msse4.2" ] } public_configs = [ ":scudo_config" ] } source_set("c_wrapper_sources") { configs -= [ "//llvm/utils/gn/build:llvm_code" ] configs += [ "//llvm/utils/gn/build:crt_code" ] cflags = scudo_cflags sources = [ "wrappers_c.cpp" ] public_configs = [ ":scudo_config" ] } source_set("cxx_wrapper_sources") { configs -= [ "//llvm/utils/gn/build:llvm_code" ] configs += [ "//llvm/utils/gn/build:crt_code" ] cflags = scudo_cflags sources = [ "wrappers_cpp.cpp" ] public_configs = [ ":scudo_config" ] } config("scudo_config") { include_dirs = [ ".", "include", ] if (current_os == "android") { cflags = [ "-fno-emulated-tls" ] } }