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