mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-03-03 14:42:10 +01:00
gobject/: fully remove gobjectalias hacks
This commit is contained in:
parent
2e53e50244
commit
0fc50fa5f7
2
gobject/.gitignore
vendored
2
gobject/.gitignore
vendored
@ -3,8 +3,6 @@ glib-mkenums
|
||||
gmarshal.[ch]
|
||||
gmarshal.strings
|
||||
gobject-query
|
||||
gobjectalias.h
|
||||
gobjectaliasdef.c
|
||||
testgobject
|
||||
libgobject-gdb.py
|
||||
makefile.msc
|
||||
|
@ -26,15 +26,9 @@ AM_CPPFLAGS = \
|
||||
gobject.def: gobject.symbols
|
||||
$(AM_V_GEN) (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
|
||||
|
||||
gobjectalias.h: gobject.symbols makegobjectalias.pl
|
||||
$(AM_V_GEN) $(PERL) $(srcdir)/makegobjectalias.pl < $(srcdir)/gobject.symbols > gobjectalias.h
|
||||
|
||||
gobjectaliasdef.c: gobject.symbols makegobjectalias.pl
|
||||
$(AM_V_GEN) $(PERL) $(srcdir)/makegobjectalias.pl -def < $(srcdir)/gobject.symbols > gobjectaliasdef.c
|
||||
|
||||
if OS_LINUX
|
||||
if HAVE_GNUC_VISIBILITY
|
||||
TESTS = abicheck.sh pltcheck.sh
|
||||
TESTS = abicheck.sh
|
||||
endif
|
||||
endif
|
||||
|
||||
@ -144,7 +138,7 @@ gobject_c_sources = \
|
||||
gvaluetypes.c
|
||||
|
||||
# these sources (also mentioned above) are generated.
|
||||
BUILT_SOURCES = gmarshal.h gmarshal.c gobjectalias.h gobjectaliasdef.c
|
||||
BUILT_SOURCES = gmarshal.h gmarshal.c
|
||||
|
||||
if ENABLE_DTRACE
|
||||
gobject_probes.h: gobject_probes.d Makefile
|
||||
@ -182,7 +176,6 @@ EXTRA_HEADERS =
|
||||
EXTRA_DIST += \
|
||||
$(gobject_private_h_sources) \
|
||||
$(gobject_extra_sources) \
|
||||
makegobjectalias.pl \
|
||||
marshal-genstrings.pl
|
||||
|
||||
#
|
||||
@ -259,17 +252,14 @@ EXTRA_DIST += \
|
||||
gobject.rc.in \
|
||||
libgobject-gdb.py.in \
|
||||
glib-mkenums.in \
|
||||
abicheck.sh \
|
||||
pltcheck.sh
|
||||
abicheck.sh
|
||||
|
||||
BUILT_EXTRA_DIST = \
|
||||
makefile.msc \
|
||||
gobject.rc \
|
||||
gmarshal.h \
|
||||
gmarshal.c \
|
||||
stamp-gmarshal.h \
|
||||
gobjectalias.h \
|
||||
gobjectaliasdef.c
|
||||
stamp-gmarshal.h
|
||||
|
||||
gobject-win32-res.o: gobject.rc
|
||||
$(AM_V_GEN) $(WINDRES) gobject.rc $@
|
||||
|
@ -112,7 +112,6 @@
|
||||
|
||||
#include "glibintl.h"
|
||||
|
||||
#include "gobjectalias.h"
|
||||
|
||||
GType
|
||||
g_binding_flags_get_type (void)
|
||||
@ -952,6 +951,3 @@ g_object_bind_property (gpointer source,
|
||||
NULL,
|
||||
NULL, NULL);
|
||||
}
|
||||
|
||||
#define __G_BINDING_C__
|
||||
#include "gobjectaliasdef.c"
|
||||
|
@ -27,7 +27,6 @@
|
||||
#include "gvaluearray.h"
|
||||
#include "gclosure.h"
|
||||
#include "gvaluecollector.h"
|
||||
#include "gobjectalias.h"
|
||||
|
||||
|
||||
/**
|
||||
@ -666,6 +665,3 @@ g_value_take_boxed (GValue *value,
|
||||
|
||||
value_set_boxed_internal (value, boxed, FALSE, TRUE);
|
||||
}
|
||||
|
||||
#define __G_BOXED_C__
|
||||
#include "gobjectaliasdef.c"
|
||||
|
@ -28,7 +28,6 @@
|
||||
|
||||
#include "gclosure.h"
|
||||
#include "gvalue.h"
|
||||
#include "gobjectalias.h"
|
||||
|
||||
|
||||
/**
|
||||
@ -1237,6 +1236,3 @@ g_signal_type_cclosure_new (GType itype,
|
||||
* A marshaller for a #GCClosure with a callback of type
|
||||
* <literal>gchar* (*callback) (gpointer instance, GObject *arg1, gpointer arg2, gpointer user_data)</literal>.
|
||||
*/
|
||||
|
||||
#define __G_CLOSURE_C__
|
||||
#include "gobjectaliasdef.c"
|
||||
|
@ -28,7 +28,6 @@
|
||||
#include "genums.h"
|
||||
#include "gvalue.h"
|
||||
#include "gvaluecollector.h"
|
||||
#include "gobjectalias.h"
|
||||
|
||||
|
||||
/**
|
||||
@ -619,6 +618,3 @@ g_value_get_flags (const GValue *value)
|
||||
|
||||
return value->data[0].v_ulong;
|
||||
}
|
||||
|
||||
#define __G_ENUMS_C__
|
||||
#include "gobjectaliasdef.c"
|
||||
|
@ -34,12 +34,9 @@
|
||||
#include "gparamspecs.h"
|
||||
#include "gvaluetypes.h"
|
||||
#include "gobject_trace.h"
|
||||
#include "gobjectalias.h"
|
||||
|
||||
/* This should be included after gobjectalias.h (or pltcheck.sh will fail) */
|
||||
#include "gobjectnotifyqueue.c"
|
||||
|
||||
|
||||
/**
|
||||
* SECTION:objects
|
||||
* @short_description: The base object type
|
||||
@ -3326,6 +3323,3 @@ static void
|
||||
g_initially_unowned_class_init (GInitiallyUnownedClass *klass)
|
||||
{
|
||||
}
|
||||
|
||||
#define __G_OBJECT_C__
|
||||
#include "gobjectaliasdef.c"
|
||||
|
@ -1,7 +1,5 @@
|
||||
/* This file lists all exported symbols. It is used to generate
|
||||
* the gobject.def file used to control exports on Windows and the
|
||||
* gobjectalias.h/gobjectaliasdef.c files used to avoid PLT entries for
|
||||
* internal uses of exported functions (see makegobjectalias.pl).
|
||||
* the gobject.def file used to control exports on Windows.
|
||||
*
|
||||
* Every symbol must be included in the right
|
||||
* #ifdef IN_HEADER(sym) #endif and
|
||||
|
@ -28,7 +28,6 @@
|
||||
#include "gparam.h"
|
||||
#include "gparamspecs.h"
|
||||
#include "gvaluecollector.h"
|
||||
#include "gobjectalias.h"
|
||||
|
||||
|
||||
/**
|
||||
@ -1496,6 +1495,3 @@ g_value_dup_param (const GValue *value)
|
||||
|
||||
return value->data[0].v_pointer ? g_param_spec_ref (value->data[0].v_pointer) : NULL;
|
||||
}
|
||||
|
||||
#define __G_PARAM_C__
|
||||
#include "gobjectaliasdef.c"
|
||||
|
@ -29,7 +29,6 @@
|
||||
#include "gparamspecs.h"
|
||||
#include "gvaluecollector.h"
|
||||
#include "gvaluearray.h"
|
||||
#include "gobjectalias.h"
|
||||
|
||||
|
||||
/**
|
||||
@ -2517,6 +2516,3 @@ g_param_spec_variant (const gchar *name,
|
||||
|
||||
return G_PARAM_SPEC (vspec);
|
||||
}
|
||||
|
||||
#define __G_PARAMSPECS_C__
|
||||
#include "gobjectaliasdef.c"
|
||||
|
@ -37,7 +37,6 @@
|
||||
#include "gobject.h"
|
||||
#include "genums.h"
|
||||
#include "gobject_trace.h"
|
||||
#include "gobjectalias.h"
|
||||
|
||||
|
||||
/**
|
||||
@ -3442,6 +3441,3 @@ g_signal_accumulator_true_handled (GSignalInvocationHint *ihint,
|
||||
|
||||
/* --- compile standard marshallers --- */
|
||||
#include "gmarshal.c"
|
||||
|
||||
#define __G_SIGNAL_C__
|
||||
#include "gobjectaliasdef.c"
|
||||
|
@ -25,7 +25,6 @@
|
||||
#include "gmarshal.h"
|
||||
#include "gvalue.h"
|
||||
#include "gvaluetypes.h"
|
||||
#include "gobjectalias.h"
|
||||
|
||||
|
||||
GType
|
||||
@ -204,6 +203,3 @@ g_source_set_closure (GSource *source,
|
||||
g_closure_set_marshal (closure, marshal);
|
||||
}
|
||||
}
|
||||
|
||||
#define __G_SOURCECLOSURE_C__
|
||||
#include "gobjectaliasdef.c"
|
||||
|
@ -30,7 +30,6 @@
|
||||
#include "gtypeplugin.h"
|
||||
#include "gvaluecollector.h"
|
||||
#include "gbsearcharray.h"
|
||||
#include "gobjectalias.h"
|
||||
#include "gatomicarray.h"
|
||||
#include "gobject_trace.h"
|
||||
|
||||
@ -4616,6 +4615,3 @@ g_type_class_get_private (GTypeClass *klass,
|
||||
|
||||
return G_STRUCT_MEMBER_P (klass, offset);
|
||||
}
|
||||
|
||||
#define __G_TYPE_C__
|
||||
#include "gobjectaliasdef.c"
|
||||
|
@ -23,7 +23,6 @@
|
||||
|
||||
#include "gtypeplugin.h"
|
||||
#include "gtypemodule.h"
|
||||
#include "gobjectalias.h"
|
||||
|
||||
|
||||
/**
|
||||
@ -580,7 +579,3 @@ g_type_module_register_flags (GTypeModule *module,
|
||||
return g_type_module_register_type (G_TYPE_MODULE (module),
|
||||
G_TYPE_FLAGS, name, &flags_type_info, 0);
|
||||
}
|
||||
|
||||
|
||||
#define __G_TYPE_MODULE_C__
|
||||
#include "gobjectaliasdef.c"
|
||||
|
@ -20,7 +20,6 @@
|
||||
#include "config.h"
|
||||
|
||||
#include "gtypeplugin.h"
|
||||
#include "gobjectalias.h"
|
||||
|
||||
|
||||
/**
|
||||
@ -205,6 +204,3 @@ g_type_plugin_complete_interface_info (GTypePlugin *plugin,
|
||||
interface_type,
|
||||
info);
|
||||
}
|
||||
|
||||
#define __G_TYPE_PLUGIN_C__
|
||||
#include "gobjectaliasdef.c"
|
||||
|
@ -28,7 +28,6 @@
|
||||
#include "gvalue.h"
|
||||
#include "gvaluecollector.h"
|
||||
#include "gbsearcharray.h"
|
||||
#include "gobjectalias.h"
|
||||
|
||||
|
||||
/**
|
||||
@ -554,6 +553,3 @@ g_value_transform (const GValue *src_value,
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
#define __G_VALUE_C__
|
||||
#include "gobjectaliasdef.c"
|
||||
|
@ -27,7 +27,6 @@
|
||||
#include <stdlib.h> /* qsort() */
|
||||
|
||||
#include "gvaluearray.h"
|
||||
#include "gobjectalias.h"
|
||||
|
||||
|
||||
/**
|
||||
@ -340,6 +339,3 @@ g_value_array_sort_with_data (GValueArray *value_array,
|
||||
compare_func, user_data);
|
||||
return value_array;
|
||||
}
|
||||
|
||||
#define __G_VALUE_ARRAY_C__
|
||||
#include "gobjectaliasdef.c"
|
||||
|
@ -23,7 +23,6 @@
|
||||
|
||||
#include "gvalue.h"
|
||||
#include "genums.h"
|
||||
#include "gobjectalias.h"
|
||||
|
||||
|
||||
/* same type transforms
|
||||
|
@ -33,7 +33,6 @@
|
||||
#include "gparam.h"
|
||||
#include "gboxed.h"
|
||||
#include "genums.h"
|
||||
#include "gobjectalias.h"
|
||||
|
||||
|
||||
/* --- value functions --- */
|
||||
@ -1394,6 +1393,3 @@ g_pointer_type_register_static (const gchar *name)
|
||||
|
||||
return type;
|
||||
}
|
||||
|
||||
#define __G_VALUETYPES_C__
|
||||
#include "gobjectaliasdef.c"
|
||||
|
@ -17,8 +17,6 @@ all : \
|
||||
glib-genmarshal.exe \
|
||||
gmarshal.h \
|
||||
gmarshal.c \
|
||||
gobjectalias.h \
|
||||
gobjectaliasdef.c \
|
||||
gmarshal.strings \
|
||||
gobject-query.exe \
|
||||
libgobject-2.0-@LT_CURRENT_MINUS_AGE@.dll \
|
||||
@ -42,12 +40,6 @@ gobject_OBJECTS = \
|
||||
gvaluetypes.obj \
|
||||
gvaluetransform.obj
|
||||
|
||||
gobjectalias.h: gobject.symbols
|
||||
perl makegobjectalias.pl < gobject.symbols > gobjectalias.h
|
||||
|
||||
gobjectaliasdef.c: gobject.symbols
|
||||
perl makegobjectalias.pl -def < gobject.symbols > gobjectaliasdef.c
|
||||
|
||||
gobject.def: gobject.symbols
|
||||
echo EXPORTS > gobject.def
|
||||
cl /EP -DINCLUDE_VARIABLES -DG_OS_WIN32 -DALL_FILES \
|
||||
|
@ -1,139 +0,0 @@
|
||||
#!/usr/bin/perl -w
|
||||
|
||||
exit 0;
|
||||
|
||||
my $do_def = 0;
|
||||
|
||||
if (($#ARGV >= 0) && ($ARGV[0] eq "-def")) {
|
||||
shift;
|
||||
$do_def = 1;
|
||||
}
|
||||
|
||||
print <<EOF;
|
||||
/* Generated by makegobjectalias.pl */
|
||||
|
||||
#ifndef DISABLE_VISIBILITY
|
||||
|
||||
#include "glibconfig.h"
|
||||
|
||||
#ifdef G_HAVE_GNUC_VISIBILITY
|
||||
|
||||
EOF
|
||||
|
||||
if ($do_def) {
|
||||
print <<EOF
|
||||
#undef IN_FILE
|
||||
#define IN_FILE defined
|
||||
|
||||
#undef IN_HEADER
|
||||
#define IN_HEADER(x) 1
|
||||
|
||||
EOF
|
||||
}
|
||||
else {
|
||||
print <<EOF
|
||||
#define IN_FILE(x) 1
|
||||
#define IN_HEADER defined
|
||||
|
||||
EOF
|
||||
}
|
||||
|
||||
my $in_comment = 0;
|
||||
my $in_skipped_section = 0;
|
||||
|
||||
while (<>) {
|
||||
|
||||
# ignore empty lines
|
||||
next if /^\s*$/;
|
||||
|
||||
# skip comments
|
||||
if ($_ =~ /^\s*\/\*/)
|
||||
{
|
||||
$in_comment = 1;
|
||||
}
|
||||
|
||||
if ($in_comment)
|
||||
{
|
||||
if ($_ =~ /\*\/\s$/)
|
||||
{
|
||||
$in_comment = 0;
|
||||
}
|
||||
|
||||
next;
|
||||
}
|
||||
|
||||
# handle ifdefs
|
||||
if ($_ =~ /^\#endif/)
|
||||
{
|
||||
if (!$in_skipped_section)
|
||||
{
|
||||
print $_;
|
||||
}
|
||||
|
||||
$in_skipped_section = 0;
|
||||
|
||||
next;
|
||||
}
|
||||
|
||||
if ($_ =~ /^\#ifdef\s+(INCLUDE_VARIABLES|INCLUDE_INTERNAL_SYMBOLS|ALL_FILES)/)
|
||||
{
|
||||
$in_skipped_section = 1;
|
||||
}
|
||||
|
||||
if ($in_skipped_section)
|
||||
{
|
||||
next;
|
||||
}
|
||||
|
||||
if ($_ =~ /^\#ifn?def\s+G/)
|
||||
{
|
||||
print $_;
|
||||
|
||||
next;
|
||||
}
|
||||
|
||||
if ($_ =~ /^\#if.*(IN_FILE|IN_HEADER)/)
|
||||
{
|
||||
print $_;
|
||||
|
||||
next;
|
||||
}
|
||||
|
||||
chop;
|
||||
my $str = $_;
|
||||
my @words;
|
||||
my $attributes = "";
|
||||
|
||||
@words = split(/ /, $str);
|
||||
$str = shift(@words);
|
||||
chomp($str);
|
||||
my $alias = "IA__".$str;
|
||||
|
||||
# Drop any Win32 specific .def file syntax, but keep attributes
|
||||
foreach $word (@words) {
|
||||
$attributes = "$attributes $word" unless $word eq "PRIVATE";
|
||||
}
|
||||
|
||||
if (!$do_def) {
|
||||
print <<EOF
|
||||
extern __typeof ($str) $alias __attribute((visibility("hidden")))$attributes;
|
||||
\#define $str $alias
|
||||
|
||||
EOF
|
||||
}
|
||||
else {
|
||||
print <<EOF
|
||||
\#undef $str
|
||||
extern __typeof ($str) $str __attribute((alias("$alias"), visibility("default")));
|
||||
|
||||
EOF
|
||||
}
|
||||
}
|
||||
|
||||
print <<EOF;
|
||||
|
||||
#endif /* G_HAVE_GNUC_VISIBILITY */
|
||||
#endif /* DISABLE_VISIBILITY */
|
||||
EOF
|
||||
|
||||
|
@ -1,19 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
exit 0
|
||||
|
||||
LANG=C
|
||||
|
||||
status=0
|
||||
|
||||
if ! which readelf 2>/dev/null >/dev/null; then
|
||||
echo "'readelf' not found; skipping test"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
for so in .libs/lib*.so; do
|
||||
echo Checking $so for local PLT entries
|
||||
readelf -r $so | grep 'JU\?MP_SLOT\?' | grep '\<g_type_\|\<g_boxed_\|\<g_value_\|\<g_cclosure_\|\<g_closure_\|\<g_signal\|\<g_enum_\|\<g_flags_\|\<g_io_\|\<g_object_\|\<g_param_' && status=1
|
||||
done
|
||||
|
||||
exit $status
|
Loading…
x
Reference in New Issue
Block a user