| # Copyright 2018 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_fuchsia) { |
| group("zx") { |
| public_deps = [ |
| "//zircon/public/fidl/fuchsia-sysinfo:fuchsia-sysinfo_c", |
| "//zircon/public/lib/fdio", |
| "//zircon/public/lib/zx", |
| ] |
| } |
| } else if (crashpad_is_in_chromium) { |
| group("zx") { |
| public_deps = [ |
| "//third_party/fuchsia-sdk/sdk:fdio", |
| "//third_party/fuchsia-sdk/sdk:zx", |
| "//third_party/fuchsia-sdk/sdk:sysinfo", |
| ] |
| } |
| } else { |
| sdk_path = "sdk/linux-amd64" |
| sdk_pkg_path = "$sdk_path/pkg" |
| sdk_fidl_path = "$sdk_path/fidl" |
| |
| config("zx_config") { |
| visibility = [ ":zx" ] |
| include_dirs = [ |
| "$root_gen_dir/fidl/include", |
| "$sdk_pkg_path/fidl/include", |
| "$sdk_pkg_path/zx/include", |
| ] |
| } |
| |
| fidl_sources = [ |
| { |
| fidl = "$sdk_fidl_path/fuchsia.sysinfo/sysinfo.fidl" |
| header_stem = "fuchsia/sysinfo" |
| library_name = "fuchsia.sysinfo" |
| }, |
| ] |
| |
| fidl_gen_sources = [] |
| foreach(fidl_source, fidl_sources) { |
| fidl_stem = "$target_gen_dir/fidl/${fidl_source.library_name}" |
| c_header = "$root_gen_dir/fidl/include/${fidl_source.header_stem}/c/fidl.h" |
| c_client = "$fidl_stem/client.cc" |
| coding_tables = "$fidl_stem/tables.cc" |
| |
| fidl_gen_sources += [ |
| c_client, |
| coding_tables, |
| ] |
| |
| action(fidl_source.library_name) { |
| visibility = [ ":*" ] |
| |
| script = "runner.py" |
| |
| args = [ |
| rebase_path("$sdk_path/tools/fidlc", root_build_dir), |
| "--c-header", |
| rebase_path(c_header, root_build_dir), |
| "--c-client", |
| rebase_path(c_client, root_build_dir), |
| "--tables", |
| rebase_path(coding_tables, root_build_dir), |
| "--files", |
| ] + [ rebase_path(fidl_source.fidl, root_build_dir) ] |
| |
| inputs = [ fidl_source.fidl, "$sdk_path/tools/fidlc" ] |
| |
| outputs = [ |
| c_client, |
| c_header, |
| coding_tables, |
| ] |
| } |
| } |
| |
| static_library("zx") { |
| sources = [ |
| "$sdk_pkg_path/zx/channel.cpp", |
| "$sdk_pkg_path/zx/event.cpp", |
| "$sdk_pkg_path/zx/eventpair.cpp", |
| "$sdk_pkg_path/zx/fifo.cpp", |
| "$sdk_pkg_path/zx/guest.cpp", |
| "$sdk_pkg_path/zx/include/lib/zx/bti.h", |
| "$sdk_pkg_path/zx/include/lib/zx/channel.h", |
| "$sdk_pkg_path/zx/include/lib/zx/event.h", |
| "$sdk_pkg_path/zx/include/lib/zx/eventpair.h", |
| "$sdk_pkg_path/zx/include/lib/zx/fifo.h", |
| "$sdk_pkg_path/zx/include/lib/zx/guest.h", |
| "$sdk_pkg_path/zx/include/lib/zx/handle.h", |
| "$sdk_pkg_path/zx/include/lib/zx/interrupt.h", |
| "$sdk_pkg_path/zx/include/lib/zx/job.h", |
| "$sdk_pkg_path/zx/include/lib/zx/log.h", |
| "$sdk_pkg_path/zx/include/lib/zx/object.h", |
| "$sdk_pkg_path/zx/include/lib/zx/object_traits.h", |
| "$sdk_pkg_path/zx/include/lib/zx/pmt.h", |
| "$sdk_pkg_path/zx/include/lib/zx/port.h", |
| "$sdk_pkg_path/zx/include/lib/zx/process.h", |
| "$sdk_pkg_path/zx/include/lib/zx/resource.h", |
| "$sdk_pkg_path/zx/include/lib/zx/socket.h", |
| "$sdk_pkg_path/zx/include/lib/zx/task.h", |
| "$sdk_pkg_path/zx/include/lib/zx/thread.h", |
| "$sdk_pkg_path/zx/include/lib/zx/time.h", |
| "$sdk_pkg_path/zx/include/lib/zx/timer.h", |
| "$sdk_pkg_path/zx/include/lib/zx/vmar.h", |
| "$sdk_pkg_path/zx/include/lib/zx/vmo.h", |
| "$sdk_pkg_path/zx/interrupt.cpp", |
| "$sdk_pkg_path/zx/job.cpp", |
| "$sdk_pkg_path/zx/log.cpp", |
| "$sdk_pkg_path/zx/port.cpp", |
| "$sdk_pkg_path/zx/process.cpp", |
| "$sdk_pkg_path/zx/resource.cpp", |
| "$sdk_pkg_path/zx/socket.cpp", |
| "$sdk_pkg_path/zx/thread.cpp", |
| "$sdk_pkg_path/zx/timer.cpp", |
| "$sdk_pkg_path/zx/vmar.cpp", |
| "$sdk_pkg_path/zx/vmo.cpp", |
| ] + fidl_gen_sources |
| |
| deps = [ ":fuchsia.sysinfo" ] |
| |
| public_configs = [ ":zx_config" ] |
| } |
| } |