199ca880aSopenharmony_ciimport("//build/ohos.gni") 299ca880aSopenharmony_ci 399ca880aSopenharmony_ci## Build libudev.so {{{ 499ca880aSopenharmony_ciconfig("libudev_config") { 599ca880aSopenharmony_ci visibility = [ ":*" ] 699ca880aSopenharmony_ci 799ca880aSopenharmony_ci include_dirs = [ 899ca880aSopenharmony_ci "src/shared", 999ca880aSopenharmony_ci "src/libudev", 1099ca880aSopenharmony_ci "hm_src", 1199ca880aSopenharmony_ci ] 1299ca880aSopenharmony_ci 1399ca880aSopenharmony_ci cflags = [ 1499ca880aSopenharmony_ci "-DSIZEOF_PID_T=4", 1599ca880aSopenharmony_ci "-DSIZEOF_UID_T=4", 1699ca880aSopenharmony_ci "-DSIZEOF_GID_T=4", 1799ca880aSopenharmony_ci "-DSIZEOF_TIME_T=8", 1899ca880aSopenharmony_ci "-DSIZEOF_RLIM_T=8", 1999ca880aSopenharmony_ci "-DSIZEOF_DEV_T=8", 2099ca880aSopenharmony_ci "-Wno-macro-redefined", 2199ca880aSopenharmony_ci "-Wno-unused-parameter", 2299ca880aSopenharmony_ci "-Wno-unused-variable", 2399ca880aSopenharmony_ci "-Wno-extern-initializer", 2499ca880aSopenharmony_ci "-Wno-unused-function", 2599ca880aSopenharmony_ci "-Wno-implicit-function-declaration", 2699ca880aSopenharmony_ci "-Wno-int-conversion", 2799ca880aSopenharmony_ci "-Wno-int-to-pointer-cast", 2899ca880aSopenharmony_ci ] 2999ca880aSopenharmony_ci} 3099ca880aSopenharmony_ci 3199ca880aSopenharmony_ciconfig("libudev_public_config") { 3299ca880aSopenharmony_ci include_dirs = [ "export_include" ] 3399ca880aSopenharmony_ci 3499ca880aSopenharmony_ci cflags = [] 3599ca880aSopenharmony_ci} 3699ca880aSopenharmony_ci 3799ca880aSopenharmony_ciohos_shared_library("libudev") { 3899ca880aSopenharmony_ci sources = [ 3999ca880aSopenharmony_ci "hm_src/log.c", 4099ca880aSopenharmony_ci "src/libudev/libudev-device-private.c", 4199ca880aSopenharmony_ci "src/libudev/libudev-device.c", 4299ca880aSopenharmony_ci "src/libudev/libudev-enumerate.c", 4399ca880aSopenharmony_ci "src/libudev/libudev-hwdb.c", 4499ca880aSopenharmony_ci "src/libudev/libudev-list.c", 4599ca880aSopenharmony_ci "src/libudev/libudev-monitor.c", 4699ca880aSopenharmony_ci "src/libudev/libudev-queue.c", 4799ca880aSopenharmony_ci "src/libudev/libudev-util.c", 4899ca880aSopenharmony_ci "src/libudev/libudev.c", 4999ca880aSopenharmony_ci "src/shared/MurmurHash2.c", 5099ca880aSopenharmony_ci "src/shared/conf-files.c", 5199ca880aSopenharmony_ci "src/shared/dev-setup.c", 5299ca880aSopenharmony_ci "src/shared/device-nodes.c", 5399ca880aSopenharmony_ci "src/shared/fileio.c", 5499ca880aSopenharmony_ci "src/shared/hashmap.c", 5599ca880aSopenharmony_ci "src/shared/label.c", 5699ca880aSopenharmony_ci "src/shared/mempool.c", 5799ca880aSopenharmony_ci "src/shared/mkdir-label.c", 5899ca880aSopenharmony_ci "src/shared/mkdir.c", 5999ca880aSopenharmony_ci "src/shared/path-util.c", 6099ca880aSopenharmony_ci "src/shared/process-util.c", 6199ca880aSopenharmony_ci "src/shared/random-util.c", 6299ca880aSopenharmony_ci "src/shared/selinux-util.c", 6399ca880aSopenharmony_ci "src/shared/siphash24.c", 6499ca880aSopenharmony_ci "src/shared/smack-util.c", 6599ca880aSopenharmony_ci "src/shared/strbuf.c", 6699ca880aSopenharmony_ci "src/shared/strv.c", 6799ca880aSopenharmony_ci "src/shared/strxcpyx.c", 6899ca880aSopenharmony_ci "src/shared/sysctl-util.c", 6999ca880aSopenharmony_ci "src/shared/terminal-util.c", 7099ca880aSopenharmony_ci "src/shared/time-util.c", 7199ca880aSopenharmony_ci "src/shared/utf8.c", 7299ca880aSopenharmony_ci "src/shared/util.c", 7399ca880aSopenharmony_ci "src/shared/virt.c", 7499ca880aSopenharmony_ci 7599ca880aSopenharmony_ci # "src/shared/log.c", 7699ca880aSopenharmony_ci ] 7799ca880aSopenharmony_ci 7899ca880aSopenharmony_ci configs = [ ":libudev_config" ] 7999ca880aSopenharmony_ci 8099ca880aSopenharmony_ci public_configs = [ ":libudev_public_config" ] 8199ca880aSopenharmony_ci 8299ca880aSopenharmony_ci deps = [] 8399ca880aSopenharmony_ci 8499ca880aSopenharmony_ci public_deps = [] 8599ca880aSopenharmony_ci 8699ca880aSopenharmony_ci subsystem_name = "thirdparty" 8799ca880aSopenharmony_ci part_name = "eudev" 8899ca880aSopenharmony_ci} 8999ca880aSopenharmony_ci 9099ca880aSopenharmony_ci## Build libudev.so }}} 9199ca880aSopenharmony_ci 9299ca880aSopenharmony_ci## Build udevd {{{ 9399ca880aSopenharmony_ciconfig("udevd_config") { 9499ca880aSopenharmony_ci visibility = [ ":*" ] 9599ca880aSopenharmony_ci 9699ca880aSopenharmony_ci include_dirs = [ 9799ca880aSopenharmony_ci "./src/shared", 9899ca880aSopenharmony_ci "./src/libudev", 9999ca880aSopenharmony_ci "./src/udev", 10099ca880aSopenharmony_ci "./hm_src", 10199ca880aSopenharmony_ci ] 10299ca880aSopenharmony_ci 10399ca880aSopenharmony_ci cflags = [ 10499ca880aSopenharmony_ci "-DSIZEOF_PID_T=4", 10599ca880aSopenharmony_ci "-DSIZEOF_UID_T=4", 10699ca880aSopenharmony_ci "-DSIZEOF_GID_T=4", 10799ca880aSopenharmony_ci "-DSIZEOF_TIME_T=8", 10899ca880aSopenharmony_ci "-DSIZEOF_RLIM_T=8", 10999ca880aSopenharmony_ci "-DSIZEOF_DEV_T=8", 11099ca880aSopenharmony_ci "-Wno-unused-parameter", 11199ca880aSopenharmony_ci "-Wno-missing-field-initializers", 11299ca880aSopenharmony_ci "-Wno-implicit-function-declaration", 11399ca880aSopenharmony_ci "-Wno-macro-redefined", 11499ca880aSopenharmony_ci ] 11599ca880aSopenharmony_ci} 11699ca880aSopenharmony_ci 11799ca880aSopenharmony_ciconfig("udevd_public_config") { 11899ca880aSopenharmony_ci include_dirs = [] 11999ca880aSopenharmony_ci 12099ca880aSopenharmony_ci cflags = [] 12199ca880aSopenharmony_ci} 12299ca880aSopenharmony_ci 12399ca880aSopenharmony_ciohos_executable("udevd") { 12499ca880aSopenharmony_ci install_enable = true 12599ca880aSopenharmony_ci 12699ca880aSopenharmony_ci sources = [ 12799ca880aSopenharmony_ci "src/udev/udev-builtin-btrfs.c", 12899ca880aSopenharmony_ci "src/udev/udev-builtin-hwdb.c", 12999ca880aSopenharmony_ci "src/udev/udev-builtin-input_id.c", 13099ca880aSopenharmony_ci "src/udev/udev-builtin-keyboard.c", 13199ca880aSopenharmony_ci "src/udev/udev-builtin-net_id.c", 13299ca880aSopenharmony_ci "src/udev/udev-builtin-path_id.c", 13399ca880aSopenharmony_ci "src/udev/udev-builtin-usb_id.c", 13499ca880aSopenharmony_ci "src/udev/udev-builtin.c", 13599ca880aSopenharmony_ci "src/udev/udev-ctrl.c", 13699ca880aSopenharmony_ci "src/udev/udev-event.c", 13799ca880aSopenharmony_ci "src/udev/udev-node.c", 13899ca880aSopenharmony_ci "src/udev/udev-rules.c", 13999ca880aSopenharmony_ci "src/udev/udev-watch.c", 14099ca880aSopenharmony_ci "src/udev/udevd.c", 14199ca880aSopenharmony_ci ] 14299ca880aSopenharmony_ci 14399ca880aSopenharmony_ci configs = [ ":udevd_config" ] 14499ca880aSopenharmony_ci 14599ca880aSopenharmony_ci public_configs = [ ":udevd_public_config" ] 14699ca880aSopenharmony_ci 14799ca880aSopenharmony_ci deps = [ ":libudev" ] 14899ca880aSopenharmony_ci 14999ca880aSopenharmony_ci public_deps = [] 15099ca880aSopenharmony_ci subsystem_name = "thirdparty" 15199ca880aSopenharmony_ci part_name = "eudev" 15299ca880aSopenharmony_ci} 15399ca880aSopenharmony_ci 15499ca880aSopenharmony_ci## Build udevd }}} 15599ca880aSopenharmony_ci 15699ca880aSopenharmony_ciohos_executable("udevadm") { 15799ca880aSopenharmony_ci install_enable = true 15899ca880aSopenharmony_ci 15999ca880aSopenharmony_ci sources = [ 16099ca880aSopenharmony_ci "src/udev/udev-builtin-btrfs.c", 16199ca880aSopenharmony_ci "src/udev/udev-builtin-hwdb.c", 16299ca880aSopenharmony_ci "src/udev/udev-builtin-input_id.c", 16399ca880aSopenharmony_ci "src/udev/udev-builtin-keyboard.c", 16499ca880aSopenharmony_ci "src/udev/udev-builtin-net_id.c", 16599ca880aSopenharmony_ci "src/udev/udev-builtin-path_id.c", 16699ca880aSopenharmony_ci "src/udev/udev-builtin-usb_id.c", 16799ca880aSopenharmony_ci "src/udev/udev-builtin.c", 16899ca880aSopenharmony_ci "src/udev/udev-ctrl.c", 16999ca880aSopenharmony_ci "src/udev/udev-event.c", 17099ca880aSopenharmony_ci "src/udev/udev-node.c", 17199ca880aSopenharmony_ci "src/udev/udev-rules.c", 17299ca880aSopenharmony_ci "src/udev/udev-watch.c", 17399ca880aSopenharmony_ci "src/udev/udevadm-control.c", 17499ca880aSopenharmony_ci "src/udev/udevadm-hwdb.c", 17599ca880aSopenharmony_ci "src/udev/udevadm-info.c", 17699ca880aSopenharmony_ci "src/udev/udevadm-monitor.c", 17799ca880aSopenharmony_ci "src/udev/udevadm-settle.c", 17899ca880aSopenharmony_ci "src/udev/udevadm-test-builtin.c", 17999ca880aSopenharmony_ci "src/udev/udevadm-test.c", 18099ca880aSopenharmony_ci "src/udev/udevadm-trigger.c", 18199ca880aSopenharmony_ci "src/udev/udevadm-util.c", 18299ca880aSopenharmony_ci "src/udev/udevadm-util.h", 18399ca880aSopenharmony_ci "src/udev/udevadm.c", 18499ca880aSopenharmony_ci ] 18599ca880aSopenharmony_ci 18699ca880aSopenharmony_ci configs = [ ":udevd_config" ] 18799ca880aSopenharmony_ci 18899ca880aSopenharmony_ci public_configs = [ ":udevd_public_config" ] 18999ca880aSopenharmony_ci 19099ca880aSopenharmony_ci deps = [ ":libudev" ] 19199ca880aSopenharmony_ci 19299ca880aSopenharmony_ci public_deps = [] 19399ca880aSopenharmony_ci subsystem_name = "thirdparty" 19499ca880aSopenharmony_ci part_name = "eudev" 19599ca880aSopenharmony_ci} 19699ca880aSopenharmony_ci 19799ca880aSopenharmony_ci## Build udevd }}} 19899ca880aSopenharmony_ci 19999ca880aSopenharmony_ciohos_prebuilt_etc("udev_conf") { 20099ca880aSopenharmony_ci source = "src/udev/udev.conf" 20199ca880aSopenharmony_ci relative_install_dir = "udev" 20299ca880aSopenharmony_ci subsystem_name = "thirdparty" 20399ca880aSopenharmony_ci part_name = "eudev" 20499ca880aSopenharmony_ci} 20599ca880aSopenharmony_ci 20699ca880aSopenharmony_ciohos_prebuilt_etc("udev_touchscreen_rule") { 20799ca880aSopenharmony_ci source = "rules.d/touchscreen.rules" 20899ca880aSopenharmony_ci relative_install_dir = "udev/rules.d" 20999ca880aSopenharmony_ci subsystem_name = "thirdparty" 21099ca880aSopenharmony_ci part_name = "eudev" 21199ca880aSopenharmony_ci} 21299ca880aSopenharmony_ci 21399ca880aSopenharmony_ciohos_prebuilt_etc("udev_vk_rule") { 21499ca880aSopenharmony_ci source = "rules.d/vk.rules" 21599ca880aSopenharmony_ci relative_install_dir = "udev/rules.d" 21699ca880aSopenharmony_ci subsystem_name = "thirdparty" 21799ca880aSopenharmony_ci part_name = "eudev" 21899ca880aSopenharmony_ci} 21999ca880aSopenharmony_ci 22099ca880aSopenharmony_ci## Install udevd.rc to /system/etc/init/udevd.rc {{{ 22199ca880aSopenharmony_ciohos_prebuilt_etc("udevd.rc") { 22299ca880aSopenharmony_ci source = "udevd.rc" 22399ca880aSopenharmony_ci relative_install_dir = "init" 22499ca880aSopenharmony_ci subsystem_name = "thirdparty" 22599ca880aSopenharmony_ci part_name = "eudev" 22699ca880aSopenharmony_ci} 22799ca880aSopenharmony_ci## Install udevd.rc to /system/etc/init/udevd.rc }}} 228