1b5975d6bSopenharmony_ci# Copyright (c) Huawei Technologies Co., Ltd. 2021. All rights reserved.
2b5975d6bSopenharmony_ci
3b5975d6bSopenharmony_ciimport("//build/ohos.gni")
4b5975d6bSopenharmony_ciimport("config.gni")
5b5975d6bSopenharmony_ci
6b5975d6bSopenharmony_ciglib_path = rebase_path("//third_party/glib")
7b5975d6bSopenharmony_ciexec_script("install.sh", [ "$glib_path" ])
8b5975d6bSopenharmony_ci
9b5975d6bSopenharmony_ciPCRE2_LIB_DIR = "//third_party/pcre2/pcre2"
10b5975d6bSopenharmony_ci
11b5975d6bSopenharmony_ciohos_shared_library("glibpcre") {
12b5975d6bSopenharmony_ci  branch_protector_ret = "pac_ret"
13b5975d6bSopenharmony_ci  md5_check_script = rebase_path("$PCRE2_LIB_DIR/check_md5.sh")
14b5975d6bSopenharmony_ci  _arguments_config = [
15b5975d6bSopenharmony_ci    rebase_path("$PCRE2_LIB_DIR/src/config.h.generic"),
16b5975d6bSopenharmony_ci    rebase_path("$PCRE2_LIB_DIR/src/config.h"),
17b5975d6bSopenharmony_ci  ]
18b5975d6bSopenharmony_ci
19b5975d6bSopenharmony_ci  check_config_result =
20b5975d6bSopenharmony_ci      exec_script(md5_check_script, _arguments_config, "string")
21b5975d6bSopenharmony_ci  if (check_config_result == "") {
22b5975d6bSopenharmony_ci    exec_script("/usr/bin/env",
23b5975d6bSopenharmony_ci                [
24b5975d6bSopenharmony_ci                  "cp",
25b5975d6bSopenharmony_ci                  rebase_path("$PCRE2_LIB_DIR/src/config.h.generic"),
26b5975d6bSopenharmony_ci                  rebase_path("$PCRE2_LIB_DIR/src/config.h"),
27b5975d6bSopenharmony_ci                ])
28b5975d6bSopenharmony_ci  }
29b5975d6bSopenharmony_ci
30b5975d6bSopenharmony_ci  _arguments_pcre2 = [
31b5975d6bSopenharmony_ci    rebase_path("$PCRE2_LIB_DIR/src/pcre2.h.generic"),
32b5975d6bSopenharmony_ci    rebase_path("$PCRE2_LIB_DIR/src/pcre2.h"),
33b5975d6bSopenharmony_ci  ]
34b5975d6bSopenharmony_ci
35b5975d6bSopenharmony_ci  check_pcre2_result = exec_script(md5_check_script, _arguments_pcre2, "string")
36b5975d6bSopenharmony_ci  if (check_pcre2_result == "") {
37b5975d6bSopenharmony_ci    exec_script("/usr/bin/env",
38b5975d6bSopenharmony_ci                [
39b5975d6bSopenharmony_ci                  "cp",
40b5975d6bSopenharmony_ci                  rebase_path("$PCRE2_LIB_DIR/src/pcre2.h.generic"),
41b5975d6bSopenharmony_ci                  rebase_path("$PCRE2_LIB_DIR/src/pcre2.h"),
42b5975d6bSopenharmony_ci                ])
43b5975d6bSopenharmony_ci  }
44b5975d6bSopenharmony_ci
45b5975d6bSopenharmony_ci  _arguments_pcre2_chartables = [
46b5975d6bSopenharmony_ci    rebase_path("$PCRE2_LIB_DIR/src/pcre2_chartables.c.dist"),
47b5975d6bSopenharmony_ci    rebase_path("$PCRE2_LIB_DIR/src/pcre2_chartables.c"),
48b5975d6bSopenharmony_ci  ]
49b5975d6bSopenharmony_ci
50b5975d6bSopenharmony_ci  check_pcre2_chartables_result =
51b5975d6bSopenharmony_ci      exec_script(md5_check_script, _arguments_pcre2_chartables, "string")
52b5975d6bSopenharmony_ci  if (check_pcre2_chartables_result == "") {
53b5975d6bSopenharmony_ci    exec_script("/usr/bin/env",
54b5975d6bSopenharmony_ci                [
55b5975d6bSopenharmony_ci                  "cp",
56b5975d6bSopenharmony_ci                  rebase_path("$PCRE2_LIB_DIR/src/pcre2_chartables.c.dist"),
57b5975d6bSopenharmony_ci                  rebase_path("$PCRE2_LIB_DIR/src/pcre2_chartables.c"),
58b5975d6bSopenharmony_ci                ])
59b5975d6bSopenharmony_ci  }
60b5975d6bSopenharmony_ci  sources = [
61b5975d6bSopenharmony_ci    "$PCRE2_LIB_DIR/src/pcre2_auto_possess.c",
62b5975d6bSopenharmony_ci    "$PCRE2_LIB_DIR/src/pcre2_chartables.c",
63b5975d6bSopenharmony_ci    "$PCRE2_LIB_DIR/src/pcre2_compile.c",
64b5975d6bSopenharmony_ci    "$PCRE2_LIB_DIR/src/pcre2_config.c",
65b5975d6bSopenharmony_ci    "$PCRE2_LIB_DIR/src/pcre2_context.c",
66b5975d6bSopenharmony_ci    "$PCRE2_LIB_DIR/src/pcre2_convert.c",
67b5975d6bSopenharmony_ci    "$PCRE2_LIB_DIR/src/pcre2_dfa_match.c",
68b5975d6bSopenharmony_ci    "$PCRE2_LIB_DIR/src/pcre2_error.c",
69b5975d6bSopenharmony_ci    "$PCRE2_LIB_DIR/src/pcre2_extuni.c",
70b5975d6bSopenharmony_ci    "$PCRE2_LIB_DIR/src/pcre2_find_bracket.c",
71b5975d6bSopenharmony_ci    "$PCRE2_LIB_DIR/src/pcre2_jit_compile.c",
72b5975d6bSopenharmony_ci    "$PCRE2_LIB_DIR/src/pcre2_maketables.c",
73b5975d6bSopenharmony_ci    "$PCRE2_LIB_DIR/src/pcre2_match.c",
74b5975d6bSopenharmony_ci    "$PCRE2_LIB_DIR/src/pcre2_match_data.c",
75b5975d6bSopenharmony_ci    "$PCRE2_LIB_DIR/src/pcre2_newline.c",
76b5975d6bSopenharmony_ci    "$PCRE2_LIB_DIR/src/pcre2_ord2utf.c",
77b5975d6bSopenharmony_ci    "$PCRE2_LIB_DIR/src/pcre2_pattern_info.c",
78b5975d6bSopenharmony_ci    "$PCRE2_LIB_DIR/src/pcre2_script_run.c",
79b5975d6bSopenharmony_ci    "$PCRE2_LIB_DIR/src/pcre2_serialize.c",
80b5975d6bSopenharmony_ci    "$PCRE2_LIB_DIR/src/pcre2_string_utils.c",
81b5975d6bSopenharmony_ci    "$PCRE2_LIB_DIR/src/pcre2_study.c",
82b5975d6bSopenharmony_ci    "$PCRE2_LIB_DIR/src/pcre2_substitute.c",
83b5975d6bSopenharmony_ci    "$PCRE2_LIB_DIR/src/pcre2_substring.c",
84b5975d6bSopenharmony_ci    "$PCRE2_LIB_DIR/src/pcre2_tables.c",
85b5975d6bSopenharmony_ci    "$PCRE2_LIB_DIR/src/pcre2_ucd.c",
86b5975d6bSopenharmony_ci    "$PCRE2_LIB_DIR/src/pcre2_valid_utf.c",
87b5975d6bSopenharmony_ci    "$PCRE2_LIB_DIR/src/pcre2_xclass.c",
88b5975d6bSopenharmony_ci  ]
89b5975d6bSopenharmony_ci  include_dirs = [ "$PCRE2_LIB_DIR/src" ]
90b5975d6bSopenharmony_ci  cflags = [
91b5975d6bSopenharmony_ci    "-D_GNU_SOURCE",
92b5975d6bSopenharmony_ci    "-DHAVE_CONFIG_H",
93b5975d6bSopenharmony_ci    "-DSUPPORT_PCRE2_8=1",
94b5975d6bSopenharmony_ci    "-DSUPPORT_UNICODE=1",
95b5975d6bSopenharmony_ci    "-DPCRE2_CODE_UNIT_WIDTH=8",
96b5975d6bSopenharmony_ci    "-w",
97b5975d6bSopenharmony_ci  ]
98b5975d6bSopenharmony_ci  innerapi_tags = [ "platformsdk" ]
99b5975d6bSopenharmony_ci  part_name = "glib"
100b5975d6bSopenharmony_ci  subsystem_name = "thirdparty"
101b5975d6bSopenharmony_ci}
102b5975d6bSopenharmony_ci
103b5975d6bSopenharmony_cigroup("glib_packages") {
104b5975d6bSopenharmony_ci  deps = [
105b5975d6bSopenharmony_ci    ":glib",
106b5975d6bSopenharmony_ci    ":gmodule",
107b5975d6bSopenharmony_ci    ":gobject",
108b5975d6bSopenharmony_ci  ]
109b5975d6bSopenharmony_ci}
110b5975d6bSopenharmony_ci
111b5975d6bSopenharmony_ciconfig("glib_config") {
112b5975d6bSopenharmony_ci  visibility = [ ":*" ]
113b5975d6bSopenharmony_ci  include_dirs = [
114b5975d6bSopenharmony_ci    ".",
115b5975d6bSopenharmony_ci    "glib/libcharset",
116b5975d6bSopenharmony_ci    "glib",
117b5975d6bSopenharmony_ci    "glib/deprecated",
118b5975d6bSopenharmony_ci    "//third_party/pcre2/pcre2/src",
119b5975d6bSopenharmony_ci    "//foundation/multimedia/media_standard/services/utils",
120b5975d6bSopenharmony_ci    "glibmemdfx",
121b5975d6bSopenharmony_ci  ]
122b5975d6bSopenharmony_ci  cflags = [
123b5975d6bSopenharmony_ci    "-DG_LOG_DOMAIN=\"GLib\"",
124b5975d6bSopenharmony_ci    "-DGLIB_CHARSETALIAS_DIR=\"system/lib64\"",
125b5975d6bSopenharmony_ci    "-DHAVE_MEMMOVE",
126b5975d6bSopenharmony_ci    "-DSUPPORT_UCP",
127b5975d6bSopenharmony_ci    "-DSUPPORT_UTF",
128b5975d6bSopenharmony_ci    "-DSUPPORT_UTF8",
129b5975d6bSopenharmony_ci    "-DNEWLINE=-1",
130b5975d6bSopenharmony_ci    "-DMATCH_LIMIT=10000000",
131b5975d6bSopenharmony_ci    "-DMATCH_LIMIT_RECURSION=8192",
132b5975d6bSopenharmony_ci    "-DMAX_NAME_SIZE=32",
133b5975d6bSopenharmony_ci    "-DMAX_NAME_COUNT=10000",
134b5975d6bSopenharmony_ci    "-DMAX_DUPLENGTH=30000",
135b5975d6bSopenharmony_ci    "-DLINK_SIZE=2",
136b5975d6bSopenharmony_ci    "-DPOSIX_MALLOC_THRESHOLD=10",
137b5975d6bSopenharmony_ci    "-DOHOS_OPT_COMPAT",
138b5975d6bSopenharmony_ci    "-UBSR_ANYCRLF",
139b5975d6bSopenharmony_ci    "-UEBCDIC",
140b5975d6bSopenharmony_ci    "-DGLIB_COMPILATION",
141b5975d6bSopenharmony_ci    "-Wno-sign-compare",
142b5975d6bSopenharmony_ci    "-Wno-unused-value",
143b5975d6bSopenharmony_ci    "-Wno-unused-function",
144b5975d6bSopenharmony_ci    "-Wno-int-conversion",
145b5975d6bSopenharmony_ci  ]
146b5975d6bSopenharmony_ci  if (is_standard_system) {
147b5975d6bSopenharmony_ci    cflags += [
148b5975d6bSopenharmony_ci      "-DG_MEM_DFX",
149b5975d6bSopenharmony_ci      "-DOHOS_OPT_PERFORMANCE",
150b5975d6bSopenharmony_ci    ]
151b5975d6bSopenharmony_ci  }
152b5975d6bSopenharmony_ci}
153b5975d6bSopenharmony_ci
154b5975d6bSopenharmony_ciohos_source_set("glib_source") {
155b5975d6bSopenharmony_ci  branch_protector_ret = "pac_ret"
156b5975d6bSopenharmony_ci  sources = [
157b5975d6bSopenharmony_ci    "glib/deprecated/gallocator.c",
158b5975d6bSopenharmony_ci    "glib/deprecated/gcache.c",
159b5975d6bSopenharmony_ci    "glib/deprecated/gcompletion.c",
160b5975d6bSopenharmony_ci    "glib/deprecated/grel.c",
161b5975d6bSopenharmony_ci    "glib/deprecated/gthread-deprecated.c",
162b5975d6bSopenharmony_ci    "glib/garcbox.c",
163b5975d6bSopenharmony_ci    "glib/garray.c",
164b5975d6bSopenharmony_ci    "glib/gasyncqueue.c",
165b5975d6bSopenharmony_ci    "glib/gatomic.c",
166b5975d6bSopenharmony_ci    "glib/gbacktrace.c",
167b5975d6bSopenharmony_ci    "glib/gbase64.c",
168b5975d6bSopenharmony_ci    "glib/gbitlock.c",
169b5975d6bSopenharmony_ci    "glib/gbookmarkfile.c",
170b5975d6bSopenharmony_ci    "glib/gbytes.c",
171b5975d6bSopenharmony_ci    "glib/gcharset.c",
172b5975d6bSopenharmony_ci    "glib/gchecksum.c",
173b5975d6bSopenharmony_ci    "glib/gconvert.c",
174b5975d6bSopenharmony_ci    "glib/gdataset.c",
175b5975d6bSopenharmony_ci    "glib/gdate.c",
176b5975d6bSopenharmony_ci    "glib/gdatetime.c",
177b5975d6bSopenharmony_ci    "glib/gdir.c",
178b5975d6bSopenharmony_ci    "glib/genviron.c",
179b5975d6bSopenharmony_ci    "glib/gerror.c",
180b5975d6bSopenharmony_ci    "glib/gfileutils.c",
181b5975d6bSopenharmony_ci    "glib/ggettext.c",
182b5975d6bSopenharmony_ci    "glib/ghash.c",
183b5975d6bSopenharmony_ci    "glib/ghmac.c",
184b5975d6bSopenharmony_ci    "glib/ghook.c",
185b5975d6bSopenharmony_ci    "glib/ghostutils.c",
186b5975d6bSopenharmony_ci    "glib/giochannel.c",
187b5975d6bSopenharmony_ci    "glib/giounix.c",
188b5975d6bSopenharmony_ci    "glib/gkeyfile.c",
189b5975d6bSopenharmony_ci    "glib/glib-init.c",
190b5975d6bSopenharmony_ci    "glib/glib-private.c",
191b5975d6bSopenharmony_ci    "glib/glib-unix.c",
192b5975d6bSopenharmony_ci    "glib/glist.c",
193b5975d6bSopenharmony_ci    "glib/gmain.c",
194b5975d6bSopenharmony_ci    "glib/gmappedfile.c",
195b5975d6bSopenharmony_ci    "glib/gmarkup.c",
196b5975d6bSopenharmony_ci    "glib/gmem.c",
197b5975d6bSopenharmony_ci    "glib/gmessages.c",
198b5975d6bSopenharmony_ci    "glib/gnode.c",
199b5975d6bSopenharmony_ci    "glib/goption.c",
200b5975d6bSopenharmony_ci    "glib/gpattern.c",
201b5975d6bSopenharmony_ci    "glib/gpoll.c",
202b5975d6bSopenharmony_ci    "glib/gprimes.c",
203b5975d6bSopenharmony_ci    "glib/gprintf.c",
204b5975d6bSopenharmony_ci    "glib/gqsort.c",
205b5975d6bSopenharmony_ci    "glib/gquark.c",
206b5975d6bSopenharmony_ci    "glib/gqueue.c",
207b5975d6bSopenharmony_ci    "glib/grand.c",
208b5975d6bSopenharmony_ci    "glib/grcbox.c",
209b5975d6bSopenharmony_ci    "glib/grefcount.c",
210b5975d6bSopenharmony_ci    "glib/grefstring.c",
211b5975d6bSopenharmony_ci    "glib/gregex.c",
212b5975d6bSopenharmony_ci    "glib/gscanner.c",
213b5975d6bSopenharmony_ci    "glib/gsequence.c",
214b5975d6bSopenharmony_ci    "glib/gshell.c",
215b5975d6bSopenharmony_ci    "glib/gslice.c",
216b5975d6bSopenharmony_ci    "glib/gslist.c",
217b5975d6bSopenharmony_ci    "glib/gspawn.c",
218b5975d6bSopenharmony_ci    "glib/gstdio.c",
219b5975d6bSopenharmony_ci    "glib/gstrfuncs.c",
220b5975d6bSopenharmony_ci    "glib/gstring.c",
221b5975d6bSopenharmony_ci    "glib/gstringchunk.c",
222b5975d6bSopenharmony_ci    "glib/gtestutils.c",
223b5975d6bSopenharmony_ci    "glib/gthread-posix.c",
224b5975d6bSopenharmony_ci    "glib/gthread.c",
225b5975d6bSopenharmony_ci    "glib/gthreadpool.c",
226b5975d6bSopenharmony_ci    "glib/gtimer.c",
227b5975d6bSopenharmony_ci    "glib/gtimezone.c",
228b5975d6bSopenharmony_ci    "glib/gtrace.c",
229b5975d6bSopenharmony_ci    "glib/gtranslit.c",
230b5975d6bSopenharmony_ci    "glib/gtrashstack.c",
231b5975d6bSopenharmony_ci    "glib/gtree.c",
232b5975d6bSopenharmony_ci    "glib/gunibreak.c",
233b5975d6bSopenharmony_ci    "glib/gunicollate.c",
234b5975d6bSopenharmony_ci    "glib/gunidecomp.c",
235b5975d6bSopenharmony_ci    "glib/guniprop.c",
236b5975d6bSopenharmony_ci    "glib/guri.c",
237b5975d6bSopenharmony_ci    "glib/gutf8.c",
238b5975d6bSopenharmony_ci    "glib/gutils.c",
239b5975d6bSopenharmony_ci    "glib/gutilsprivate.h",
240b5975d6bSopenharmony_ci    "glib/guuid.c",
241b5975d6bSopenharmony_ci    "glib/gvariant-core.c",
242b5975d6bSopenharmony_ci    "glib/gvariant-parser.c",
243b5975d6bSopenharmony_ci    "glib/gvariant-serialiser.c",
244b5975d6bSopenharmony_ci    "glib/gvariant.c",
245b5975d6bSopenharmony_ci    "glib/gvarianttype.c",
246b5975d6bSopenharmony_ci    "glib/gvarianttypeinfo.c",
247b5975d6bSopenharmony_ci    "glib/gversion.c",
248b5975d6bSopenharmony_ci    "glib/gwakeup.c",
249b5975d6bSopenharmony_ci    "glib/libcharset/localcharset.c",
250b5975d6bSopenharmony_ci  ]
251b5975d6bSopenharmony_ci
252b5975d6bSopenharmony_ci  configs = [ ":glib_config" ]
253b5975d6bSopenharmony_ci}
254b5975d6bSopenharmony_ci
255b5975d6bSopenharmony_ciconfig("public_header_config") {
256b5975d6bSopenharmony_ci  include_dirs = [
257b5975d6bSopenharmony_ci    ".",
258b5975d6bSopenharmony_ci    "glib",
259b5975d6bSopenharmony_ci  ]
260b5975d6bSopenharmony_ci}
261b5975d6bSopenharmony_ci
262b5975d6bSopenharmony_ciohos_shared_library("glib") {
263b5975d6bSopenharmony_ci  branch_protector_ret = "pac_ret"
264b5975d6bSopenharmony_ci  deps = [
265b5975d6bSopenharmony_ci    ":glib_source",
266b5975d6bSopenharmony_ci    "//third_party/glib:glibpcre",
267b5975d6bSopenharmony_ci  ]
268b5975d6bSopenharmony_ci  public_configs = [ ":public_header_config" ]
269b5975d6bSopenharmony_ci  if (is_standard_system) {
270b5975d6bSopenharmony_ci    deps += [ ":g_mem_dfx" ]
271b5975d6bSopenharmony_ci  }
272b5975d6bSopenharmony_ci  innerapi_tags = [ "platformsdk" ]
273b5975d6bSopenharmony_ci  part_name = "glib"
274b5975d6bSopenharmony_ci  subsystem_name = "thirdparty"
275b5975d6bSopenharmony_ci}
276b5975d6bSopenharmony_ci
277b5975d6bSopenharmony_ciconfig("gmodule_config") {
278b5975d6bSopenharmony_ci  visibility = [ ":*" ]
279b5975d6bSopenharmony_ci  include_dirs = [
280b5975d6bSopenharmony_ci    ".",
281b5975d6bSopenharmony_ci    "gmodule",
282b5975d6bSopenharmony_ci    "glib",
283b5975d6bSopenharmony_ci  ]
284b5975d6bSopenharmony_ci  cflags = [ "-DG_LOG_DOMAIN=\"GModule\"" ]
285b5975d6bSopenharmony_ci}
286b5975d6bSopenharmony_ci
287b5975d6bSopenharmony_ciohos_source_set("gmodule_source") {
288b5975d6bSopenharmony_ci  sources = [ "gmodule/gmodule.c" ]
289b5975d6bSopenharmony_ci
290b5975d6bSopenharmony_ci  configs = [ ":gmodule_config" ]
291b5975d6bSopenharmony_ci}
292b5975d6bSopenharmony_ciohos_shared_library("gmodule") {
293b5975d6bSopenharmony_ci  deps = [
294b5975d6bSopenharmony_ci    ":glib",
295b5975d6bSopenharmony_ci    ":gmodule_source",
296b5975d6bSopenharmony_ci  ]
297b5975d6bSopenharmony_ci  part_name = "glib"
298b5975d6bSopenharmony_ci  subsystem_name = "thirdparty"
299b5975d6bSopenharmony_ci}
300b5975d6bSopenharmony_ci
301b5975d6bSopenharmony_ciconfig("gobject_config") {
302b5975d6bSopenharmony_ci  visibility = [ ":*" ]
303b5975d6bSopenharmony_ci  include_dirs = [
304b5975d6bSopenharmony_ci    ".",
305b5975d6bSopenharmony_ci    "gobject",
306b5975d6bSopenharmony_ci    "glib",
307b5975d6bSopenharmony_ci  ]
308b5975d6bSopenharmony_ci  cflags = [
309b5975d6bSopenharmony_ci    "-DG_LOG_DOMAIN=\"GObject\"",
310b5975d6bSopenharmony_ci    "-DGOBJECT_COMPILATION",
311b5975d6bSopenharmony_ci    "-Wno-sign-compare",
312b5975d6bSopenharmony_ci    "-Wno-unused-function",
313b5975d6bSopenharmony_ci    "-Wno-int-conversion",
314b5975d6bSopenharmony_ci  ]
315b5975d6bSopenharmony_ci}
316b5975d6bSopenharmony_ci
317b5975d6bSopenharmony_ciohos_source_set("gobject_source") {
318b5975d6bSopenharmony_ci  sources = [
319b5975d6bSopenharmony_ci    "gobject/gatomicarray.c",
320b5975d6bSopenharmony_ci    "gobject/gbinding.c",
321b5975d6bSopenharmony_ci    "gobject/gboxed.c",
322b5975d6bSopenharmony_ci    "gobject/gclosure.c",
323b5975d6bSopenharmony_ci    "gobject/genums.c",
324b5975d6bSopenharmony_ci    "gobject/gmarshal.c",
325b5975d6bSopenharmony_ci    "gobject/gobject.c",
326b5975d6bSopenharmony_ci    "gobject/gparam.c",
327b5975d6bSopenharmony_ci    "gobject/gparamspecs.c",
328b5975d6bSopenharmony_ci    "gobject/gsignal.c",
329b5975d6bSopenharmony_ci    "gobject/gsourceclosure.c",
330b5975d6bSopenharmony_ci    "gobject/gtype.c",
331b5975d6bSopenharmony_ci    "gobject/gtypemodule.c",
332b5975d6bSopenharmony_ci    "gobject/gtypeplugin.c",
333b5975d6bSopenharmony_ci    "gobject/gvalue.c",
334b5975d6bSopenharmony_ci    "gobject/gvaluearray.c",
335b5975d6bSopenharmony_ci    "gobject/gvaluetransform.c",
336b5975d6bSopenharmony_ci    "gobject/gvaluetypes.c",
337b5975d6bSopenharmony_ci  ]
338b5975d6bSopenharmony_ci
339b5975d6bSopenharmony_ci  configs = [ ":gobject_config" ]
340b5975d6bSopenharmony_ci
341b5975d6bSopenharmony_ci  external_deps = [ "libffi:ffi" ]
342b5975d6bSopenharmony_ci  part_name = "glib"
343b5975d6bSopenharmony_ci  subsystem_name = "thirdparty"
344b5975d6bSopenharmony_ci}
345b5975d6bSopenharmony_ci
346b5975d6bSopenharmony_ciohos_shared_library("gobject") {
347b5975d6bSopenharmony_ci  deps = [
348b5975d6bSopenharmony_ci    ":glib",
349b5975d6bSopenharmony_ci    ":gobject_source",
350b5975d6bSopenharmony_ci  ]
351b5975d6bSopenharmony_ci
352b5975d6bSopenharmony_ci  external_deps = [ "libffi:ffi" ]
353b5975d6bSopenharmony_ci  part_name = "glib"
354b5975d6bSopenharmony_ci  subsystem_name = "thirdparty"
355b5975d6bSopenharmony_ci}
356b5975d6bSopenharmony_ci
357b5975d6bSopenharmony_ci#############################################################################
358b5975d6bSopenharmony_ci#############################################################################
359b5975d6bSopenharmony_ci#############################################################################
360b5975d6bSopenharmony_ci
361b5975d6bSopenharmony_ciconfig("g_mem_dfx_config") {
362b5975d6bSopenharmony_ci  include_dirs = [
363b5975d6bSopenharmony_ci    "glibmemdfx",
364b5975d6bSopenharmony_ci    "//commonlibrary/c_utils/base/include",
365b5975d6bSopenharmony_ci    "//foundation/multimedia/media_standard/interfaces/inner_api/native",
366b5975d6bSopenharmony_ci    "//base/hiviewdfx/hisysevent/interfaces/native/innerkits/hisysevent/include",
367b5975d6bSopenharmony_ci  ]
368b5975d6bSopenharmony_ci}
369b5975d6bSopenharmony_ci
370b5975d6bSopenharmony_ciohos_shared_library("g_mem_dfx") {
371b5975d6bSopenharmony_ci  branch_protector_ret = "pac_ret"
372b5975d6bSopenharmony_ci  sources = [ "glibmemdfx/gmemdfx.cpp" ]
373b5975d6bSopenharmony_ci
374b5975d6bSopenharmony_ci  include_dirs = [ "//commonlibrary/c_utils/base/include" ]
375b5975d6bSopenharmony_ci
376b5975d6bSopenharmony_ci  cflags = [
377b5975d6bSopenharmony_ci    "-std=c++17",
378b5975d6bSopenharmony_ci    "-fno-rtti",
379b5975d6bSopenharmony_ci    "-fno-exceptions",
380b5975d6bSopenharmony_ci    "-Wall",
381b5975d6bSopenharmony_ci    "-fno-common",
382b5975d6bSopenharmony_ci    "-fstack-protector-strong",
383b5975d6bSopenharmony_ci    "-Wshadow",
384b5975d6bSopenharmony_ci    "-FPIC",
385b5975d6bSopenharmony_ci    "-FS",
386b5975d6bSopenharmony_ci    "-O2",
387b5975d6bSopenharmony_ci    "-D_FORTIFY_SOURCE=2",
388b5975d6bSopenharmony_ci    "-fvisibility=hidden",
389b5975d6bSopenharmony_ci    "-Wformat=2",
390b5975d6bSopenharmony_ci    "-Wfloat-equal",
391b5975d6bSopenharmony_ci    "-Wdate-time",
392b5975d6bSopenharmony_ci  ]
393b5975d6bSopenharmony_ci
394b5975d6bSopenharmony_ci  configs = [ ":g_mem_dfx_config" ]
395b5975d6bSopenharmony_ci
396b5975d6bSopenharmony_ci  external_deps = [
397b5975d6bSopenharmony_ci    "c_utils:utils",
398b5975d6bSopenharmony_ci    "faultloggerd:libdfx_dumpcatcher",
399b5975d6bSopenharmony_ci    "hilog:libhilog",
400b5975d6bSopenharmony_ci    "hisysevent:libhisysevent",
401b5975d6bSopenharmony_ci    "hitrace:hitrace_meter",
402b5975d6bSopenharmony_ci    "init:libbegetutil",
403b5975d6bSopenharmony_ci  ]
404b5975d6bSopenharmony_ci
405b5975d6bSopenharmony_ci  innerapi_tags = [ "platformsdk" ]
406b5975d6bSopenharmony_ci  subsystem_name = "thirdparty"
407b5975d6bSopenharmony_ci  part_name = "glib"
408b5975d6bSopenharmony_ci}
409