meson: do not run atomic test with msvc
[glib.git] / gio / Makefile.am
blobdf4f2401430d71d1ea401c186ecf084fd2b210ad
1 include $(top_srcdir)/glib.mk
3 SUBDIRS = gdbus-2.0/codegen
5 if OS_UNIX
6 SUBDIRS += xdgmime
7 endif
9 if OS_WIN32_AND_DLL_COMPILATION
10 if MS_LIB_AVAILABLE
11 noinst_DATA += gio-2.0.lib
13 install_ms_lib_cmd = $(INSTALL) gio-2.0.lib $(DESTDIR)$(libdir)
14 uninstall_ms_lib_cmd = -rm $(DESTDIR)$(libdir)/gio-2.0.lib
15 endif
16 endif
18 install-ms-lib:
19         $(install_ms_lib_cmd)
21 uninstall-ms-lib:
22         $(uninstall_ms_lib_cmd)
24 AM_CPPFLAGS = \
25         -DG_LOG_DOMAIN=\"GLib-GIO\"                     \
26         $(gmodule_INCLUDES)                             \
27         $(GLIB_DEBUG_FLAGS)                             \
28         -DGIO_COMPILATION                               \
29         -DGIO_MODULE_DIR=\"$(GIO_MODULE_DIR)\"  
31 AM_CFLAGS = $(GLIB_WARN_CFLAGS)
33 lib_LTLIBRARIES = libgio-2.0.la
35 gdbus_headers =                         \
36         gdbusauthobserver.h             \
37         gcredentials.h                  \
38         gdbusutils.h                    \
39         gdbuserror.h                    \
40         gdbusaddress.h                  \
41         gdbusconnection.h               \
42         gdbusmessage.h                  \
43         gdbusnameowning.h               \
44         gdbusnamewatching.h             \
45         gdbusproxy.h                    \
46         gdbusintrospection.h            \
47         gdbusmethodinvocation.h         \
48         gdbusserver.h                   \
49         gdbusinterface.h                \
50         gdbusinterfaceskeleton.h        \
51         gdbusobject.h                   \
52         gdbusobjectskeleton.h           \
53         gdbusobjectproxy.h              \
54         gdbusobjectmanager.h            \
55         gdbusobjectmanagerclient.h      \
56         gdbusobjectmanagerserver.h      \
57         gtestdbus.h                     \
58         $(NULL)
60 gdbus_sources =                                                         \
61         gdbusutils.h                    gdbusutils.c                    \
62         gdbusaddress.h                  gdbusaddress.c                  \
63         gdbusauthobserver.h             gdbusauthobserver.c             \
64         gdbusauth.h                     gdbusauth.c                     \
65         gdbusauthmechanism.h            gdbusauthmechanism.c            \
66         gdbusauthmechanismanon.h        gdbusauthmechanismanon.c        \
67         gdbusauthmechanismexternal.h    gdbusauthmechanismexternal.c    \
68         gdbusauthmechanismsha1.h        gdbusauthmechanismsha1.c        \
69         gdbuserror.h                    gdbuserror.c                    \
70         gdbusconnection.h               gdbusconnection.c               \
71         gdbusmessage.h                  gdbusmessage.c                  \
72         gdbusnameowning.h               gdbusnameowning.c               \
73         gdbusnamewatching.h             gdbusnamewatching.c             \
74         gdbusproxy.h                    gdbusproxy.c                    \
75         gdbusprivate.h                  gdbusprivate.c                  \
76         gdbusintrospection.h            gdbusintrospection.c            \
77         gdbusmethodinvocation.h         gdbusmethodinvocation.c         \
78         gdbusserver.h                   gdbusserver.c                   \
79         gdbusinterface.h                gdbusinterface.c                \
80         gdbusinterfaceskeleton.h        gdbusinterfaceskeleton.c        \
81         gdbusobject.h                   gdbusobject.c                   \
82         gdbusobjectskeleton.h           gdbusobjectskeleton.c           \
83         gdbusobjectproxy.h              gdbusobjectproxy.c              \
84         gdbusobjectmanager.h            gdbusobjectmanager.c            \
85         gdbusobjectmanagerclient.h      gdbusobjectmanagerclient.c      \
86         gdbusobjectmanagerserver.h      gdbusobjectmanagerserver.c      \
87         gtestdbus.h                     gtestdbus.c                     \
88         $(NULL)
90 # These are not built into the library yet
91 EXTRA_DIST += gdbusdaemon.c gdbusdaemon.h dbus-daemon.xml
93 GDBUS_PYTHON_DEPS =                                     \
94         $(srcdir)/gdbus-2.0/codegen/gdbus-codegen.in    \
95         $(srcdir)/gdbus-2.0/codegen/codegen_main.py     \
96         $(srcdir)/gdbus-2.0/codegen/parser.py           \
97         $(srcdir)/gdbus-2.0/codegen/codegen_docbook.py  \
98         $(srcdir)/gdbus-2.0/codegen/codegen.py          \
99         $(srcdir)/gdbus-2.0/codegen/__init__.py         \
100         $(srcdir)/gdbus-2.0/codegen/dbustypes.py        \
101         $(builddir)/gdbus-2.0/codegen/config.py         \
102         $(srcdir)/gdbus-2.0/codegen/utils.py
104 gdbus-daemon-generated.h gdbus-daemon-generated.c: $(srcdir)/dbus-daemon.xml $(GDBUS_PYTHON_DEPS)
105         $(AM_V_GEN) UNINSTALLED_GLIB_SRCDIR=$(top_srcdir) \
106                 UNINSTALLED_GLIB_BUILDDIR=$(top_builddir) \
107                 $(PYTHON) $(srcdir)/gdbus-2.0/codegen/gdbus-codegen.in \
108                 --interface-prefix org. \
109                 --generate-c-code gdbus-daemon-generated \
110                 --c-namespace _G \
111                 $(srcdir)/dbus-daemon.xml \
112                 $(NULL)
114 settings_headers = \
115         gsettingsbackend.h              \
116         gsettingsschema.h               \
117         gsettings.h
119 settings_base_sources = \
120         gvdb/gvdb-format.h              \
121         gvdb/gvdb-reader.h              \
122         gvdb/gvdb-reader.c              \
123         gdelayedsettingsbackend.h       \
124         gdelayedsettingsbackend.c       \
125         gkeyfilesettingsbackend.c       \
126         gmemorysettingsbackend.c        \
127         gnullsettingsbackend.c          \
128         gsettingsbackendinternal.h      \
129         gsettingsbackend.c              \
130         gsettingsschema.h               \
131         gsettingsschema-internal.h      \
132         gsettingsschema.c               \
133         gsettings-mapping.h             \
134         gsettings-mapping.c             \
135         gsettings.c
137 settings_sources = $(settings_base_sources)
139 if OS_WIN32
140 win32_settings_sources = \
141         gregistrysettingsbackend.h      \
142         gregistrysettingsbackend.c
144 settings_sources += $(win32_settings_sources)
145 endif
147 application_headers = \
148         gapplication.h                  \
149         gapplicationcommandline.h       \
150                                         \
151         gactiongroup.h                  \
152         gactionmap.h                    \
153         gsimpleactiongroup.h            \
154         gremoteactiongroup.h            \
155         gactiongroupexporter.h          \
156         gdbusactiongroup.h              \
157         gaction.h                       \
158         gpropertyaction.h               \
159         gsimpleaction.h                 \
160                                         \
161         gmenumodel.h                    \
162         gmenu.h                         \
163         gmenuexporter.h                 \
164         gdbusmenumodel.h                \
165         gnotification.h                 \
166         $(NULL)
168 application_sources = \
169         gapplication.c                          \
170         gapplicationcommandline.c               \
171         gapplicationimpl-dbus.c                 \
172         gapplicationimpl.h                      \
173                                                 \
174         gactiongroup.c                          \
175         gactionmap.c                            \
176         gsimpleactiongroup.c                    \
177         gremoteactiongroup.c                    \
178         gactiongroupexporter.c                  \
179         gdbusactiongroup-private.h              \
180         gdbusactiongroup.c                      \
181         gaction.c                               \
182         gpropertyaction.c                       \
183         gsimpleaction.c                         \
184                                                 \
185         gmenumodel.c                            \
186         gmenu.c                                 \
187         gmenuexporter.c                         \
188         gdbusmenumodel.c                        \
189         gnotification-private.h                 \
190         gnotificationbackend.h                  \
191         gnotification.c                         \
192         gnotificationbackend.c                  \
193         $(NULL)
195 local_sources = \
196         ghttpproxy.c                    \
197         ghttpproxy.h                    \
198         glocalfile.c                    \
199         glocalfile.h                    \
200         glocalfileprivate.h             \
201         glocalfileenumerator.c          \
202         glocalfileenumerator.h          \
203         glocalfileinfo.c                \
204         glocalfileinfo.h                \
205         glocalfileinputstream.c         \
206         glocalfileinputstream.h         \
207         glocalfilemonitor.c             \
208         glocalfilemonitor.h             \
209         glocalfileoutputstream.c        \
210         glocalfileoutputstream.h        \
211         glocalfileiostream.c            \
212         glocalfileiostream.h            \
213         glocalvfs.c                     \
214         glocalvfs.h                     \
215         gsocks4proxy.c                  \
216         gsocks4proxy.h                  \
217         gsocks4aproxy.c                 \
218         gsocks4aproxy.h                 \
219         gsocks5proxy.c                  \
220         gsocks5proxy.h                  \
221         thumbnail-verify.h              \
222         thumbnail-verify.c              \
223         $(NULL)
225 platform_libadd =
226 platform_deps =
227 appinfo_sources =
228 appinfo_headers =
229 contenttype_sources =
231 if HAVE_INOTIFY
232 SUBDIRS += inotify
233 platform_libadd += inotify/libinotify.la
234 platform_deps += inotify/libinotify.la
235 endif
237 if HAVE_KQUEUE
238 SUBDIRS += kqueue
239 platform_libadd += kqueue/libkqueue.la
240 platform_deps += kqueue/libkqueue.la
241 endif
243 if OS_WIN32
244 SUBDIRS += win32
245 platform_libadd += win32/libgiowin32.la
246 platform_deps += win32/libgiowin32.la
247 endif
249 SUBDIRS += . tests
251 if HAVE_FAM
252 SUBDIRS += fam
253 endif
255 if OS_UNIX
256 platform_libadd += xdgmime/libxdgmime.la
257 platform_deps += xdgmime/libxdgmime.la
258 if !OS_COCOA
259 appinfo_headers += gdesktopappinfo.h
260 endif
263 unix_sources = \
264         gfiledescriptorbased.c  \
265         gunixconnection.c       \
266         gunixcredentialsmessage.c       \
267         gunixfdlist.c           \
268         gunixfdmessage.c        \
269         gunixmount.c            \
270         gunixmount.h            \
271         gunixmounts.c           \
272         gunixsocketaddress.c    \
273         gunixvolume.c           \
274         gunixvolume.h           \
275         gunixvolumemonitor.c    \
276         gunixvolumemonitor.h    \
277         gunixinputstream.c      \
278         gunixoutputstream.c     \
279         gcontenttypeprivate.h   \
280         gfdonotificationbackend.c \
281         ggtknotificationbackend.c \
282         gportalnotificationbackend.c \
283         gdocumentportal.c       \
284         gdocumentportal.h       \
285         gopenuriportal.c        \
286         gopenuriportal.h        \
287         gportalsupport.c        \
288         gportalsupport.h        \
289         $(portal_sources)       \
290         $(NULL)
292 giounixincludedir=$(includedir)/gio-unix-2.0/gio
293 giounixinclude_HEADERS = \
294         gfiledescriptorbased.h  \
295         gunixconnection.h       \
296         gunixcredentialsmessage.h       \
297         gunixmounts.h           \
298         gunixfdlist.h           \
299         gunixfdmessage.h        \
300         gunixinputstream.h      \
301         gunixoutputstream.h     \
302         gunixsocketaddress.h    \
303         $(appinfo_headers) \
304         $(NULL)
306 if HAVE_NETLINK
307 unix_sources +=                  \
308         gnetworkmonitornetlink.c \
309         gnetworkmonitornetlink.h \
310         gnetworkmonitornm.c      \
311         gnetworkmonitornm.h      \
312         $(NULL)
313 endif
314 endif
316 gdbus_daemon_sources = \
317         gdbusdaemon.c \
318         gdbusdaemon.h \
319         gdbus-daemon-generated.c \
320         gdbus-daemon-generated.h \
321         $(NULL)
323 win32_actual_sources = \
324         $(gdbus_daemon_sources) \
325         gwin32registrykey.c \
326         gwin32registrykey.h \
327         gwin32mount.c \
328         gwin32mount.h \
329         gwin32volumemonitor.c \
330         gwin32volumemonitor.h \
331         gwin32inputstream.c \
332         gwin32outputstream.c \
333         gwin32outputstream.h \
334         gwin32networking.h \
335         gwin32networkmonitor.c \
336         gwin32networkmonitor.h \
337         gwin32notificationbackend.c \
338         $(NULL)
340 win32_more_sources_for_vcproj = \
341         gwin32appinfo.c \
342         gcontenttype-win32.c \
343         gregistrysettingsbackend.c \
344         win32/gwinhttpfile.c \
345         win32/gwinhttpfileinputstream.c \
346         win32/gwinhttpfileoutputstream.c \
347         win32/gwinhttpvfs.c \
348         win32/gwin32fsmonitorutils.c \
349         win32/gwin32filemonitor.c
351 if OS_WIN32
352 appinfo_sources += gwin32appinfo.c gwin32appinfo.h
353 contenttype_sources += gcontenttype-win32.c
354 platform_libadd += -lshlwapi -lws2_32 -ldnsapi -liphlpapi
355 win32_sources = $(win32_actual_sources)
357 giowin32includedir=$(includedir)/gio-win32-2.0/gio
358 giowin32include_HEADERS = \
359         gwin32inputstream.h \
360         gwin32outputstream.h \
361         $(NULL)
363 endif
365 xdp_dbus_built_sources = xdp-dbus.c xdp-dbus.h
366 BUILT_SOURCES += $(xdp_dbus_built_sources)
367 CLEANFILES += $(xdp_dbus_built_sources)
369 portal_interfaces = \
370         org.freedesktop.portal.Documents.xml \
371         org.freedesktop.portal.OpenURI.xml \
372         org.freedesktop.portal.NetworkMonitor.xml \
373         org.freedesktop.portal.ProxyResolver.xml \
374         $(NULL)
376 EXTRA_DIST += $(portal_interfaces)
378 $(xdp_dbus_built_sources) : $(portal_interfaces)
379         $(AM_V_GEN) UNINSTALLED_GLIB_SRCDIR=$(top_srcdir)               \
380                 UNINSTALLED_GLIB_BUILDDIR=$(top_builddir)               \
381                 $(PYTHON) $(srcdir)/gdbus-2.0/codegen/gdbus-codegen.in  \
382                 --interface-prefix org.freedesktop.portal.              \
383                 --c-namespace GXdp                                      \
384                 --generate-c-code $(builddir)/xdp-dbus                  \
385                 --annotate "org.freedesktop.portal.Documents.Add()" "org.gtk.GDBus.C.UnixFD" "true" \
386                 --annotate "org.freedesktop.portal.Documents.AddNamed()" "org.gtk.GDBus.C.UnixFD" "true" \
387                 --annotate "org.freedesktop.portal.Documents.AddFull()" "org.gtk.GDBus.C.UnixFD" "true" \
388                 --annotate "org.freedesktop.portal.OpenURI.OpenFile()" "org.gtk.GDBus.C.UnixFD" "true" \
389                 $^
391 portal_sources = \
392         gnetworkmonitorportal.c         \
393         gnetworkmonitorportal.h         \
394         gproxyresolverportal.c          \
395         gproxyresolverportal.h          \
396         $(xdp_dbus_built_sources)       \
397         $(NULL)
399 if OS_UNIX
400 if !OS_COCOA
401 contenttype_sources += gcontenttype.c
402 appinfo_sources += gdesktopappinfo.c
403 endif
404 endif
406 gio_base_sources =              \
407         gappinfo.c              \
408         gappinfoprivate.h       \
409         gasynchelper.c          \
410         gasynchelper.h          \
411         gasyncinitable.c        \
412         gasyncresult.c          \
413         gbufferedinputstream.c  \
414         gbufferedoutputstream.c \
415         gbytesicon.c            \
416         gcancellable.c          \
417         gcharsetconverter.c     \
418         gcontextspecificgroup.c \
419         gcontextspecificgroup.h \
420         gconverter.c            \
421         gconverterinputstream.c \
422         gconverteroutputstream.c        \
423         gcredentials.c          \
424         gcredentialsprivate.h   \
425         gdatagrambased.c        \
426         gdatainputstream.c      \
427         gdataoutputstream.c     \
428         gdrive.c                \
429         gdummyfile.h            \
430         gdummyfile.c            \
431         gdummyproxyresolver.c   \
432         gdummyproxyresolver.h   \
433         gdummytlsbackend.c      \
434         gdummytlsbackend.h      \
435         gemblem.h               \
436         gemblem.c               \
437         gemblemedicon.h         \
438         gemblemedicon.c         \
439         gfile.c                 \
440         gfileattribute.c        \
441         gfileattribute-priv.h   \
442         gfileenumerator.c       \
443         gfileicon.c             \
444         gfileinfo.c             \
445         gfileinfo-priv.h        \
446         gfileinputstream.c      \
447         gfilemonitor.c          \
448         gfilenamecompleter.c    \
449         gfileoutputstream.c     \
450         gfileiostream.c         \
451         gfilterinputstream.c    \
452         gfilteroutputstream.c   \
453         gicon.c                 \
454         ginetaddress.c          \
455         ginetaddressmask.c      \
456         ginetsocketaddress.c    \
457         ginitable.c             \
458         ginputstream.c          \
459         gio_probes.d            \
460         gio_trace.h             \
461         gioenums.h              \
462         gioerror.c              \
463         giomodule.c             \
464         giomodule-priv.c        \
465         giomodule-priv.h        \
466         gioscheduler.c          \
467         giostream.c             \
468         gioprivate.h            \
469         giowin32-priv.h         \
470         gloadableicon.c         \
471         gmount.c                \
472         gmemoryinputstream.c    \
473         gmemoryoutputstream.c   \
474         gmountoperation.c       \
475         gnativevolumemonitor.c  \
476         gnativevolumemonitor.h  \
477         gnativesocketaddress.c  \
478         gnativesocketaddress.h  \
479         gnetworkaddress.c       \
480         gnetworking.c           \
481         gnetworkingprivate.h    \
482         gnetworkmonitor.c       \
483         gnetworkmonitorbase.c   \
484         gnetworkmonitorbase.h   \
485         gnetworkservice.c       \
486         goutputstream.c         \
487         gpermission.c           \
488         gpollableinputstream.c  \
489         gpollableoutputstream.c \
490         gpollableutils.c        \
491         gpollfilemonitor.c      \
492         gpollfilemonitor.h      \
493         gproxy.c                \
494         gproxyaddress.c         \
495         gproxyaddressenumerator.c \
496         gproxyresolver.c        \
497         gresolver.c             \
498         gresource.c             \
499         gresourcefile.c         \
500         gresourcefile.h         \
501         gseekable.c             \
502         gsimpleasyncresult.c    \
503         gsimpleiostream.c       \
504         gsimplepermission.c     \
505         gsocket.c               \
506         gsocketaddress.c        \
507         gsocketaddressenumerator.c \
508         gsocketclient.c         \
509         gsocketconnectable.c    \
510         gsocketconnection.c     \
511         gsocketcontrolmessage.c \
512         gsocketinputstream.c    \
513         gsocketinputstream.h    \
514         gsocketlistener.c       \
515         gsocketoutputstream.c   \
516         gsocketoutputstream.h   \
517         gsubprocesslauncher.c   \
518         gsubprocess.c           \
519         gsubprocesslauncher-private.h   \
520         gsocketservice.c        \
521         gsrvtarget.c            \
522         gsimpleproxyresolver.c  \
523         gtask.c                 \
524         gtcpconnection.c        \
525         gtcpwrapperconnection.c \
526         gthreadedsocketservice.c\
527         gthemedicon.c           \
528         gthreadedresolver.c     \
529         gthreadedresolver.h     \
530         gtlsbackend.c           \
531         gtlscertificate.c       \
532         gtlsclientconnection.c  \
533         gtlsconnection.c        \
534         gtlsdatabase.c          \
535         gtlsfiledatabase.c      \
536         gtlsinteraction.c       \
537         gtlspassword.c          \
538         gtlsserverconnection.c  \
539         gdtlsconnection.c       \
540         gdtlsclientconnection.c \
541         gdtlsserverconnection.c \
542         gunionvolumemonitor.c   \
543         gunionvolumemonitor.h   \
544         gvfs.c                  \
545         gvolume.c               \
546         gvolumemonitor.c        \
547         gzlibcompressor.c       \
548         gzlibdecompressor.c     \
549         gmountprivate.h         \
550         gioenumtypes.h          \
551         gioenumtypes.c          \
552         glistmodel.c            \
553         gliststore.c            \
554         $(application_sources)  \
555         $(gdbus_sources)        \
556         $(local_sources)        \
557         $(NULL)
559 libgio_2_0_la_SOURCES =         \
560         $(gio_base_sources)     \
561         $(appinfo_sources)      \
562         $(contenttype_sources) \
563         $(unix_sources)         \
564         $(win32_sources)        \
565         $(settings_sources)     \
566         $(NULL)
568 EXTRA_DIST += strinfo.c
570 libgio_2_0_la_LIBADD = \
571         $(top_builddir)/gobject/libgobject-2.0.la       \
572         $(top_builddir)/gmodule/libgmodule-2.0.la       \
573         $(top_builddir)/glib/libglib-2.0.la             \
574         $(platform_libadd)                              \
575         $(ZLIB_LIBS)                                    \
576         $(SELINUX_LIBS)                                 \
577         $(GLIB_LIBS)                                    \
578         $(XATTR_LIBS)                                   \
579         $(NETWORK_LIBS)                                 \
580         $(NULL)
582 libgio_2_0_la_CPPFLAGS = $(ZLIB_CFLAGS) $(AM_CPPFLAGS)
584 if PLATFORM_WIN32
585 no_undefined = -no-undefined
586 endif
588 if OS_WIN32_AND_DLL_COMPILATION
589 gio_win32_res = gio-win32-res.o
590 gio_win32_res_ldflag = -Wl,$(gio_win32_res)
591 endif
593 install-data-local: install-ms-lib
594         $(mkinstalldirs) $(DESTDIR)$(GIO_MODULE_DIR)
596 uninstall-local: uninstall-ms-lib
598 libgio_2_0_la_CFLAGS = $(AM_CFLAGS) $(GLIB_HIDDEN_VISIBILITY_CFLAGS)
599 libgio_2_0_la_LDFLAGS = $(GLIB_LINK_FLAGS) \
600         $(gio_win32_res_ldflag) \
601         -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \
602         -export-dynamic $(no_undefined)
604 if OS_COCOA
605 # Let's avoid polluting the CFLAGS of libgio with -xobjective-c
606 # We cannot simply rename the ObjC files to .m because it plays
607 # tricks with Automake. For further reference, see:
608 # https://bugzilla.gnome.org/show_bug.cgi?id=672777
609 libgio_objc_2_0_la_CFLAGS = $(libgio_2_0_la_CFLAGS) -xobjective-c
610 libgio_objc_2_0_la_CPPFLAGS = $(libgio_2_0_la_CPPFLAGS)
611 libgio_objc_2_0_la_LDFLAGS = $(libgio_2_0_la_LDFLAGS) -Wl,-framework,Foundation -Wl,-framework,AppKit
612 libgio_objc_2_0_la_SOURCES = \
613         gnextstepsettingsbackend.c \
614         gosxcontenttype.c \
615         gosxappinfo.c \
616         gosxappinfo.h
617 if MAC_OS_X_9
618 libgio_objc_2_0_la_SOURCES += \
619         gcocoanotificationbackend.c
620 endif
622 noinst_LTLIBRARIES += libgio-objc-2.0.la
623 libgio_2_0_la_LIBADD += libgio-objc-2.0.la
624 endif
626 if HAVE_LIBMOUNT
627 libgio_2_0_la_CFLAGS += $(LIBMOUNT_CFLAGS)
628 libgio_2_0_la_LIBADD += $(LIBMOUNT_LIBS)
629 endif
631 EXTRA_libgio_2_0_la_DEPENDENCIES = $(gio_win32_res) $(gio_def) $(platform_deps)
633 gio-win32-res.o: gio.rc
634         $(WINDRES) gio.rc $@
636 gio_headers =                   \
637         gappinfo.h              \
638         gasyncinitable.h        \
639         gasyncresult.h          \
640         gbufferedinputstream.h  \
641         gbufferedoutputstream.h \
642         gbytesicon.h            \
643         gcancellable.h          \
644         gcontenttype.h          \
645         gcharsetconverter.h     \
646         gconverter.h            \
647         gconverterinputstream.h \
648         gconverteroutputstream.h        \
649         gdatagrambased.h        \
650         gdatainputstream.h      \
651         gdataoutputstream.h     \
652         gdrive.h                \
653         gemblem.h               \
654         gemblemedicon.h         \
655         gfile.h                 \
656         gfileattribute.h        \
657         gfileenumerator.h       \
658         gfileicon.h             \
659         gfileinfo.h             \
660         gfileinputstream.h      \
661         gfilemonitor.h          \
662         gfilenamecompleter.h    \
663         gfileoutputstream.h     \
664         gfileiostream.h         \
665         gfilterinputstream.h    \
666         gfilteroutputstream.h   \
667         gicon.h                 \
668         ginetaddress.h          \
669         ginetaddressmask.h      \
670         ginetsocketaddress.h    \
671         ginputstream.h          \
672         ginitable.h             \
673         gio.h                   \
674         gio-autocleanups.h      \
675         giotypes.h              \
676         gioenums.h              \
677         gioerror.h              \
678         giomodule.h             \
679         gioscheduler.h          \
680         giostream.h             \
681         gloadableicon.h         \
682         gmount.h                \
683         gmemoryinputstream.h    \
684         gmemoryoutputstream.h   \
685         gmountoperation.h       \
686         gnativevolumemonitor.h  \
687         gnetworkaddress.h       \
688         gnetworkmonitor.h       \
689         gnetworkservice.h       \
690         goutputstream.h         \
691         gpermission.h           \
692         gpollableinputstream.h  \
693         gpollableoutputstream.h \
694         gpollableutils.h        \
695         gproxyaddress.h         \
696         gproxy.h                \
697         gproxyaddressenumerator.h \
698         gproxyresolver.h        \
699         gresolver.h             \
700         gresource.h             \
701         gseekable.h             \
702         gsimpleasyncresult.h    \
703         gsimpleiostream.h       \
704         gsimplepermission.h     \
705         gsocket.h               \
706         gsocketaddress.h        \
707         gsocketaddressenumerator.h \
708         gsocketclient.h         \
709         gsocketconnectable.h    \
710         gsocketconnection.h     \
711         gsocketcontrolmessage.h \
712         gsocketlistener.h       \
713         gsocketservice.h        \
714         gsrvtarget.h            \
715         gsimpleproxyresolver.h  \
716         gtask.h                 \
717         gsubprocess.h           \
718         gsubprocesslauncher.h   \
719         gtcpconnection.h        \
720         gtcpwrapperconnection.h \
721         gthreadedsocketservice.h\
722         gthemedicon.h           \
723         gtlsbackend.h           \
724         gtlscertificate.h       \
725         gtlsclientconnection.h  \
726         gtlsconnection.h        \
727         gtlsdatabase.h          \
728         gtlsfiledatabase.h      \
729         gtlsinteraction.h       \
730         gtlspassword.h          \
731         gtlsserverconnection.h  \
732         gdtlsconnection.h       \
733         gdtlsclientconnection.h \
734         gdtlsserverconnection.h \
735         gvfs.h                  \
736         gvolume.h               \
737         gvolumemonitor.h        \
738         gzlibcompressor.h       \
739         gzlibdecompressor.h     \
740         glistmodel.h            \
741         gliststore.h            \
742         $(application_headers)  \
743         $(settings_headers)     \
744         $(gdbus_headers)        \
745         $(NULL)
747 gioincludedir=$(includedir)/glib-2.0/gio/
748 gioinclude_HEADERS =            \
749         $(gio_headers)          \
750         gioenumtypes.h
752 nodist_gioinclude_HEADERS =     \
753         gnetworking.h           \
754         $(NULL)
756 # these sources (also mentioned above) are generated.
757 BUILT_SOURCES +=                \
758         gconstructor_as_data.h  \
759         gioenumtypes.h          \
760         gioenumtypes.c          \
761         gdbus-daemon-generated.c \
762         gdbus-daemon-generated.h \
763         gnetworking.h           \
764         $(NULL)
766 EXTRA_DIST +=                   \
767         data-to-c.py            \
768         gioenumtypes.h.template \
769         gioenumtypes.c.template \
770         gio.rc.in               \
771         gschema.dtd             \
772         gconstructor_as_data.h  \
773         gnetworking.h.win32     \
774         $(NULL)
776 BUILT_EXTRA_DIST +=             \
777         gio.rc
779 # This is read by gobject-introspection/misc/ and gtk-doc
780 gio-public-headers.txt: Makefile
781         $(AM_V_GEN) echo $(gioinclude_HEADERS) $(giowin32include_HEADERS) $(giounixinclude_HEADERS) > $@.tmp && mv $@.tmp $@
783 CLEANFILES += gdbus-daemon-generated.c gdbus-daemon-generated.h gio-public-headers.txt gconstructor_as_data.h
786 DISTCLEANFILES +=               \
787         gioenumtypes.h          \
788         gioenumtypes.c
790 all-local: gio-public-headers.txt
792 gioenumtypes.h: $(gio_headers) gioenumtypes.h.template
793         $(AM_V_GEN) $(top_builddir)/gobject/glib-mkenums --template $(filter %.template,$^) $(filter-out %.template,$^) > \
794             gioenumtypes.h.tmp && mv gioenumtypes.h.tmp gioenumtypes.h
796 gioenumtypes.c: $(gio_headers) gioenumtypes.c.template
797         $(AM_V_GEN) $(top_builddir)/gobject/glib-mkenums --template $(filter %.template,$^) $(filter-out %.template,$^) > \
798             gioenumtypes.c.tmp && mv gioenumtypes.c.tmp gioenumtypes.c
800 gio.def: libgio-2.0.la
801         $(AM_V_GEN) dumpbin.exe -exports .libs/libgio-2.0-0.dll | awk 'BEGIN { print "EXPORTS" } / +[[:digit:]]+ +[[:xdigit:]]+ +[[:xdigit:]]+/{ print $$4 }' > gio.def.tmp && mv gio.def.tmp gio.def
803 gio-2.0.lib: libgio-2.0.la gio.def
804         $(AM_V_GEN) lib.exe -machine:@LIB_EXE_MACHINE_FLAG@ -name:libgio-2.0-$(LT_CURRENT_MINUS_AGE).dll -def:$(builddir)/gio.def -out:$@
806 bin_PROGRAMS = gio-querymodules glib-compile-schemas glib-compile-resources gsettings
808 glib_compile_resources_LDADD = libgio-2.0.la            \
809         $(top_builddir)/gobject/libgobject-2.0.la       \
810         $(top_builddir)/gmodule/libgmodule-2.0.la       \
811         $(top_builddir)/glib/libglib-2.0.la             \
812         $(NULL)
814 glib_compile_resources_SOURCES = \
815         gvdb/gvdb-format.h              \
816         gvdb/gvdb-builder.h             \
817         gvdb/gvdb-builder.c             \
818         glib-compile-resources.c
820 gio_querymodules_SOURCES = gio-querymodules.c giomodule-priv.c
821 gio_querymodules_LDADD   = libgio-2.0.la                \
822         $(top_builddir)/gobject/libgobject-2.0.la       \
823         $(top_builddir)/gmodule/libgmodule-2.0.la       \
824         $(top_builddir)/glib/libglib-2.0.la             \
825         $(NULL)
827 gconstructor_as_data.h: $(top_srcdir)/glib/gconstructor.h data-to-c.py
828         $(AM_V_GEN) $(srcdir)/data-to-c.py $(top_srcdir)/glib/gconstructor.h gconstructor_code $@
830 glib_compile_schemas_LDADD = $(top_builddir)/glib/libglib-2.0.la
831 glib_compile_schemas_SOURCES = \
832         gconstructor_as_data.h \
833         gvdb/gvdb-format.h              \
834         gvdb/gvdb-builder.h             \
835         gvdb/gvdb-builder.c             \
836         glib-compile-schemas.c
838 gsettings_LDADD = libgio-2.0.la                         \
839         $(top_builddir)/gobject/libgobject-2.0.la       \
840         $(top_builddir)/gmodule/libgmodule-2.0.la       \
841         $(top_builddir)/glib/libglib-2.0.la             \
842         $(NULL)
843 gsettings_SOURCES = gsettings-tool.c
845 schemadir = $(datadir)/glib-2.0/schemas
846 dist_schema_DATA = gschema.dtd
848 itsdir = $(datadir)/gettext/its
849 dist_its_DATA = gschema.loc gschema.its
851 # ------------------------------------------------------------------------
852 # SystemTap and dtrace
854 if ENABLE_DTRACE
855 gio_probes.h: gio_probes.d
856         $(AM_V_GEN) $(DTRACE) -C -h -s $< -o $@.tmp
857         @$(SED) \
858                 -e "s,define STAP_HAS_SEMAPHORES 1,undef STAP_HAS_SEMAPHORES," \
859                 -e "s,define _SDT_HAS_SEMAPHORES 1,undef _SDT_HAS_SEMAPHORES," \
860                 < $@.tmp > $@ && rm -f $@.tmp
862 gio_probes.lo: gio_probes.d
863         $(AM_V_GEN) $(LIBTOOL) --mode=compile $(AM_V_lt) --tag=CC $(DTRACE) -G -s $< -o $@
865 BUILT_SOURCES += gio_probes.h gio_probes.lo
866 CLEANFILES += gio_probes.h gio_probes.h.tmp
867 libgio_2_0_la_LIBADD += gio_probes.lo
868 endif
870 tapsetdir   = @ABS_TAPSET_DIR@
871 EXTRA_DIST += gio.stp.in
873 if ENABLE_SYSTEMTAP
874 tapset_DATA = libgio-2.0.so.0.@LT_CURRENT@.@LT_REVISION@.stp
875 CLEANFILES += $(tapset_DATA)
877 $(tapset_DATA): gio.stp.in Makefile
878         $(AM_V_GEN)$(SED) \
879                 -e 's|[@]ABS_GLIB_RUNTIME_LIBDIR[@]|$(ABS_GLIB_RUNTIME_LIBDIR)|g' \
880                 -e 's|[@]LT_CURRENT[@]|$(LT_CURRENT)|g' \
881                 -e 's|[@]LT_REVISION[@]|$(LT_REVISION)|g' \
882                 $< > $@
883 endif
885 # ------------------------------------------------------------------------
886 # gdbus(1) tool
888 bin_PROGRAMS += gdbus
889 gdbus_SOURCES = gdbus-tool.c
890 gdbus_LDADD = libgio-2.0.la                             \
891         $(top_builddir)/gobject/libgobject-2.0.la       \
892         $(top_builddir)/gmodule/libgmodule-2.0.la       \
893         $(top_builddir)/glib/libglib-2.0.la             \
894         $(NULL)
896 if OS_UNIX
897 if !OS_COCOA
898 # ------------------------------------------------------------------------
899 # gapplication(1) tool
900 bin_PROGRAMS += gapplication
901 gapplication_SOURCES = gapplication-tool.c
902 gapplication_LDADD = libgio-2.0.la                      \
903         $(top_builddir)/gobject/libgobject-2.0.la       \
904         $(top_builddir)/gmodule/libgmodule-2.0.la       \
905         $(top_builddir)/glib/libglib-2.0.la             \
906         $(NULL)
907 endif
908 endif
910 completiondir = $(datadir)/bash-completion/completions
911 completion_DATA = \
912         completion/gapplication                         \
913         completion/gdbus                                \
914         completion/gsettings                            \
915         completion/gresource
916 EXTRA_DIST += $(completion_DATA)
918 # ------------------------------------------------------------------------
919 # gresource tool
921 bin_PROGRAMS += gresource
922 gresource_SOURCES = gresource-tool.c
923 gresource_CPPFLAGS = $(LIBELF_CFLAGS) $(AM_CPPFLAGS)
924 gresource_LDADD = libgio-2.0.la                         \
925         $(top_builddir)/gobject/libgobject-2.0.la       \
926         $(top_builddir)/gmodule/libgmodule-2.0.la       \
927         $(top_builddir)/glib/libglib-2.0.la             \
928         $(LIBELF_LIBS)
930 # ------------------------------------------------------------------------
931 # gio tool
933 bin_PROGRAMS += gio
934 gio_SOURCES = \
935         gio-tool.c                                      \
936         gio-tool.h                                      \
937         gio-tool-cat.c                                  \
938         gio-tool-copy.c                                 \
939         gio-tool-info.c                                 \
940         gio-tool-list.c                                 \
941         gio-tool-mime.c                                 \
942         gio-tool-mkdir.c                                \
943         gio-tool-monitor.c                              \
944         gio-tool-mount.c                                \
945         gio-tool-move.c                                 \
946         gio-tool-open.c                                 \
947         gio-tool-rename.c                               \
948         gio-tool-remove.c                               \
949         gio-tool-save.c                                 \
950         gio-tool-set.c                                  \
951         gio-tool-trash.c                                \
952         gio-tool-tree.c                                 \
953         $(NULL)
954 gio_LDADD = libgio-2.0.la                               \
955         $(top_builddir)/gobject/libgobject-2.0.la       \
956         $(top_builddir)/glib/libglib-2.0.la             \
957         $(NULL)
959 # ------------------------------------------------------------------------
960 # ------ MSVC Project File Generation ------
961 # ------------------------------------------------------------------------
963 MSVCPROJS = gio glib-compile-resources glib-compile-schemas gio-tool
965 gio_FILES =     \
966         $(gio_base_sources)                     \
967         $(win32_actual_sources)                 \
968         $(win32_more_sources_for_vcproj)        \
969         $(settings_base_sources)                \
970         $(win32_settings_sources)
972 gio_EXCLUDES = dummy
974 gio_HEADERS_DIR = $(includedir)/glib-2.0/gio
975 gio_HEADERS_INST = $(gioinclude_HEADERS) $(nodist_gioinclude_HEADERS)
976 gio_HEADERS_EXCLUDES = dummy
978 glib_compile_resources_FILES = $(glib_compile_resources_SOURCES)
979 glib_compile_resources_EXCLUDES = dummy
981 glib_compile_schemas_FILES = $(glib_compile_schemas_SOURCES)
982 glib_compile_schemas_EXCLUDES = dummy
984 gio_tool_FILES = $(gio_SOURCES)
985 gio_tool_EXCLUDES = dummy
987 include $(top_srcdir)/win32/Makefile.msvcproj
989 dist-hook: \
990         $(BUILT_EXTRA_DIST)                                             \
991         $(top_builddir)/win32/vs9/gio.vcproj                    \
992         $(top_builddir)/win32/vs9/gio.headers                   \
993         $(top_builddir)/win32/vs9/glib-compile-schemas.vcproj   \
994         $(top_builddir)/win32/vs9/glib-compile-resources.vcproj \
995         $(top_builddir)/win32/vs9/gio-tool.vcproj
996         files='$(BUILT_EXTRA_DIST)'; \
997         for f in $$files; do \
998           if test -f $$f; then d=.; else d=$(srcdir); fi; \
999           cp $$d/$$f $(distdir) || exit 1; done
1001 if HAVE_GLIB_RUNTIME_LIBDIR
1002 ABS_GLIB_RUNTIME_LIBDIR = $(realpath $(libdir)/$(GLIB_RUNTIME_LIBDIR))
1003 else
1004 ABS_GLIB_RUNTIME_LIBDIR = $(libdir)
1005 endif
1007 if HAVE_GLIB_RUNTIME_LIBDIR
1008 install-data-hook:
1009         mkdir -p $(DESTDIR)$(libdir)/$(GLIB_RUNTIME_LIBDIR)
1010         mv $(DESTDIR)$(libdir)/libgio-2.0.so.0 $(DESTDIR)$(libdir)/$(GLIB_RUNTIME_LIBDIR)
1011         mv $(DESTDIR)$(libdir)/libgio-2.0.so.0.$(LT_CURRENT).$(LT_REVISION) $(DESTDIR)$(libdir)/$(GLIB_RUNTIME_LIBDIR)
1012         rm -f $(DESTDIR)$(libdir)/libgio-2.0.so
1013         ln -s $(GLIB_RUNTIME_LIBDIR)/libgio-2.0.so.0.$(LT_CURRENT).$(LT_REVISION) $(DESTDIR)$(libdir)/libgio-2.0.so
1014 endif