mirror of
https://github.com/chromium/crashpad.git
synced 2024-12-26 23:01:05 +08:00
1c77abe909
Because of the multiple-worlds building of the Crashpad code in the Fuchsia tree (with the Fuchsia BUILDCONFIG.gn in particular) there's no good location to globally disable Wconversion for all of crashpad. This can be somewhat-improved by using a GN template crashpad_static_library() similar to the existing crashpad_executable() template. Includes mini_chromium DEPS roll: 68da43e Fix a couple trucation warnings 88ce866 build: set include dirs Bug: fuchsia:58162 Change-Id: I638fcf858c35b9a858ca2c410636f8c99603aed2 Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2411131 Reviewed-by: Mark Mentovai <mark@chromium.org> Commit-Queue: Scott Graham <scottmg@chromium.org>
181 lines
4.2 KiB
Plaintext
181 lines
4.2 KiB
Plaintext
# Copyright 2015 The Crashpad Authors. All rights reserved.
|
||
#
|
||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||
# you may not use this file except in compliance with the License.
|
||
# You may obtain a copy of the License at
|
||
#
|
||
# http://www.apache.org/licenses/LICENSE-2.0
|
||
#
|
||
# Unless required by applicable law or agreed to in writing, software
|
||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||
# See the License for the specific language governing permissions and
|
||
# limitations under the License.
|
||
|
||
import("../build/crashpad_buildconfig.gni")
|
||
|
||
if (crashpad_is_in_chromium) {
|
||
# Prevent Chromium source assignment filters from being inherited.
|
||
set_sources_assignment_filter([])
|
||
}
|
||
|
||
config("compat_config") {
|
||
include_dirs = []
|
||
|
||
if (crashpad_is_mac || crashpad_is_ios) {
|
||
include_dirs += [ "mac" ]
|
||
} else {
|
||
include_dirs += [ "non_mac" ]
|
||
}
|
||
|
||
if (crashpad_is_ios) {
|
||
include_dirs += [ "ios" ]
|
||
}
|
||
|
||
if (crashpad_is_linux || crashpad_is_android) {
|
||
include_dirs += [ "linux" ]
|
||
}
|
||
|
||
if (crashpad_is_android) {
|
||
include_dirs += [ "android" ]
|
||
}
|
||
|
||
if (crashpad_is_win) {
|
||
include_dirs += [ "win" ]
|
||
} else {
|
||
include_dirs += [ "non_win" ]
|
||
}
|
||
|
||
if (!crashpad_is_linux && !crashpad_is_android && !crashpad_is_fuchsia) {
|
||
include_dirs += [ "non_elf" ]
|
||
}
|
||
}
|
||
|
||
template("compat_target") {
|
||
if (crashpad_is_mac || crashpad_is_ios) {
|
||
# There are no sources to compile, which doesn’t mix will with a
|
||
# static_library.
|
||
group(target_name) {
|
||
forward_variables_from(invoker, "*")
|
||
not_needed([ "configs" ])
|
||
}
|
||
} else {
|
||
crashpad_static_library(target_name) {
|
||
forward_variables_from(invoker, "*", [ "configs" ])
|
||
if (!defined(configs)) {
|
||
configs = []
|
||
}
|
||
if (defined(invoker.configs)) {
|
||
configs += invoker.configs
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
compat_target("compat") {
|
||
sources = []
|
||
|
||
if (crashpad_is_mac || crashpad_is_ios) {
|
||
sources += [
|
||
"mac/Availability.h",
|
||
"mac/AvailabilityVersions.h",
|
||
"mac/kern/exc_resource.h",
|
||
"mac/mach-o/loader.h",
|
||
"mac/mach/i386/thread_state.h",
|
||
"mac/mach/mach.h",
|
||
"mac/sys/resource.h",
|
||
]
|
||
} else {
|
||
sources += [
|
||
"non_mac/mach-o/loader.h",
|
||
"non_mac/mach/mach.h",
|
||
"non_mac/mach/machine.h",
|
||
"non_mac/mach/vm_prot.h",
|
||
]
|
||
}
|
||
|
||
if (crashpad_is_ios) {
|
||
sources += [
|
||
"ios/mach/exc.defs",
|
||
"ios/mach/mach_exc.defs",
|
||
"ios/mach/mach_types.defs",
|
||
"ios/mach/machine/machine_types.defs",
|
||
"ios/mach/std_types.defs",
|
||
]
|
||
}
|
||
|
||
if (crashpad_is_linux || crashpad_is_android) {
|
||
sources += [
|
||
"linux/signal.h",
|
||
"linux/sys/mman.h",
|
||
"linux/sys/mman_memfd_create.cc",
|
||
"linux/sys/ptrace.h",
|
||
"linux/sys/user.h",
|
||
]
|
||
}
|
||
|
||
if (crashpad_is_android) {
|
||
sources += [
|
||
"android/dlfcn_internal.cc",
|
||
"android/dlfcn_internal.h",
|
||
"android/elf.h",
|
||
"android/linux/elf.h",
|
||
"android/linux/prctl.h",
|
||
"android/linux/ptrace.h",
|
||
"android/sched.h",
|
||
"android/sys/epoll.cc",
|
||
"android/sys/epoll.h",
|
||
"android/sys/mman.h",
|
||
"android/sys/mman_mmap.cc",
|
||
"android/sys/syscall.h",
|
||
"android/sys/user.h",
|
||
]
|
||
}
|
||
|
||
if (crashpad_is_win) {
|
||
sources += [
|
||
"win/getopt.h",
|
||
"win/strings.cc",
|
||
"win/strings.h",
|
||
"win/sys/types.h",
|
||
"win/time.cc",
|
||
"win/time.h",
|
||
"win/winbase.h",
|
||
"win/winnt.h",
|
||
"win/winternl.h",
|
||
]
|
||
} else {
|
||
sources += [
|
||
"non_win/dbghelp.h",
|
||
"non_win/minwinbase.h",
|
||
"non_win/timezoneapi.h",
|
||
"non_win/verrsrc.h",
|
||
"non_win/windows.h",
|
||
"non_win/winnt.h",
|
||
]
|
||
}
|
||
|
||
if (!crashpad_is_linux && !crashpad_is_android && !crashpad_is_fuchsia) {
|
||
sources += [ "non_elf/elf.h" ]
|
||
}
|
||
|
||
public_configs = [
|
||
":compat_config",
|
||
"..:crashpad_config",
|
||
]
|
||
|
||
deps = [ "../util:no_cfi_icall" ]
|
||
|
||
if (!crashpad_is_mac) {
|
||
deps += [ "../third_party/xnu" ]
|
||
}
|
||
|
||
if (crashpad_is_win) {
|
||
deps += [ "../third_party/getopt" ]
|
||
}
|
||
|
||
if (!crashpad_is_linux && !crashpad_is_android && !crashpad_is_fuchsia) {
|
||
deps += [ "../third_party/glibc" ]
|
||
}
|
||
}
|