#include <gobject/gtype.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
+G_BEGIN_DECLS
/* helper macro to avoid signed overflow for value comparisions */
#define G_BSEARCH_ARRAY_CMP(v1,v2) ((v1) < (v2) ? -1 : (v1) > (v2) ? 1 : 0)
}
#endif /* G_CAN_INLINE || __G_BSEARCHARRAY_C__ */
-
-
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
#endif /* __G_BSEARCH_ARRAY_H__ */
* gvalue.[hc]: marked g_value_fits_pointer() and g_value_peek_pointer()
as private (the latter got renamed from g_value_get_as_pointer()).
+2001-02-21 Tor Lillqvist <tml@iki.fi>
+
+ * *.h: Use G_BEGIN_DECLS and G_END_DECLS.
+
+ * Makefile.am: Use libglib-1.3.la from top_builddir. Invoke
+ libtool with -no-undefined for Win32 and Cygwin.
+
Wed Feb 21 18:31:46 2001 Jonathan Blandford <jrb@redhat.com>
* gsignal.h (g_signal_connect): Add g_signal_connect define to
-DG_DISABLE_CONST_RETURNS \
@STRIP_END@
+libglib = $(top_builddir)/libglib-1.3.la
+
# libraries to compile and install
lib_LTLIBRARIES = libgobject-1.3.la
+if PLATFORM_WIN32
+no_undefined = -no-undefined
+endif
+if OS_WIN32
+export_symbols = -export-symbols gobject.def
+endif
+
# libtool stuff: set version and export symbols for resolving
libgobjectincludedir = $(includedir)/glib-2.0/gobject
libgobject_1_3_la_LDFLAGS = @STRIP_BEGIN@ \
-version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \
- -export-dynamic \
+ -export-dynamic $(no_undefined) $(export_symbols) \
@STRIP_END@
-libgobject_1_3_la_LIBADD = # $(libglib)
+libgobject_1_3_la_LIBADD = $(libglib)
#
# setup source file variables
# versions in the build dir. thus a development setup requires
# srcdir to be writable, passing --disable-rebuilds to
# ../configure will supress all autogeneration rules.
-$(srcdir)/stamp-gmarshal.h: @REBUILD@ gmarshal.list gmarshal.h glib-genmarshal
+$(srcdir)/stamp-gmarshal.h: @REBUILD@ gmarshal.list gmarshal.h glib-genmarshal$(EXEEXT)
echo "#ifndef __G_MARSHAL_H__" > xgen-gmh \
&& echo "#define __G_MARSHAL_H__" >> xgen-gmh \
&& ./glib-genmarshal --nostdinc --prefix=g_cclosure_marshal $(srcdir)/gmarshal.list --header >> xgen-gmh \
glib_genmarshal_SOURCES = glib-genmarshal.c
testgruntime_SOURCES = testgruntime.c
# link programs against libgobject
-progs_LDADD = libgobject-1.3.la ../libglib-1.3.la
-glib_genmarshal_LDADD = ../libglib-1.3.la # can't have libgobject here
+progs_LDADD = libgobject-1.3.la $(libglib)
+glib_genmarshal_LDADD = $(libglib)
gobject_query_LDADD = $(progs_LDADD)
testgruntime_LDADD = $(progs_LDADD)
#include <gobject/gtype.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
+G_BEGIN_DECLS
/* --- type macros --- */
#define G_TYPE_IS_BOXED(type) (G_TYPE_FUNDAMENTAL (type) == G_TYPE_BOXED)
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
#endif /* __G_BOXED_H__ */
#include <gobject/gtype.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
+G_BEGIN_DECLS
/* helper macro to avoid signed overflow for value comparisions */
#define G_BSEARCH_ARRAY_CMP(v1,v2) ((v1) < (v2) ? -1 : (v1) > (v2) ? 1 : 0)
}
#endif /* G_CAN_INLINE || __G_BSEARCHARRAY_C__ */
-
-
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
#endif /* __G_BSEARCH_ARRAY_H__ */
#include <gobject/gtype.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-
+G_BEGIN_DECLS
/* --- defines --- */
#define G_CLOSURE_NEEDS_MARSHAL(closure) (((GClosure*) (closure))->marshal == NULL)
- provide marshaller collection, virtually covering anything out there
*/
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
#endif /* __G_CLOSURE_H__ */
#include <gobject/gtype.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
+G_BEGIN_DECLS
/* --- type macros --- */
#define G_TYPE_IS_ENUM(type) (G_TYPE_FUNDAMENTAL (type) == G_TYPE_ENUM)
GTypeInfo *info,
const GFlagsValue *const_values);
-
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
#endif /* __G_ENUMS_H__ */
#include <gobject/gparam.h>
#include <gobject/gclosure.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
+G_BEGIN_DECLS
/* --- type macros --- */
#define G_TYPE_IS_OBJECT(type) (G_TYPE_FUNDAMENTAL (type) == G_TYPE_OBJECT)
G_OBJECT_TYPE_NAME (_object)); \
} G_STMT_END
-
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
#endif /* __G_OBJECT_H__ */
#include <gobject/gvalue.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
+G_BEGIN_DECLS
/* --- type macros --- */
#define G_TYPE_IS_PARAM(type) (G_TYPE_FUNDAMENTAL (type) == G_TYPE_PARAM)
* >0 if value1 > value2, and 0 otherwise (they are equal)
*/
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
#endif /* __G_PARAM_H__ */
#include <gobject/gboxed.h>
#include <gobject/gobject.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
+G_BEGIN_DECLS
/* --- type macros --- */
#define G_IS_PARAM_SPEC_CHAR(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_CHAR))
GParamFlags flags);
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
#endif /* __G_PARAMSPECS_H__ */
#include <gobject/gparam.h>
#include <gobject/gmarshal.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
+G_BEGIN_DECLS
/* --- typedefs --- */
typedef struct _GSignalQuery GSignalQuery;
void g_signal_handlers_destroy (gpointer instance);
void _g_signals_destroy (GType itype);
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
#endif /* __G_SIGNAL_H__ */
extern const char *g_log_domain_gruntime;
#include <glib.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
+G_BEGIN_DECLS
/* Basic Type Macros
*/
#define G_TYPE_FLAG_RESERVED_ID_BIT (1 << 30)
extern GTypeDebugFlags _g_type_debug_flags;
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
#endif /* __G_TYPE_H__ */
#include <gobject/gtype.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-
+G_BEGIN_DECLS
/* --- type macros --- */
#define G_TYPE_TYPE_PLUGIN (g_type_plugin_get_type ())
GType instance_type,
GInterfaceInfo *info);
-
-
-
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
#endif /* __G_TYPE_PLUGIN_H__ */
#include <gobject/gtype.h>
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
+G_BEGIN_DECLS
/* --- type macros --- */
#define G_TYPE_IS_VALUE(type) (g_type_value_table_peek (type) != NULL)
#define G_VALUE_NOCOPY_CONTENTS (1 << 27)
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
#endif /* __G_VALUE_H__ */
#ifndef __G_VALUE_COLLECTOR_H__
#define __G_VALUE_COLLECTOR_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
+G_BEGIN_DECLS
/* we may want to add aggregate types here some day, if requested
* by users. the basic C types are covered already, everything
#define G_VALUE_COLLECT_FORMAT_MAX_LENGTH (8)
-
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
#endif /* __G_VALUE_COLLECTOR_H__ */
#include <gobject/gvalue.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
+G_BEGIN_DECLS
/* --- type macros --- */
#define G_VALUE_HOLDS_CHAR(value) (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_CHAR))
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
#endif /* __G_VALUETYPES_H__ */