1# Copyright (c) 2021-2024 Huawei Device Co., Ltd. 2# Licensed under the Apache License, Version 2.0 (the "License"); 3# you may not use this file except in compliance with the License. 4# You may obtain a copy of the License at 5# 6# http://www.apache.org/licenses/LICENSE-2.0 7# 8# Unless required by applicable law or agreed to in writing, software 9# distributed under the License is distributed on an "AS IS" BASIS, 10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11# See the License for the specific language governing permissions and 12# limitations under the License. 13 14import("//build/ohos.gni") 15 16gen_dst_dir = root_out_dir + "/diff_libinput_mmi" 17 18config("libinput-third_config") { 19 visibility = [ ":*" ] 20 21 include_dirs = [ 22 "$gen_dst_dir/src", 23 "$gen_dst_dir/include", 24 "$gen_dst_dir/hm_src", 25 ] 26 27 cflags = [ 28 "-Wno-unused-parameter", 29 "-Wno-implicit-int", 30 "-Wno-return-type", 31 "-Wno-unused-function", 32 "-Wno-string-conversion", 33 "-DHAVE_LIBINPUT_LOG_CONSOLE_ENABLE", 34 "-DHAVE_LIBINPUT_LOG_ENABLE", 35 ] 36} 37 38config("libinput-third_public_config") { 39 include_dirs = [ 40 "$gen_dst_dir/export_include", 41 "$gen_dst_dir/include", 42 "$gen_dst_dir/src", 43 ] 44 45 cflags = [] 46} 47 48ohos_source_set("patch_gen_libinput-third-mmi") { 49 part_name = "input" 50 subsystem_name = "multimodalinput" 51 sources = [ 52 root_out_dir + "/diff_libinput_mmi/src/evdev-debounce.c", 53 root_out_dir + "/diff_libinput_mmi/src/evdev-fallback.c", 54 root_out_dir + "/diff_libinput_mmi/src/evdev-joystick.c", 55 root_out_dir + "/diff_libinput_mmi/src/evdev-privacy-switch.c", 56 root_out_dir + "/diff_libinput_mmi/src/evdev-middle-button.c", 57 root_out_dir + "/diff_libinput_mmi/src/evdev-mt-touchpad-buttons.c", 58 root_out_dir + "/diff_libinput_mmi/src/evdev-mt-touchpad-edge-scroll.c", 59 root_out_dir + "/diff_libinput_mmi/src/evdev-mt-touchpad-gestures.c", 60 root_out_dir + "/diff_libinput_mmi/src/evdev-mt-touchpad-tap.c", 61 root_out_dir + "/diff_libinput_mmi/src/evdev-mt-touchpad-thumb.c", 62 root_out_dir + "/diff_libinput_mmi/src/evdev-mt-touchpad.c", 63 root_out_dir + "/diff_libinput_mmi/src/evdev-tablet-pad-leds.c", 64 root_out_dir + "/diff_libinput_mmi/src/evdev-tablet-pad.c", 65 root_out_dir + "/diff_libinput_mmi/src/evdev-tablet.c", 66 root_out_dir + "/diff_libinput_mmi/src/evdev-totem.c", 67 root_out_dir + "/diff_libinput_mmi/src/evdev-wheel.c", 68 root_out_dir + "/diff_libinput_mmi/src/evdev.c", 69 root_out_dir + "/diff_libinput_mmi/src/filter-custom.c", 70 root_out_dir + "/diff_libinput_mmi/src/filter-flat.c", 71 root_out_dir + "/diff_libinput_mmi/src/filter-low-dpi.c", 72 root_out_dir + "/diff_libinput_mmi/src/filter-mouse.c", 73 root_out_dir + "/diff_libinput_mmi/src/filter-tablet.c", 74 root_out_dir + "/diff_libinput_mmi/src/filter-touchpad-flat.c", 75 root_out_dir + "/diff_libinput_mmi/src/filter-touchpad-x230.c", 76 root_out_dir + "/diff_libinput_mmi/src/filter-touchpad.c", 77 root_out_dir + "/diff_libinput_mmi/src/filter-trackpoint-flat.c", 78 root_out_dir + "/diff_libinput_mmi/src/filter-trackpoint.c", 79 root_out_dir + "/diff_libinput_mmi/src/filter.c", 80 root_out_dir + "/diff_libinput_mmi/src/libinput-util.c", 81 root_out_dir + "/diff_libinput_mmi/src/libinput.c", 82 root_out_dir + "/diff_libinput_mmi/src/path-seat.c", 83 root_out_dir + "/diff_libinput_mmi/src/quirks.c", 84 root_out_dir + "/diff_libinput_mmi/src/timer.c", 85 root_out_dir + "/diff_libinput_mmi/src/util-list.c", 86 root_out_dir + "/diff_libinput_mmi/src/util-prop-parsers.c", 87 root_out_dir + "/diff_libinput_mmi/src/util-ratelimit.c", 88 root_out_dir + "/diff_libinput_mmi/src/util-strings.c", 89 ] 90 branch_protector_ret = "pac_ret" 91 sanitize = { 92 cfi = true 93 cfi_cross_dso = true 94 debug = false 95 } 96 configs = [ ":libinput-third_config" ] 97 98 public_configs = [ ":libinput-third_public_config" ] 99 100 deps = [ "//third_party/libinput/patch:apply_patch" ] 101 102 public_external_deps = [ 103 "input:mmi_libudev", 104 "libevdev:libevdev", 105 "mtdev:libmtdev-third-mmi", 106 ] 107} 108 109ohos_shared_library("libinput-third-mmi") { 110 sources = [] 111 branch_protector_ret = "pac_ret" 112 sanitize = { 113 cfi = true 114 cfi_cross_dso = true 115 debug = false 116 } 117 configs = [ ":libinput-third_config" ] 118 119 public_configs = [ ":libinput-third_public_config" ] 120 121 deps = [ ":patch_gen_libinput-third-mmi" ] 122 123 public_external_deps = [ 124 "input:mmi_libudev", 125 "libevdev:libevdev", 126 "mtdev:libmtdev-third-mmi", 127 ] 128 129 external_deps = [ "hilog:libhilog" ] 130 license_file = "//third_party/libinput/COPYING" 131 part_name = "input" 132 subsystem_name = "multimodalinput" 133} 134 135ohos_source_set("patch_gen_libinput-debug") { 136 part_name = "input" 137 subsystem_name = "multimodalinput" 138 sources = [ 139 "$gen_dst_dir/tools/libinput-debug-events.c", 140 "$gen_dst_dir/tools/shared.c", 141 "$gen_dst_dir/tools/shared.h", 142 ] 143 branch_protector_ret = "pac_ret" 144 sanitize = { 145 cfi = true 146 cfi_cross_dso = true 147 debug = false 148 } 149 configs = [ ":libinput-third_config" ] 150 151 public_configs = [ ":libinput-third_public_config" ] 152 153 deps = [ "//third_party/libinput/patch:apply_patch" ] 154 155 public_external_deps = [ 156 "input:mmi_libudev", 157 "libevdev:libevdev", 158 "mtdev:libmtdev-third-mmi", 159 ] 160} 161 162ohos_executable("libinput-debug-mmi") { 163 install_enable = true 164 165 sources = [] 166 branch_protector_ret = "pac_ret" 167 sanitize = { 168 cfi = true 169 cfi_cross_dso = true 170 debug = false 171 } 172 configs = [ ":libinput-third_config" ] 173 174 public_configs = [ ":libinput-third_public_config" ] 175 176 deps = [ 177 ":libinput-third-mmi", 178 ":patch_gen_libinput-debug", 179 ] 180 181 public_external_deps = [ 182 "input:mmi_libudev", 183 "libevdev:libevdev", 184 "mtdev:libmtdev-third-mmi", 185 ] 186 187 part_name = "input" 188 subsystem_name = "multimodalinput" 189} 190 191ohos_source_set("patch_gen_libinput-list") { 192 part_name = "input" 193 subsystem_name = "multimodalinput" 194 sources = [ 195 "$gen_dst_dir/tools/libinput-list-devices.c", 196 "$gen_dst_dir/tools/shared.c", 197 "$gen_dst_dir/tools/shared.h", 198 ] 199 branch_protector_ret = "pac_ret" 200 sanitize = { 201 cfi = true 202 cfi_cross_dso = true 203 debug = false 204 } 205 configs = [ ":libinput-third_config" ] 206 207 public_configs = [ ":libinput-third_public_config" ] 208 209 deps = [ "//third_party/libinput/patch:apply_patch" ] 210 211 public_external_deps = [ 212 "input:mmi_libudev", 213 "libevdev:libevdev", 214 "mtdev:libmtdev-third-mmi", 215 ] 216} 217 218ohos_executable("libinput-list-mmi") { 219 install_enable = true 220 221 sources = [] 222 branch_protector_ret = "pac_ret" 223 sanitize = { 224 cfi = true 225 cfi_cross_dso = true 226 debug = false 227 } 228 configs = [ ":libinput-third_config" ] 229 230 public_configs = [ ":libinput-third_public_config" ] 231 232 deps = [ 233 ":libinput-third-mmi", 234 ":patch_gen_libinput-list", 235 ] 236 237 public_external_deps = [ 238 "input:mmi_libudev", 239 "libevdev:libevdev", 240 "mtdev:libmtdev-third-mmi", 241 ] 242 243 part_name = "input" 244 subsystem_name = "multimodalinput" 245} 246 247ohos_source_set("patch_gen_libinput-tablet") { 248 part_name = "input" 249 subsystem_name = "multimodalinput" 250 sources = [ 251 "$gen_dst_dir/tools/libinput-debug-tablet.c", 252 "$gen_dst_dir/tools/shared.c", 253 "$gen_dst_dir/tools/shared.h", 254 ] 255 branch_protector_ret = "pac_ret" 256 sanitize = { 257 cfi = true 258 cfi_cross_dso = true 259 debug = false 260 } 261 configs = [ ":libinput-third_config" ] 262 263 public_configs = [ ":libinput-third_public_config" ] 264 265 deps = [ "//third_party/libinput/patch:apply_patch" ] 266 267 public_external_deps = [ 268 "input:mmi_libudev", 269 "libevdev:libevdev", 270 "mtdev:libmtdev-third-mmi", 271 ] 272} 273 274ohos_executable("libinput-tablet-mmi") { 275 install_enable = true 276 277 sources = [] 278 branch_protector_ret = "pac_ret" 279 sanitize = { 280 cfi = true 281 cfi_cross_dso = true 282 debug = false 283 } 284 configs = [ ":libinput-third_config" ] 285 286 public_configs = [ ":libinput-third_public_config" ] 287 288 deps = [ 289 ":libinput-third-mmi", 290 ":patch_gen_libinput-tablet", 291 ] 292 293 public_external_deps = [ 294 "input:mmi_libudev", 295 "libevdev:libevdev", 296 "mtdev:libmtdev-third-mmi", 297 ] 298 299 part_name = "input" 300 subsystem_name = "multimodalinput" 301} 302 303ohos_source_set("patch_gen_libinput-record") { 304 part_name = "input" 305 subsystem_name = "multimodalinput" 306 sources = [ 307 "$gen_dst_dir/hm_src/hm_missing.c", 308 "$gen_dst_dir/tools/libinput-record.c", 309 "$gen_dst_dir/tools/shared.c", 310 "$gen_dst_dir/tools/shared.h", 311 ] 312 branch_protector_ret = "pac_ret" 313 sanitize = { 314 cfi = true 315 cfi_cross_dso = true 316 debug = false 317 } 318 configs = [ ":libinput-third_config" ] 319 320 public_configs = [ ":libinput-third_public_config" ] 321 322 deps = [ "//third_party/libinput/patch:apply_patch" ] 323 324 public_external_deps = [ 325 "input:mmi_libudev", 326 "libevdev:libevdev", 327 "mtdev:libmtdev-third-mmi", 328 ] 329} 330 331ohos_executable("libinput-record-mmi") { 332 install_enable = true 333 334 sources = [] 335 branch_protector_ret = "pac_ret" 336 sanitize = { 337 cfi = true 338 cfi_cross_dso = true 339 debug = false 340 } 341 configs = [ ":libinput-third_config" ] 342 343 public_configs = [ ":libinput-third_public_config" ] 344 345 deps = [ 346 ":libinput-third-mmi", 347 ":patch_gen_libinput-record", 348 ] 349 350 public_external_deps = [ 351 "input:mmi_libudev", 352 "libevdev:libevdev", 353 "mtdev:libmtdev-third-mmi", 354 ] 355 356 part_name = "input" 357 subsystem_name = "multimodalinput" 358} 359 360ohos_source_set("patch_gen_libinput-analyze") { 361 part_name = "input" 362 subsystem_name = "multimodalinput" 363 sources = [ 364 "$gen_dst_dir/tools/libinput-analyze.c", 365 "$gen_dst_dir/tools/shared.c", 366 "$gen_dst_dir/tools/shared.h", 367 ] 368 branch_protector_ret = "pac_ret" 369 sanitize = { 370 cfi = true 371 cfi_cross_dso = true 372 debug = false 373 } 374 configs = [ ":libinput-third_config" ] 375 376 public_configs = [ ":libinput-third_public_config" ] 377 378 deps = [ "//third_party/libinput/patch:apply_patch" ] 379 380 public_external_deps = [ 381 "input:mmi_libudev", 382 "libevdev:libevdev", 383 "mtdev:libmtdev-third-mmi", 384 ] 385} 386 387ohos_executable("libinput-analyze-mmi") { 388 install_enable = true 389 390 sources = [] 391 branch_protector_ret = "pac_ret" 392 sanitize = { 393 cfi = true 394 cfi_cross_dso = true 395 debug = false 396 } 397 configs = [ ":libinput-third_config" ] 398 399 public_configs = [ ":libinput-third_public_config" ] 400 401 deps = [ 402 ":libinput-third-mmi", 403 ":patch_gen_libinput-analyze", 404 ] 405 406 public_external_deps = [ 407 "input:mmi_libudev", 408 "libevdev:libevdev", 409 "mtdev:libmtdev-third-mmi", 410 ] 411 412 part_name = "input" 413 subsystem_name = "multimodalinput" 414} 415 416ohos_source_set("patch_gen_libinput-measure") { 417 part_name = "input" 418 subsystem_name = "multimodalinput" 419 sources = [ 420 "$gen_dst_dir/tools/libinput-measure.c", 421 "$gen_dst_dir/tools/shared.c", 422 "$gen_dst_dir/tools/shared.h", 423 ] 424 branch_protector_ret = "pac_ret" 425 sanitize = { 426 cfi = true 427 cfi_cross_dso = true 428 debug = false 429 } 430 configs = [ ":libinput-third_config" ] 431 432 public_configs = [ ":libinput-third_public_config" ] 433 434 deps = [ "//third_party/libinput/patch:apply_patch" ] 435 436 public_external_deps = [ 437 "input:mmi_libudev", 438 "libevdev:libevdev", 439 "mtdev:libmtdev-third-mmi", 440 ] 441} 442 443ohos_executable("libinput-measure-mmi") { 444 install_enable = true 445 446 sources = [] 447 branch_protector_ret = "pac_ret" 448 sanitize = { 449 cfi = true 450 cfi_cross_dso = true 451 debug = false 452 } 453 configs = [ ":libinput-third_config" ] 454 455 public_configs = [ ":libinput-third_public_config" ] 456 457 deps = [ 458 ":libinput-third-mmi", 459 ":patch_gen_libinput-measure", 460 ] 461 462 public_external_deps = [ 463 "input:mmi_libudev", 464 "libevdev:libevdev", 465 "mtdev:libmtdev-third-mmi", 466 ] 467 468 part_name = "input" 469 subsystem_name = "multimodalinput" 470} 471 472ohos_source_set("patch_gen_libinput-quirks") { 473 part_name = "input" 474 subsystem_name = "multimodalinput" 475 sources = [ 476 "$gen_dst_dir/tools/libinput-quirks.c", 477 "$gen_dst_dir/tools/shared.c", 478 "$gen_dst_dir/tools/shared.h", 479 ] 480 branch_protector_ret = "pac_ret" 481 sanitize = { 482 cfi = true 483 cfi_cross_dso = true 484 debug = false 485 } 486 configs = [ ":libinput-third_config" ] 487 488 public_configs = [ ":libinput-third_public_config" ] 489 490 deps = [ "//third_party/libinput/patch:apply_patch" ] 491 492 public_external_deps = [ 493 "input:mmi_libudev", 494 "libevdev:libevdev", 495 "mtdev:libmtdev-third-mmi", 496 ] 497} 498 499ohos_executable("libinput-quirks-mmi") { 500 install_enable = true 501 502 sources = [] 503 branch_protector_ret = "pac_ret" 504 sanitize = { 505 cfi = true 506 cfi_cross_dso = true 507 debug = false 508 } 509 configs = [ ":libinput-third_config" ] 510 511 public_configs = [ ":libinput-third_public_config" ] 512 513 deps = [ 514 ":libinput-third-mmi", 515 ":patch_gen_libinput-quirks", 516 ] 517 518 public_external_deps = [ 519 "input:mmi_libudev", 520 "libevdev:libevdev", 521 "mtdev:libmtdev-third-mmi", 522 ] 523 524 part_name = "input" 525 subsystem_name = "multimodalinput" 526} 527