mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-12-26 15:36:14 +01:00
Merge branch 'wip/lantw/use-weak-symbols-in-gvdb' into 'master'
build: Use weak bindings in gvdb to fix linking with LLD Closes dconf#47 See merge request GNOME/gvdb!2
This commit is contained in:
commit
1fb31a16c3
@ -22,40 +22,55 @@
|
||||
|
||||
#include <glib.h>
|
||||
|
||||
/* We cannot enable the weak attribute unconditionally here because both
|
||||
* gvdb/gvdb-reader.c and tests/dconf-mock-gvdb.c include this file. The
|
||||
* intention of using weak symbols here is to allow the latter to override
|
||||
* functions defined in the former, so functions in tests/dconf-mock-gvdb.c
|
||||
* must have strong bindings. */
|
||||
#ifdef GVDB_USE_WEAK_SYMBOLS
|
||||
# ifdef __GNUC__
|
||||
# define GVDB_GNUC_WEAK __attribute__((weak))
|
||||
# else
|
||||
# define GVDB_GNUC_WEAK
|
||||
# endif
|
||||
#else
|
||||
# define GVDB_GNUC_WEAK
|
||||
#endif
|
||||
|
||||
typedef struct _GvdbTable GvdbTable;
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
G_GNUC_INTERNAL
|
||||
G_GNUC_INTERNAL GVDB_GNUC_WEAK
|
||||
GvdbTable * gvdb_table_new_from_bytes (GBytes *bytes,
|
||||
gboolean trusted,
|
||||
GError **error);
|
||||
G_GNUC_INTERNAL
|
||||
G_GNUC_INTERNAL GVDB_GNUC_WEAK
|
||||
GvdbTable * gvdb_table_new (const gchar *filename,
|
||||
gboolean trusted,
|
||||
GError **error);
|
||||
G_GNUC_INTERNAL
|
||||
G_GNUC_INTERNAL GVDB_GNUC_WEAK
|
||||
void gvdb_table_free (GvdbTable *table);
|
||||
G_GNUC_INTERNAL
|
||||
G_GNUC_INTERNAL GVDB_GNUC_WEAK
|
||||
gchar ** gvdb_table_get_names (GvdbTable *table,
|
||||
gsize *length);
|
||||
G_GNUC_INTERNAL
|
||||
G_GNUC_INTERNAL GVDB_GNUC_WEAK
|
||||
gchar ** gvdb_table_list (GvdbTable *table,
|
||||
const gchar *key);
|
||||
G_GNUC_INTERNAL
|
||||
G_GNUC_INTERNAL GVDB_GNUC_WEAK
|
||||
GvdbTable * gvdb_table_get_table (GvdbTable *table,
|
||||
const gchar *key);
|
||||
G_GNUC_INTERNAL
|
||||
G_GNUC_INTERNAL GVDB_GNUC_WEAK
|
||||
GVariant * gvdb_table_get_raw_value (GvdbTable *table,
|
||||
const gchar *key);
|
||||
G_GNUC_INTERNAL
|
||||
G_GNUC_INTERNAL GVDB_GNUC_WEAK
|
||||
GVariant * gvdb_table_get_value (GvdbTable *table,
|
||||
const gchar *key);
|
||||
|
||||
G_GNUC_INTERNAL
|
||||
G_GNUC_INTERNAL GVDB_GNUC_WEAK
|
||||
gboolean gvdb_table_has_value (GvdbTable *table,
|
||||
const gchar *key);
|
||||
G_GNUC_INTERNAL
|
||||
G_GNUC_INTERNAL GVDB_GNUC_WEAK
|
||||
gboolean gvdb_table_is_valid (GvdbTable *table);
|
||||
|
||||
G_END_DECLS
|
||||
|
Loading…
Reference in New Issue
Block a user