glib/gio/Makefile.am

761 lines
18 KiB
Makefile
Raw Normal View History

include $(top_srcdir)/Makefile.decl
NULL =
SUBDIRS = gdbus-2.0/codegen
if OS_UNIX
SUBDIRS += xdgmime
endif
if OS_WIN32_AND_DLL_COMPILATION
if MS_LIB_AVAILABLE
noinst_DATA = gio-2.0.lib
install_ms_lib_cmd = $(INSTALL) gio-2.0.lib $(DESTDIR)$(libdir)
uninstall_ms_lib_cmd = -rm $(DESTDIR)$(libdir)/gio-2.0.lib
endif
endif
install-ms-lib:
$(install_ms_lib_cmd)
uninstall-ms-lib:
$(uninstall_ms_lib_cmd)
gio.def: gio.symbols
$(AM_V_GEN) (echo EXPORTS; $(CPP) -P -DINCLUDE_VARIABLES -DINCLUDE_INTERNAL_SYMBOLS -DG_OS_WIN32 -DALL_FILES - <$(srcdir)/gio.symbols | sed -e '/^$$/d' -e 's/^/ /' -e 's/G_GNUC_[^ ]*//g' | sort) > $(builddir)/gio.def.tmp && \
mv $(builddir)/gio.def.tmp $(builddir)/gio.def
if OS_LINUX
if HAVE_GNUC_VISIBILITY
2010-07-08 01:53:22 +02:00
TESTS = abicheck.sh
endif
endif
AM_CPPFLAGS = \
-DG_LOG_DOMAIN=\"GLib-GIO\" \
$(gmodule_INCLUDES) \
$(GLIB_DEBUG_FLAGS) \
-DGIO_COMPILATION \
-DGIO_MODULE_DIR=\"$(GIO_MODULE_DIR)\"
lib_LTLIBRARIES = libgio-2.0.la
gdbus_headers = \
gdbusauthobserver.h \
gcredentials.h \
gdbusutils.h \
gdbuserror.h \
gdbusaddress.h \
gdbusconnection.h \
gdbusmessage.h \
gdbusnameowning.h \
gdbusnamewatching.h \
gdbusproxy.h \
gdbusintrospection.h \
gdbusmethodinvocation.h \
gdbusserver.h \
gdbusinterface.h \
gdbusinterfaceskeleton.h \
gdbusobject.h \
gdbusobjectskeleton.h \
gdbusobjectproxy.h \
gdbusobjectmanager.h \
gdbusobjectmanagerclient.h \
gdbusobjectmanagerserver.h \
$(NULL)
gdbus_sources = \
gdbusutils.h gdbusutils.c \
gdbusaddress.h gdbusaddress.c \
gdbusauthobserver.h gdbusauthobserver.c \
gdbusauth.h gdbusauth.c \
gdbusauthmechanism.h gdbusauthmechanism.c \
gdbusauthmechanismanon.h gdbusauthmechanismanon.c \
gdbusauthmechanismexternal.h gdbusauthmechanismexternal.c \
gdbusauthmechanismsha1.h gdbusauthmechanismsha1.c \
gdbuserror.h gdbuserror.c \
gdbusconnection.h gdbusconnection.c \
gdbusmessage.h gdbusmessage.c \
gdbusnameowning.h gdbusnameowning.c \
gdbusnamewatching.h gdbusnamewatching.c \
gdbusproxy.h gdbusproxy.c \
gdbusprivate.h gdbusprivate.c \
gdbusintrospection.h gdbusintrospection.c \
gdbusmethodinvocation.h gdbusmethodinvocation.c \
gdbusserver.h gdbusserver.c \
gdbusinterface.h gdbusinterface.c \
gdbusinterfaceskeleton.h gdbusinterfaceskeleton.c \
gdbusobject.h gdbusobject.c \
gdbusobjectskeleton.h gdbusobjectskeleton.c \
gdbusobjectproxy.h gdbusobjectproxy.c \
gdbusobjectmanager.h gdbusobjectmanager.c \
gdbusobjectmanagerclient.h gdbusobjectmanagerclient.c \
gdbusobjectmanagerserver.h gdbusobjectmanagerserver.c \
$(NULL)
2010-04-17 05:17:01 +02:00
settings_headers = \
gsettingsbackend.h \
gsettingsschema.h \
2010-04-17 05:17:01 +02:00
gsettings.h
2010-04-15 20:59:41 +02:00
settings_sources = \
2010-04-17 05:17:01 +02:00
gvdb/gvdb-format.h \
gvdb/gvdb-reader.h \
gvdb/gvdb-reader.c \
gdelayedsettingsbackend.h \
2010-04-17 05:17:01 +02:00
gdelayedsettingsbackend.c \
2010-04-17 05:57:26 +02:00
gkeyfilesettingsbackend.c \
2010-04-17 07:02:57 +02:00
gmemorysettingsbackend.c \
2010-04-16 00:22:14 +02:00
gnullsettingsbackend.c \
2010-04-17 05:17:01 +02:00
gsettingsbackendinternal.h \
2010-04-16 04:30:11 +02:00
gsettingsbackend.c \
gsettingsschema.h \
2011-11-17 05:24:46 +01:00
gsettingsschema-internal.h \
2010-04-17 05:17:01 +02:00
gsettingsschema.c \
gsettings-mapping.h \
gsettings-mapping.c \
gsettings.c
2010-04-15 20:59:41 +02:00
2010-08-12 17:10:23 +02:00
if OS_WIN32
settings_sources += \
gregistrysettingsbackend.h \
gregistrysettingsbackend.c
endif
2011-12-26 16:04:38 +01:00
if OS_CARBON
AM_CPPFLAGS += -DG_OS_CARBON
settings_sources += \
gnextstepsettingsbackend.c
endif
2010-08-18 06:30:44 +02:00
application_headers = \
gapplication.h \
gapplicationcommandline.h \
\
2010-08-18 06:30:44 +02:00
gactiongroup.h \
gactionmap.h \
gsimpleactiongroup.h \
gremoteactiongroup.h \
gactiongroupexporter.h \
gdbusactiongroup.h \
2010-08-18 07:45:15 +02:00
gaction.h \
gsimpleaction.h \
\
2011-11-27 04:46:51 +01:00
gmenumodel.h \
gmenu.h \
2011-11-27 03:02:15 +01:00
gmenuexporter.h \
gdbusmenumodel.h \
2011-11-27 04:46:51 +01:00
$(NULL)
2010-08-18 06:30:44 +02:00
application_sources = \
gapplication.c \
gapplicationcommandline.c \
gapplicationimpl-dbus.c \
gapplicationimpl.h \
\
2010-10-06 19:08:26 +02:00
gactiongroup.c \
gactionmap.c \
2010-10-06 19:08:26 +02:00
gsimpleactiongroup.c \
gremoteactiongroup.c \
gactiongroupexporter.c \
gdbusactiongroup.c \
2010-10-06 19:08:26 +02:00
gaction.c \
gsimpleaction.c \
\
2011-11-27 04:46:51 +01:00
gmenumodel.c \
gmenu.c \
2011-11-27 03:02:15 +01:00
gmenuexporter.c \
gdbusmenumodel.c \
2011-11-27 04:46:51 +01:00
$(NULL)
2010-08-18 06:30:44 +02:00
local_sources = \
glocaldirectorymonitor.c \
glocaldirectorymonitor.h \
glocalfile.c \
glocalfile.h \
glocalfileenumerator.c \
glocalfileenumerator.h \
glocalfileinfo.c \
glocalfileinfo.h \
glocalfileinputstream.c \
glocalfileinputstream.h \
glocalfilemonitor.c \
glocalfilemonitor.h \
glocalfileoutputstream.c \
glocalfileoutputstream.h \
glocalfileiostream.c \
glocalfileiostream.h \
glocalvfs.c \
glocalvfs.h \
2010-05-25 22:02:42 +02:00
gsocks4proxy.c \
gsocks4proxy.h \
gsocks4aproxy.c \
gsocks4aproxy.h \
2010-04-29 21:22:55 +02:00
gsocks5proxy.c \
gsocks5proxy.h \
$(NULL)
platform_libadd =
platform_deps =
appinfo_sources =
if HAVE_INOTIFY
SUBDIRS += inotify
platform_libadd += inotify/libinotify.la
platform_deps += inotify/libinotify.la
endif
if HAVE_FEN
AM_CPPFLAGS += -DHAVE_FEN
SUBDIRS += fen
platform_libadd += fen/libfen.la
platform_deps += fen/libfen.la
endif
if OS_WIN32
SUBDIRS += win32
platform_libadd += win32/libgiowin32.la
platform_deps += win32/libgiowin32.la
endif
SUBDIRS += .
if HAVE_FAM
SUBDIRS += fam
endif
if OS_UNIX
appinfo_sources += gdesktopappinfo.c
platform_libadd += xdgmime/libxdgmime.la $(RESOLVER_LIBADD)
platform_deps += xdgmime/libxdgmime.la
unix_sources = \
gfiledescriptorbased.c \
gunixconnection.c \
gunixcredentialsmessage.c \
gunixfdlist.c \
gunixfdmessage.c \
Rework how volumes, drives and volume monitoring is done. Previosly the 2007-12-11 David Zeuthen <davidz@redhat.com> Rework how volumes, drives and volume monitoring is done. Previosly the model was GDrive <1-1> GVolume where a GDrive instance represented a mount point and a GVolume instance represented a mounted file system. This patch changes it the model to GDrive <1-N> GVolume <1-1> GMount where GMount now serves the purpose of the old GVolume and the new GVolume serves the purpose of the old GDrive. In addition the new GDrive interface is used to represent a collection of GVolume instances (typically partitions) and also contains utility to query the state of the physical drive the GDrive object represents (such as checking for media, polling the drive, ejecting the media etc.). Also implement mounting and unmounting in the Unix volume monitor backend. A subquent patch will introduce GDrive support for ejection of media. * Makefile.am: * gdrive.c: (g_drive_is_media_check_automatic), (g_drive_is_media_removable), (g_drive_has_media), (g_drive_can_poll_for_media), (g_drive_eject), (g_drive_eject_finish), (g_drive_poll_for_media), (g_drive_poll_for_media_finish): * gdrive.h: * gfile.c: (g_file_find_enclosing_mount): * gfile.h: * gio.symbols: * glocaldirectorymonitor.c: (g_local_directory_monitor_constructor), (mounts_changed): * glocalfile.c: (get_mount_info), (g_local_file_find_enclosing_mount), (g_local_file_file_iface_init): * gnativevolumemonitor.h: * gunionvolumemonitor.c: (get_mounts), (get_volumes), (get_connected_drives), (g_union_volume_monitor_class_init), (child_volume_added), (child_volume_removed), (child_volume_changed), (child_mount_added), (child_mount_removed), (child_mount_pre_unmount), (child_mount_changed), (child_drive_changed), (g_union_volume_monitor_add_monitor), (g_union_volume_monitor_remove_monitor), (_g_mount_get_for_mount_path): * gunixmounts.c: (g_unix_is_mount_path_system_internal), (guess_system_internal), (_g_get_unix_mounts), (_g_get_unix_mount_points), (g_get_unix_mount_at), (g_unix_mount_free), (g_unix_mount_compare), (g_unix_mount_get_mount_path), (g_unix_mount_get_device_path), (g_unix_mount_get_fs_type), (g_unix_mount_is_readonly), (g_unix_mount_is_system_internal), (g_unix_mount_guess_type), (type_to_icon), (g_unix_mount_guess_name), (g_unix_mount_guess_icon), (g_unix_mount_point_guess_name), (g_unix_mount_point_guess_icon), (_canonicalize_filename), (_resolve_symlink), (_resolve_dev_root): * gunixmounts.h: * gunixvolume.c: (g_unix_volume_finalize), (_g_unix_volume_new), (_g_unix_volume_disconnected), (_g_unix_volume_set_mount), (_g_unix_volume_unset_mount), (g_unix_volume_get_icon), (g_unix_volume_get_name), (g_unix_volume_can_mount), (g_unix_volume_get_drive), (g_unix_volume_get_mount), (_g_unix_volume_has_mount_path), (mount_cb), (mount_read_error), (g_unix_volume_mount), (g_unix_volume_mount_finish), (g_unix_volume_volume_iface_init): * gunixvolume.h: * gunixvolumemonitor.c: (g_unix_volume_monitor_finalize), (get_mounts), (get_volumes), (get_connected_drives), (get_mount_for_mount_path), (g_unix_volume_monitor_class_init), (mountpoints_changed), (mounts_changed), (g_unix_volume_monitor_init), (_g_unix_volume_monitor_lookup_volume_for_mount_path), (find_mount_by_mountpath), (update_volumes), (update_mounts): * gunixvolumemonitor.h: * gvolume.c: (g_volume_get_mount), (g_volume_can_mount), (g_volume_mount), (g_volume_mount_finish): * gvolume.h: * gvolumemonitor.c: (g_volume_monitor_class_init), (g_volume_monitor_get_connected_drives), (g_volume_monitor_get_volumes), (g_volume_monitor_get_mounts): * gvolumemonitor.h: svn path=/trunk/; revision=6095
2007-12-11 22:23:55 +01:00
gunixmount.c \
gunixmount.h \
gunixmounts.c \
gunixsocketaddress.c \
gunixvolume.c \
gunixvolume.h \
gunixvolumemonitor.c \
gunixvolumemonitor.h \
gunixinputstream.c \
gunixoutputstream.c \
$(NULL)
Rework how volumes, drives and volume monitoring is done. Previosly the 2007-12-11 David Zeuthen <davidz@redhat.com> Rework how volumes, drives and volume monitoring is done. Previosly the model was GDrive <1-1> GVolume where a GDrive instance represented a mount point and a GVolume instance represented a mounted file system. This patch changes it the model to GDrive <1-N> GVolume <1-1> GMount where GMount now serves the purpose of the old GVolume and the new GVolume serves the purpose of the old GDrive. In addition the new GDrive interface is used to represent a collection of GVolume instances (typically partitions) and also contains utility to query the state of the physical drive the GDrive object represents (such as checking for media, polling the drive, ejecting the media etc.). Also implement mounting and unmounting in the Unix volume monitor backend. A subquent patch will introduce GDrive support for ejection of media. * Makefile.am: * gdrive.c: (g_drive_is_media_check_automatic), (g_drive_is_media_removable), (g_drive_has_media), (g_drive_can_poll_for_media), (g_drive_eject), (g_drive_eject_finish), (g_drive_poll_for_media), (g_drive_poll_for_media_finish): * gdrive.h: * gfile.c: (g_file_find_enclosing_mount): * gfile.h: * gio.symbols: * glocaldirectorymonitor.c: (g_local_directory_monitor_constructor), (mounts_changed): * glocalfile.c: (get_mount_info), (g_local_file_find_enclosing_mount), (g_local_file_file_iface_init): * gnativevolumemonitor.h: * gunionvolumemonitor.c: (get_mounts), (get_volumes), (get_connected_drives), (g_union_volume_monitor_class_init), (child_volume_added), (child_volume_removed), (child_volume_changed), (child_mount_added), (child_mount_removed), (child_mount_pre_unmount), (child_mount_changed), (child_drive_changed), (g_union_volume_monitor_add_monitor), (g_union_volume_monitor_remove_monitor), (_g_mount_get_for_mount_path): * gunixmounts.c: (g_unix_is_mount_path_system_internal), (guess_system_internal), (_g_get_unix_mounts), (_g_get_unix_mount_points), (g_get_unix_mount_at), (g_unix_mount_free), (g_unix_mount_compare), (g_unix_mount_get_mount_path), (g_unix_mount_get_device_path), (g_unix_mount_get_fs_type), (g_unix_mount_is_readonly), (g_unix_mount_is_system_internal), (g_unix_mount_guess_type), (type_to_icon), (g_unix_mount_guess_name), (g_unix_mount_guess_icon), (g_unix_mount_point_guess_name), (g_unix_mount_point_guess_icon), (_canonicalize_filename), (_resolve_symlink), (_resolve_dev_root): * gunixmounts.h: * gunixvolume.c: (g_unix_volume_finalize), (_g_unix_volume_new), (_g_unix_volume_disconnected), (_g_unix_volume_set_mount), (_g_unix_volume_unset_mount), (g_unix_volume_get_icon), (g_unix_volume_get_name), (g_unix_volume_can_mount), (g_unix_volume_get_drive), (g_unix_volume_get_mount), (_g_unix_volume_has_mount_path), (mount_cb), (mount_read_error), (g_unix_volume_mount), (g_unix_volume_mount_finish), (g_unix_volume_volume_iface_init): * gunixvolume.h: * gunixvolumemonitor.c: (g_unix_volume_monitor_finalize), (get_mounts), (get_volumes), (get_connected_drives), (get_mount_for_mount_path), (g_unix_volume_monitor_class_init), (mountpoints_changed), (mounts_changed), (g_unix_volume_monitor_init), (_g_unix_volume_monitor_lookup_volume_for_mount_path), (find_mount_by_mountpath), (update_volumes), (update_mounts): * gunixvolumemonitor.h: * gvolume.c: (g_volume_get_mount), (g_volume_can_mount), (g_volume_mount), (g_volume_mount_finish): * gvolume.h: * gvolumemonitor.c: (g_volume_monitor_class_init), (g_volume_monitor_get_connected_drives), (g_volume_monitor_get_volumes), (g_volume_monitor_get_mounts): * gvolumemonitor.h: svn path=/trunk/; revision=6095
2007-12-11 22:23:55 +01:00
giounixincludedir=$(includedir)/gio-unix-2.0/gio
giounixinclude_HEADERS = \
gdesktopappinfo.h \
gfiledescriptorbased.h \
gunixconnection.h \
gunixcredentialsmessage.h \
gunixmounts.h \
gunixfdlist.h \
gunixfdmessage.h \
gunixinputstream.h \
gunixoutputstream.h \
gunixsocketaddress.h \
$(NULL)
if HAVE_NETLINK
unix_sources += \
gnetworkmonitornetlink.c \
gnetworkmonitornetlink.h \
$(NULL)
endif
endif
win32_actual_sources = \
gwin32mount.c \
gwin32mount.h \
gwin32volumemonitor.c \
gwin32volumemonitor.h \
gwin32inputstream.c \
gwin32outputstream.c \
gwin32outputstream.h \
$(NULL)
win32_more_sources_for_vcproj = \
gwin32appinfo.c \
gregistrysettingsbackend.c \
win32/gwin32directorymonitor.c \
win32/gwinhttpfile.c \
win32/gwinhttpfileinputstream.c \
win32/gwinhttpfileoutputstream.c \
win32/gwinhttpvfs.c
if OS_WIN32
appinfo_sources += gwin32appinfo.c gwin32appinfo.h
platform_libadd += -lshlwapi -lws2_32 -ldnsapi
win32_sources = $(win32_actual_sources)
giowin32includedir=$(includedir)/gio-win32-2.0/gio
giowin32include_HEADERS = \
gwin32inputstream.h \
gwin32outputstream.h \
$(NULL)
endif
SUBDIRS += tests
libgio_2_0_la_SOURCES = \
gappinfo.c \
gasynchelper.c \
gasynchelper.h \
gasyncinitable.c \
gasyncresult.c \
gbufferedinputstream.c \
gbufferedoutputstream.c \
gcancellable.c \
gcontenttype.c \
gcontenttypeprivate.h \
2009-10-21 21:25:36 +02:00
gcharsetconverter.c \
gconverter.c \
gconverterinputstream.c \
gconverteroutputstream.c \
gcredentials.c \
gdatainputstream.c \
gdataoutputstream.c \
gdrive.c \
gdummyfile.h \
gdummyfile.c \
gdummyproxyresolver.c \
gdummyproxyresolver.h \
gdummytlsbackend.c \
gdummytlsbackend.h \
gemblem.h \
gemblem.c \
gemblemedicon.h \
gemblemedicon.c \
gfile.c \
gfileattribute.c \
gfileattribute-priv.h \
gfileenumerator.c \
gfileicon.c \
gfileinfo.c \
gfileinfo-priv.h \
gfileinputstream.c \
gfilemonitor.c \
gfilenamecompleter.c \
gfileoutputstream.c \
gfileiostream.c \
gfilterinputstream.c \
gfilteroutputstream.c \
gicon.c \
ginetaddress.c \
ginetaddressmask.c \
ginetsocketaddress.c \
ginitable.c \
ginputstream.c \
gioenums.h \
gioerror.c \
giomodule.c \
giomodule-priv.h \
gioscheduler.c \
giostream.c \
gloadableicon.c \
Rework how volumes, drives and volume monitoring is done. Previosly the 2007-12-11 David Zeuthen <davidz@redhat.com> Rework how volumes, drives and volume monitoring is done. Previosly the model was GDrive <1-1> GVolume where a GDrive instance represented a mount point and a GVolume instance represented a mounted file system. This patch changes it the model to GDrive <1-N> GVolume <1-1> GMount where GMount now serves the purpose of the old GVolume and the new GVolume serves the purpose of the old GDrive. In addition the new GDrive interface is used to represent a collection of GVolume instances (typically partitions) and also contains utility to query the state of the physical drive the GDrive object represents (such as checking for media, polling the drive, ejecting the media etc.). Also implement mounting and unmounting in the Unix volume monitor backend. A subquent patch will introduce GDrive support for ejection of media. * Makefile.am: * gdrive.c: (g_drive_is_media_check_automatic), (g_drive_is_media_removable), (g_drive_has_media), (g_drive_can_poll_for_media), (g_drive_eject), (g_drive_eject_finish), (g_drive_poll_for_media), (g_drive_poll_for_media_finish): * gdrive.h: * gfile.c: (g_file_find_enclosing_mount): * gfile.h: * gio.symbols: * glocaldirectorymonitor.c: (g_local_directory_monitor_constructor), (mounts_changed): * glocalfile.c: (get_mount_info), (g_local_file_find_enclosing_mount), (g_local_file_file_iface_init): * gnativevolumemonitor.h: * gunionvolumemonitor.c: (get_mounts), (get_volumes), (get_connected_drives), (g_union_volume_monitor_class_init), (child_volume_added), (child_volume_removed), (child_volume_changed), (child_mount_added), (child_mount_removed), (child_mount_pre_unmount), (child_mount_changed), (child_drive_changed), (g_union_volume_monitor_add_monitor), (g_union_volume_monitor_remove_monitor), (_g_mount_get_for_mount_path): * gunixmounts.c: (g_unix_is_mount_path_system_internal), (guess_system_internal), (_g_get_unix_mounts), (_g_get_unix_mount_points), (g_get_unix_mount_at), (g_unix_mount_free), (g_unix_mount_compare), (g_unix_mount_get_mount_path), (g_unix_mount_get_device_path), (g_unix_mount_get_fs_type), (g_unix_mount_is_readonly), (g_unix_mount_is_system_internal), (g_unix_mount_guess_type), (type_to_icon), (g_unix_mount_guess_name), (g_unix_mount_guess_icon), (g_unix_mount_point_guess_name), (g_unix_mount_point_guess_icon), (_canonicalize_filename), (_resolve_symlink), (_resolve_dev_root): * gunixmounts.h: * gunixvolume.c: (g_unix_volume_finalize), (_g_unix_volume_new), (_g_unix_volume_disconnected), (_g_unix_volume_set_mount), (_g_unix_volume_unset_mount), (g_unix_volume_get_icon), (g_unix_volume_get_name), (g_unix_volume_can_mount), (g_unix_volume_get_drive), (g_unix_volume_get_mount), (_g_unix_volume_has_mount_path), (mount_cb), (mount_read_error), (g_unix_volume_mount), (g_unix_volume_mount_finish), (g_unix_volume_volume_iface_init): * gunixvolume.h: * gunixvolumemonitor.c: (g_unix_volume_monitor_finalize), (get_mounts), (get_volumes), (get_connected_drives), (get_mount_for_mount_path), (g_unix_volume_monitor_class_init), (mountpoints_changed), (mounts_changed), (g_unix_volume_monitor_init), (_g_unix_volume_monitor_lookup_volume_for_mount_path), (find_mount_by_mountpath), (update_volumes), (update_mounts): * gunixvolumemonitor.h: * gvolume.c: (g_volume_get_mount), (g_volume_can_mount), (g_volume_mount), (g_volume_mount_finish): * gvolume.h: * gvolumemonitor.c: (g_volume_monitor_class_init), (g_volume_monitor_get_connected_drives), (g_volume_monitor_get_volumes), (g_volume_monitor_get_mounts): * gvolumemonitor.h: svn path=/trunk/; revision=6095
2007-12-11 22:23:55 +01:00
gmount.c \
gmemoryinputstream.c \
gmemoryoutputstream.c \
gmountoperation.c \
gnativevolumemonitor.c \
gnativevolumemonitor.h \
gnetworkaddress.c \
gnetworkingprivate.h \
gnetworkmonitor.c \
gnetworkmonitorbase.c \
gnetworkmonitorbase.h \
gnetworkservice.c \
goutputstream.c \
gpermission.c \
gpollableinputstream.c \
gpollableoutputstream.c \
gpollfilemonitor.c \
gpollfilemonitor.h \
gproxyresolver.c \
gresolver.c \
gresource.c \
2011-12-21 23:37:56 +01:00
gresourcefile.c \
gresourcefile.h \
gseekable.c \
gsimpleasyncresult.c \
gsimplepermission.c \
gsocket.c \
gsocketaddress.c \
gsocketaddressenumerator.c \
gsocketclient.c \
gsocketconnectable.c \
gsocketconnection.c \
gsocketcontrolmessage.c \
gsocketinputstream.c \
gsocketinputstream.h \
gsocketlistener.c \
gsocketoutputstream.c \
gsocketoutputstream.h \
gproxy.c \
gproxyaddress.c \
gproxyaddressenumerator.c \
gsocketservice.c \
gsrvtarget.c \
gtcpconnection.c \
gtcpwrapperconnection.c \
gthreadedsocketservice.c\
gthemedicon.c \
gthreadedresolver.c \
gthreadedresolver.h \
gtlsbackend.c \
gtlscertificate.c \
gtlsclientconnection.c \
gtlsconnection.c \
gtlsdatabase.c \
gtlsfiledatabase.c \
gtlsinteraction.c \
gtlspassword.c \
gtlsserverconnection.c \
gunionvolumemonitor.c \
gunionvolumemonitor.h \
gvfs.c \
gvolume.c \
gvolumemonitor.c \
2009-11-20 12:04:31 +01:00
gzlibcompressor.c \
gzlibdecompressor.c \
Rework how volumes, drives and volume monitoring is done. Previosly the 2007-12-11 David Zeuthen <davidz@redhat.com> Rework how volumes, drives and volume monitoring is done. Previosly the model was GDrive <1-1> GVolume where a GDrive instance represented a mount point and a GVolume instance represented a mounted file system. This patch changes it the model to GDrive <1-N> GVolume <1-1> GMount where GMount now serves the purpose of the old GVolume and the new GVolume serves the purpose of the old GDrive. In addition the new GDrive interface is used to represent a collection of GVolume instances (typically partitions) and also contains utility to query the state of the physical drive the GDrive object represents (such as checking for media, polling the drive, ejecting the media etc.). Also implement mounting and unmounting in the Unix volume monitor backend. A subquent patch will introduce GDrive support for ejection of media. * Makefile.am: * gdrive.c: (g_drive_is_media_check_automatic), (g_drive_is_media_removable), (g_drive_has_media), (g_drive_can_poll_for_media), (g_drive_eject), (g_drive_eject_finish), (g_drive_poll_for_media), (g_drive_poll_for_media_finish): * gdrive.h: * gfile.c: (g_file_find_enclosing_mount): * gfile.h: * gio.symbols: * glocaldirectorymonitor.c: (g_local_directory_monitor_constructor), (mounts_changed): * glocalfile.c: (get_mount_info), (g_local_file_find_enclosing_mount), (g_local_file_file_iface_init): * gnativevolumemonitor.h: * gunionvolumemonitor.c: (get_mounts), (get_volumes), (get_connected_drives), (g_union_volume_monitor_class_init), (child_volume_added), (child_volume_removed), (child_volume_changed), (child_mount_added), (child_mount_removed), (child_mount_pre_unmount), (child_mount_changed), (child_drive_changed), (g_union_volume_monitor_add_monitor), (g_union_volume_monitor_remove_monitor), (_g_mount_get_for_mount_path): * gunixmounts.c: (g_unix_is_mount_path_system_internal), (guess_system_internal), (_g_get_unix_mounts), (_g_get_unix_mount_points), (g_get_unix_mount_at), (g_unix_mount_free), (g_unix_mount_compare), (g_unix_mount_get_mount_path), (g_unix_mount_get_device_path), (g_unix_mount_get_fs_type), (g_unix_mount_is_readonly), (g_unix_mount_is_system_internal), (g_unix_mount_guess_type), (type_to_icon), (g_unix_mount_guess_name), (g_unix_mount_guess_icon), (g_unix_mount_point_guess_name), (g_unix_mount_point_guess_icon), (_canonicalize_filename), (_resolve_symlink), (_resolve_dev_root): * gunixmounts.h: * gunixvolume.c: (g_unix_volume_finalize), (_g_unix_volume_new), (_g_unix_volume_disconnected), (_g_unix_volume_set_mount), (_g_unix_volume_unset_mount), (g_unix_volume_get_icon), (g_unix_volume_get_name), (g_unix_volume_can_mount), (g_unix_volume_get_drive), (g_unix_volume_get_mount), (_g_unix_volume_has_mount_path), (mount_cb), (mount_read_error), (g_unix_volume_mount), (g_unix_volume_mount_finish), (g_unix_volume_volume_iface_init): * gunixvolume.h: * gunixvolumemonitor.c: (g_unix_volume_monitor_finalize), (get_mounts), (get_volumes), (get_connected_drives), (get_mount_for_mount_path), (g_unix_volume_monitor_class_init), (mountpoints_changed), (mounts_changed), (g_unix_volume_monitor_init), (_g_unix_volume_monitor_lookup_volume_for_mount_path), (find_mount_by_mountpath), (update_volumes), (update_mounts): * gunixvolumemonitor.h: * gvolume.c: (g_volume_get_mount), (g_volume_can_mount), (g_volume_mount), (g_volume_mount_finish): * gvolume.h: * gvolumemonitor.c: (g_volume_monitor_class_init), (g_volume_monitor_get_connected_drives), (g_volume_monitor_get_volumes), (g_volume_monitor_get_mounts): * gvolumemonitor.h: svn path=/trunk/; revision=6095
2007-12-11 22:23:55 +01:00
gmountprivate.h \
gioenumtypes.h \
gioenumtypes.c \
$(appinfo_sources) \
$(unix_sources) \
$(win32_sources) \
2010-08-18 06:30:44 +02:00
$(application_sources) \
2010-04-15 20:59:41 +02:00
$(settings_sources) \
$(gdbus_sources) \
$(local_sources) \
$(NULL)
EXTRA_DIST += strinfo.c
libgio_2_0_la_LIBADD = \
$(top_builddir)/glib/libglib-2.0.la \
$(top_builddir)/gobject/libgobject-2.0.la \
$(top_builddir)/gmodule/libgmodule-2.0.la \
$(platform_libadd) \
$(ZLIB_LIBS) \
$(SELINUX_LIBS) \
$(GLIB_LIBS) \
$(XATTR_LIBS) \
$(NETWORK_LIBS) \
$(NULL)
libgio_2_0_la_CPPFLAGS = $(ZLIB_CFLAGS) $(AM_CPPFLAGS)
2011-12-26 16:04:38 +01:00
if OS_CARBON
libgio_2_0_la_CFLAGS = -xobjective-c
endif
if PLATFORM_WIN32
no_undefined = -no-undefined
endif
if OS_WIN32_AND_DLL_COMPILATION
export_symbols = -export-symbols $(builddir)/gio.def
gio_def = gio.def
gio_win32_res = gio-win32-res.o
gio_win32_res_ldflag = -Wl,$(gio_win32_res)
install-def-file:
$(INSTALL) $(builddir)/gio.def $(DESTDIR)$(libdir)/gio-2.0.def
uninstall-def-file:
-rm $(DESTDIR)$(libdir)/gio-2.0.def
else
install-def-file:
uninstall-def-file:
export_symbols = $(LIBTOOL_EXPORT_OPTIONS)
endif
install-data-local: install-ms-lib install-def-file
$(mkinstalldirs) $(DESTDIR)$(GIO_MODULE_DIR)
uninstall-local: uninstall-ms-lib uninstall-def-file
libgio_2_0_la_LDFLAGS = $(GLIB_LINK_FLAGS) \
$(gio_win32_res_ldflag) \
-version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \
-export-dynamic $(no_undefined) $(export_symbols)
libgio_2_0_la_DEPENDENCIES = $(gio_win32_res) $(gio_def) $(platform_deps)
gio-win32-res.o: gio.rc
$(WINDRES) gio.rc $@
gio_headers = \
gappinfo.h \
gasyncinitable.h \
gasyncresult.h \
gbufferedinputstream.h \
gbufferedoutputstream.h \
gcancellable.h \
gcontenttype.h \
2009-10-21 21:25:36 +02:00
gcharsetconverter.h \
gconverter.h \
gconverterinputstream.h \
gconverteroutputstream.h \
gdatainputstream.h \
gdataoutputstream.h \
gdrive.h \
gemblem.h \
gemblemedicon.h \
gfile.h \
gfileattribute.h \
gfileenumerator.h \
gfileicon.h \
gfileinfo.h \
gfileinputstream.h \
gfilemonitor.h \
gfilenamecompleter.h \
gfileoutputstream.h \
gfileiostream.h \
gfilterinputstream.h \
gfilteroutputstream.h \
gicon.h \
ginetaddress.h \
ginetaddressmask.h \
ginetsocketaddress.h \
ginputstream.h \
ginitable.h \
gio.h \
giotypes.h \
gioenums.h \
gioerror.h \
giomodule.h \
gioscheduler.h \
giostream.h \
gloadableicon.h \
Rework how volumes, drives and volume monitoring is done. Previosly the 2007-12-11 David Zeuthen <davidz@redhat.com> Rework how volumes, drives and volume monitoring is done. Previosly the model was GDrive <1-1> GVolume where a GDrive instance represented a mount point and a GVolume instance represented a mounted file system. This patch changes it the model to GDrive <1-N> GVolume <1-1> GMount where GMount now serves the purpose of the old GVolume and the new GVolume serves the purpose of the old GDrive. In addition the new GDrive interface is used to represent a collection of GVolume instances (typically partitions) and also contains utility to query the state of the physical drive the GDrive object represents (such as checking for media, polling the drive, ejecting the media etc.). Also implement mounting and unmounting in the Unix volume monitor backend. A subquent patch will introduce GDrive support for ejection of media. * Makefile.am: * gdrive.c: (g_drive_is_media_check_automatic), (g_drive_is_media_removable), (g_drive_has_media), (g_drive_can_poll_for_media), (g_drive_eject), (g_drive_eject_finish), (g_drive_poll_for_media), (g_drive_poll_for_media_finish): * gdrive.h: * gfile.c: (g_file_find_enclosing_mount): * gfile.h: * gio.symbols: * glocaldirectorymonitor.c: (g_local_directory_monitor_constructor), (mounts_changed): * glocalfile.c: (get_mount_info), (g_local_file_find_enclosing_mount), (g_local_file_file_iface_init): * gnativevolumemonitor.h: * gunionvolumemonitor.c: (get_mounts), (get_volumes), (get_connected_drives), (g_union_volume_monitor_class_init), (child_volume_added), (child_volume_removed), (child_volume_changed), (child_mount_added), (child_mount_removed), (child_mount_pre_unmount), (child_mount_changed), (child_drive_changed), (g_union_volume_monitor_add_monitor), (g_union_volume_monitor_remove_monitor), (_g_mount_get_for_mount_path): * gunixmounts.c: (g_unix_is_mount_path_system_internal), (guess_system_internal), (_g_get_unix_mounts), (_g_get_unix_mount_points), (g_get_unix_mount_at), (g_unix_mount_free), (g_unix_mount_compare), (g_unix_mount_get_mount_path), (g_unix_mount_get_device_path), (g_unix_mount_get_fs_type), (g_unix_mount_is_readonly), (g_unix_mount_is_system_internal), (g_unix_mount_guess_type), (type_to_icon), (g_unix_mount_guess_name), (g_unix_mount_guess_icon), (g_unix_mount_point_guess_name), (g_unix_mount_point_guess_icon), (_canonicalize_filename), (_resolve_symlink), (_resolve_dev_root): * gunixmounts.h: * gunixvolume.c: (g_unix_volume_finalize), (_g_unix_volume_new), (_g_unix_volume_disconnected), (_g_unix_volume_set_mount), (_g_unix_volume_unset_mount), (g_unix_volume_get_icon), (g_unix_volume_get_name), (g_unix_volume_can_mount), (g_unix_volume_get_drive), (g_unix_volume_get_mount), (_g_unix_volume_has_mount_path), (mount_cb), (mount_read_error), (g_unix_volume_mount), (g_unix_volume_mount_finish), (g_unix_volume_volume_iface_init): * gunixvolume.h: * gunixvolumemonitor.c: (g_unix_volume_monitor_finalize), (get_mounts), (get_volumes), (get_connected_drives), (get_mount_for_mount_path), (g_unix_volume_monitor_class_init), (mountpoints_changed), (mounts_changed), (g_unix_volume_monitor_init), (_g_unix_volume_monitor_lookup_volume_for_mount_path), (find_mount_by_mountpath), (update_volumes), (update_mounts): * gunixvolumemonitor.h: * gvolume.c: (g_volume_get_mount), (g_volume_can_mount), (g_volume_mount), (g_volume_mount_finish): * gvolume.h: * gvolumemonitor.c: (g_volume_monitor_class_init), (g_volume_monitor_get_connected_drives), (g_volume_monitor_get_volumes), (g_volume_monitor_get_mounts): * gvolumemonitor.h: svn path=/trunk/; revision=6095
2007-12-11 22:23:55 +01:00
gmount.h \
gmemoryinputstream.h \
gmemoryoutputstream.h \
gmountoperation.h \
Provide eject() on both GMount and GVolume and utility functions to guess 2007-12-14 David Zeuthen <davidz@redhat.com> * Makefile.am: * gio.symbols: * gmount.c: (g_mount_get_uuid), (g_mount_can_eject), (g_mount_eject), (g_mount_eject_finish): * gmount.h: * gunionvolumemonitor.c: (g_union_volume_monitor_finalize), (get_volume_for_uuid), (get_mount_for_uuid), (g_union_volume_monitor_class_init), (get_default_native_type_with_exclude), (get_default_native_type), (get_native_type), (update_native_type), (g_union_volume_monitor_init), (_g_mount_get_for_mount_path): * gunixmount.c: (_g_unix_mount_new), (g_unix_mount_get_uuid), (g_unix_mount_can_eject), (eject_unmount_cb), (eject_unmount_read_error), (eject_unmount_do), (g_unix_mount_unmount), (g_unix_mount_eject), (g_unix_mount_eject_finish), (g_unix_mount_mount_iface_init): * gunixmounts.c: (g_unix_mount_guess_can_eject), (g_unix_mount_point_guess_can_eject): * gunixmounts.h: * gunixvolume.c: (_g_unix_volume_new), (g_unix_volume_get_uuid), (g_unix_volume_can_eject), (g_unix_volume_get_drive), (eject_mount_cb), (eject_mount_read_error), (eject_mount_do), (g_unix_volume_mount), (g_unix_volume_eject), (g_unix_volume_eject_finish), (g_unix_volume_volume_iface_init): * gunixvolumemonitor.c: (get_volume_for_uuid), (get_mount_for_uuid), (g_unix_volume_monitor_class_init), (update_mounts): * gvolume.c: (g_volume_get_uuid), (g_volume_can_eject), (g_volume_eject), (g_volume_eject_finish): * gvolume.h: * gvolumemonitor.c: (g_volume_monitor_get_volume_for_uuid), (g_volume_monitor_get_mount_for_uuid): * gvolumemonitor.h: Provide eject() on both GMount and GVolume and utility functions to guess whether a GUnixMountPoint or GUnixMountEntry should be ejected. Introduce the concept of UUID's and wire it into GVolume and GMount and provide API on GVolumeMonitor to find such instances. Also handle the case where an external GNativeVolumeMonitor fails to initialize. Lock around the _g_get_mount_for_mount_path() function such that volume monitor implementations won't have to do locking themselves. svn path=/trunk/; revision=6140
2007-12-17 10:31:08 +01:00
gnativevolumemonitor.h \
gnetworkaddress.h \
gnetworkmonitor.h \
gnetworkservice.h \
goutputstream.h \
gpermission.h \
gpollableinputstream.h \
gpollableoutputstream.h \
gproxyaddress.h \
gproxy.h \
gproxyaddressenumerator.h \
gproxyresolver.h \
gresolver.h \
gresource.h \
gseekable.h \
gsimpleasyncresult.h \
gsimplepermission.h \
gsocket.h \
gsocketaddress.h \
gsocketaddressenumerator.h \
gsocketclient.h \
gsocketconnectable.h \
gsocketconnection.h \
gsocketcontrolmessage.h \
gsocketlistener.h \
gsocketservice.h \
gsrvtarget.h \
gtcpconnection.h \
gtcpwrapperconnection.h \
gthreadedsocketservice.h\
gthemedicon.h \
gtlsbackend.h \
gtlscertificate.h \
gtlsclientconnection.h \
gtlsconnection.h \
gtlsdatabase.h \
gtlsfiledatabase.h \
gtlsinteraction.h \
gtlspassword.h \
gtlsserverconnection.h \
gvfs.h \
gvolume.h \
gvolumemonitor.h \
2009-11-20 12:04:31 +01:00
gzlibcompressor.h \
gzlibdecompressor.h \
2010-08-18 06:30:44 +02:00
$(application_headers) \
2010-04-17 05:17:01 +02:00
$(settings_headers) \
$(gdbus_headers) \
$(NULL)
gioincludedir=$(includedir)/glib-2.0/gio/
gioinclude_HEADERS = \
$(gio_headers) \
gioenumtypes.h
# these sources (also mentioned above) are generated.
BUILT_SOURCES = \
gconstructor_as_data.h \
gioenumtypes.h \
gioenumtypes.c \
$(NULL)
EXTRA_DIST += \
data-to-c.pl \
gio.symbols \
gioenumtypes.h.template \
gioenumtypes.c.template \
makefile.msc \
2007-12-21 01:37:41 +01:00
abicheck.sh \
gio.rc.in \
gschema.dtd \
gconstructor_as_data.h \
$(NULL)
BUILT_EXTRA_DIST = \
gio.rc
# This is read by gobject-introspection/misc/ and gtk-doc
gio-public-headers.txt: Makefile
2011-09-06 06:12:12 +02:00
echo $(gioinclude_HEADERS) $(giowin32include_HEADERS) $(giounixinclude_HEADERS) > $@.tmp && mv $@.tmp $@
2012-01-31 00:45:45 +01:00
CLEANFILES = gio-public-headers.txt gconstructor_as_data.h
all-local: gio-public-headers.txt
gioenumtypes.h: $(gio_headers) gioenumtypes.h.template
$(AM_V_GEN) ( top_builddir=`cd $(top_builddir) && pwd`; \
cd $(srcdir) && $$top_builddir/gobject/glib-mkenums --template gioenumtypes.h.template $(gio_headers) ) > \
gioenumtypes.h.tmp && mv gioenumtypes.h.tmp gioenumtypes.h
gioenumtypes.c: $(gio_headers) gioenumtypes.c.template
$(AM_V_GEN) ( top_builddir=`cd $(top_builddir) && pwd`; \
cd $(srcdir) && $$top_builddir/gobject/glib-mkenums --template gioenumtypes.c.template $(gio_headers) ) > \
gioenumtypes.c.tmp && mv gioenumtypes.c.tmp gioenumtypes.c
gio-2.0.lib: libgio-2.0.la gio.def
lib -machine:@LIB_EXE_MACHINE_FLAG@ -name:libgio-2.0-$(LT_CURRENT_MINUS_AGE).dll -def:$(builddir)/gio.def -out:$@
bin_PROGRAMS = gio-querymodules glib-compile-schemas glib-compile-resources gsettings
glib_compile_resources_LDADD = \
$(top_builddir)/glib/libglib-2.0.la \
$(top_builddir)/gobject/libgobject-2.0.la \
libgio-2.0.la
glib_compile_resources_SOURCES = \
gvdb/gvdb-format.h \
gvdb/gvdb-builder.h \
gvdb/gvdb-builder.c \
glib-compile-resources.c
gio_querymodules_SOURCES = gio-querymodules.c
gio_querymodules_LDADD = \
$(top_builddir)/glib/libglib-2.0.la \
$(top_builddir)/gobject/libgobject-2.0.la \
$(top_builddir)/gmodule/libgmodule-2.0.la \
libgio-2.0.la \
$(NULL)
gconstructor_as_data.h: $(top_srcdir)/glib/gconstructor.h data-to-c.pl
$(AM_V_GEN) $(srcdir)/data-to-c.pl $(top_srcdir)/glib/gconstructor.h gconstructor_code > $@.tmp && mv $@.tmp $@
glib_compile_schemas_LDADD = $(top_builddir)/glib/libglib-2.0.la
glib_compile_schemas_SOURCES = \
gconstructor_as_data.h \
2010-04-17 05:17:01 +02:00
gvdb/gvdb-format.h \
gvdb/gvdb-builder.h \
gvdb/gvdb-builder.c \
glib-compile-schemas.c
2010-04-16 05:35:49 +02:00
gsettings_LDADD = \
$(top_builddir)/glib/libglib-2.0.la \
$(top_builddir)/gobject/libgobject-2.0.la \
libgio-2.0.la
gsettings_SOURCES = gsettings-tool.c
schemadir = $(datadir)/glib-2.0/schemas
dist_schema_DATA = gschema.dtd
# ------------------------------------------------------------------------
# gdbus(1) tool
bin_PROGRAMS += gdbus
gdbus_SOURCES = gdbus-tool.c
gdbus_LDADD = libgio-2.0.la \
$(top_builddir)/glib/libglib-2.0.la \
$(top_builddir)/gobject/libgobject-2.0.la
completiondir = $(sysconfdir)/bash_completion.d
completion_DATA = \
gdbus-bash-completion.sh \
gsettings-bash-completion.sh \
gresource-bash-completion.sh
EXTRA_DIST += $(completion_DATA)
# ------------------------------------------------------------------------
# gresource tool
bin_PROGRAMS += gresource
gresource_SOURCES = gresource-tool.c
gresource_LDADD = libgio-2.0.la \
$(top_builddir)/glib/libglib-2.0.la \
$(top_builddir)/gobject/libgobject-2.0.la \
$(ELF_LIBS)
# ------------------------------------------------------------------------
dist-hook: $(BUILT_EXTRA_DIST) ../build/win32/vs9/gio.vcproj ../build/win32/vs10/gio.vcxproj ../build/win32/vs10/gio.vcxproj.filters
files='$(BUILT_EXTRA_DIST)'; \
for f in $$files; do \
if test -f $$f; then d=.; else d=$(srcdir); fi; \
cp $$d/$$f $(distdir) || exit 1; done
../build/win32/vs9/gio.vcproj: $(top_srcdir)/build/win32/vs9/gio.vcprojin
for F in `echo $(libgio_2_0_la_SOURCES) $(win32_actual_sources) $(win32_more_sources_for_vcproj) | tr '/' '\\'`; do \
case $$F in \
gunix*.c|gdesktopappinfo.c|gnetworkmonitornetlink.c) ;; \
*.c) echo ' <File RelativePath="..\..\..\gio\'$$F'" />' \
;; \
esac; \
done | sort -u >libgio.sourcefiles
$(CPP) -P - <$(top_srcdir)/build/win32/vs9/gio.vcprojin >$@
rm libgio.sourcefiles
../build/win32/vs10/gio.vcxproj: $(top_srcdir)/build/win32/vs10/gio.vcxprojin
for F in `echo $(libgio_2_0_la_SOURCES) $(win32_actual_sources) $(win32_more_sources_for_vcproj) | tr '/' '\\'`; do \
case $$F in \
gunix*.c|gdesktopappinfo.c|gnetworkmonitornetlink.c) ;; \
*.c) echo ' <ClCompile Include="..\..\..\gio\'$$F'" />' \
;; \
esac; \
done | sort -u >libgio.vs10.sourcefiles
$(CPP) -P - <$(top_srcdir)/build/win32/vs10/gio.vcxprojin >$@
rm libgio.vs10.sourcefiles
../build/win32/vs10/gio.vcxproj.filters: $(top_srcdir)/build/win32/vs10/gio.vcxproj.filtersin
for F in `echo $(libgio_2_0_la_SOURCES) $(win32_actual_sources) $(win32_more_sources_for_vcproj) | tr '/' '\\'`; do \
case $$F in \
gunix*.c|gdesktopappinfo.c|gnetworkmonitornetlink.c) ;; \
*.c) echo ' <ClCompile Include="..\..\..\gio\'$$F'"><Filter>Source Files</Filter></ClCompile>' \
;; \
esac; \
done | sort -u >libgio.vs10.sourcefiles.filters
$(CPP) -P - <$(top_srcdir)/build/win32/vs10/gio.vcxproj.filtersin >$@
rm libgio.vs10.sourcefiles.filters
if HAVE_GLIB_RUNTIME_LIBDIR
install-data-hook:
mkdir -p $(DESTDIR)$(libdir)/$(GLIB_RUNTIME_LIBDIR)
mv $(DESTDIR)$(libdir)/libgio-2.0.so.0 $(DESTDIR)$(libdir)/$(GLIB_RUNTIME_LIBDIR)
mv $(DESTDIR)$(libdir)/libgio-2.0.so.0.$(LT_CURRENT).$(LT_REVISION) $(DESTDIR)$(libdir)/$(GLIB_RUNTIME_LIBDIR)
rm -f $(DESTDIR)$(libdir)/libgio-2.0.so
ln -s $(GLIB_RUNTIME_LIBDIR)/libgio-2.0.so.0.$(LT_CURRENT).$(LT_REVISION) $(DESTDIR)$(libdir)/libgio-2.0.so
endif