| # Copyright 2022 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/fidl/toolchain.gni") |
| import("//build/sdk/sdk.gni") |
| |
| # The list of FIDLs to include in the core IDK. |
| sdk_fidl_targets = [ |
| "//sdk/fidl/fuchsia.accessibility.gesture:fuchsia.accessibility.gesture", |
| "//sdk/fidl/fuchsia.accessibility.semantics:fuchsia.accessibility.semantics", |
| "//sdk/fidl/fuchsia.accessibility.tts:fuchsia.accessibility.tts", |
| "//sdk/fidl/fuchsia.accessibility.virtualkeyboard:fuchsia.accessibility.virtualkeyboard", |
| "//sdk/fidl/fuchsia.audio.effects:fuchsia.audio.effects", |
| "//sdk/fidl/fuchsia.auth:fuchsia.auth", |
| "//sdk/fidl/fuchsia.auth.oldtokens:fuchsia.auth.oldtokens", |
| "//sdk/fidl/fuchsia.bluetooth:fuchsia.bluetooth", |
| "//sdk/fidl/fuchsia.bluetooth.a2dp:fuchsia.bluetooth.a2dp", |
| "//sdk/fidl/fuchsia.bluetooth.fastpair:fuchsia.bluetooth.fastpair", |
| "//sdk/fidl/fuchsia.bluetooth.gatt:fuchsia.bluetooth.gatt", |
| "//sdk/fidl/fuchsia.bluetooth.gatt2:fuchsia.bluetooth.gatt2", |
| "//sdk/fidl/fuchsia.bluetooth.hfp:fuchsia.bluetooth.hfp", |
| "//sdk/fidl/fuchsia.bluetooth.le:fuchsia.bluetooth.le", |
| "//sdk/fidl/fuchsia.bluetooth.sys:fuchsia.bluetooth.sys", |
| "//sdk/fidl/fuchsia.buildinfo:fuchsia.buildinfo", |
| "//sdk/fidl/fuchsia.buildinfo.test:fuchsia.buildinfo.test", |
| "//sdk/fidl/fuchsia.camera:fuchsia.camera", |
| "//sdk/fidl/fuchsia.camera2:fuchsia.camera2", |
| "//sdk/fidl/fuchsia.camera2.hal:fuchsia.camera2.hal", |
| "//sdk/fidl/fuchsia.camera3:fuchsia.camera3", |
| "//sdk/fidl/fuchsia.castauth:fuchsia.castauth", |
| "//sdk/fidl/fuchsia.castconfig:fuchsia.castconfig", |
| "//sdk/fidl/fuchsia.castremotecontrol:fuchsia.castremotecontrol", |
| "//sdk/fidl/fuchsia.castsetup:fuchsia.castsetup", |
| "//sdk/fidl/fuchsia.castsysteminfo:fuchsia.castsysteminfo", |
| "//sdk/fidl/fuchsia.castwindow:fuchsia.castwindow", |
| "//sdk/fidl/fuchsia.component:fuchsia.component", |
| "//sdk/fidl/fuchsia.component.config:fuchsia.component.config", |
| "//sdk/fidl/fuchsia.component.decl:fuchsia.component.decl", |
| "//sdk/fidl/fuchsia.component.resolution:fuchsia.component.resolution", |
| "//sdk/fidl/fuchsia.component.runner:fuchsia.component.runner", |
| "//sdk/fidl/fuchsia.component.test:fuchsia.component.test", |
| "//sdk/fidl/fuchsia.component.types:fuchsia.component.types", |
| "//sdk/fidl/fuchsia.data:fuchsia.data", |
| "//sdk/fidl/fuchsia.developer.tiles:fuchsia.developer.tiles", |
| "//sdk/fidl/fuchsia.diagnostics:fuchsia.diagnostics", |
| "//sdk/fidl/fuchsia.diagnostics.types:fuchsia.diagnostics.types", |
| "//sdk/fidl/fuchsia.driver.test:fuchsia.driver.test", |
| "//sdk/fidl/fuchsia.element:fuchsia.element", |
| "//sdk/fidl/fuchsia.factory:fuchsia.factory", |
| "//sdk/fidl/fuchsia.factory.wlan:fuchsia.factory.wlan", |
| "//sdk/fidl/fuchsia.feedback:fuchsia.feedback", |
| "//sdk/fidl/fuchsia.fonts:fuchsia.fonts", |
| "//sdk/fidl/fuchsia.gpu.agis:fuchsia.gpu.agis", |
| "//sdk/fidl/fuchsia.gpu.magma:fuchsia.gpu.magma", |
| "//sdk/fidl/fuchsia.hardware.adc:fuchsia.hardware.adc", |
| "//sdk/fidl/fuchsia.hardware.audio:fuchsia.hardware.audio", |
| "//sdk/fidl/fuchsia.hardware.audio.signalprocessing:fuchsia.hardware.audio.signalprocessing", |
| "//sdk/fidl/fuchsia.hardware.i2c:fuchsia.hardware.i2c", |
| "//sdk/fidl/fuchsia.hardware.light:fuchsia.hardware.light", |
| "//sdk/fidl/fuchsia.hardware.network:fuchsia.hardware.network", |
| "//sdk/fidl/fuchsia.hardware.power.sensor:fuchsia.hardware.power.sensor", |
| "//sdk/fidl/fuchsia.hardware.power.statecontrol:fuchsia.hardware.power.statecontrol", |
| "//sdk/fidl/fuchsia.hardware.radar:fuchsia.hardware.radar", |
| "//sdk/fidl/fuchsia.hardware.temperature:fuchsia.hardware.temperature", |
| "//sdk/fidl/fuchsia.hwinfo:fuchsia.hwinfo", |
| "//sdk/fidl/fuchsia.images:fuchsia.images", |
| "//sdk/fidl/fuchsia.input:fuchsia.input", |
| "//sdk/fidl/fuchsia.input.report:fuchsia.input.report", |
| "//sdk/fidl/fuchsia.input.virtualkeyboard:fuchsia.input.virtualkeyboard", |
| "//sdk/fidl/fuchsia.inspect:fuchsia.inspect", |
| "//sdk/fidl/fuchsia.intl:fuchsia.intl", |
| "//sdk/fidl/fuchsia.io:fuchsia.io", |
| "//sdk/fidl/fuchsia.kernel:fuchsia.kernel", |
| "//sdk/fidl/fuchsia.ldsvc:fuchsia.ldsvc", |
| "//sdk/fidl/fuchsia.legacymetrics:fuchsia.legacymetrics", |
| "//sdk/fidl/fuchsia.lightsensor:fuchsia.lightsensor", |
| "//sdk/fidl/fuchsia.location:fuchsia.location", |
| "//sdk/fidl/fuchsia.location.namedplace:fuchsia.location.namedplace", |
| "//sdk/fidl/fuchsia.location.position:fuchsia.location.position", |
| "//sdk/fidl/fuchsia.location.sensor:fuchsia.location.sensor", |
| "//sdk/fidl/fuchsia.logger:fuchsia.logger", |
| "//sdk/fidl/fuchsia.lowpan:fuchsia.lowpan", |
| "//sdk/fidl/fuchsia.lowpan.bootstrap:fuchsia.lowpan.bootstrap", |
| "//sdk/fidl/fuchsia.lowpan.device:fuchsia.lowpan.device", |
| "//sdk/fidl/fuchsia.lowpan.thread:fuchsia.lowpan.thread", |
| "//sdk/fidl/fuchsia.math:fuchsia.math", |
| "//sdk/fidl/fuchsia.media:fuchsia.media", |
| "//sdk/fidl/fuchsia.media.audio:fuchsia.media.audio", |
| "//sdk/fidl/fuchsia.media.drm:fuchsia.media.drm", |
| "//sdk/fidl/fuchsia.media.playback:fuchsia.media.playback", |
| "//sdk/fidl/fuchsia.media.sessions2:fuchsia.media.sessions2", |
| "//sdk/fidl/fuchsia.media.sounds:fuchsia.media.sounds", |
| "//sdk/fidl/fuchsia.media.target:fuchsia.media.target", |
| "//sdk/fidl/fuchsia.mediacodec:fuchsia.mediacodec", |
| "//sdk/fidl/fuchsia.mediastreams:fuchsia.mediastreams", |
| "//sdk/fidl/fuchsia.mem:fuchsia.mem", |
| "//sdk/fidl/fuchsia.memorypressure:fuchsia.memorypressure", |
| "//sdk/fidl/fuchsia.metrics:fuchsia.metrics", |
| "//sdk/fidl/fuchsia.migration:fuchsia.migration", |
| "//sdk/fidl/fuchsia.modular:fuchsia.modular", |
| "//sdk/fidl/fuchsia.net:fuchsia.net", |
| "//sdk/fidl/fuchsia.net.http:fuchsia.net.http", |
| "//sdk/fidl/fuchsia.net.interfaces:fuchsia.net.interfaces", |
| "//sdk/fidl/fuchsia.net.mdns:fuchsia.net.mdns", |
| "//sdk/fidl/fuchsia.net.reachability:fuchsia.net.reachability", |
| "//sdk/fidl/fuchsia.net.routes:fuchsia.net.routes", |
| "//sdk/fidl/fuchsia.power.clientlevel:fuchsia.power.clientlevel", |
| "//sdk/fidl/fuchsia.power.profile:fuchsia.power.profile", |
| "//sdk/fidl/fuchsia.power.systemmode:fuchsia.power.systemmode", |
| "//sdk/fidl/fuchsia.process:fuchsia.process", |
| "//sdk/fidl/fuchsia.process.lifecycle:fuchsia.process.lifecycle", |
| "//sdk/fidl/fuchsia.recovery:fuchsia.recovery", |
| "//sdk/fidl/fuchsia.recovery.ui:fuchsia.recovery.ui", |
| "//sdk/fidl/fuchsia.scenic.scheduling:fuchsia.scenic.scheduling", |
| "//sdk/fidl/fuchsia.session:fuchsia.session", |
| "//sdk/fidl/fuchsia.settings:fuchsia.settings", |
| "//sdk/fidl/fuchsia.settings.policy:fuchsia.settings.policy", |
| "//sdk/fidl/fuchsia.sys:fuchsia.sys", |
| "//sdk/fidl/fuchsia.sys.test:fuchsia.sys.test", |
| "//sdk/fidl/fuchsia.sysinfo:fuchsia.sysinfo", |
| "//sdk/fidl/fuchsia.sysmem:fuchsia.sysmem", |
| "//sdk/fidl/fuchsia.thermal:fuchsia.thermal", |
| "//sdk/fidl/fuchsia.tracing:fuchsia.tracing", |
| "//sdk/fidl/fuchsia.tracing.perfetto:fuchsia.tracing.perfetto", |
| "//sdk/fidl/fuchsia.tracing.provider:fuchsia.tracing.provider", |
| "//sdk/fidl/fuchsia.ui.activity:fuchsia.ui.activity", |
| "//sdk/fidl/fuchsia.ui.activity.control:fuchsia.ui.activity.control", |
| "//sdk/fidl/fuchsia.ui.app:fuchsia.ui.app", |
| "//sdk/fidl/fuchsia.ui.brightness:fuchsia.ui.brightness", |
| "//sdk/fidl/fuchsia.ui.composition:fuchsia.ui.composition", |
| "//sdk/fidl/fuchsia.ui.display.singleton:fuchsia.ui.display.singleton", |
| "//sdk/fidl/fuchsia.ui.gfx:fuchsia.ui.gfx", |
| "//sdk/fidl/fuchsia.ui.input:fuchsia.ui.input", |
| "//sdk/fidl/fuchsia.ui.input3:fuchsia.ui.input3", |
| "//sdk/fidl/fuchsia.ui.observation.geometry:fuchsia.ui.observation.geometry", |
| "//sdk/fidl/fuchsia.ui.pointer:fuchsia.ui.pointer", |
| "//sdk/fidl/fuchsia.ui.pointerinjector:fuchsia.ui.pointerinjector", |
| "//sdk/fidl/fuchsia.ui.policy:fuchsia.ui.policy", |
| "//sdk/fidl/fuchsia.ui.scenic:fuchsia.ui.scenic", |
| "//sdk/fidl/fuchsia.ui.test.input:fuchsia.ui.test.input", |
| "//sdk/fidl/fuchsia.ui.test.scene:fuchsia.ui.test.scene", |
| "//sdk/fidl/fuchsia.ui.types:fuchsia.ui.types", |
| "//sdk/fidl/fuchsia.ui.views:fuchsia.ui.views", |
| "//sdk/fidl/fuchsia.ultrasound:fuchsia.ultrasound", |
| "//sdk/fidl/fuchsia.unknown:fuchsia.unknown", |
| "//sdk/fidl/fuchsia.update:fuchsia.update", |
| "//sdk/fidl/fuchsia.update.channel:fuchsia.update.channel", |
| "//sdk/fidl/fuchsia.update.channelcontrol:fuchsia.update.channelcontrol", |
| "//sdk/fidl/fuchsia.update.config:fuchsia.update.config", |
| "//sdk/fidl/fuchsia.url:fuchsia.url", |
| "//sdk/fidl/fuchsia.version:fuchsia.version", |
| "//sdk/fidl/fuchsia.weave:fuchsia.weave", |
| "//sdk/fidl/fuchsia.web:fuchsia.web", |
| "//sdk/fidl/fuchsia.wlan.common:fuchsia.wlan.common", |
| "//sdk/fidl/fuchsia.wlan.ieee80211:fuchsia.wlan.ieee80211", |
| "//sdk/fidl/fuchsia.wlan.phyimpl:fuchsia.wlan.phyimpl", |
| "//sdk/fidl/fuchsia.wlan.policy:fuchsia.wlan.policy", |
| "//sdk/fidl/fuchsia.wlan.product.deprecatedclient:fuchsia.wlan.product.deprecatedclient", |
| "//sdk/fidl/fuchsia.wlan.product.deprecatedconfiguration:fuchsia.wlan.product.deprecatedconfiguration", |
| "//sdk/fidl/fuchsia.wlan.softmac:fuchsia.wlan.softmac", |
| "//zircon/vdso/zx:zx", |
| ] |
| |
| # The list of FIDLs to include in the core testing IDK. |
| sdk_fidl_testing_targets = [ |
| "//sdk/fidl/fuchsia.test:fuchsia.test", |
| "//sdk/fidl/fuchsia.debugdata:fuchsia.debugdata", |
| ] |
| |
| # The FIDL portion of the platform surface area (plasa). |
| group("plasa") { |
| testonly = true |
| deps = [] |
| foreach(target, sdk_fidl_targets) { |
| deps += [ "${target}_plasa($fidl_toolchain)" ] |
| } |
| } |
| |
| # Fuchsia IDL (FIDL) files defining much of the API for the SDK. |
| sdk_molecule("fidl") { |
| visibility = [ |
| ":*", |
| "//build/fidl:sdk_fidl", |
| "//sdk:*", |
| ] |
| |
| deps = [] |
| foreach(target, sdk_fidl_targets) { |
| deps += [ "${target}_sdk($fidl_toolchain)" ] |
| } |
| |
| non_sdk_deps = [ |
| # Ensure that the API compatibility tests run on the APIs libraries in the |
| # "partner" and "partner_internal" SDK category. |
| ":sdk_partner_internal_libs", |
| ":sdk_partner_libs", |
| ] |
| } |
| |
| # Fuchsia IDL (FIDL) files defining testing API for the SDK. |
| sdk_molecule("fidl_testing") { |
| testonly = true |
| visibility = [ |
| ":*", |
| "//build/fidl:sdk_fidl", |
| "//sdk:*", |
| ] |
| |
| deps = [] |
| foreach(target, sdk_fidl_testing_targets) { |
| deps += [ "${target}_sdk($fidl_toolchain)" ] |
| } |
| } |
| |
| group("sdk_fidl_partner_allowlist") { |
| visibility = sdk_fidl_targets + sdk_fidl_testing_targets |
| } |
| |
| group("sdk_partner_libs") { |
| public_deps = [] |
| fidl_libs = sdk_fidl_targets |
| |
| foreach(fidl_library, fidl_libs) { |
| public_deps += [ |
| "${fidl_library}($fidl_toolchain)", |
| "${fidl_library}_sdk($fidl_toolchain)", |
| ] |
| } |
| } |
| |
| # Contains all the API libraries that are in the "partner_internal" SDK |
| # category. This is to create the "sdk_partner_internal_libs" group below, |
| # this group is used to ensure that we run the FIDL API compatibility tests on |
| # these libraries. |
| _sdk_partner_internal_fidl_libraries = [ |
| "fuchsia.debugdata", |
| "fuchsia.fs", |
| "fuchsia.hardware.pty", |
| "fuchsia.net.name", |
| "fuchsia.memory.debug", |
| "fuchsia.memory.inspection", |
| "fuchsia.posix.socket.packet", |
| "fuchsia.posix.socket.raw", |
| "fuchsia.posix.socket", |
| "fuchsia.posix", |
| "fuchsia.vulkan.loader", |
| ] |
| |
| group("sdk_partner_internal_libs") { |
| public_deps = [] |
| foreach(fidl_library, _sdk_partner_internal_fidl_libraries) { |
| public_deps += [ |
| "//sdk/fidl/${fidl_library}:${fidl_library}_sdk($fidl_toolchain)", |
| "//sdk/fidl/${fidl_library}($fidl_toolchain)", |
| ] |
| } |
| } |
| |
| group("sdk_partner_internal_libs_allowlist") { |
| visibility = [] |
| foreach(fidl_library, _sdk_partner_internal_fidl_libraries) { |
| visibility += [ "//sdk/fidl/${fidl_library}($fidl_toolchain)" ] |
| } |
| } |