Commit 7f328023 authored by Alexander Larsson's avatar Alexander Larsson Committed by Alexander Larsson

Added. Added. Added. Added.

2007-11-28  Alexander Larsson  <alexl@redhat.com>

        * Makefile.am:
        * abicheck.sh: Added.
        * makegioalias.pl: Added.
        * pltcheck.sh: Added.
        * gio.symbols: Added.
	* *.c:
        * inotify/*.c
	Initial work on adding symbol handling.

	* gvfs.h:
	Correct ifdef guard name

        * fam/Makefile.am:
        * inotify/Makefile.am:
        * xdgmime/Makefile.am:
	Include toplevel Makefile.decl


svn path=/trunk/; revision=5972
parent 61582bd9
2007-11-28 Alexander Larsson <alexl@redhat.com>
* Makefile.am:
* abicheck.sh: Added.
* makegioalias.pl: Added.
* pltcheck.sh: Added.
* gio.symbols: Added.
* *.c:
* inotify/*.c
Initial work on adding symbol handling.
* gvfs.h:
Correct ifdef guard name
* fam/Makefile.am:
* inotify/Makefile.am:
* xdgmime/Makefile.am:
Include toplevel Makefile.decl
2007-11-27 Matthias Clasen <mclasen@redhat.com>
* gcontenttype.c: Move doc comments to the unix section.
......
include $(top_srcdir)/Makefile.decl
NULL =
SUBDIRS=
......@@ -6,6 +8,21 @@ if OS_UNIX
SUBDIRS += xdgmime
endif
gio.def: gio.symbols
(echo -e EXPORTS; $(CPP) -P -DINCLUDE_VARIABLES -DINCLUDE_INTERNAL_SYMBOLS -DG_OS_WIN32 -DALL_FILES - <$(srcdir)/gobject.symbols | sed -e '/^$$/d' -e 's/^/ /' -e 's/G_GNUC_[^ ]*//g' | sort) > gobject.def
gioalias.h: gio.symbols
$(PERL) $(srcdir)/makegioalias.pl < $(srcdir)/gio.symbols > gioalias.h
gioaliasdef.c: gio.symbols
$(PERL) $(srcdir)/makegioalias.pl -def < $(srcdir)/gio.symbols > gioaliasdef.c
if OS_LINUX
if HAVE_GNUC_VISIBILITY
TESTS = abicheck.sh pltcheck.sh
endif
endif
AM_CPPFLAGS = \
-DG_LOG_DOMAIN=\"GLib-GIO\" \
-I$(top_builddir) \
......@@ -19,8 +36,9 @@ AM_CPPFLAGS = \
lib_LTLIBRARIES = libgio-2.0.la
marshal_sources = \
gio-marshal.h \
gio-marshal.c \
gio-marshal.h \
gio-marshal.c \
makegioalias.pl \
$(NULL)
if CROSS_COMPILING
......@@ -215,8 +233,13 @@ gioinclude_HEADERS = \
gvolumemonitor.h \
$(NULL)
# these sources (also mentioned above) are generated.
BUILT_SOURCES = gio-marshal.h gio-marshal.c gioalias.h gioaliasdef.c
EXTRA_DIST = \
gio-marshal.list \
gio.symbols \
$(NULL)
CLEANFILES = \
......
#! /bin/sh
egrep '^#([^i]|if).*[^\]$' "${top_builddir:-..}/glibconfig.h" > glibconfig.cpp
INCLUDES="-include ${top_builddir:-..}/config.h"
INCLUDES="$INCLUDES -include glibconfig.cpp"
cpp -DINCLUDE_VARIABLES -P $INCLUDES -DALL_FILES ${srcdir:-.}/gobject.symbols | sed -e '/^$/d' -e 's/ G_GNUC.*$//' -e 's/ PRIVATE$//' | sort > expected-abi
rm glibconfig.cpp
nm -D -g --defined-only .libs/libgio-2.0.so | cut -d ' ' -f 3 | sort > actual-abi
diff -u expected-abi actual-abi && rm expected-abi actual-abi
include $(top_srcdir)/Makefile.decl
NULL =
module_flags = -export_dynamic -avoid-version -module -no-undefined -export-symbols-regex '^g_io_module_(load|unload)'
......
......@@ -25,6 +25,8 @@
#include "glibintl.h"
#include <gioerror.h>
#include "gioalias.h"
/**
* SECTION:gappinfo
* @short_description: Application information and launch contexts
......@@ -33,8 +35,6 @@
* #GAppInfo and #GAppLaunchContext are used for describing and launching
* installed system applications.
*
* @Note: These may/will be moved to Gtk+ in the future.
*
**/
static void g_app_info_base_init (gpointer g_class);
......@@ -594,3 +594,6 @@ g_app_launch_context_launch_failed (GAppLaunchContext *context,
if (class->launch_failed != NULL)
class->launch_failed (context, startup_notify_id);
}
#define __G_APP_INFO_C__
#include "gioaliasdef.c"
......@@ -24,6 +24,8 @@
#include "gasynchelper.h"
#include "gioalias.h"
/**
* SECTION:gasynchelper
* @short_description: Asynchronous Helper Functions
......
......@@ -24,6 +24,8 @@
#include "gasyncresult.h"
#include "glibintl.h"
#include "gioalias.h"
/**
* SECTION:gasyncresult
* @short_description: Asynchronous Function Results
......@@ -167,3 +169,6 @@ g_async_result_get_source_object (GAsyncResult *res)
return (* iface->get_source_object) (res);
}
#define __G_ASYNC_RESULT_C__
#include "gioaliasdef.c"
......@@ -28,6 +28,8 @@
#include <string.h>
#include "glibintl.h"
#include "gioalias.h"
/**
* SECTION:gbufferedinputstream
* @short_description: Buffered Input Stream
......@@ -1359,4 +1361,8 @@ g_buffered_input_stream_skip_finish (GInputStream *stream,
return data->bytes_skipped;
}
#define __G_BUFFERED_INPUT_STREAM_C__
#include "gioaliasdef.c"
/* vim: ts=2 sw=2 et */
......@@ -27,6 +27,8 @@
#include "string.h"
#include "glibintl.h"
#include <gioalias.h>
/**
* SECTION:gbufferedoutputstream
* @short_description: Buffered Output Stream
......@@ -758,4 +760,7 @@ g_buffered_output_stream_close_finish (GOutputStream *stream,
return TRUE;
}
#define __G_BUFFERED_OUTPUT_STREAM_C__
#include "gioaliasdef.c"
/* vim: ts=2 sw=2 et */
......@@ -27,6 +27,7 @@
#include "gcancellable.h"
#include "glibintl.h"
#include "gioalias.h"
/**
* SECTION:gcancellable
......@@ -334,4 +335,5 @@ g_cancellable_cancel (GCancellable *cancellable)
}
}
#define __G_CANCELLABLE_C__
#include "gioaliasdef.c"
......@@ -28,6 +28,8 @@
#include "gcontenttypeprivate.h"
#include "glibintl.h"
#include "gioalias.h"
/**
* SECTION:gcontenttype
* @short_description: platform specific content typing
......@@ -868,3 +870,6 @@ g_content_types_get_registered (void)
}
#endif /* Unix version */
#define __G_CONTENT_TYPE_C__
#include "gioaliasdef.c"
......@@ -25,6 +25,8 @@
#include "gdatainputstream.h"
#include "glibintl.h"
#include "gioalias.h"
/**
* SECTION:gdatainputstream
* @short_description: Data Input Stream
......@@ -854,3 +856,6 @@ g_data_input_stream_read_until (GDataInputStream *stream,
return data_until;
}
#define __G_DATA_INPUT_STREAM_C__
#include "gioaliasdef.c"
......@@ -25,6 +25,8 @@
#include "gdataoutputstream.h"
#include "glibintl.h"
#include "gioalias.h"
/**
* SECTION:gdataoutputstream
* @short_description: Data Output Stream
......@@ -473,3 +475,6 @@ g_data_output_stream_put_string (GDataOutputStream *stream,
&bytes_written,
cancellable, error);
}
#define __G_DATA_OUTPUT_STREAM_C__
#include "gioaliasdef.c"
......@@ -74,8 +74,6 @@ GDataOutputStream* g_data_output_stream_new (GOutputStream *base_stream)
void g_data_output_stream_set_byte_order (GDataOutputStream *stream,
GDataStreamByteOrder order);
GDataStreamByteOrder g_data_output_stream_get_byte_order (GDataOutputStream *stream);
void g_data_output_stream_set_expand_buffer (GDataOutputStream *stream,
gboolean expand_buffer);
gboolean g_data_output_stream_put_byte (GDataOutputStream *stream,
guchar data,
......
......@@ -36,6 +36,8 @@
#include <glib/gstdio.h>
#include "glibintl.h"
#include "gioalias.h"
#define DEFAULT_APPLICATIONS_GROUP "Default Applications"
#define MIME_CACHE_GROUP "MIME Cache"
......@@ -2190,3 +2192,6 @@ get_all_desktop_entries_for_mime_type (const char *base_mime_type)
return desktop_entries;
}
#define __G_DESKTOP_APP_INFO_C__
#include "gioaliasdef.c"
......@@ -29,6 +29,8 @@
#include "gvfs.h"
#include "glibintl.h"
#include "gioalias.h"
/**
* SECTION:gdirectorymonitor
* @short_description: Directory Monitor
......@@ -489,3 +491,6 @@ g_directory_monitor_emit_event (GDirectoryMonitor *monitor,
update_rate_limiter_timeout (monitor, limiter->send_virtual_changes_done_at);
}
}
#define __G_DIRECTORY_MONITOR_C__
#include "gioaliasdef.c"
......@@ -25,6 +25,8 @@
#include "gsimpleasyncresult.h"
#include "glibintl.h"
#include "gioalias.h"
/**
* SECTION:gdrive
* @short_description: Virtual File System drive management
......@@ -383,3 +385,6 @@ g_drive_eject_finish (GDrive *drive,
return (* iface->mount_finish) (drive, result, error);
}
#define __G_DRIVE_C__
#include "gioaliasdef.c"
......@@ -32,6 +32,8 @@
#include "gdummyfile.h"
#include "gioalias.h"
static void g_dummy_file_file_iface_init (GFileIface *iface);
typedef struct {
......
......@@ -34,6 +34,8 @@
#include "gpollfilemonitor.h"
#include "glibintl.h"
#include "gioalias.h"
/**
* SECTION:gfile
* @short_description: File and Directory Handling
......@@ -4605,3 +4607,6 @@ g_file_replace_contents_finish (GFile *file,
return TRUE;
}
#define __G_FILE_C__
#include "gioaliasdef.c"
......@@ -28,6 +28,8 @@
#include <glib-object.h>
#include "glibintl.h"
#include "gioalias.h"
/**
* SECTION:gfileattribute
* @short_description: Key-Value Paired File Attributes
......@@ -906,3 +908,6 @@ g_file_attribute_info_list_add (GFileAttributeInfoList *list,
list_update_public (priv);
}
#define __G_FILE_ATTRIBUTE_C__
#include "gioaliasdef.c"
......@@ -27,6 +27,8 @@
#include "gsimpleasyncresult.h"
#include "glibintl.h"
#include "gioalias.h"
/**
* SECTION:gfileenumerator
* @short_description: Enumerated Files Routines
......@@ -628,3 +630,6 @@ g_file_enumerator_real_close_finish (GFileEnumerator *enumerator,
g_file_enumerator_real_close_async);
return TRUE;
}
#define __G_FILE_ENUMERATOR_C__
#include "gioaliasdef.c"
......@@ -25,6 +25,8 @@
#include "gfileicon.h"
#include "gsimpleasyncresult.h"
#include "gioalias.h"
/**
* SECTION:gfileicon
* @short_description: Icons for given files
......@@ -269,3 +271,6 @@ g_file_icon_loadable_icon_iface_init (GLoadableIconIface *iface)
iface->load_async = g_file_icon_load_async;
iface->load_finish = g_file_icon_load_finish;
}
#define __G_FILE_ICON_C__
#include "gioaliasdef.c"
......@@ -42,6 +42,8 @@
#include "gfileinfo.h"
#include "glibintl.h"
#include "gioalias.h"
/* We use this nasty thing, because NULL is a valid attribute matcher (matches nothing) */
#define NO_ATTRIBUTE_MASK ((GFileAttributeMatcher *)1)
......@@ -2083,3 +2085,6 @@ g_file_attribute_matcher_enumerate_next (GFileAttributeMatcher *matcher)
return get_attribute_for_id (sub_matcher->id);
}
}
#define __G_FILE_INFO_C__
#include "gioaliasdef.c"
......@@ -28,6 +28,8 @@
#include "gsimpleasyncresult.h"
#include "glibintl.h"
#include "gioalias.h"
/**
* SECTION:gfileinputstream
* @short_description: file input streaming operations
......@@ -518,3 +520,7 @@ g_file_input_stream_real_query_info_finish (GFileInputStream *stream,
return NULL;
}
#define __G_FILE_INPUT_STREAM_C__
#include "gioaliasdef.c"
......@@ -28,6 +28,8 @@
#include "gvfs.h"
#include "glibintl.h"
#include "gioalias.h"
/**
* SECTION:gfilemonitor
* @short_description: File Monitor
......@@ -403,3 +405,6 @@ g_file_monitor_emit_event (GFileMonitor *monitor,
schedule_virtual_change_done (monitor, file);
}
}
#define __G_FILE_MONITOR_C__
#include "gioaliasdef.c"
......@@ -27,6 +27,8 @@
#include <string.h>
#include "glibintl.h"
#include "gioalias.h"
/**
* SECTION:gfilenamecompleter
* @short_description: Filename Completer
......@@ -508,3 +510,6 @@ g_filename_completer_set_dirs_only (GFilenameCompleter *completer,
completer->dirs_only = dirs_only;
}
#define __G_FILENAME_COMPLETER_C__
#include "gioaliasdef.c"
......@@ -28,6 +28,8 @@
#include "gsimpleasyncresult.h"
#include "glibintl.h"
#include "gioalias.h"
/**
* SECTION:gfileoutputstream
* @short_description: file output streaming operations
......@@ -645,3 +647,6 @@ g_file_output_stream_real_query_info_finish (GFileOutputStream *stream,
return NULL;
}
#define __G_FILE_OUTPUT_STREAM_C__
#include "gioaliasdef.c"
......@@ -25,6 +25,8 @@
#include "ginputstream.h"
#include "glibintl.h"
#include "gioalias.h"
/**
* SECTION:gfilterinputstream
* @short_description: Filter Input Stream
......@@ -396,4 +398,7 @@ g_filter_input_stream_close_finish (GInputStream *stream,
return res;
}
#define __G_FILTER_INPUT_STREAM_C__
#include "gioaliasdef.c"
/* vim: ts=2 sw=2 et */
......@@ -25,6 +25,8 @@
#include "goutputstream.h"
#include "glibintl.h"
#include "gioalias.h"
/**
* SECTION:gfilteroutputstream
* @short_description: Filter Output Stream
......@@ -376,5 +378,7 @@ g_filter_output_stream_close_finish (GOutputStream *stream,
return res;
}
#define __G_FILTER_OUTPUT_STREAM_C__
#include "gioaliasdef.c"
/* vim: ts=2 sw=2 et */
......@@ -25,6 +25,8 @@
#include "glibintl.h"
#include "gioalias.h"
static void g_icon_base_init (gpointer g_class);
static void g_icon_class_init (gpointer g_class,
gpointer class_data);
......@@ -120,3 +122,5 @@ g_icon_equal (GIcon *icon1,
return (* iface->equal) (icon1, icon2);
}
#define __G_ICON_C__
#include "gioaliasdef.c"
......@@ -28,6 +28,8 @@
#include "gseekable.h"
#include "gsimpleasyncresult.h"
#include "gioalias.h"
/**
* SECTION:ginputstream
* @short_description: base class for implementing streaming input
......@@ -1204,3 +1206,6 @@ g_input_stream_real_close_finish (GInputStream *stream,
g_assert (g_simple_async_result_get_source_tag (simple) == g_input_stream_real_close_async);
return TRUE;
}
#define __G_INPUT_STREAM_C__
#include "gioaliasdef.c"
/* This file lists all exported symbols. It is used to generate
* the gio.def file used to control exports on Windows and the
* gioalias.h/gioaliasdef.c files used to avoid PLT entries for
* internal uses of exported functions (see makegioalias.pl).
*
* Every symbol must be included in the right
* #ifdef IN_HEADER(sym) #endif and
* #ifdef IN_FILE(sym) #endif sections.
*/
#ifdef ALL_FILES
#define IN_FILE(x) 1
#define IN_HEADER(x) 1
#endif
#if IN_HEADER(__G_VFS_H__)
#if IN_FILE(__G_VFS_C__)
g_vfs_get_type G_GNUC_CONST
g_vfs_is_active
g_vfs_get_file_for_path
g_vfs_get_file_for_uri
g_vfs_get_supported_uri_schemes
g_vfs_parse_name
g_vfs_get_default
g_vfs_get_local
#endif
#endif
#if IN_HEADER(__G_APP_INFO_H__)
#if IN_FILE(__G_APP_INFO_C__)
g_app_info_get_type G_GNUC_CONST
g_app_launch_context_get_type G_GNUC_CONST
g_app_info_dup
g_app_info_equal
g_app_info_get_id
g_app_info_get_name
g_app_info_get_description
g_app_info_get_executable
g_app_info_get_icon
g_app_info_launch
g_app_info_supports_uris
g_app_info_launch_uris
g_app_info_should_show
g_app_info_set_as_default_for_type
g_app_info_set_as_default_for_extension
g_app_info_add_supports_type
g_app_info_can_remove_supports_type
g_app_info_remove_supports_type
g_app_launch_context_new
g_app_launch_context_get_display
g_app_launch_context_get_startup_notify_id
g_app_launch_context_launch_failed
#endif
#if IN_FILE(__G_DESKTOP_APP_INFO_C__)
g_app_info_create_from_commandline
g_app_info_get_all
g_app_info_get_all_for_type
g_app_info_get_default_for_type
g_app_info_get_default_for_uri_scheme
#endif
#endif
#if IN_HEADER(__G_ASYNC_RESULT_H__)
#if IN_FILE(__G_ASYNC_RESULT_C__)
g_async_result_get_type G_GNUC_CONST
g_async_result_get_user_data
g_async_result_get_source_object
#endif
#endif
#if IN_HEADER(__G_BUFFERED_INPUT_STREAM_H__)
#if IN_FILE(__G_BUFFERED_INPUT_STREAM_C__)
g_buffered_input_stream_get_type G_GNUC_CONST
g_buffered_input_stream_new
g_buffered_input_stream_new_sized
g_buffered_input_stream_get_buffer_size
g_buffered_input_stream_set_buffer_size
g_buffered_input_stream_get_available
g_buffered_input_stream_peek
g_buffered_input_stream_peek_buffer
g_buffered_input_stream_fill
g_buffered_input_stream_fill_async
g_buffered_input_stream_fill_finish
g_buffered_input_stream_read_byte
#endif
#endif
#if IN_HEADER(__G_BUFFERED_OUTPUT_STREAM_H__)
#if IN_FILE(__G_BUFFERED_OUTPUT_STREAM_C__)
g_buffered_output_stream_get_type G_GNUC_CONST;
g_buffered_output_stream_new
g_buffered_output_stream_new_sized
g_buffered_output_stream_get_buffer_size
g_buffered_output_stream_set_buffer_size
g_buffered_output_stream_get_auto_grow
g_buffered_output_stream_set_auto_grow
#endif
#endif
#if IN_HEADER(__G_CANCELLABLE_H__)
#if IN_FILE(__G_CANCELLABLE_C__)
g_cancellable_get_type G_GNUC_CONST
g_cancellable_new
g_cancellable_is_cancelled
g_cancellable_set_error_if_cancelled
g_cancellable_get_fd
g_cancellable_get_current
g_push_current_cancellable
g_pop_current_cancellable
g_cancellable_reset
g_cancellable_cancel
#endif
#endif
#if IN_HEADER(__G_CONTENT_TYPE_H__)
#if IN_FILE(__G_CONTENT_TYPE_C__)
g_content_type_equals
g_content_type_is_a
g_content_type_is_unknown
g_content_type_get_description
g_content_type_get_mime_type
g_content_type_get_icon
g_content_type_can_be_executable
g_content_type_guess
g_content_types_get_registered
#endif
#endif
#if IN_HEADER(__G_DATA_INPUT_STREAM_H__)
#if IN_FILE(__G_DATA_INPUT_STREAM_C__)
g_data_input_stream_get_type G_GNUC_CONST
g_data_input_stream_new
g_data_input_stream_set_byte_order
g_data_input_stream_get_byte_order
g_data_input_stream_set_newline_type
g_data_input_stream_get_newline_type
g_data_input_stream_read_byte
g_data_input_stream_read_int16
g_data_input_stream_read_uint16
g_data_input_stream_read_int32
g_data_input_stream_read_uint32
g_data_input_stream_read_int64
g_data_input_stream_read_uint64
g_data_input_stream_read_line
g_data_input_stream_read_until
#endif
#endif
#if IN_HEADER(__G_DATA_OUTPUT_STREAM_H__)
#if IN_FILE(__G_DATA_OUTPUT_STREAM_C__)
g_data_output_stream_get_type G_GNUC_CONST
g_data_output_stream_new
g_data_output_stream_set_byte_order
g_data_output_stream_get_byte_order
g_data_output_stream_put_byte
g_data_output_stream_put_int16
g_data_output_stream_put_uint16
g_data_output_stream_put_int32
g_data_output_stream_put_uint32
g_data_output_stream_put_int64
g_data_output_stream_put_uint64
g_data_output_stream_put_string
#endif
#endif
#if IN_HEADER(__G_DIRECTORY_MONITOR_H__)
#if IN_FILE(__G_DIRECTORY_MONITOR_C__)
g_directory_monitor_get_type G_GNUC_CONST
g_directory_monitor_cancel
g_directory_monitor_is_cancelled
g_directory_monitor_set_rate_limit
g_directory_monitor_emit_event
#endif
#endif
#if IN_HEADER(__G_DRIVE_H__)
#if IN_FILE(__G_DRIVE_C__)
g_drive_get_type G_GNUC_CONST
g_drive_get_name
g_drive_get_icon
g_drive_has_volumes
g_drive_get_volumes
g_drive_is_automounted
g_drive_can_mount
g_drive_can_eject
g_drive_mount
g_drive_mount_finish
g_drive_eject
g_drive_eject_finish
#endif
#endif
#if IN_HEADER(__G_FILE_ATTRIBUTE_H__)
#if IN_FILE(__G_FILE_ATTRIBUTE_C__)
g_file_attribute_value_new
g_file_attribute_value_free
g_file_attribute_value_clear
g_file_attribute_value_set
g_file_attribute_value_dup
g_file_attribute_value_as_string
g_file_attribute_value_get_string
g_file_attribute_value_get_byte_string
g_file_attribute_value_get_boolean
g_file_attribute_value_get_uint32
g_file_attribute_value_get_int32
g_file_attribute_value_get_uint64
g_file_attribute_value_get_int64
g_file_attribute_value_get_object
g_file_attribute_value_set_string
g_file_attribute_value_set_byte_string
g_file_attribute_value_set_boolean
g_file_attribute_value_set_uint32
g_file_attribute_value_set_int32
g_file_attribute_value_set_uint64
g_file_attribute_value_set_int64
g_file_attribute_value_set_object
g_file_attribute_info_list_new
g_file_attribute_info_list_ref
g_file_attribute_info_list_unref
g_file_attribute_info_list_dup
g_file_attribute_info_list_lookup
g_file_attribute_info_list_add
#endif
#endif
#if IN_HEADER(__G_FILE_H__)
#if IN_FILE(__G_FILE_C__)
g_file_get_type G_GNUC_CONST
g_file_new_for_path
g_file_new_for_uri
g_file_new_for_commandline_arg
g_file_parse_name
g_file_dup
g_file_hash
g_file_equal
g_file_get_basename
g_file_get_path
g_file_get_uri
g_file_get_parse_name
g_file_get_parent
g_file_get_child
g_file_get_child_for_display_name
g_file_contains_file
g_file_get_relative_path
g_file_resolve_relative_path