Update Friulian translation
[glib.git] / glib / meson.build
blob67ed3f5ab72450e79bb0d6aef37cc667d646acd0
1 configure_file(input : 'glibconfig.h.in', output : 'glibconfig.h',
2   install : true,
3   install_dir : join_paths(get_option('libdir'), 'glib-2.0/include'),
4   configuration : glibconfig_conf)
6 subdir('libcharset')
7 if not use_system_pcre
8   subdir('pcre')
9 endif
10 if have_good_vsnprintf and have_good_snprintf
11   gnulib_lib = []
12 else
13   subdir('gnulib')
14 endif
16 glib_headers = [
17   'glib.h',
18   'glib-unix.h',
19   'glib-object.h',
21 install_headers(glib_headers, subdir : 'glib-2.0')
23 glib_deprecated_headers = [
24   'deprecated/gallocator.h',
25   'deprecated/gcache.h',
26   'deprecated/gcompletion.h',
27   'deprecated/gmain.h',
28   'deprecated/grel.h',
29   'deprecated/gthread.h',
31 install_headers(glib_deprecated_headers, subdir : 'glib-2.0/glib/deprecated')
33 glib_sub_headers = [
34   'glib-autocleanups.h',
35   'galloca.h',
36   'garray.h',
37   'gasyncqueue.h',
38   'gatomic.h',
39   'gbacktrace.h',
40   'gbase64.h',
41   'gbitlock.h',
42   'gbookmarkfile.h',
43   'gbytes.h',
44   'gcharset.h',
45   'gchecksum.h',
46   'gconvert.h',
47   'gdataset.h',
48   'gdate.h',
49   'gdatetime.h',
50   'gdir.h',
51   'genviron.h',
52   'gerror.h',
53   'gfileutils.h',
54   'ggettext.h',
55   'ghash.h',
56   'ghmac.h',
57   'ghook.h',
58   'ghostutils.h',
59   'gi18n.h',
60   'gi18n-lib.h',
61   'giochannel.h',
62   'gkeyfile.h',
63   'glist.h',
64   'gmacros.h',
65   'gmain.h',
66   'gmappedfile.h',
67   'gmarkup.h',
68   'gmem.h',
69   'gmessages.h',
70   'gnode.h',
71   'goption.h',
72   'gpattern.h',
73   'gpoll.h',
74   'gprimes.h',
75   'gqsort.h',
76   'gquark.h',
77   'gqueue.h',
78   'grand.h',
79   'gregex.h',
80   'gscanner.h',
81   'gsequence.h',
82   'gshell.h',
83   'gslice.h',
84   'gslist.h',
85   'gspawn.h',
86   'gstdio.h',
87   'gstrfuncs.h',
88   'gtestutils.h',
89   'gstring.h',
90   'gstringchunk.h',
91   'gthread.h',
92   'gthreadpool.h',
93   'gtimer.h',
94   'gtimezone.h',
95   'gtrashstack.h',
96   'gtree.h',
97   'gtypes.h',
98   'guuid.h',
99   'gunicode.h',
100   'gurifuncs.h',
101   'gutils.h',
102   'gvarianttype.h',
103   'gvariant.h',
104   'gversion.h',
105   'gversionmacros.h',
106   'gwin32.h',
107   'gprintf.h',
109 install_headers(glib_sub_headers, subdir : 'glib-2.0/glib')
111 deprecated_sources = [
112   'deprecated/gallocator.c',
113   'deprecated/gcache.c',
114   'deprecated/gcompletion.c',
115   'deprecated/grel.c',
116   'deprecated/gthread-deprecated.c'
119 glib_sources = [
120   'garray.c',
121   'gasyncqueue.c',
122   'gatomic.c',
123   'gbacktrace.c',
124   'gbase64.c',
125   'gbitlock.c',
126   'gbookmarkfile.c',
127   'gbytes.c',
128   'gcharset.c',
129   'gchecksum.c',
130   'gconvert.c',
131   'gdataset.c',
132   'gdate.c',
133   'gdatetime.c',
134   'gdir.c',
135   'genviron.c',
136   'gerror.c',
137   'gfileutils.c',
138   'ggettext.c',
139   'ghash.c',
140   'ghmac.c',
141   'ghook.c',
142   'ghostutils.c',
143   'giochannel.c',
144   'gkeyfile.c',
145   'glib-init.c',
146   'glib-private.c',
147   'glist.c',
148   'gmain.c',
149   'gmappedfile.c',
150   'gmarkup.c',
151   'gmem.c',
152   'gmessages.c',
153   'gnode.c',
154   'goption.c',
155   'gpattern.c',
156   'gpoll.c',
157   'gprimes.c',
158   'gqsort.c',
159   'gquark.c',
160   'gqueue.c',
161   'grand.c',
162   'gregex.c',
163   'gscanner.c',
164   'gsequence.c',
165   'gshell.c',
166   'gslice.c',
167   'gslist.c',
168   'gstdio.c',
169   'gstrfuncs.c',
170   'gstring.c',
171   'gstringchunk.c',
172   'gtestutils.c',
173   'gthread.c',
174   'gthreadpool.c',
175   'gtimer.c',
176   'gtimezone.c',
177   'gtranslit.c',
178   'gtrashstack.c',
179   'gtree.c',
180   'guniprop.c',
181   'gutf8.c',
182   'gunibreak.c',
183   'gunicollate.c',
184   'gunidecomp.c',
185   'gurifuncs.c',
186   'gutils.c',
187   'gvariant.c',
188   'gvariant-core.c',
189   'gvariant-parser.c',
190   'gvariant-serialiser.c',
191   'gvarianttypeinfo.c',
192   'gvarianttype.c',
193   'gversion.c',
194   'gwakeup.c',
195   'gprintf.c',
198 if host_system == 'windows'
199   thread_src = ['gthread-win32.c']
200   plat_src = ['gwin32.c', 'gspawn-win32.c', 'giowin32.c']
201   platform_deps = [winsock2, cc.find_library('winmm')]
202 else
203   thread_src = ['gthread-posix.c']
204   plat_src = ['glib-unix.c', 'gspawn.c', 'giounix.c']
205   platform_deps = []
206 endif
208 if enable_dtrace
209   glib_dtrace_obj = dtrace_obj_gen.process('glib_probes.d')
210   glib_dtrace_hdr = dtrace_hdr_gen.process('glib_probes.d')
211 else
212   glib_dtrace_obj = []
213   glib_dtrace_hdr = []
214 endif
216 pcre_static_args = []
218 if use_pcre_static_flag
219   pcre_static_args = ['-DPCRE_STATIC']
220 endif
222 libglib = shared_library('glib-2.0',
223   glib_dtrace_obj, glib_dtrace_hdr,
224   sources : [deprecated_sources, glib_sources, thread_src, plat_src],
225   version : library_version,
226   soversion : soversion,
227   install : true,
228   # intl.lib is not compatible with SAFESEH
229   link_args : noseh_link_args,
230   include_directories : configinc,
231   link_with : [charset_lib, gnulib_lib],
232   dependencies : [pcre, thread_dep, libintl, librt] + libiconv + platform_deps,
233   c_args : ['-DG_LOG_DOMAIN="GLib"', '-DGLIB_COMPILATION'] + pcre_static_args + glib_hidden_visibility_args
236 libglib_dep = declare_dependency(link_with : libglib,
237   # We sadly need to export configinc here because everyone includes <glib/*.h>
238   include_directories : [configinc, glibinc])
240 # On Windows, glib needs a spawn helper for g_spawn* API
241 if host_system == 'windows'
242   if host_machine.cpu_family() == 'x86'
243     executable('gspawn-win32-helper', 'gspawn-win32-helper.c',
244       install : true,
245       gui_app : true,
246       c_args : ['-DHAVE_CONFIG_H=1'],
247       include_directories : configinc,
248       dependencies : [libintl, libglib_dep])
249     executable('gspawn-win32-helper-console', 'gspawn-win32-helper.c',
250       install : true,
251       c_args : ['-DHAVE_CONFIG_H=1', '-DHELPER_CONSOLE'],
252       include_directories : configinc,
253       dependencies : [libintl, libglib_dep])
254   else
255     executable('gspawn-win64-helper', 'gspawn-win32-helper.c',
256       install : true,
257       gui_app : true,
258       c_args : ['-DHAVE_CONFIG_H=1'],
259       include_directories : configinc,
260       dependencies : [libintl, libglib_dep])
261     executable('gspawn-win64-helper-console', 'gspawn-win32-helper.c',
262       install : true,
263       c_args : ['-DHAVE_CONFIG_H=1', '-DHELPER_CONSOLE'],
264       include_directories : configinc,
265       dependencies : [libintl, libglib_dep])
266   endif
267 else
268   gtester = executable('gtester', 'gtester.c',
269     install : true,
270     c_args : ['-DHAVE_CONFIG_H=1'],
271     include_directories : configinc,
272     dependencies : [libglib_dep])
273 endif
275 install_data('gtester-report', install_dir : get_option('bindir'))
276 install_data('glib_gdb.py', install_dir : join_paths(glib_pkgdatadir, 'gdb'))
278 gdb_conf = configuration_data()
279 gdb_conf.set('datadir', glib_datadir)
280 configure_file(
281   input: 'libglib-gdb.py.in',
282   output: 'libglib-2.0.so.@0@-gdb.py'.format(library_version),
283   configuration: gdb_conf,
284   install: true,
285   install_dir: join_paths(get_option('datadir'), 'gdb/auto-load' + glib_libdir)
288 if enable_systemtap
289   glib_stp = configure_file(input : 'glib.stp.in',
290     output : '@0@.stp'.format(libglib.full_path().split('/').get(-1)),
291     configuration : stp_cdata,
292     install_dir : tapset_install_dir,
293     install : true)
294 endif
296 # gtester doesn't work on native windows
297 if cc.get_id() != 'msvc'
298   subdir('tests')
299 endif