Fix compilation of gudev and introspection

This commit the related issues of building gudev with/out
introspection.  It draws on suggestions from nvinson in

 https://github.com/gentoo/eudev/pull/20

Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
This commit is contained in:
Anthony G. Basile 2012-11-25 15:37:04 -05:00
parent e0551bfe66
commit 518c07d5b4
8 changed files with 56 additions and 184 deletions

29
.gitignore vendored
View File

@ -30,3 +30,32 @@ m4/lt~obsolete.m4
m4/gtk-doc.m4
docs/gtk-doc.make
docs/gudev/version.xml
docs/libudev/version.xml
man/udev.7
man/udevadm.8
src/accelerometer/accelerometer
src/ata_id/ata_id
src/cdrom_id/cdrom_id
src/collect/collect
src/mtd_probe/mtd_probe
src/scsi_id/scsi_id
src/v4l_id/v4l_id
src/gudev/gudevenumtypes.c
src/gudev/gudevenumtypes.h
src/gudev/gudevmarshal.c
src/gudev/gudevmarshal.h
src/keymap/check-keymaps.sh
src/keymap/keyboard-force-release.sh
src/keymap/keymap
src/keymap/keys-from-name.gperf
src/keymap/keys-from-name.h
src/keymap/keys-to-name.h
src/keymap/keys.txt
test/test-libudev
test/test-udev
test/test

View File

@ -158,11 +158,8 @@ AC_SUBST([sharepkgconfigdir],[${datadir}/pkgconfig])
# ------------------------------------------------------------------------------
have_introspection=no
AC_ARG_ENABLE([introspection],
[AS_HELP_STRING([--without-introspection], [Disable man page index and systemd-python (default: no)])])
GOBJECT_INTROSPECTION_CHECK([1.31.1])
AM_CONDITIONAL([HAVE_INTROSPECTION], [test "$have_introspection" = "yes"])
AM_CONDITIONAL([HAVE_INTROSPECTION], [test "$enable_introspection" = "yes"])
# ------------------------------------------------------------------------------
have_selinux=no

View File

@ -27,23 +27,15 @@ CLEANFILES = \
gudev-1.0.pc
libgudev_1_0_la_SOURCES = \
gudevenums.h \
gudevenumtypes.h \
gudevenumtypes.h\
gudevtypes.h \
gudevclient.h \
gudevenumtypes.c\
gudevclient.c \
gudevdevice.h \
gudevdevice.c \
gudevenumerator.h \
gudevenumerator.c \
gudevprivate.h
gudevenumerator.c
nodist_libgudev_1_0_la_SOURCES = \
gudevmarshal.h \
gudevmarshal.c \
gudevenumtypes.h \
gudevenumtypes.c
gudevmarshal.c
BUILT_SOURCES = \
$(nodist_libgudev_1_0_la_SOURCES)
@ -88,12 +80,20 @@ gudevenumtypes.%: gudevenumtypes.%.template gudevenums.h
$(AM_V_at)$(MKDIR_P) $(dir $@)
$(AM_V_GEN)glib-mkenums --template $^ > $@
CLEANFILES += \
gudevmarshal.h \
gudevmarshal.c \
gudevenumtypes.h \
gudevenumtypes.c
if HAVE_INTROSPECTION
-include $(INTROSPECTION_MAKEFILE)
GUdev-1.0.gir: libgudev-1.0.la
GUdev-1.0.gir: \
libgudev-1.0.la
GUdev_1_0_gir_INCLUDES = GObject-2.0
GUdev_1_0_gir_INCLUDES = \
GObject-2.0
GUdev_1_0_gir_CFLAGS = \
$(INCLUDES) \
@ -105,7 +105,8 @@ GUdev_1_0_gir_CFLAGS = \
-I$(top_builddir)/src/gdev
GUdev_1_0_gir_LIBS = \
libgudev-1.0.la
$(top_builddir)/src/gudev/libgudev-1.0.la \
$(top_builddir)/src/udev/libudev-core.la
GUdev_1_0_gir_SCANNERFLAGS = \
--pkg-export=gudev-1.0 \
@ -123,8 +124,11 @@ GUdev_1_0_gir_FILES = \
gudevdevice.c \
gudevenumerator.c
INTROSPECTION_GIRS = GUdev-1.0.gir
INTROSPECTION_SCANNER_ARGS = --c-include=gudev.h
INTROSPECTION_GIRS = \
GUdev-1.0.gir
INTROSPECTION_SCANNER_ARGS = \
--c-include=gudev.h
girdir = $(datadir)/gir-1.0
gir_DATA = \

