mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
152 lines
3.6 KiB
Plaintext
152 lines
3.6 KiB
Plaintext
# Copyright 2014 The Chromium 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("../mojo_sdk.gni")
|
|
import("//third_party/cython/rules.gni")
|
|
import("rules.gni")
|
|
|
|
group("python") {
|
|
deps = [
|
|
":bindings",
|
|
":mojo_system",
|
|
":mojo_system_impl",
|
|
]
|
|
}
|
|
|
|
# GYP version: mojo.gyp:mojo_python_system
|
|
python_binary_module("mojo_system") {
|
|
configs = [ "../build/config:mojo_sdk" ]
|
|
deps = [
|
|
":system_embedded",
|
|
]
|
|
}
|
|
|
|
python_binary_source_set("system_embedded") {
|
|
cython_sources = [
|
|
"c_async_waiter.pxd",
|
|
"c_core.pxd",
|
|
"c_export.pxd",
|
|
"c_thunks.pxd",
|
|
"mojo_system.pyx",
|
|
]
|
|
configs = [ "../build/config:mojo_sdk" ]
|
|
deps = [
|
|
"../c/system",
|
|
"../cpp/bindings:callback",
|
|
"../cpp/system",
|
|
"../cpp/utility",
|
|
"../platform/native:system",
|
|
]
|
|
}
|
|
|
|
python_binary_module("mojo_system_impl") {
|
|
cython_sources = [
|
|
"c_environment.pxd",
|
|
"c_export.pxd",
|
|
"c_thunks.pxd",
|
|
"mojo_system_impl.pyx",
|
|
]
|
|
sources = [
|
|
"src/python_system_helper.cc",
|
|
"src/python_system_helper.h",
|
|
]
|
|
configs = [ "../build/config:mojo_sdk" ]
|
|
deps = [
|
|
":python_common",
|
|
"../c/environment",
|
|
"../c/system",
|
|
"../cpp/bindings:callback",
|
|
"../cpp/environment:standalone",
|
|
"../cpp/system",
|
|
"../cpp/utility",
|
|
"../platform/native:system",
|
|
]
|
|
}
|
|
|
|
python_binary_source_set("python_common") {
|
|
sources = [
|
|
"src/common.cc",
|
|
"src/common.h",
|
|
]
|
|
configs = [ "../build/config:mojo_sdk" ]
|
|
deps = [
|
|
"../c/environment:environment",
|
|
"../cpp/bindings:callback",
|
|
"../cpp/environment:environment",
|
|
"../cpp/system:system",
|
|
"../cpp/utility",
|
|
]
|
|
}
|
|
|
|
python_package("packaged_application") {
|
|
sources = [
|
|
"mojo_application/__init__.py",
|
|
"mojo_application/application_delegate.py",
|
|
"mojo_application/application_impl.py",
|
|
"mojo_application/application_runner.py",
|
|
"mojo_application/service_provider_impl.py",
|
|
]
|
|
}
|
|
|
|
action("import_interface_bindings") {
|
|
visibility = [ ":bindings" ]
|
|
script = rebase_path("mojo/public/tools/gn/unzip.py", ".", mojo_root)
|
|
timestamp = "$target_gen_dir/${target_name}.outputstamp"
|
|
mojom_deps = [ "../interfaces/bindings:bindings_python" ]
|
|
inputs = []
|
|
foreach(d, mojom_deps) {
|
|
dep_name = get_label_info(d, "name")
|
|
dep_target_out_dir = get_label_info(d, "target_out_dir")
|
|
inputs += [ "$dep_target_out_dir/$dep_name.pyzip" ]
|
|
}
|
|
outputs = [
|
|
timestamp,
|
|
]
|
|
rebase_inputs = rebase_path(inputs, root_build_dir)
|
|
rabase_output = rebase_path("$root_out_dir/python", root_build_dir)
|
|
rebase_timestamp = rebase_path(timestamp, root_build_dir)
|
|
args = [
|
|
"--inputs=${rebase_inputs}",
|
|
"--output=${rabase_output}",
|
|
"--timestamp=${rebase_timestamp}",
|
|
]
|
|
|
|
deps = mojom_deps
|
|
}
|
|
|
|
copy("bindings") {
|
|
sources = [
|
|
"mojo_bindings/__init__.py",
|
|
"mojo_bindings/descriptor.py",
|
|
"mojo_bindings/interface_reflection.py",
|
|
"mojo_bindings/messaging.py",
|
|
"mojo_bindings/promise.py",
|
|
"mojo_bindings/reflection.py",
|
|
"mojo_bindings/serialization.py",
|
|
]
|
|
outputs = [
|
|
"$root_out_dir/python/mojo_bindings/{{source_file_part}}",
|
|
]
|
|
deps = [
|
|
":import_interface_bindings",
|
|
":mojo_system",
|
|
]
|
|
}
|
|
|
|
python_package("packaged_bindings") {
|
|
sources = [
|
|
"mojo_bindings/__init__.py",
|
|
"mojo_bindings/descriptor.py",
|
|
"mojo_bindings/interface_reflection.py",
|
|
"mojo_bindings/messaging.py",
|
|
"mojo_bindings/promise.py",
|
|
"mojo_bindings/reflection.py",
|
|
"mojo_bindings/serialization.py",
|
|
]
|
|
|
|
deps = [
|
|
"../interfaces/bindings:bindings_python",
|
|
]
|
|
}
|