glib/gio/Makefile.am

1017 lines
25 KiB
Makefile
Raw Normal View History

Rework the build system for a new tests approach Perform a substantial cleanup of the build system with respect to building and installing testcases. First, Makefile.decl has been renamed glib.mk and substantially expanded. We intend to add more stuff here in the future, like canned rules for mkenums, marshallers, resources, etc. By default, tests are no longer compiled as part of 'make'. They will be built when 'make check' is run. The old behaviour can be obtained with --enable-always-build-tests. --disable-modular-tests is gone (because tests are no longer built by default). There is no longer any way to cause 'make check' to be a no-op, but that's not very useful anyway. A new glibtests.m4 file is introduced. Along with glib.mk, this provides for consistent handling of --enable-installed-tests and --enable-always-build-tests (mentioned above). Port our various test-installing Makefiles to the new framework. This patch substantially improves the situation in the toplevel tests/ directory. Things are now somewhat under control there. There were some tests being built that weren't even being run and we run those now. The long-running GObject performance tests in this directory have been removed from 'make check' because they take too long. As an experiment, 'make check' now runs the testcases on win32 builds, by default. We can't run them under gtester (since it uses a pipe to communicate with the subprocess) so just toss them in TESTS. Most of them are passing on win32. Things are not quite done here, but this patch is already a substantial improvement. More to come.
2013-05-30 06:07:32 +02:00
include $(top_srcdir)/glib.mk
SUBDIRS = gdbus-2.0/codegen
if OS_UNIX
SUBDIRS += xdgmime
endif
if OS_WIN32_AND_DLL_COMPILATION
if MS_LIB_AVAILABLE
Rework the build system for a new tests approach Perform a substantial cleanup of the build system with respect to building and installing testcases. First, Makefile.decl has been renamed glib.mk and substantially expanded. We intend to add more stuff here in the future, like canned rules for mkenums, marshallers, resources, etc. By default, tests are no longer compiled as part of 'make'. They will be built when 'make check' is run. The old behaviour can be obtained with --enable-always-build-tests. --disable-modular-tests is gone (because tests are no longer built by default). There is no longer any way to cause 'make check' to be a no-op, but that's not very useful anyway. A new glibtests.m4 file is introduced. Along with glib.mk, this provides for consistent handling of --enable-installed-tests and --enable-always-build-tests (mentioned above). Port our various test-installing Makefiles to the new framework. This patch substantially improves the situation in the toplevel tests/ directory. Things are now somewhat under control there. There were some tests being built that weren't even being run and we run those now. The long-running GObject performance tests in this directory have been removed from 'make check' because they take too long. As an experiment, 'make check' now runs the testcases on win32 builds, by default. We can't run them under gtester (since it uses a pipe to communicate with the subprocess) so just toss them in TESTS. Most of them are passing on win32. Things are not quite done here, but this patch is already a substantial improvement. More to come.
2013-05-30 06:07:32 +02:00
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)
AM_CPPFLAGS = \
-DG_LOG_DOMAIN=\"GLib-GIO\" \
$(gmodule_INCLUDES) \
$(GLIB_DEBUG_FLAGS) \
-DGIO_COMPILATION \
-DGIO_MODULE_DIR=\"$(GIO_MODULE_DIR)\"
AM_CFLAGS = $(GLIB_WARN_CFLAGS)
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 \
gtestdbus.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 \
gtestdbus.h gtestdbus.c \
$(NULL)
# These are not built into the library yet
EXTRA_DIST += gdbusdaemon.c gdbusdaemon.h dbus-daemon.xml
GDBUS_PYTHON_DEPS = \
$(srcdir)/gdbus-2.0/codegen/gdbus-codegen.in \
$(srcdir)/gdbus-2.0/codegen/codegen_main.py \
$(srcdir)/gdbus-2.0/codegen/parser.py \
$(srcdir)/gdbus-2.0/codegen/codegen_docbook.py \
$(srcdir)/gdbus-2.0/codegen/codegen.py \
$(srcdir)/gdbus-2.0/codegen/__init__.py \
$(srcdir)/gdbus-2.0/codegen/dbustypes.py \
$(builddir)/gdbus-2.0/codegen/config.py \
$(srcdir)/gdbus-2.0/codegen/utils.py
gdbus-daemon-generated.h gdbus-daemon-generated.c: $(srcdir)/dbus-daemon.xml $(GDBUS_PYTHON_DEPS)
$(AM_V_GEN) UNINSTALLED_GLIB_SRCDIR=$(top_srcdir) \
UNINSTALLED_GLIB_BUILDDIR=$(top_builddir) \
$(PYTHON) $(srcdir)/gdbus-2.0/codegen/gdbus-codegen.in \
--interface-prefix org. \
--generate-c-code gdbus-daemon-generated \
--c-namespace _G \
$(srcdir)/dbus-daemon.xml \
$(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
settings_base_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
settings_sources = $(settings_base_sources)
2010-08-12 17:10:23 +02:00
if OS_WIN32
win32_settings_sources = \
2010-08-12 17:10:23 +02:00
gregistrysettingsbackend.h \
gregistrysettingsbackend.c
settings_sources += $(win32_settings_sources)
2010-08-12 17:10:23 +02:00
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 \
gpropertyaction.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 \
gnotification.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-private.h \
gdbusactiongroup.c \
2010-10-06 19:08:26 +02:00
gaction.c \
gpropertyaction.c \
2010-10-06 19:08:26 +02:00
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 \
gnotification-private.h \
gnotificationbackend.h \
gnotification.c \
gnotificationbackend.c \
2011-11-27 04:46:51 +01:00
$(NULL)
2010-08-18 06:30:44 +02:00
local_sources = \
ghttpproxy.c \
ghttpproxy.h \
glocalfile.c \
glocalfile.h \
glocalfileprivate.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 \
thumbnail-verify.h \
thumbnail-verify.c \
$(NULL)
platform_libadd =
platform_deps =
appinfo_sources =
appinfo_headers =
contenttype_sources =
if HAVE_INOTIFY
SUBDIRS += inotify
platform_libadd += inotify/libinotify.la
platform_deps += inotify/libinotify.la
endif
if HAVE_KQUEUE
SUBDIRS += kqueue
platform_libadd += kqueue/libkqueue.la
platform_deps += kqueue/libkqueue.la
endif
if OS_WIN32
SUBDIRS += win32
platform_libadd += win32/libgiowin32.la
platform_deps += win32/libgiowin32.la
endif
Rework the build system for a new tests approach Perform a substantial cleanup of the build system with respect to building and installing testcases. First, Makefile.decl has been renamed glib.mk and substantially expanded. We intend to add more stuff here in the future, like canned rules for mkenums, marshallers, resources, etc. By default, tests are no longer compiled as part of 'make'. They will be built when 'make check' is run. The old behaviour can be obtained with --enable-always-build-tests. --disable-modular-tests is gone (because tests are no longer built by default). There is no longer any way to cause 'make check' to be a no-op, but that's not very useful anyway. A new glibtests.m4 file is introduced. Along with glib.mk, this provides for consistent handling of --enable-installed-tests and --enable-always-build-tests (mentioned above). Port our various test-installing Makefiles to the new framework. This patch substantially improves the situation in the toplevel tests/ directory. Things are now somewhat under control there. There were some tests being built that weren't even being run and we run those now. The long-running GObject performance tests in this directory have been removed from 'make check' because they take too long. As an experiment, 'make check' now runs the testcases on win32 builds, by default. We can't run them under gtester (since it uses a pipe to communicate with the subprocess) so just toss them in TESTS. Most of them are passing on win32. Things are not quite done here, but this patch is already a substantial improvement. More to come.
2013-05-30 06:07:32 +02:00
SUBDIRS += . tests
if HAVE_FAM
SUBDIRS += fam
endif
if OS_UNIX
platform_libadd += xdgmime/libxdgmime.la
platform_deps += xdgmime/libxdgmime.la
if !OS_COCOA
appinfo_headers += gdesktopappinfo.h
endif
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 \
gcontenttypeprivate.h \
gfdonotificationbackend.c \
ggtknotificationbackend.c \
gportalnotificationbackend.c \
gdocumentportal.c \
gdocumentportal.h \
gopenuriportal.c \
gopenuriportal.h \
gportalsupport.c \
gportalsupport.h \
$(portal_sources) \
$(NULL)
nodist_unix_sources = \
$(nodist_portal_sources) \
$(NULL)
giounixincludedir=$(includedir)/gio-unix-2.0/gio
giounixinclude_HEADERS = \
gfiledescriptorbased.h \
gunixconnection.h \
gunixcredentialsmessage.h \
gunixmounts.h \
gunixfdlist.h \
gunixfdmessage.h \
gunixinputstream.h \
gunixoutputstream.h \
gunixsocketaddress.h \
$(appinfo_headers) \
$(NULL)
if HAVE_NETLINK
unix_sources += \
gnetworkmonitornetlink.c \
gnetworkmonitornetlink.h \
gnetworkmonitornm.c \
gnetworkmonitornm.h \
$(NULL)
endif
endif
gdbus_daemon_sources = \
gdbusdaemon.c \
gdbusdaemon.h \
$(NULL)
nodist_gdbus_daemon_sources = \
gdbus-daemon-generated.c \
gdbus-daemon-generated.h \
$(NULL)
win32_actual_sources = \
$(gdbus_daemon_sources) \
gwin32registrykey.c \
gwin32registrykey.h \
gwin32mount.c \
gwin32mount.h \
gwin32volumemonitor.c \
gwin32volumemonitor.h \
gwin32inputstream.c \
gwin32outputstream.c \
gwin32outputstream.h \
gwin32networking.h \
gwin32networkmonitor.c \
gwin32networkmonitor.h \
gwin32notificationbackend.c \
$(NULL)
nodist_win32_actual_sources = \
$(nodist_gdbus_daemon_sources) \
$(NULL)
win32_more_sources_for_vcproj = \
gwin32appinfo.c \
gcontenttype-win32.c \
gregistrysettingsbackend.c \
win32/gwinhttpfile.c \
win32/gwinhttpfileinputstream.c \
win32/gwinhttpfileoutputstream.c \
win32/gwinhttpvfs.c \
win32/gwin32fsmonitorutils.c \
win32/gwin32filemonitor.c
if OS_WIN32
appinfo_sources += gwin32appinfo.c gwin32appinfo.h
contenttype_sources += gcontenttype-win32.c
platform_libadd += -lshlwapi -lws2_32 -ldnsapi -liphlpapi
win32_sources = $(win32_actual_sources)
nodist_win32_sources = $(nodist_win32_actual_sources)
giowin32includedir=$(includedir)/gio-win32-2.0/gio
giowin32include_HEADERS = \
gwin32inputstream.h \
gwin32outputstream.h \
$(NULL)
endif
xdp_dbus_built_sources = xdp-dbus.c xdp-dbus.h
BUILT_SOURCES += $(xdp_dbus_built_sources)
CLEANFILES += $(xdp_dbus_built_sources)
portal_interfaces = \
org.freedesktop.portal.Documents.xml \
org.freedesktop.portal.OpenURI.xml \
org.freedesktop.portal.ProxyResolver.xml \
$(NULL)
EXTRA_DIST += $(portal_interfaces)
$(xdp_dbus_built_sources) : $(portal_interfaces)
$(AM_V_GEN) UNINSTALLED_GLIB_SRCDIR=$(top_srcdir) \
UNINSTALLED_GLIB_BUILDDIR=$(top_builddir) \
$(PYTHON) $(srcdir)/gdbus-2.0/codegen/gdbus-codegen.in \
--interface-prefix org.freedesktop.portal. \
--c-namespace GXdp \
--generate-c-code $(builddir)/xdp-dbus \
--annotate "org.freedesktop.portal.Documents.Add()" "org.gtk.GDBus.C.UnixFD" "true" \
--annotate "org.freedesktop.portal.Documents.AddNamed()" "org.gtk.GDBus.C.UnixFD" "true" \
--annotate "org.freedesktop.portal.Documents.AddFull()" "org.gtk.GDBus.C.UnixFD" "true" \
--annotate "org.freedesktop.portal.OpenURI.OpenFile()" "org.gtk.GDBus.C.UnixFD" "true" \
$^
portal_sources = \
gnetworkmonitorportal.c \
gnetworkmonitorportal.h \
gproxyresolverportal.c \
gproxyresolverportal.h \
$(NULL)
nodist_portal_sources = \
$(xdp_dbus_built_sources) \
$(NULL)
if OS_UNIX
if !OS_COCOA
contenttype_sources += gcontenttype.c
appinfo_sources += gdesktopappinfo.c
endif
endif
gio_base_sources = \
gappinfo.c \
gappinfoprivate.h \
gasynchelper.c \
gasynchelper.h \
gasyncinitable.c \
gasyncresult.c \
gbufferedinputstream.c \
gbufferedoutputstream.c \
gbytesicon.c \
gcancellable.c \
2009-10-21 21:25:36 +02:00
gcharsetconverter.c \
gcontextspecificgroup.c \
gcontextspecificgroup.h \
gconverter.c \
gconverterinputstream.c \
gconverteroutputstream.c \
gcredentials.c \
gcredentialsprivate.h \
gdatagrambased.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 \
gio_probes.d \
gio_trace.h \
gioenums.h \
gioerror.c \
giomodule.c \
giomodule-priv.c \
giomodule-priv.h \
gioscheduler.c \
giostream.c \
gioprivate.h \
giowin32-priv.h \
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 \
gnativesocketaddress.c \
gnativesocketaddress.h \
gnetworkaddress.c \
gnetworking.c \
gnetworkingprivate.h \
gnetworkmonitor.c \
gnetworkmonitorbase.c \
gnetworkmonitorbase.h \
gnetworkservice.c \
goutputstream.c \
gpermission.c \
gpollableinputstream.c \
gpollableoutputstream.c \
gpollableutils.c \
gpollfilemonitor.c \
gpollfilemonitor.h \
gproxy.c \
gproxyaddress.c \
gproxyaddressenumerator.c \
gproxyresolver.c \
gresolver.c \
gresource.c \
2011-12-21 23:37:56 +01:00
gresourcefile.c \
gresourcefile.h \
gseekable.c \
gsimpleasyncresult.c \
gsimpleiostream.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 \
gsubprocesslauncher.c \
gsubprocess.c \
gsubprocesslauncher-private.h \
gsocketservice.c \
gsrvtarget.c \
gsimpleproxyresolver.c \
gtask.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 \
gdtlsconnection.c \
gdtlsclientconnection.c \
gdtlsserverconnection.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 \
glistmodel.c \
gliststore.c \
$(application_sources) \
$(gdbus_sources) \
$(local_sources) \
$(NULL)
nodist_gio_base_sources = \
gioenumtypes.h \
gioenumtypes.c \
$(NULL)
libgio_2_0_la_SOURCES = \
$(gio_base_sources) \
$(appinfo_sources) \
$(contenttype_sources) \
$(unix_sources) \
$(win32_sources) \
2010-04-15 20:59:41 +02:00
$(settings_sources) \
$(NULL)
nodist_libgio_2_0_la_SOURCES = \
$(nodist_gio_base_sources) \
$(nodist_unix_sources) \
$(nodist_win32_sources) \
$(NULL)
EXTRA_DIST += strinfo.c
libgio_2_0_la_LIBADD = \
$(top_builddir)/gobject/libgobject-2.0.la \
$(top_builddir)/gmodule/libgmodule-2.0.la \
$(top_builddir)/glib/libglib-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)
if PLATFORM_WIN32
no_undefined = -no-undefined
endif
if OS_WIN32_AND_DLL_COMPILATION
gio_win32_res = gio-win32-res.o
gio_win32_res_ldflag = -Wl,$(gio_win32_res)
endif
install-data-local: install-ms-lib
$(mkinstalldirs) $(DESTDIR)$(GIO_MODULE_DIR)
uninstall-local: uninstall-ms-lib
libgio_2_0_la_CFLAGS = $(AM_CFLAGS) $(GLIB_HIDDEN_VISIBILITY_CFLAGS)
libgio_2_0_la_LDFLAGS = $(GLIB_LINK_FLAGS) \
$(gio_win32_res_ldflag) \
-version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \
2013-01-14 05:12:23 +01:00
-export-dynamic $(no_undefined)
# We cannot build .m files because it would require adding AC_PROG_OBJC in
# configure.ac, and it cannot be added conditionally. That means we would always
# depend on an objective-c compiler even when not needed. To work around that
# limitation we rename .m files to .c and compile them separately with
# -xobjective-c into an intermediary library. Note that we cannot rename those
# files to .c directly in the source tree because Meson needs the .m extension.
# This must be done outside of "if OS_COCOA" block otherwise distcheck fails.
# See https://bugzilla.gnome.org/show_bug.cgi?id=672777.
OBJC_FILES = \
gnextstepsettingsbackend.m \
gosxcontenttype.m \
gosxappinfo.m \
gcocoanotificationbackend.m \
$(NULL)
OBJC_C_FILES = $(OBJC_FILES:.m=.c)
BUILT_SOURCES += $(OBJC_C_FILES)
CLEANFILES += $(OBJC_C_FILES)
EXTRA_DIST += $(OBJC_FILES)
$(OBJC_C_FILES): %.c: %.m Makefile
cp $< $@
if OS_COCOA
libgio_objc_2_0_la_CFLAGS = $(libgio_2_0_la_CFLAGS) -xobjective-c
libgio_objc_2_0_la_CPPFLAGS = $(libgio_2_0_la_CPPFLAGS)
libgio_objc_2_0_la_LDFLAGS = $(libgio_2_0_la_LDFLAGS) -Wl,-framework,Foundation -Wl,-framework,AppKit
libgio_objc_2_0_la_SOURCES = \
gnextstepsettingsbackend.c \
gosxcontenttype.c \
gosxappinfo.c \
gosxappinfo.h
if MAC_OS_X_9
libgio_objc_2_0_la_SOURCES += \
gcocoanotificationbackend.c
endif
noinst_LTLIBRARIES += libgio-objc-2.0.la
libgio_2_0_la_LIBADD += libgio-objc-2.0.la
endif
if HAVE_LIBMOUNT
libgio_2_0_la_CFLAGS += $(LIBMOUNT_CFLAGS)
libgio_2_0_la_LIBADD += $(LIBMOUNT_LIBS)
endif
EXTRA_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 \
gbytesicon.h \
gcancellable.h \
gcontenttype.h \
2009-10-21 21:25:36 +02:00
gcharsetconverter.h \
gconverter.h \
gconverterinputstream.h \
gconverteroutputstream.h \
gdatagrambased.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 \
gio-autocleanups.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 \
gpollableutils.h \
gproxyaddress.h \
gproxy.h \
gproxyaddressenumerator.h \
gproxyresolver.h \
gresolver.h \
gresource.h \
gseekable.h \
gsimpleasyncresult.h \
gsimpleiostream.h \
gsimplepermission.h \
gsocket.h \
gsocketaddress.h \
gsocketaddressenumerator.h \
gsocketclient.h \
gsocketconnectable.h \
gsocketconnection.h \
gsocketcontrolmessage.h \
gsocketlistener.h \
gsocketservice.h \
gsrvtarget.h \
gsimpleproxyresolver.h \
gtask.h \
gsubprocess.h \
gsubprocesslauncher.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 \
gdtlsconnection.h \
gdtlsclientconnection.h \
gdtlsserverconnection.h \
gvfs.h \
gvolume.h \
gvolumemonitor.h \
2009-11-20 12:04:31 +01:00
gzlibcompressor.h \
gzlibdecompressor.h \
glistmodel.h \
gliststore.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) \
$(NULL)
nodist_gioinclude_HEADERS = \
gioenumtypes.h \
gnetworking.h \
$(NULL)
# these sources (also mentioned above) are generated.
Rework the build system for a new tests approach Perform a substantial cleanup of the build system with respect to building and installing testcases. First, Makefile.decl has been renamed glib.mk and substantially expanded. We intend to add more stuff here in the future, like canned rules for mkenums, marshallers, resources, etc. By default, tests are no longer compiled as part of 'make'. They will be built when 'make check' is run. The old behaviour can be obtained with --enable-always-build-tests. --disable-modular-tests is gone (because tests are no longer built by default). There is no longer any way to cause 'make check' to be a no-op, but that's not very useful anyway. A new glibtests.m4 file is introduced. Along with glib.mk, this provides for consistent handling of --enable-installed-tests and --enable-always-build-tests (mentioned above). Port our various test-installing Makefiles to the new framework. This patch substantially improves the situation in the toplevel tests/ directory. Things are now somewhat under control there. There were some tests being built that weren't even being run and we run those now. The long-running GObject performance tests in this directory have been removed from 'make check' because they take too long. As an experiment, 'make check' now runs the testcases on win32 builds, by default. We can't run them under gtester (since it uses a pipe to communicate with the subprocess) so just toss them in TESTS. Most of them are passing on win32. Things are not quite done here, but this patch is already a substantial improvement. More to come.
2013-05-30 06:07:32 +02:00
BUILT_SOURCES += \
gconstructor_as_data.h \
gioenumtypes.h \
gioenumtypes.c \
gdbus-daemon-generated.c \
gdbus-daemon-generated.h \
gnetworking.h \
$(NULL)
EXTRA_DIST += \
data-to-c.py \
gioenumtypes.h.template \
gioenumtypes.c.template \
gio.rc.in \
gschema.dtd \
$(NULL)
Rework the build system for a new tests approach Perform a substantial cleanup of the build system with respect to building and installing testcases. First, Makefile.decl has been renamed glib.mk and substantially expanded. We intend to add more stuff here in the future, like canned rules for mkenums, marshallers, resources, etc. By default, tests are no longer compiled as part of 'make'. They will be built when 'make check' is run. The old behaviour can be obtained with --enable-always-build-tests. --disable-modular-tests is gone (because tests are no longer built by default). There is no longer any way to cause 'make check' to be a no-op, but that's not very useful anyway. A new glibtests.m4 file is introduced. Along with glib.mk, this provides for consistent handling of --enable-installed-tests and --enable-always-build-tests (mentioned above). Port our various test-installing Makefiles to the new framework. This patch substantially improves the situation in the toplevel tests/ directory. Things are now somewhat under control there. There were some tests being built that weren't even being run and we run those now. The long-running GObject performance tests in this directory have been removed from 'make check' because they take too long. As an experiment, 'make check' now runs the testcases on win32 builds, by default. We can't run them under gtester (since it uses a pipe to communicate with the subprocess) so just toss them in TESTS. Most of them are passing on win32. Things are not quite done here, but this patch is already a substantial improvement. More to come.
2013-05-30 06:07:32 +02:00
BUILT_EXTRA_DIST += \
gio.rc
# This is read by gobject-introspection/misc/ and gtk-doc
gio-public-headers.txt: Makefile
$(AM_V_GEN) echo $(gioinclude_HEADERS) $(giowin32include_HEADERS) $(giounixinclude_HEADERS) > $@.tmp && mv $@.tmp $@
Rework the build system for a new tests approach Perform a substantial cleanup of the build system with respect to building and installing testcases. First, Makefile.decl has been renamed glib.mk and substantially expanded. We intend to add more stuff here in the future, like canned rules for mkenums, marshallers, resources, etc. By default, tests are no longer compiled as part of 'make'. They will be built when 'make check' is run. The old behaviour can be obtained with --enable-always-build-tests. --disable-modular-tests is gone (because tests are no longer built by default). There is no longer any way to cause 'make check' to be a no-op, but that's not very useful anyway. A new glibtests.m4 file is introduced. Along with glib.mk, this provides for consistent handling of --enable-installed-tests and --enable-always-build-tests (mentioned above). Port our various test-installing Makefiles to the new framework. This patch substantially improves the situation in the toplevel tests/ directory. Things are now somewhat under control there. There were some tests being built that weren't even being run and we run those now. The long-running GObject performance tests in this directory have been removed from 'make check' because they take too long. As an experiment, 'make check' now runs the testcases on win32 builds, by default. We can't run them under gtester (since it uses a pipe to communicate with the subprocess) so just toss them in TESTS. Most of them are passing on win32. Things are not quite done here, but this patch is already a substantial improvement. More to come.
2013-05-30 06:07:32 +02:00
CLEANFILES += gdbus-daemon-generated.c gdbus-daemon-generated.h gio-public-headers.txt gconstructor_as_data.h
2012-12-18 01:14:22 +01:00
Rework the build system for a new tests approach Perform a substantial cleanup of the build system with respect to building and installing testcases. First, Makefile.decl has been renamed glib.mk and substantially expanded. We intend to add more stuff here in the future, like canned rules for mkenums, marshallers, resources, etc. By default, tests are no longer compiled as part of 'make'. They will be built when 'make check' is run. The old behaviour can be obtained with --enable-always-build-tests. --disable-modular-tests is gone (because tests are no longer built by default). There is no longer any way to cause 'make check' to be a no-op, but that's not very useful anyway. A new glibtests.m4 file is introduced. Along with glib.mk, this provides for consistent handling of --enable-installed-tests and --enable-always-build-tests (mentioned above). Port our various test-installing Makefiles to the new framework. This patch substantially improves the situation in the toplevel tests/ directory. Things are now somewhat under control there. There were some tests being built that weren't even being run and we run those now. The long-running GObject performance tests in this directory have been removed from 'make check' because they take too long. As an experiment, 'make check' now runs the testcases on win32 builds, by default. We can't run them under gtester (since it uses a pipe to communicate with the subprocess) so just toss them in TESTS. Most of them are passing on win32. Things are not quite done here, but this patch is already a substantial improvement. More to come.
2013-05-30 06:07:32 +02:00
DISTCLEANFILES += \
2012-12-18 01:14:22 +01:00
gioenumtypes.h \
gioenumtypes.c
all-local: gio-public-headers.txt
gioenumtypes.h: $(gio_headers) gioenumtypes.h.template
$(AM_V_GEN) $(top_builddir)/gobject/glib-mkenums --template $(filter %.template,$^) $(filter-out %.template,$^) > \
gioenumtypes.h.tmp && mv gioenumtypes.h.tmp gioenumtypes.h
gioenumtypes.c: $(gio_headers) gioenumtypes.c.template
$(AM_V_GEN) $(top_builddir)/gobject/glib-mkenums --template $(filter %.template,$^) $(filter-out %.template,$^) > \
gioenumtypes.c.tmp && mv gioenumtypes.c.tmp gioenumtypes.c
gio.def: libgio-2.0.la
$(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
gio-2.0.lib: libgio-2.0.la gio.def
$(AM_V_GEN) lib.exe -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 gio-launch-desktop
glib_compile_resources_LDADD = libgio-2.0.la \
$(top_builddir)/gobject/libgobject-2.0.la \
$(top_builddir)/gmodule/libgmodule-2.0.la \
$(top_builddir)/glib/libglib-2.0.la \
$(NULL)
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 giomodule-priv.c
gio_querymodules_LDADD = libgio-2.0.la \
$(top_builddir)/gobject/libgobject-2.0.la \
$(top_builddir)/gmodule/libgmodule-2.0.la \
$(top_builddir)/glib/libglib-2.0.la \
$(NULL)
gio_launch_desktop_SOURCES = gio-launch-desktop.c
gconstructor_as_data.h: $(top_srcdir)/glib/gconstructor.h data-to-c.py
$(AM_V_GEN) $(PYTHON) $(srcdir)/data-to-c.py $(top_srcdir)/glib/gconstructor.h gconstructor_code $@
glib_compile_schemas_LDADD = $(top_builddir)/glib/libglib-2.0.la
glib_compile_schemas_SOURCES = \
2010-04-17 05:17:01 +02:00
gvdb/gvdb-format.h \
gvdb/gvdb-builder.h \
gvdb/gvdb-builder.c \
glib-compile-schemas.c
nodist_glib_compile_schemas_SOURCES = \
gconstructor_as_data.h \
$(NULL)
2010-04-16 05:35:49 +02:00
gsettings_LDADD = libgio-2.0.la \
$(top_builddir)/gobject/libgobject-2.0.la \
$(top_builddir)/gmodule/libgmodule-2.0.la \
$(top_builddir)/glib/libglib-2.0.la \
$(NULL)
gsettings_SOURCES = gsettings-tool.c
schemadir = $(datadir)/glib-2.0/schemas
dist_schema_DATA = gschema.dtd
itsdir = $(datadir)/gettext/its
dist_its_DATA = gschema.loc gschema.its
# ------------------------------------------------------------------------
# SystemTap and dtrace
if ENABLE_DTRACE
gio_probes.h: gio_probes.d
$(AM_V_GEN) $(DTRACE) -C -h -s $< -o $@.tmp
@$(SED) \
-e "s,define STAP_HAS_SEMAPHORES 1,undef STAP_HAS_SEMAPHORES," \
-e "s,define _SDT_HAS_SEMAPHORES 1,undef _SDT_HAS_SEMAPHORES," \
< $@.tmp > $@ && rm -f $@.tmp
gio_probes.lo: gio_probes.d
$(AM_V_GEN) $(LIBTOOL) --mode=compile $(AM_V_lt) --tag=CC $(DTRACE) -G -s $< -o $@
BUILT_SOURCES += gio_probes.h gio_probes.lo
CLEANFILES += gio_probes.h gio_probes.h.tmp
libgio_2_0_la_LIBADD += gio_probes.lo
endif
tapsetdir = @ABS_TAPSET_DIR@
EXTRA_DIST += gio.stp.in
if ENABLE_SYSTEMTAP
tapset_DATA = libgio-2.0.so.0.@LT_CURRENT@.@LT_REVISION@.stp
CLEANFILES += $(tapset_DATA)
$(tapset_DATA): gio.stp.in Makefile
$(AM_V_GEN)$(SED) \
-e 's|[@]ABS_GLIB_RUNTIME_LIBDIR[@]|$(ABS_GLIB_RUNTIME_LIBDIR)|g' \
-e 's|[@]LT_CURRENT[@]|$(LT_CURRENT)|g' \
-e 's|[@]LT_REVISION[@]|$(LT_REVISION)|g' \
$< > $@
endif
# ------------------------------------------------------------------------
# gdbus(1) tool
bin_PROGRAMS += gdbus
gdbus_SOURCES = gdbus-tool.c
gdbus_LDADD = libgio-2.0.la \
$(top_builddir)/gobject/libgobject-2.0.la \
$(top_builddir)/gmodule/libgmodule-2.0.la \
$(top_builddir)/glib/libglib-2.0.la \
$(NULL)
if OS_UNIX
if !OS_COCOA
# ------------------------------------------------------------------------
# gapplication(1) tool
bin_PROGRAMS += gapplication
gapplication_SOURCES = gapplication-tool.c
gapplication_LDADD = libgio-2.0.la \
$(top_builddir)/gobject/libgobject-2.0.la \
$(top_builddir)/gmodule/libgmodule-2.0.la \
$(top_builddir)/glib/libglib-2.0.la \
$(NULL)
endif
endif
completiondir = $(datadir)/bash-completion/completions
completion_DATA = \
completion/gapplication \
completion/gdbus \
completion/gio \
completion/gsettings \
completion/gresource
EXTRA_DIST += $(completion_DATA)
# ------------------------------------------------------------------------
# gresource tool
bin_PROGRAMS += gresource
gresource_SOURCES = gresource-tool.c
gresource_CPPFLAGS = $(LIBELF_CFLAGS) $(AM_CPPFLAGS)
gresource_LDADD = libgio-2.0.la \
$(top_builddir)/gobject/libgobject-2.0.la \
$(top_builddir)/gmodule/libgmodule-2.0.la \
$(top_builddir)/glib/libglib-2.0.la \
$(LIBELF_LIBS)
# ------------------------------------------------------------------------
# gio tool
bin_PROGRAMS += gio
gio_SOURCES = \
gio-tool.c \
gio-tool.h \
gio-tool-cat.c \
gio-tool-copy.c \
gio-tool-info.c \
gio-tool-list.c \
gio-tool-mime.c \
gio-tool-mkdir.c \
gio-tool-monitor.c \
gio-tool-mount.c \
gio-tool-move.c \
gio-tool-open.c \
gio-tool-rename.c \
gio-tool-remove.c \
gio-tool-save.c \
gio-tool-set.c \
gio-tool-trash.c \
gio-tool-tree.c \
$(NULL)
gio_LDADD = libgio-2.0.la \
$(top_builddir)/gobject/libgobject-2.0.la \
gio: automake: Add libgmodule dependency Otherwise I get following compile error: libtool: link: /home/builduser/toolchains/linux/tc/2017-12/x86-ncp-linux-gnu/bin/i686-ncp-linux-gnu-gcc -Wall -Wstrict-prototypes -Wmisleading-indentation -Wno-bad-function-cast -Werror=declaration-after-statement -Werror=missing-prototypes -Werror=implicit-function-declaration -Werror=pointer-arith -Werror=init-self -Werror=format=2 -O2 -Wall -pipe -Wformat -g -fstack-protector-strong -fPIC -fno-strict-aliasing -Wl,-z -Wl,relro -Wl,-z -Wl,now -Wl,-rpath-link=/home/builduser/workspaces/rws_trunk_linux_x86_build_shared-fips/build/3p/linux/x86/install/zlib/lib -Wl,-rpath-link=/home/builduser/workspaces/rws_trunk_linux_x86_build_shared-fips/build/3p/linux/x86/install/libffi/lib -o .libs/gio gio-tool.o gio-tool-cat.o gio-tool-copy.o gio-tool-info.o gio-tool-list.o gio-tool-mime.o gio-tool-mkdir.o gio-tool-monitor.o gio-tool-mount.o gio-tool-move.o gio-tool-open.o gio-tool-rename.o gio-tool-remove.o gio-tool-save.o gio-tool-set.o gio-tool-trash.o gio-tool-tree.o -L/home/builduser/workspaces/rws_trunk_linux_x86_build_shared-fips/build/3p/linux/x86/install/zlib/lib -L/home/builduser/workspaces/rws_trunk_linux_x86_build_shared-fips/build/3p/linux/x86/install/libffi/lib ./.libs/libgio-2.0.so ../gobject/.libs/libgobject-2.0.so ../glib/.libs/libglib-2.0.so -Wl,-rpath -Wl,/home/builduser/workspaces/rws_trunk_linux_x86_build_shared-fips/build/3p/linux/x86/install/glib/lib /home/builduser/toolchains/linux/tc/2017-12/x86-ncp-linux-gnu/bin/../lib/gcc/i686-ncp-linux-gnu/6.3.0/../../../../i686-ncp-linux-gnu/bin/ld: warning: libgmodule-2.0.so.0, needed by ./.libs/libgio-2.0.so, not found (try using -rpath or -rpath-link) ./.libs/libgio-2.0.so: undefined reference to `g_module_error' ./.libs/libgio-2.0.so: undefined reference to `g_module_close' ./.libs/libgio-2.0.so: undefined reference to `g_module_open' ./.libs/libgio-2.0.so: undefined reference to `g_module_supported' ./.libs/libgio-2.0.so: undefined reference to `g_module_symbol' collect2: error: ld returned 1 exit status Makefile:2300: recipe for target 'gio' failed Signed-off-by: Bernhard Walle <bernhard@bwalle.de>
2018-09-18 10:27:19 +02:00
$(top_builddir)/gmodule/libgmodule-2.0.la \
$(top_builddir)/glib/libglib-2.0.la \
$(NULL)
dist-hook: $(BUILT_EXTRA_DIST)
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
if HAVE_GLIB_RUNTIME_LIBDIR
ABS_GLIB_RUNTIME_LIBDIR = $(realpath $(libdir)/$(GLIB_RUNTIME_LIBDIR))
else
ABS_GLIB_RUNTIME_LIBDIR = $(libdir)
endif
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