| # Copyright 2019 The Fuchsia Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import("//build/cpp/library_headers.gni") |
| import("//build/cpp/sdk_static_library.gni") |
| import("//build/zircon/zx_library.gni") |
| |
| group("tests") { |
| testonly = true |
| deps = [ "tests" ] |
| } |
| |
| config("include") { |
| include_dirs = [ "include" ] |
| } |
| |
| # This needs to be static_library rather than source_set, as we need |
| # Unix linking rules to apply. This is so that only the object files |
| # corresponding to the used functions will be linked to the final binary. |
| sdk_static_library("ddk") { |
| category = "experimental" |
| sdk_name = "ddk" |
| public = [ |
| "include/lib/ddk/binding_driver.h", |
| "include/lib/ddk/binding_priv.h", |
| "include/lib/ddk/debug.h", |
| "include/lib/ddk/device.h", |
| "include/lib/ddk/driver.h", |
| "include/lib/ddk/fidl-protodefs.h", |
| "include/lib/ddk/fragment-device.h", |
| "include/lib/ddk/hw/arch_ops.h", |
| "include/lib/ddk/hw/inout.h", |
| "include/lib/ddk/hw/reg.h", |
| "include/lib/ddk/io-buffer.h", |
| "include/lib/ddk/metadata.h", |
| "include/lib/ddk/phys-iter.h", |
| "include/lib/ddk/protodefs.h", |
| "include/lib/ddk/trace/event.h", |
| ] |
| |
| # These headers will error out if included directly from user code. |
| private_headers = [ |
| "include/lib/ddk/protodefs.h", |
| "include/lib/ddk/fidl-protodefs.h", |
| ] |
| |
| if (is_fuchsia) { |
| sources = [ |
| "io-buffer.c", |
| "macros.h", |
| "phys-iter.c", |
| ] |
| } |
| |
| public_configs = [ ":include" ] |
| |
| public_deps = [ |
| # <ddk/io-buffer.h> has #include <zircon/syscalls.h>. |
| |
| "//sdk/lib/driver_runtime", |
| "//zircon/system/ulib/async:async", |
| "//zircon/system/ulib/ddk-platform-defs", |
| "//zircon/system/ulib/syslog:syslog-headers", |
| ] |
| if (is_fuchsia) { |
| public_deps += [ |
| "//zircon/system/ulib/trace", |
| "//zircon/system/ulib/trace-engine", |
| ] |
| } |
| |
| deps = [ "//zircon/system/ulib/sync" ] |
| |
| # TODO(fxbug.dev/58162): delete the below and fix compiler warnings |
| configs += [ "//build/config:Wno-conversion" ] |
| } |
| |
| library_headers("ddk-metadata-headers") { |
| headers = [ |
| "ddk/metadata/bad-block.h", |
| "ddk/metadata/buttons.h", |
| "ddk/metadata/camera.h", |
| "ddk/metadata/clock.h", |
| "ddk/metadata/display.h", |
| "ddk/metadata/gpio.h", |
| "ddk/metadata/gpt.h", |
| "ddk/metadata/init-step.h", |
| "ddk/metadata/lights.h", |
| "ddk/metadata/nand.h", |
| "ddk/metadata/power.h", |
| "ddk/metadata/pwm.h", |
| "ddk/metadata/test.h", |
| "ddk/usb-peripheral-config.h", |
| ] |
| |
| public_deps = [ |
| # <ddk/usb-peripheral-config.h> has #include <fuchsia/hardware/usb/peripheral/c/fidl.h>. |
| "//sdk/fidl/fuchsia.hardware.usb.peripheral:fuchsia.hardware.usb.peripheral_c", |
| ] |
| } |
| |
| library_headers("ddk-deprecated-binding-headers") { |
| headers = [ "lib/ddk/binding.h" ] |
| public_deps = [ ":ddk" ] |
| visibility = [ |
| "//src/connectivity/bluetooth/core/bt-host:*", |
| "//src/devices/bin/driver_host:*", |
| "//src/devices/bin/driver_manager:*", |
| "//src/devices/board/drivers/astro:*", |
| "//src/devices/board/drivers/av400:*", |
| "//src/devices/board/drivers/c18:*", |
| "//src/devices/board/drivers/integration-test:*", |
| "//src/devices/board/drivers/machina:*", |
| "//src/devices/board/drivers/nelson:*", |
| "//src/devices/board/drivers/qemu-arm64:*", |
| "//src/devices/board/drivers/sherlock:*", |
| "//src/devices/board/drivers/vim3:*", |
| "//src/devices/board/drivers/x86/*", |
| "//src/devices/board/lib/acpi/*", |
| "//src/devices/bus/drivers/pci:*", |
| "//src/devices/bus/drivers/platform:*", |
| "//src/devices/bus/drivers/platform/test:*", |
| "//src/devices/lib/driver-info:driver-info", |
| "//src/devices/nand/drivers/ram-nand:*", |
| "//src/devices/tests/bind-test:*", |
| "//src/devices/tests/bind-test-v2:*", |
| "//src/devices/tests/libdriver-integration-test:*", |
| "//src/devices/tests/string-bind-test:*", |
| "//src/devices/usb/drivers/usb-bus:*", |
| "//src/devices/usb/drivers/usb-peripheral:*", |
| "//src/devices/usb/drivers/usb-peripheral-test:*", |
| "//src/lib/ddk/tests:*", |
| "//src/media/audio/drivers/intel-hda/controller:*", |
| "//src/media/audio/lib/simple-codec:*", |
| ] |
| } |
| |
| library_headers("ddk-device-headers") { |
| headers = [ "lib/ddk/device.h" ] |
| public_deps = [ "//sdk/lib/driver_runtime" ] |
| } |