• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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