View File

@ -22,12 +22,12 @@
#define __G_UDEV_H__
#define _GUDEV_INSIDE_GUDEV_H
#include <gudev/gudevenums.h>
#include <gudev/gudevenumtypes.h>
#include <gudev/gudevtypes.h>
#include <gudev/gudevclient.h>
#include <gudev/gudevdevice.h>
#include <gudev/gudevenumerator.h>
#include <gudevenums.h>
#include <gudevenumtypes.h>
#include <gudevtypes.h>
#include <gudevclient.h>
#include <gudevdevice.h>
#include <gudevenumerator.h>
#undef _GUDEV_INSIDE_GUDEV_H
#endif /* __G_UDEV_H__ */

View File

@ -1,30 +0,0 @@
/* Generated data (by glib-mkenums) */
#include <gudev.h>
/* enumerations from "gudevenums.h" */
GType
g_udev_device_type_get_type (void)
{
static volatile gsize g_define_type_id__volatile = 0;
if (g_once_init_enter (&g_define_type_id__volatile))
{
static const GEnumValue values[] = {
{ G_UDEV_DEVICE_TYPE_NONE, "G_UDEV_DEVICE_TYPE_NONE", "none" },
{ G_UDEV_DEVICE_TYPE_BLOCK, "G_UDEV_DEVICE_TYPE_BLOCK", "block" },
{ G_UDEV_DEVICE_TYPE_CHAR, "G_UDEV_DEVICE_TYPE_CHAR", "char" },
{ 0, NULL, NULL }
};
GType g_define_type_id =
g_enum_register_static (g_intern_static_string ("GUdevDeviceType"), values);
g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
}
return g_define_type_id__volatile;
}
/* Generated data ends here */

View File

@ -1,19 +0,0 @@
/* Generated data (by glib-mkenums) */
#ifndef __GUDEV_ENUM_TYPES_H__
#define __GUDEV_ENUM_TYPES_H__
#include <glib-object.h>
G_BEGIN_DECLS
/* enumerations from "gudevenums.h" */
GType g_udev_device_type_get_type (void) G_GNUC_CONST;
#define G_TYPE_UDEV_DEVICE_TYPE (g_udev_device_type_get_type ())
G_END_DECLS
#endif /* __GUDEV_ENUM_TYPES_H__ */
/* Generated data ends here */

View File

