1# Copyright (c) Huawei Technologies Co., Ltd. 2021. All rights reserved. 2 3import("//build/ohos.gni") 4 5PCRE2_LIB_DIR = "//third_party/pcre2/pcre2" 6 7ohos_shared_library("glibpcre") { 8 md5_check_script = rebase_path("$PCRE2_LIB_DIR/check_md5.sh") 9 _arguments_config = [ 10 rebase_path("$PCRE2_LIB_DIR/src/config.h.generic"), 11 rebase_path("$PCRE2_LIB_DIR/src/config.h"), 12 ] 13 14 check_config_result = 15 exec_script(md5_check_script, _arguments_config, "string") 16 if (check_config_result == "") { 17 exec_script("/usr/bin/env", 18 [ 19 "cp", 20 rebase_path("$PCRE2_LIB_DIR/src/config.h.generic"), 21 rebase_path("$PCRE2_LIB_DIR/src/config.h"), 22 ]) 23 } 24 25 _arguments_pcre2 = [ 26 rebase_path("$PCRE2_LIB_DIR/src/pcre2.h.generic"), 27 rebase_path("$PCRE2_LIB_DIR/src/pcre2.h"), 28 ] 29 30 check_pcre2_result = exec_script(md5_check_script, _arguments_pcre2, "string") 31 if (check_pcre2_result == "") { 32 exec_script("/usr/bin/env", 33 [ 34 "cp", 35 rebase_path("$PCRE2_LIB_DIR/src/pcre2.h.generic"), 36 rebase_path("$PCRE2_LIB_DIR/src/pcre2.h"), 37 ]) 38 } 39 40 _arguments_pcre2_chartables = [ 41 rebase_path("$PCRE2_LIB_DIR/src/pcre2_chartables.c.dist"), 42 rebase_path("$PCRE2_LIB_DIR/src/pcre2_chartables.c"), 43 ] 44 45 check_pcre2_chartables_result = 46 exec_script(md5_check_script, _arguments_pcre2_chartables, "string") 47 if (check_pcre2_chartables_result == "") { 48 exec_script("/usr/bin/env", 49 [ 50 "cp", 51 rebase_path("$PCRE2_LIB_DIR/src/pcre2_chartables.c.dist"), 52 rebase_path("$PCRE2_LIB_DIR/src/pcre2_chartables.c"), 53 ]) 54 } 55 sources = [ 56 "$PCRE2_LIB_DIR/src/pcre2_auto_possess.c", 57 "$PCRE2_LIB_DIR/src/pcre2_chartables.c", 58 "$PCRE2_LIB_DIR/src/pcre2_compile.c", 59 "$PCRE2_LIB_DIR/src/pcre2_config.c", 60 "$PCRE2_LIB_DIR/src/pcre2_context.c", 61 "$PCRE2_LIB_DIR/src/pcre2_convert.c", 62 "$PCRE2_LIB_DIR/src/pcre2_dfa_match.c", 63 "$PCRE2_LIB_DIR/src/pcre2_error.c", 64 "$PCRE2_LIB_DIR/src/pcre2_extuni.c", 65 "$PCRE2_LIB_DIR/src/pcre2_find_bracket.c", 66 "$PCRE2_LIB_DIR/src/pcre2_jit_compile.c", 67 "$PCRE2_LIB_DIR/src/pcre2_maketables.c", 68 "$PCRE2_LIB_DIR/src/pcre2_match.c", 69 "$PCRE2_LIB_DIR/src/pcre2_match_data.c", 70 "$PCRE2_LIB_DIR/src/pcre2_newline.c", 71 "$PCRE2_LIB_DIR/src/pcre2_ord2utf.c", 72 "$PCRE2_LIB_DIR/src/pcre2_pattern_info.c", 73 "$PCRE2_LIB_DIR/src/pcre2_script_run.c", 74 "$PCRE2_LIB_DIR/src/pcre2_serialize.c", 75 "$PCRE2_LIB_DIR/src/pcre2_string_utils.c", 76 "$PCRE2_LIB_DIR/src/pcre2_study.c", 77 "$PCRE2_LIB_DIR/src/pcre2_substitute.c", 78 "$PCRE2_LIB_DIR/src/pcre2_substring.c", 79 "$PCRE2_LIB_DIR/src/pcre2_tables.c", 80 "$PCRE2_LIB_DIR/src/pcre2_ucd.c", 81 "$PCRE2_LIB_DIR/src/pcre2_valid_utf.c", 82 "$PCRE2_LIB_DIR/src/pcre2_xclass.c", 83 ] 84 include_dirs = [ "$PCRE2_LIB_DIR/src" ] 85 cflags = [ 86 "-D_GNU_SOURCE", 87 "-DHAVE_CONFIG_H", 88 "-DSUPPORT_PCRE2_8=1", 89 "-DPCRE2_CODE_UNIT_WIDTH=8", 90 "-w", 91 ] 92 part_name = "glib" 93 subsystem_name = "thirdparty" 94} 95 96group("glib_packages") { 97 deps = [ 98 ":ginotify", 99 ":gio", 100 ":glib", 101 ":gmodule", 102 ":gobject", 103 ":gxdgmime", 104 ] 105} 106 107config("glib_config") { 108 visibility = [ ":*" ] 109 include_dirs = [ 110 ".", 111 "glib/libcharset", 112 "glib", 113 "glib/deprecated", 114 "//third_party/gettext/gettext-runtime/intl", 115 "//third_party/pcre2/pcre2/src", 116 "//foundation/multimedia/media_standard/services/utils", 117 "glibmemdfx", 118 ] 119 cflags = [ 120 "-DG_LOG_DOMAIN=\"GLib\"", 121 "-DGLIB_CHARSETALIAS_DIR=\"system/lib64\"", 122 "-DHAVE_MEMMOVE", 123 "-DSUPPORT_UCP", 124 "-DSUPPORT_UTF", 125 "-DSUPPORT_UTF8", 126 "-DNEWLINE=-1", 127 "-DMATCH_LIMIT=10000000", 128 "-DMATCH_LIMIT_RECURSION=8192", 129 "-DMAX_NAME_SIZE=32", 130 "-DMAX_NAME_COUNT=10000", 131 "-DMAX_DUPLENGTH=30000", 132 "-DLINK_SIZE=2", 133 "-DPOSIX_MALLOC_THRESHOLD=10", 134 "-DOHOS_OPT_COMPAT", 135 "-UBSR_ANYCRLF", 136 "-UEBCDIC", 137 "-DGLIB_COMPILATION", 138 "-Wno-sign-compare", 139 "-Wno-unused-value", 140 "-Wno-unused-function", 141 "-Wno-int-conversion", 142 ] 143 if (is_standard_system) { 144 cflags += [ 145 "-DG_MEM_DFX", 146 "-DOHOS_OPT_PERFORMANCE", 147 ] 148 } 149} 150 151ohos_source_set("glib_source") { 152 sources = [ 153 "glib/deprecated/gallocator.c", 154 "glib/deprecated/gcache.c", 155 "glib/deprecated/gcompletion.c", 156 "glib/deprecated/grel.c", 157 "glib/deprecated/gthread-deprecated.c", 158 "glib/garcbox.c", 159 "glib/garray.c", 160 "glib/gasyncqueue.c", 161 "glib/gatomic.c", 162 "glib/gbacktrace.c", 163 "glib/gbase64.c", 164 "glib/gbitlock.c", 165 "glib/gbookmarkfile.c", 166 "glib/gbytes.c", 167 "glib/gcharset.c", 168 "glib/gchecksum.c", 169 "glib/gconvert.c", 170 "glib/gdataset.c", 171 "glib/gdate.c", 172 "glib/gdatetime.c", 173 "glib/gdir.c", 174 "glib/genviron.c", 175 "glib/gerror.c", 176 "glib/gfileutils.c", 177 "glib/ggettext.c", 178 "glib/ghash.c", 179 "glib/ghmac.c", 180 "glib/ghook.c", 181 "glib/ghostutils.c", 182 "glib/giochannel.c", 183 "glib/giounix.c", 184 "glib/gkeyfile.c", 185 "glib/glib-init.c", 186 "glib/glib-private.c", 187 "glib/glib-unix.c", 188 "glib/glist.c", 189 "glib/gmain.c", 190 "glib/gmappedfile.c", 191 "glib/gmarkup.c", 192 "glib/gmem.c", 193 "glib/gmessages.c", 194 "glib/gnode.c", 195 "glib/goption.c", 196 "glib/gpattern.c", 197 "glib/gpoll.c", 198 "glib/gprimes.c", 199 "glib/gprintf.c", 200 "glib/gqsort.c", 201 "glib/gquark.c", 202 "glib/gqueue.c", 203 "glib/grand.c", 204 "glib/grcbox.c", 205 "glib/grefcount.c", 206 "glib/grefstring.c", 207 "glib/gregex.c", 208 "glib/gscanner.c", 209 "glib/gsequence.c", 210 "glib/gshell.c", 211 "glib/gslice.c", 212 "glib/gslist.c", 213 "glib/gspawn.c", 214 "glib/gstdio.c", 215 "glib/gstrfuncs.c", 216 "glib/gstring.c", 217 "glib/gstringchunk.c", 218 "glib/gtestutils.c", 219 "glib/gthread-posix.c", 220 "glib/gthread.c", 221 "glib/gthreadpool.c", 222 "glib/gtimer.c", 223 "glib/gtimezone.c", 224 "glib/gtrace.c", 225 "glib/gtranslit.c", 226 "glib/gtrashstack.c", 227 "glib/gtree.c", 228 "glib/gunibreak.c", 229 "glib/gunicollate.c", 230 "glib/gunidecomp.c", 231 "glib/guniprop.c", 232 "glib/guri.c", 233 "glib/gutf8.c", 234 "glib/gutils.c", 235 "glib/gutilsprivate.h", 236 "glib/guuid.c", 237 "glib/gvariant-core.c", 238 "glib/gvariant-parser.c", 239 "glib/gvariant-serialiser.c", 240 "glib/gvariant.c", 241 "glib/gvarianttype.c", 242 "glib/gvarianttypeinfo.c", 243 "glib/gversion.c", 244 "glib/gwakeup.c", 245 "glib/libcharset/localcharset.c", 246 ] 247 248 configs = [ ":glib_config" ] 249} 250ohos_shared_library("glib") { 251 deps = [ 252 ":glib_source", 253 "//third_party/gettext:libgettext", 254 "//third_party/glib:glibpcre", 255 ] 256 if (is_standard_system) { 257 deps += [ ":g_mem_dfx" ] 258 } 259 part_name = "glib" 260 subsystem_name = "thirdparty" 261} 262 263config("gmodule_config") { 264 visibility = [ ":*" ] 265 include_dirs = [ 266 ".", 267 "gmodule", 268 "glib", 269 ] 270 cflags = [ "-DG_LOG_DOMAIN=\"GModule\"" ] 271} 272 273ohos_source_set("gmodule_source") { 274 sources = [ "gmodule/gmodule.c" ] 275 276 configs = [ ":gmodule_config" ] 277} 278ohos_shared_library("gmodule") { 279 deps = [ 280 ":glib", 281 ":gmodule_source", 282 ] 283 part_name = "glib" 284 subsystem_name = "thirdparty" 285} 286 287config("gobject_config") { 288 visibility = [ ":*" ] 289 include_dirs = [ 290 ".", 291 "gobject", 292 "glib", 293 "//third_party/libffi/include", 294 "//third_party/gettext/gettext-runtime/intl", 295 ] 296 cflags = [ 297 "-DG_LOG_DOMAIN=\"GObject\"", 298 "-DGOBJECT_COMPILATION", 299 "-Wno-sign-compare", 300 "-Wno-unused-function", 301 "-Wno-int-conversion", 302 ] 303} 304 305ohos_source_set("gobject_source") { 306 sources = [ 307 "gobject/gatomicarray.c", 308 "gobject/gbinding.c", 309 "gobject/gboxed.c", 310 "gobject/gclosure.c", 311 "gobject/genums.c", 312 "gobject/gmarshal.c", 313 "gobject/gobject.c", 314 "gobject/gparam.c", 315 "gobject/gparamspecs.c", 316 "gobject/gsignal.c", 317 "gobject/gsourceclosure.c", 318 "gobject/gtype.c", 319 "gobject/gtypemodule.c", 320 "gobject/gtypeplugin.c", 321 "gobject/gvalue.c", 322 "gobject/gvaluearray.c", 323 "gobject/gvaluetransform.c", 324 "gobject/gvaluetypes.c", 325 ] 326 327 configs = [ ":gobject_config" ] 328} 329 330ohos_shared_library("gobject") { 331 deps = [ 332 ":glib", 333 ":gobject_source", 334 "//third_party/libffi:ffi", 335 ] 336 part_name = "glib" 337 subsystem_name = "thirdparty" 338} 339 340############################################################################# 341############################################################################# 342############################################################################# 343 344config("gio_config") { 345 visibility = [ ":*" ] 346 include_dirs = [ 347 ".", 348 "gio", 349 "glib", 350 "gio/xdgmime", 351 "gio/inotify", 352 "gmodule", 353 "//third_party/gettext/gettext-runtime/intl", 354 "//third_party/zlib", 355 ] 356 cflags = [ 357 "-DG_LOG_DOMAIN=\"GLib-GIO\"", 358 359 #"-DGOBJECT_COMPILATION", 360 "-Wno-sign-compare", 361 "-Wno-unused-function", 362 "-Wno-int-conversion", 363 "-DGIO_COMPILATION", 364 "-DGIO_MODULE_DIR=\"\"", 365 "-DLOCALSTATEDIR=\"var\"", 366 "-Wno-implicit-function-declaration", 367 "-Wno-format", 368 "-Wno-conditional-type-mismatch", 369 "-Wno-self-assign", 370 "-Wno-unused-value", 371 "-Wno-unused-function", 372 "-Wno-pointer-sign", 373 "-fvisibility=hidden", 374 "-DMAJOR_IN_SYSMACROS", 375 "-DG_ENABLE_DEBUG", 376 ] 377} 378 379ohos_source_set("gio_source") { 380 sources = [ 381 # application_sources 382 "gio/gaction.c", 383 "gio/gactiongroup.c", 384 "gio/gactiongroupexporter.c", 385 "gio/gactionmap.c", 386 "gio/gapplication.c", 387 "gio/gapplicationcommandline.c", 388 "gio/gapplicationimpl-dbus.c", 389 "gio/gdbusactiongroup.c", 390 "gio/gdbusmenumodel.c", 391 "gio/gmenu.c", 392 "gio/gmenuexporter.c", 393 "gio/gmenumodel.c", 394 "gio/gnotification.c", 395 "gio/gnotificationbackend.c", 396 "gio/gpropertyaction.c", 397 "gio/gremoteactiongroup.c", 398 "gio/gsimpleaction.c", 399 "gio/gsimpleactiongroup.c", 400 401 # settings_sources 402 "gio/gdelayedsettingsbackend.c", 403 "gio/gkeyfilesettingsbackend.c", 404 "gio/gmemorysettingsbackend.c", 405 "gio/gnullsettingsbackend.c", 406 "gio/gsettings-mapping.c", 407 "gio/gsettings.c", 408 "gio/gsettingsbackend.c", 409 "gio/gsettingsschema.c", 410 "gio/gvdb/gvdb-reader.c", 411 412 # gdbus_sources 413 "gio/gdbusaddress.c", 414 "gio/gdbusauth.c", 415 "gio/gdbusauthmechanism.c", 416 "gio/gdbusauthmechanismanon.c", 417 "gio/gdbusauthmechanismexternal.c", 418 "gio/gdbusauthmechanismsha1.c", 419 "gio/gdbusauthobserver.c", 420 "gio/gdbusconnection.c", 421 "gio/gdbuserror.c", 422 "gio/gdbusinterface.c", 423 "gio/gdbusinterfaceskeleton.c", 424 "gio/gdbusintrospection.c", 425 "gio/gdbusmessage.c", 426 "gio/gdbusmethodinvocation.c", 427 "gio/gdbusnameowning.c", 428 "gio/gdbusnamewatching.c", 429 "gio/gdbusobject.c", 430 "gio/gdbusobjectmanager.c", 431 "gio/gdbusobjectmanagerclient.c", 432 "gio/gdbusobjectmanagerserver.c", 433 "gio/gdbusobjectproxy.c", 434 "gio/gdbusobjectskeleton.c", 435 "gio/gdbusprivate.c", 436 "gio/gdbusproxy.c", 437 "gio/gdbusserver.c", 438 "gio/gdbusutils.c", 439 "gio/gtestdbus.c", 440 441 # portal_sources 442 "gio/gdocumentportal.c", 443 "gio/gmemorymonitorportal.c", 444 "gio/gnetworkmonitorportal.c", 445 "gio/gopenuriportal.c", 446 "gio/gportalnotificationbackend.c", 447 "gio/gportalsupport.c", 448 "gio/gproxyresolverportal.c", 449 "gio/gtrashportal.c", 450 451 # local_sources 452 "gio/ghttpproxy.c", 453 "gio/glocalfile.c", 454 "gio/glocalfileenumerator.c", 455 "gio/glocalfileinfo.c", 456 "gio/glocalfileinputstream.c", 457 "gio/glocalfileiostream.c", 458 "gio/glocalfilemonitor.c", 459 "gio/glocalfileoutputstream.c", 460 "gio/glocalvfs.c", 461 "gio/gsocks4aproxy.c", 462 "gio/gsocks4proxy.c", 463 "gio/gsocks5proxy.c", 464 "gio/thumbnail-verify.c", 465 466 # unix_sources + HAVE_NETLINK 467 "gio/gnetworkmonitornetlink.c", 468 "gio/gnetworkmonitornm.c", 469 470 # unix_sources 471 "gio/gfdonotificationbackend.c", 472 "gio/gfiledescriptorbased.c", 473 "gio/ggtknotificationbackend.c", 474 "gio/giounix-private.c", 475 "gio/gunixconnection.c", 476 "gio/gunixcredentialsmessage.c", 477 "gio/gunixfdlist.c", 478 "gio/gunixfdmessage.c", 479 "gio/gunixinputstream.c", 480 "gio/gunixmount.c", 481 "gio/gunixmounts.c", 482 "gio/gunixoutputstream.c", 483 "gio/gunixsocketaddress.c", 484 "gio/gunixvolume.c", 485 "gio/gunixvolumemonitor.c", 486 487 # appinfo_sources 488 "gio/gdesktopappinfo.c", 489 490 # contenttype_sources 491 "gio/gcontenttype.c", 492 493 # gdbus_daemon_sources 494 "gio/gdbusdaemon.c", 495 496 # gio_sources 497 "gio/gappinfo.c", 498 "gio/gasynchelper.c", 499 "gio/gasyncinitable.c", 500 "gio/gasyncresult.c", 501 "gio/gbufferedinputstream.c", 502 "gio/gbufferedoutputstream.c", 503 "gio/gbytesicon.c", 504 "gio/gcancellable.c", 505 "gio/gcharsetconverter.c", 506 "gio/gcontextspecificgroup.c", 507 "gio/gconverter.c", 508 "gio/gconverterinputstream.c", 509 "gio/gconverteroutputstream.c", 510 "gio/gcredentials.c", 511 "gio/gdatagrambased.c", 512 "gio/gdatainputstream.c", 513 "gio/gdataoutputstream.c", 514 "gio/gdrive.c", 515 "gio/gdtlsclientconnection.c", 516 "gio/gdtlsconnection.c", 517 "gio/gdtlsserverconnection.c", 518 "gio/gdummyfile.c", 519 "gio/gdummyproxyresolver.c", 520 "gio/gdummytlsbackend.c", 521 "gio/gemblem.c", 522 "gio/gemblemedicon.c", 523 "gio/gfile.c", 524 "gio/gfileattribute.c", 525 "gio/gfileenumerator.c", 526 "gio/gfileicon.c", 527 "gio/gfileinfo.c", 528 "gio/gfileinputstream.c", 529 "gio/gfileiostream.c", 530 "gio/gfilemonitor.c", 531 "gio/gfilenamecompleter.c", 532 "gio/gfileoutputstream.c", 533 "gio/gfilterinputstream.c", 534 "gio/gfilteroutputstream.c", 535 "gio/gicon.c", 536 "gio/ginetaddress.c", 537 "gio/ginetaddressmask.c", 538 "gio/ginetsocketaddress.c", 539 "gio/ginitable.c", 540 "gio/ginputstream.c", 541 "gio/gioerror.c", 542 "gio/giomodule-priv.c", 543 "gio/giomodule.c", 544 "gio/gioscheduler.c", 545 "gio/giostream.c", 546 "gio/glistmodel.c", 547 "gio/gliststore.c", 548 "gio/gloadableicon.c", 549 "gio/gmarshal-internal.c", 550 "gio/gmemoryinputstream.c", 551 "gio/gmemorymonitor.c", 552 "gio/gmemorymonitordbus.c", 553 "gio/gmemoryoutputstream.c", 554 "gio/gmount.c", 555 "gio/gmountoperation.c", 556 "gio/gnativesocketaddress.c", 557 "gio/gnativevolumemonitor.c", 558 "gio/gnetworkaddress.c", 559 "gio/gnetworking.c", 560 "gio/gnetworkmonitor.c", 561 "gio/gnetworkmonitorbase.c", 562 "gio/gnetworkservice.c", 563 "gio/goutputstream.c", 564 "gio/gpermission.c", 565 "gio/gpollableinputstream.c", 566 "gio/gpollableoutputstream.c", 567 "gio/gpollableutils.c", 568 "gio/gpollfilemonitor.c", 569 "gio/gproxy.c", 570 "gio/gproxyaddress.c", 571 "gio/gproxyaddressenumerator.c", 572 "gio/gproxyresolver.c", 573 "gio/gresolver.c", 574 "gio/gresource.c", 575 "gio/gresourcefile.c", 576 "gio/gseekable.c", 577 "gio/gsimpleasyncresult.c", 578 "gio/gsimpleiostream.c", 579 "gio/gsimplepermission.c", 580 "gio/gsimpleproxyresolver.c", 581 "gio/gsocket.c", 582 "gio/gsocketaddress.c", 583 "gio/gsocketaddressenumerator.c", 584 "gio/gsocketclient.c", 585 "gio/gsocketconnectable.c", 586 "gio/gsocketconnection.c", 587 "gio/gsocketcontrolmessage.c", 588 "gio/gsocketinputstream.c", 589 "gio/gsocketlistener.c", 590 "gio/gsocketoutputstream.c", 591 "gio/gsocketservice.c", 592 "gio/gsrvtarget.c", 593 "gio/gsubprocess.c", 594 "gio/gsubprocesslauncher.c", 595 "gio/gtask.c", 596 "gio/gtcpconnection.c", 597 "gio/gtcpwrapperconnection.c", 598 "gio/gthemedicon.c", 599 "gio/gthreadedresolver.c", 600 "gio/gthreadedresolver.h", 601 "gio/gthreadedsocketservice.c", 602 "gio/gtlsbackend.c", 603 "gio/gtlscertificate.c", 604 "gio/gtlsclientconnection.c", 605 "gio/gtlsconnection.c", 606 "gio/gtlsdatabase.c", 607 "gio/gtlsfiledatabase.c", 608 "gio/gtlsinteraction.c", 609 "gio/gtlspassword.c", 610 "gio/gtlsserverconnection.c", 611 "gio/gunionvolumemonitor.c", 612 "gio/gvfs.c", 613 "gio/gvolume.c", 614 "gio/gvolumemonitor.c", 615 "gio/gzlibcompressor.c", 616 "gio/gzlibdecompressor.c", 617 618 # out 619 "gio/gdbus-daemon-generated.c", 620 "gio/gioenumtypes.c", 621 "gio/xdp-dbus.c", 622 ] 623 624 configs = [ ":gio_config" ] 625} 626 627ohos_shared_library("gio") { 628 deps = [ 629 ":ginotify", 630 ":gio_source", 631 ":glib", 632 ":gmodule", 633 ":gobject", 634 ":gxdgmime", 635 "//third_party/gettext:libgettext", 636 "//third_party/zlib:libz", 637 ] 638 part_name = "glib" 639 subsystem_name = "thirdparty" 640} 641 642config("gxdgmime_config") { 643 visibility = [ ":*" ] 644 include_dirs = [ 645 ".", 646 "gmodule", 647 "glib", 648 ] 649 cflags = [ 650 "-DXDG_PREFIX=_gio_xdg", 651 "-fvisibility=hidden", 652 "-Wno-shift-negative-value", 653 "-Wno-sign-compare", 654 ] 655} 656 657ohos_source_set("gxdgmime_source") { 658 sources = [ 659 "gio/xdgmime/xdgmime.c", 660 "gio/xdgmime/xdgmimealias.c", 661 "gio/xdgmime/xdgmimecache.c", 662 "gio/xdgmime/xdgmimeglob.c", 663 "gio/xdgmime/xdgmimeicon.c", 664 "gio/xdgmime/xdgmimeint.c", 665 "gio/xdgmime/xdgmimemagic.c", 666 "gio/xdgmime/xdgmimeparent.c", 667 ] 668 669 configs = [ ":gxdgmime_config" ] 670} 671 672ohos_static_library("gxdgmime") { 673 deps = [ ":gxdgmime_source" ] 674 part_name = "glib" 675 subsystem_name = "thirdparty" 676} 677 678config("ginotify_config") { 679 visibility = [ ":*" ] 680 include_dirs = [ 681 ".", 682 "gmodule", 683 "glib", 684 ] 685 cflags = [ 686 "-DXDG_PREFIX=_gio_xdg", 687 "-fvisibility=hidden", 688 "-Wno-shift-negative-value", 689 "-Wno-sign-compare", 690 "-DGIO_COMPILATION", 691 ] 692} 693 694ohos_source_set("ginotify_source") { 695 sources = [ 696 "gio/inotify/ginotifyfilemonitor.c", 697 "gio/inotify/inotify-helper.c", 698 "gio/inotify/inotify-kernel.c", 699 "gio/inotify/inotify-missing.c", 700 "gio/inotify/inotify-path.c", 701 "gio/inotify/inotify-sub.c", 702 ] 703 704 configs = [ ":ginotify_config" ] 705} 706 707ohos_static_library("ginotify") { 708 deps = [ ":ginotify_source" ] 709 part_name = "glib" 710 subsystem_name = "thirdparty" 711} 712 713config("g_mem_dfx_config") { 714 include_dirs = [ 715 "glibmemdfx", 716 "//commonlibrary/c_utils/base/include", 717 "//foundation/multimedia/media_standard/interfaces/inner_api/native", 718 "//base/hiviewdfx/hisysevent/interfaces/native/innerkits/hisysevent/include", 719 ] 720} 721 722ohos_shared_library("g_mem_dfx") { 723 sources = [ "glibmemdfx/gmemdfx.cpp" ] 724 725 include_dirs = [ "//commonlibrary/c_utils/base/include" ] 726 727 cflags = [ 728 "-std=c++17", 729 "-fno-rtti", 730 "-fno-exceptions", 731 "-Wall", 732 "-fno-common", 733 "-fstack-protector-strong", 734 "-Wshadow", 735 "-FPIC", 736 "-FS", 737 "-O2", 738 "-D_FORTIFY_SOURCE=2", 739 "-fvisibility=hidden", 740 "-Wformat=2", 741 "-Wfloat-equal", 742 "-Wdate-time", 743 ] 744 745 configs = [ ":g_mem_dfx_config" ] 746 747 external_deps = [ 748 "c_utils:utils", 749 "faultloggerd:lib_dfx_dump_catcher", 750 "hisysevent_native:libhisysevent", 751 "hitrace_native:hitrace_meter", 752 "hiviewdfx_hilog_native:libhilog", 753 "init:libbegetutil", 754 ] 755 756 subsystem_name = "thirdparty" 757 part_name = "glib" 758} 759