1 Star 0 Fork 61

李田甜/third_party_weston

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
BUILD.gn 16.81 KB
一键复制 编辑 原始数据 按行查看 历史
pengquan1 提交于 2022-01-18 11:07 . disable westont gpu
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738
# Copyright (c) 2021 Huawei Device Co., Ltd.
# 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/ohos.gni")
import("//foundation/graphic/standard/graphic_config.gni")
import("//foundation/multimodalinput/input/multimodalinput_mini.gni")
import("//third_party/wayland_standard/wayland_protocol.gni")
group("default") {
public_deps = [
":drm-backend",
":hdi-backend",
":ivi-shell",
":weston",
":weston.ini",
":weston.rc",
]
}
weston_defines = []
if (is_mmi_have_hdf) {
weston_defines += [ "LIBINPUT_THIRD_HDF" ]
}
set_defaults("ohos_shared_library") {
defines = weston_defines
}
set_defaults("ohos_static_library") {
defines = weston_defines
}
set_defaults("ohos_executable") {
defines = weston_defines
}
## Generate Wayland Protocols {{{
wayland_protocol("text_cursor_position_protocol") {
sources = [ "protocol/text-cursor-position.xml" ]
}
wayland_protocol("weston_content_protection_protocol") {
sources = [ "protocol/weston-content-protection.xml" ]
}
wayland_protocol("weston_touch_calibration_protocol") {
sources = [ "protocol/weston-touch-calibration.xml" ]
}
wayland_protocol("weston_direct_display_protocol") {
sources = [ "protocol/weston-direct-display.xml" ]
}
wayland_protocol("weston_screenshooter_protocol") {
sources = [ "protocol/weston-screenshooter.xml" ]
}
wayland_protocol("ivi_application_protocol") {
sources = [ "protocol/ivi-application.xml" ]
}
wayland_protocol("drm_auth_protocol") {
sources = [ "protocol/drm-auth.xml" ]
}
## Generate Wayland Protocols }}}
## Build libshared.a {{{
config("libshared_config") {
visibility = [ ":*" ]
include_dirs = [
"include",
"//third_party/wayland_standard/src",
"//third_party/wayland-ivi-extension_standard/include",
]
cflags = [
"-Wall",
"-Werror",
"-Wno-unused-parameter",
]
}
config("libshared_public_config") {
include_dirs = [
# "shared",
".",
]
}
ohos_static_library("libshared") {
sources = [
"shared/config-parser.c",
"shared/file-util.c",
"shared/matrix.c",
"shared/option-parser.c",
"shared/os-compatibility.c",
]
configs = [ ":libshared_config" ]
public_configs = [ ":libshared_public_config" ]
deps = []
public_deps = [ "//third_party/wayland_standard:libwayland_server" ]
}
## Build libshared.a }}}
## Build libweston.so {{{
config("libweston_config") {
visibility = [ ":*" ]
include_dirs = [
"//third_party/weston/include",
"//third_party/wayland_standard/src",
"//third_party/wayland-ivi-extension_standard/include",
"//third_party/weston",
]
cflags = [
"-Wall",
"-Werror",
"-Wno-unused-parameter",
"-Wno-unused-function",
"-Wno-missing-field-initializers",
"-Wno-unused-variable",
"-Wno-implicit-function-declaration",
]
}
config("libweston_public_config") {
include_dirs = [
"include",
"libweston",
"libweston/backend-drm", # tde
]
}
ohos_shared_library("libweston") {
sources = [
"libweston/animation.c",
"libweston/bindings.c",
"libweston/clipboard.c",
"libweston/compositor.c",
"libweston/content-protection.c",
"libweston/data-device.c",
"libweston/input.c",
"libweston/launcher-direct.c",
"libweston/launcher-util.c",
"libweston/launcher-weston-launch.c",
"libweston/libinput-device.c",
"libweston/libinput-seat.c",
"libweston/linux-dmabuf.c",
"libweston/linux-explicit-synchronization.c",
"libweston/linux-sync-file.c",
"libweston/noop-renderer.c",
"libweston/pixel-formats.c",
"libweston/pixman-renderer.c",
"libweston/plugin-registry.c",
"libweston/screenshooter.c",
"libweston/tde-render-part.cpp",
"libweston/touch-calibration.c",
"libweston/vertex-clipping.c",
"libweston/weston-direct-display.c",
"libweston/zoom.c",
]
configs = [ ":libweston_config" ]
public_configs = [ ":libweston_public_config" ]
deps = [
":trace",
":weston_bytrace",
":weston_content_protection_protocol",
":weston_direct_display_protocol",
":weston_touch_calibration_protocol",
"//third_party/libdrm:libdrm",
"//third_party/openGLES:libGLES",
"//third_party/wayland-protocols_standard:input_timestamps_unstable_v1_protocol",
"//third_party/wayland-protocols_standard:linux_dmabuf_unstable_v1_protocol",
"//third_party/wayland-protocols_standard:linux_explicit_synchronization_unstable_v1_protocol",
"//third_party/wayland-protocols_standard:pointer_constraints_unstable_v1_protocol",
"//third_party/wayland-protocols_standard:presentation_time_protocol",
"//third_party/wayland-protocols_standard:relative_pointer_unstable_v1_protocol",
"//third_party/wayland-protocols_standard:viewporter_protocol",
"//third_party/wayland-protocols_standard:xdg_output_unstable_v1_protocol",
"//utils/native/base:utils",
]
public_deps = [
":libshared",
"//base/hiviewdfx/hilog/interfaces/native/innerkits:libhilog",
"//drivers/peripheral/display/hdi_service/gralloc/client:hdi_gralloc_client", # tde
"//foundation/multimodalinput/input/patch/diff_libinput_mmi:libinput-third-mmi",
"//third_party/libxkbcommon:libxkbcommon",
"//third_party/pixman:libpixman",
]
part_name = "graphic_standard"
subsystem_name = "graphic"
}
## Build libweston.so }}}
## Build libexec_weston.a {{{
config("libexec_weston_config") {
visibility = [ ":*" ]
cflags = [
"-Wall",
"-Werror",
"-Wno-unused-parameter",
"-Wno-missing-field-initializers",
"-Wno-unused-variable",
]
}
config("libexec_weston_public_config") {
include_dirs = []
cflags = []
}
ohos_static_library("libexec_weston") {
sources = [
"compositor/main.c",
"compositor/text-backend.c",
"compositor/weston-screenshooter.c",
]
configs = [ ":libexec_weston_config" ]
public_configs = [ ":libexec_weston_public_config" ]
deps = [
":soft_vsync",
":trace",
":weston_screenshooter_protocol",
"//foundation/graphic/standard/frameworks/vsync:libvsync_module",
"//foundation/multimodalinput/input/patch/diff_libinput_mmi:libinput-third-mmi",
"//third_party/wayland-protocols_standard:input_method_unstable_v1_protocol",
"//third_party/wayland-protocols_standard:text_input_unstable_v1_protocol",
]
public_deps = [
":libweston",
"//third_party/wayland_standard:wayland_core_protocol",
]
}
## Build libexec_weston.a }}}
## Build weston {{{
config("weston_config") {
visibility = [ ":*" ]
include_dirs = []
cflags = [
"-Wall",
"-Werror",
]
}
config("weston_public_config") {
include_dirs = []
cflags = []
}
ohos_executable("weston") {
install_enable = true
sources = [ "compositor/executable.c" ]
configs = [ ":weston_config" ]
public_configs = [ ":weston_public_config" ]
deps = [
":libexec_weston",
":trace",
]
public_deps = []
subsystem_name = "graphic"
part_name = "graphic_standard"
}
## Build weston }}}
## Build libweston-desktop.so {{{
config("libweston-desktop_config") {
visibility = [ ":*" ]
include_dirs = []
cflags = [
"-Wall",
"-Werror",
"-Wno-unused-function",
]
}
config("libweston-desktop_public_config") {
include_dirs = [ "include/libweston-desktop" ]
cflags = []
}
ohos_shared_library("libweston-desktop") {
sources = [
"libweston-desktop/client.c",
"libweston-desktop/libweston-desktop.c",
"libweston-desktop/seat.c",
"libweston-desktop/surface.c",
"libweston-desktop/wl-shell.c",
"libweston-desktop/xdg-shell-v6.c",
"libweston-desktop/xdg-shell.c",
]
configs = [ ":libweston-desktop_config" ]
public_configs = [ ":libweston-desktop_public_config" ]
deps = []
public_deps = [
":libexec_weston",
"//third_party/wayland-protocols_standard:xdg_shell_protocol",
"//third_party/wayland-protocols_standard:xdg_shell_unstable_v6_protocol",
]
part_name = "graphic_standard"
subsystem_name = "graphic"
}
## Build libweston-desktop.so }}}
## Build ivi-shell.so {{{
config("ivi-shell_config") {
visibility = [ ":*" ]
include_dirs = []
cflags = [
"-Wall",
"-Werror",
"-Wno-unused-function",
]
}
config("ivi-shell_public_config") {
include_dirs = []
cflags = []
}
ohos_shared_library("ivi-shell") {
sources = [
"ivi-shell/ivi-layout-transition.c",
"ivi-shell/ivi-layout.c",
"ivi-shell/ivi-shell.c",
]
configs = [ ":ivi-shell_config" ]
public_configs = [ ":ivi-shell_public_config" ]
deps = [
":ivi_application_protocol",
":libweston-desktop",
":trace",
"//third_party/wayland_standard:wayland_core_protocol",
]
public_deps = []
subsystem_name = "graphic"
part_name = "graphic_standard"
}
## Build ivi-shell.so }}}
# Build simple-dmabuf-egl-hos {{{
ohos_executable("simple-dmabuf-egl-hos") {
include_dirs = [
".",
"include",
"//third_party/wayland_standard/egl",
]
cflags = [ "-Wno-incompatible-pointer-types" ]
sources = [ "clients/simple-dmabuf-egl-hos.c" ]
deps = [
":weston_direct_display_protocol",
"//foundation/graphic/standard:libgl",
"//foundation/graphic/standard/frameworks/wmserver:wms_protocol",
"//third_party/libdrm:libdrm",
"//third_party/wayland-protocols_standard:linux_dmabuf_unstable_v1_protocol",
"//third_party/wayland-protocols_standard:linux_explicit_synchronization_unstable_v1_protocol",
"//third_party/wayland_standard:libwayland_client",
"//third_party/wayland_standard:wayland_core_protocol",
]
part_name = "graphic_standard"
subsystem_name = "graphic"
}
# Build simple-dmabuf-egl-hos }}}
# Build simple-egl-hos {{{
ohos_executable("simple-egl-hos") {
include_dirs = [
".",
"include",
"//third_party/wayland_standard/egl",
]
sources = [ "clients/simple-egl-hos.c" ]
cflags = [
"-Wno-int-conversion",
"-Wno-incompatible-pointer-types",
]
deps = [
"//foundation/graphic/standard:libgl",
"//foundation/graphic/standard/frameworks/wmserver:wms_protocol",
"//third_party/wayland_standard:libwayland_client",
"//third_party/wayland_standard:wayland_core_protocol",
]
part_name = "graphic_standard"
subsystem_name = "graphic"
}
# Build simple-egl-hos }}}
## Build drm-backend.so {{{
config("drm-backend_config") {
visibility = [ ":*" ]
include_dirs = [
"include",
"libweston/backend-drm/auth",
]
cflags = [
"-Wall",
"-Wno-error",
"-Wno-unused-parameter",
"-Wno-missing-field-initializers",
"-Wno-implicit-function-declaration",
"-Wno-unused-variable",
"-Wno-unused-function",
"-Wno-sometimes-uninitialized",
]
}
ohos_shared_library("drm-backend") {
output_prefix_override = true
output_name = "drm-backend"
output_extension = "so"
sources = [
"libweston/backend-drm/auth/wayland_drm_auth_server.c",
"libweston/backend-drm/drm.c",
"libweston/backend-drm/fb.c",
"libweston/backend-drm/kms.c",
"libweston/backend-drm/libbacklight.c",
"libweston/backend-drm/modes.c",
"libweston/backend-drm/state-helpers.c",
"libweston/backend-drm/state-propose.c",
]
configs = [ ":drm-backend_config" ]
deps = [
":drm_auth_protocol",
":libmix-renderer",
":libweston",
":soft_vsync",
":trace",
"//foundation/graphic/standard:libgl",
"//foundation/graphic/standard/frameworks/vsync:libvsync_module",
"//third_party/libdrm:libdrm",
"//third_party/wayland-protocols_standard:linux_dmabuf_unstable_v1_protocol",
"//third_party/wayland-protocols_standard:presentation_time_protocol",
"//third_party/wayland-protocols_standard:relative_pointer_unstable_v1_protocol",
"//third_party/wayland_standard:wayland_core_protocol",
]
part_name = "graphic_standard"
subsystem_name = "graphic"
}
## Build drm-backend.so }}}
## Install weston.ini to /system/etc/weston.ini {{{
ohos_prebuilt_etc("weston.ini") {
source = "weston.ini"
part_name = "graphic_standard"
subsystem_name = "graphic"
}
## Install weston.ini to /system/etc/weston.ini }}}
## Install weston.rc to /system/etc/init/weston.rc {{{
ohos_prebuilt_etc("weston.rc") {
if (use_musl) {
source = "weston.cfg"
} else {
source = "weston.rc"
}
relative_install_dir = "init"
part_name = "graphic_standard"
subsystem_name = "graphic"
}
## Install weston.rc to /system/etc/init/weston.rc }}}
## Build trace.so {{{
config("trace_config") {
visibility = [ ":*" ]
cflags = [
"-Wall",
"-Werror",
"-g3",
]
}
config("trace_public_config") {
include_dirs = [ "libweston" ]
}
ohos_shared_library("trace") {
sources = [ "libweston/trace.cpp" ]
configs = [ ":trace_config" ]
public_configs = [ ":trace_public_config" ]
deps = [ "//base/hiviewdfx/hilog/interfaces/native/innerkits:libhilog" ]
subsystem_name = "graphic"
part_name = "graphic_standard"
}
## Build trace.so }}}
## Build soft_vsync.so {{{
config("soft_vsync_config") {
visibility = [ ":*" ]
cflags = [
"-Wall",
"-Werror",
"-g3",
]
}
config("soft_vsync_public_config") {
include_dirs = [ "libweston" ]
}
ohos_shared_library("soft_vsync") {
sources = [ "libweston/soft_vsync.cpp" ]
configs = [ ":soft_vsync_config" ]
public_configs = [ ":soft_vsync_public_config" ]
deps = [
"//base/hiviewdfx/hilog/interfaces/native/innerkits:libhilog",
"//foundation/graphic/standard/frameworks/vsync:libvsync_module",
]
subsystem_name = "graphic"
part_name = "graphic_standard"
}
## Build soft_vsync.so }}}
## Build hdi-backend.so {{{
config("hdi-backend_config") {
visibility = [ ":*" ]
cflags = [
"-Wall",
"-Werror",
]
}
ohos_shared_library("hdi-backend") {
output_prefix_override = true
output_name = "hdi-backend"
output_extension = "so"
sources = [
"libweston/backend-hdi/hdi_backend.cpp",
"libweston/backend-hdi/hdi_head.cpp",
"libweston/backend-hdi/hdi_output.cpp",
"libweston/backend-hdi/hdi_renderer.cpp",
"libweston/backend-hdi/main.cpp",
]
configs = [ ":hdi-backend_config" ]
deps = [
":libmix-renderer",
":libweston",
":soft_vsync",
":trace",
"//drivers/peripheral/display/hal:hdi_display_device",
"//drivers/peripheral/display/hdi_service/gralloc/client:hdi_gralloc_client",
"//foundation/graphic/standard:libgraphic_dumper_client",
"//foundation/graphic/standard/frameworks/vsync:libvsync_module",
"//third_party/libdrm:libdrm",
"//third_party/wayland-protocols_standard:linux_dmabuf_unstable_v1_protocol",
"//third_party/wayland_standard:wayland_core_protocol",
"//utils/native/base:utils",
]
part_name = "graphic_standard"
subsystem_name = "graphic"
}
## Build hdi-backend.so }}}
## Build weston_bytrace.so {{{
config("weston_bytrace_config") {
visibility = [ ":*" ]
cflags = [
"-Wall",
"-Werror",
"-g3",
]
}
config("weston_bytrace_public_config") {
include_dirs = [ "." ]
}
ohos_static_library("weston_bytrace") {
sources = [ "libweston/weston_bytrace.cpp" ]
configs = [ ":weston_bytrace_config" ]
public_configs = [ ":weston_bytrace_public_config" ]
deps = [
"//developtools/bytrace_standard/interfaces/innerkits/native:bytrace_core",
]
}
## Build weston_bytrace.so }}}
### Build gl-renderer.so {{{
config("gl-renderer_config") {
visibility = [ ":*" ]
include_dirs = [ "//third_party/wayland_standard/egl" ]
cflags = [
"-Wno-return-type",
"-Wno-visibility",
"-Wno-unused-function",
"-Wno-implicit-fallthrough",
]
}
ohos_shared_library("gl-renderer") {
output_prefix_override = true
output_name = "gl-renderer"
output_extension = "so"
sources = [
"libweston/renderer-gl/egl-glue.c",
"libweston/renderer-gl/gl-renderer.c",
]
configs = [ ":gl-renderer_config" ]
deps = [
":libweston",
"//foundation/graphic/standard:libgl",
"//third_party/libdrm:libdrm",
"//third_party/wayland-protocols_standard:linux_dmabuf_unstable_v1_protocol",
]
part_name = "graphic_standard"
subsystem_name = "graphic"
}
### Build gl-renderer.so }}}
### Build libmix-renderer.z.so {{{
config("libmix-renderer_config") {
visibility = [ ":*" ]
cflags = [
"-Wall",
"-Werror",
"-g3",
]
}
config("libmix-renderer_public_config") {
include_dirs = [ "libweston/renderer-mix" ]
}
ohos_shared_library("libmix-renderer") {
sources = [ "libweston/renderer-mix/mix_renderer.cpp" ]
configs = [ ":libmix-renderer_config" ]
public_configs = [ ":libmix-renderer_public_config" ]
deps = [
":libweston",
":trace",
]
part_name = "graphic_standard"
subsystem_name = "graphic"
}
## Build libmix-renderer.z.so }}}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/tian-tian-lii/third_party_weston.git
git@gitee.com:tian-tian-lii/third_party_weston.git
tian-tian-lii
third_party_weston
third_party_weston
master

搜索帮助