@ -1,89 +0,0 @@
#include "gudevmarshal.h"
#include <glib-object.h>
#ifdef G_ENABLE_DEBUG
#define g_marshal_value_peek_boolean(v) g_value_get_boolean (v)
#define g_marshal_value_peek_char(v) g_value_get_schar (v)
#define g_marshal_value_peek_uchar(v) g_value_get_uchar (v)
#define g_marshal_value_peek_int(v) g_value_get_int (v)
#define g_marshal_value_peek_uint(v) g_value_get_uint (v)
#define g_marshal_value_peek_long(v) g_value_get_long (v)
#define g_marshal_value_peek_ulong(v) g_value_get_ulong (v)
#define g_marshal_value_peek_int64(v) g_value_get_int64 (v)
#define g_marshal_value_peek_uint64(v) g_value_get_uint64 (v)
#define g_marshal_value_peek_enum(v) g_value_get_enum (v)
#define g_marshal_value_peek_flags(v) g_value_get_flags (v)
#define g_marshal_value_peek_float(v) g_value_get_float (v)
#define g_marshal_value_peek_double(v) g_value_get_double (v)
#define g_marshal_value_peek_string(v) (char*) g_value_get_string (v)
#define g_marshal_value_peek_param(v) g_value_get_param (v)
#define g_marshal_value_peek_boxed(v) g_value_get_boxed (v)
#define g_marshal_value_peek_pointer(v) g_value_get_pointer (v)
#define g_marshal_value_peek_object(v) g_value_get_object (v)
#define g_marshal_value_peek_variant(v) g_value_get_variant (v)
#else /* !G_ENABLE_DEBUG */
/* WARNING: This code accesses GValues directly, which is UNSUPPORTED API.
* Do not access GValues directly in your code. Instead, use the
* g_value_get_*() functions
*/
#define g_marshal_value_peek_boolean(v) (v)->data[0].v_int
#define g_marshal_value_peek_char(v) (v)->data[0].v_int
#define g_marshal_value_peek_uchar(v) (v)->data[0].v_uint
#define g_marshal_value_peek_int(v) (v)->data[0].v_int
#define g_marshal_value_peek_uint(v) (v)->data[0].v_uint
#define g_marshal_value_peek_long(v) (v)->data[0].v_long
#define g_marshal_value_peek_ulong(v) (v)->data[0].v_ulong
#define g_marshal_value_peek_int64(v) (v)->data[0].v_int64
#define g_marshal_value_peek_uint64(v) (v)->data[0].v_uint64
#define g_marshal_value_peek_enum(v) (v)->data[0].v_long
#define g_marshal_value_peek_flags(v) (v)->data[0].v_ulong
#define g_marshal_value_peek_float(v) (v)->data[0].v_float
#define g_marshal_value_peek_double(v) (v)->data[0].v_double
#define g_marshal_value_peek_string(v) (v)->data[0].v_pointer
#define g_marshal_value_peek_param(v) (v)->data[0].v_pointer
#define g_marshal_value_peek_boxed(v) (v)->data[0].v_pointer
#define g_marshal_value_peek_pointer(v) (v)->data[0].v_pointer
#define g_marshal_value_peek_object(v) (v)->data[0].v_pointer
#define g_marshal_value_peek_variant(v) (v)->data[0].v_pointer
#endif /* !G_ENABLE_DEBUG */
/* VOID:STRING,OBJECT (gudevmarshal.list:1) */
void
g_udev_marshal_VOID__STRING_OBJECT (GClosure *closure,
GValue *return_value G_GNUC_UNUSED,
guint n_param_values,
const GValue *param_values,
gpointer invocation_hint G_GNUC_UNUSED,
gpointer marshal_data)
{
typedef void (*GMarshalFunc_VOID__STRING_OBJECT) (gpointer data1,
gpointer arg_1,
gpointer arg_2,
gpointer data2);
register GMarshalFunc_VOID__STRING_OBJECT callback;
register GCClosure *cc = (GCClosure*) closure;
register gpointer data1, data2;
g_return_if_fail (n_param_values == 3);
if (G_CCLOSURE_SWAP_DATA (closure))
{
data1 = closure->data;
data2 = g_value_peek_pointer (param_values + 0);
}
else
{
data1 = g_value_peek_pointer (param_values + 0);
data2 = closure->data;
}
callback = (GMarshalFunc_VOID__STRING_OBJECT) (marshal_data ? marshal_data : cc->callback);
callback (data1,
g_marshal_value_peek_string (param_values + 1),
g_marshal_value_peek_object (param_values + 2),
data2);
}

View File

@ -1,20 +0,0 @@
#ifndef __g_udev_marshal_MARSHAL_H__
#define __g_udev_marshal_MARSHAL_H__
#include <glib-object.h>
G_BEGIN_DECLS
/* VOID:STRING,OBJECT (gudevmarshal.list:1) */
extern void g_udev_marshal_VOID__STRING_OBJECT (GClosure *closure,
GValue *return_value,
guint n_param_values,
const GValue *param_values,
gpointer invocation_hint,
gpointer marshal_data);
G_END_DECLS
#endif /* __g_udev_marshal_MARSHAL_H__ */