No need for INCLUDE_INTERNAL_SYMBOLS anymore.

2004-08-17  Matthias Clasen  <mclasen@redhat.com>

	* gtk/abicheck.sh: No need for INCLUDE_INTERNAL_SYMBOLS anymore.

	* gdk/gdk.symbols: Don't use #if defined().

	* gdk/Makefile.am (gdkalias.h):
	* gtk/Makefile.am (gtkalias.h): Don't use cpp to filter gtk.symbols.

	* gdk/makegdkalias.pl:
	* gtk/makegtkalias.pl: Move the #ifdef processing into the perl script, and
	keep the #ifdefs which differentiate between platforms.

	* gtk/Makefile.am (gtk_private_h_sources): Remove gtkinternals.h, it is no
	longer needed.
This commit is contained in:
Matthias Clasen 2004-08-17 18:24:06 +00:00 committed by Matthias Clasen
parent 3cc0ae605a
commit 54fb7a7b0d
16 changed files with 262 additions and 65 deletions

View File

@ -1,3 +1,19 @@
2004-08-17 Matthias Clasen <mclasen@redhat.com>
* gtk/abicheck.sh: No need for INCLUDE_INTERNAL_SYMBOLS anymore.
* gdk/gdk.symbols: Don't use #if defined().
* gdk/Makefile.am (gdkalias.h):
* gtk/Makefile.am (gtkalias.h): Don't use cpp to filter gtk.symbols.
* gdk/makegdkalias.pl:
* gtk/makegtkalias.pl: Move the #ifdef processing into the perl script, and
keep the #ifdefs which differentiate between platforms.
* gtk/Makefile.am (gtk_private_h_sources): Remove gtkinternals.h, it is no
longer needed.
2004-08-17 Matthias Clasen <mclasen@redhat.com>
* tests/testfilechooserbutton.c: Use g_message() throughout, add RTL envar for

View File

@ -1,3 +1,19 @@
2004-08-17 Matthias Clasen <mclasen@redhat.com>
* gtk/abicheck.sh: No need for INCLUDE_INTERNAL_SYMBOLS anymore.
* gdk/gdk.symbols: Don't use #if defined().
* gdk/Makefile.am (gdkalias.h):
* gtk/Makefile.am (gtkalias.h): Don't use cpp to filter gtk.symbols.
* gdk/makegdkalias.pl:
* gtk/makegtkalias.pl: Move the #ifdef processing into the perl script, and
keep the #ifdefs which differentiate between platforms.
* gtk/Makefile.am (gtk_private_h_sources): Remove gtkinternals.h, it is no
longer needed.
2004-08-17 Matthias Clasen <mclasen@redhat.com>
* tests/testfilechooserbutton.c: Use g_message() throughout, add RTL envar for

View File

@ -1,3 +1,19 @@
2004-08-17 Matthias Clasen <mclasen@redhat.com>
* gtk/abicheck.sh: No need for INCLUDE_INTERNAL_SYMBOLS anymore.
* gdk/gdk.symbols: Don't use #if defined().
* gdk/Makefile.am (gdkalias.h):
* gtk/Makefile.am (gtkalias.h): Don't use cpp to filter gtk.symbols.
* gdk/makegdkalias.pl:
* gtk/makegtkalias.pl: Move the #ifdef processing into the perl script, and
keep the #ifdefs which differentiate between platforms.
* gtk/Makefile.am (gtk_private_h_sources): Remove gtkinternals.h, it is no
longer needed.
2004-08-17 Matthias Clasen <mclasen@redhat.com>
* tests/testfilechooserbutton.c: Use g_message() throughout, add RTL envar for

View File

@ -1,3 +1,19 @@
2004-08-17 Matthias Clasen <mclasen@redhat.com>
* gtk/abicheck.sh: No need for INCLUDE_INTERNAL_SYMBOLS anymore.
* gdk/gdk.symbols: Don't use #if defined().
* gdk/Makefile.am (gdkalias.h):
* gtk/Makefile.am (gtkalias.h): Don't use cpp to filter gtk.symbols.
* gdk/makegdkalias.pl:
* gtk/makegtkalias.pl: Move the #ifdef processing into the perl script, and
keep the #ifdefs which differentiate between platforms.
* gtk/Makefile.am (gtk_private_h_sources): Remove gtkinternals.h, it is no
longer needed.
2004-08-17 Matthias Clasen <mclasen@redhat.com>
* tests/testfilechooserbutton.c: Use g_message() throughout, add RTL envar for

View File

@ -1,3 +1,16 @@
2004-08-17 Matthias Clasen <mclasen@redhat.com>
* abicheck.sh: No need for INCLUDE_INTERNAL_SYMBOLS any more.
* Makefile.am (gdk-pixbuf-alias.h): Don't use cpp to filter the symbols.
* makegdkpixbufalias.pl: Move the #ifdef processing into the perl script,
and keep the #ifdefs which differentiate between platforms.
* gdk-pixbuf.symbols: Remove the marshalers.
* Makefile.am (stamp-gdk-pixbuf-marshal.h): _-prefix the marshalers.
Thu Aug 12 22:19:12 2004 Matthias Clasen <maclas@gmx.de>
* io-bmp.c (DecodeHeader): Properly determine the number of

View File

@ -43,7 +43,7 @@ gdk_pixbuf.def: gdk-pixbuf.symbols
(echo -e EXPORTS; cpp -P -DINCLUDE_VARIABLES gdk-pixbuf.symbols | sed -e '/^$$/d' -e 's/^/\t/') > gdk_pixbuf.def
gdk-pixbuf-alias.h: gdk-pixbuf.symbols
cpp -P -DINCLUDE_INTERNAL_SYMBOLS gdk-pixbuf.symbols | ./makegdkpixbufalias.pl > gdk-pixbuf-alias.h
./makegdkpixbufalias.pl < gdk-pixbuf.symbols > gdk-pixbuf-alias.h
if OS_UNIX
TESTS = abicheck.sh
@ -392,7 +392,7 @@ gdk-pixbuf-marshal.h: @REBUILD@ stamp-gdk-pixbuf-marshal.h
@true
stamp-gdk-pixbuf-marshal.h: @REBUILD@ $(srcdir)/gdk-pixbuf-marshal.list
$(GLIB_GENMARSHAL) --prefix=gdk_pixbuf_marshal $(srcdir)/gdk-pixbuf-marshal.list --header >> xgen-gmh \
$(GLIB_GENMARSHAL) --prefix=_gdk_pixbuf_marshal $(srcdir)/gdk-pixbuf-marshal.list --header >> xgen-gmh \
&& (cmp -s xgen-gmh gdk-pixbuf-marshal.h || cp xgen-gmh gdk-pixbuf-marshal.h) \
&& rm -f xgen-gmh xgen-gmh~ \
&& echo timestamp > $(@F)

View File

@ -1,5 +1,5 @@
#! /bin/sh
cpp -P -DINCLUDE_INTERNAL_SYMBOLS gdk-pixbuf.symbols | sed -e '/^$/d' | sort > expected-abi
cpp -P gdk-pixbuf.symbols | sed -e '/^$/d' | sort > expected-abi
nm -D .libs/libgdk_pixbuf-2.0.so | grep " T " | cut -c12- | sort > actual-abi
diff -u expected-abi actual-abi

View File

@ -57,10 +57,6 @@ gdk_pixbuf_loader_new_with_mime_type
gdk_pixbuf_loader_new_with_type
gdk_pixbuf_loader_set_size
gdk_pixbuf_loader_write
#ifdef INCLUDE_INTERNAL_SYMBOLS
gdk_pixbuf_marshal_VOID__INT_INT
gdk_pixbuf_marshal_VOID__INT_INT_INT_INT
#endif
gdk_pixbuf_new
gdk_pixbuf_new_from_data
gdk_pixbuf_new_from_file

View File

@ -19,7 +19,6 @@ print <<EOF;
#include "gdk-pixbuf.h"
#include "gdk-pixdata.h"
#include "gdk-pixbuf-marshal.h"
EOF
@ -28,14 +27,63 @@ 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/)
{
$in_skipped_section = 1;
}
if ($in_skipped_section)
{
next;
}
if ($_ =~ /^\#ifdef\s+G/)
{
print $_;
next;
}
my $str = $_;
chomp($str);
my $alias = $str."__internal_alias";
print "extern __typeof ($str) $alias __attribute((visibility(\"hidden\"))); \n";
print "extern __typeof ($str) $str __attribute((alias(\"$alias\"), visibility(\"default\"))); \n";
print "#define $str $alias \n";
print "\n";
print <<EOF
extern __typeof ($str) $alias __attribute((visibility("hidden")));
extern __typeof ($str) $str __attribute((alias("$alias"), visibility("default")));
\#define $str $alias
EOF
}
print <<EOF;

View File

@ -180,7 +180,7 @@ gdk.def: gdk.symbols
(echo -e EXPORTS; cpp -P -DGDK_WINDOWING_WIN32 -DINCLUDE_VARIABLES gdk.symbols | sed -e '/^$$/d' -e 's/^/\t/') > gdk.def
gdkalias.h: gdk.symbols
cpp -P gdk.symbols -DGDK_WINDOWING_X11 | ./makegdkalias.pl > gdkalias.h
./makegdkalias.pl <gdk.symbols > gdkalias.h
if OS_UNIX
TESTS = abicheck.sh

View File

@ -285,7 +285,10 @@ gdk_line_style_get_type
gdk_list_visuals
gdk_mbstowcs
gdk_modifier_type_get_type
#if defined(GDK_WINDOWING_X11) || defined(GDK_WINDOWING_WIN32)
#ifdef GDK_WINDOWING_X11
gdk_net_wm_supports
#endif
#ifdef GDK_WINDOWING_WIN32
gdk_net_wm_supports
#endif
gdk_notify_startup_complete

View File

@ -29,23 +29,79 @@ print <<EOF;
#include "gdk.h"
#ifdef GDK_WINDOWING_X11
#include "x11/gdkx.h"
#endif
#ifdef GDK_WINDOWING_WIN32
#include "win32/gdkwin32.h"
#endif
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/)
{
$in_skipped_section = 1;
}
if ($in_skipped_section)
{
next;
}
if ($_ =~ /^\#ifdef\s+G/)
{
print $_;
next;
}
my $str = $_;
chomp($str);
my $alias = $str."__internal_alias";
print "extern __typeof ($str) $alias __attribute((visibility(\"hidden\"))); \n";
print "extern __typeof ($str) $str __attribute((alias(\"$alias\"), visibility(\"default\"))); \n";
print "#define $str $alias \n";
print "\n";
print <<EOF
extern __typeof ($str) $alias __attribute((visibility("hidden")));
extern __typeof ($str) $str __attribute((alias("$alias"), visibility("default")));
\#define $str $alias
EOF
}
print <<EOF;

View File

@ -74,7 +74,7 @@ gtk.def: gtk.symbols
(echo -e EXPORTS; cpp -P -DINCLUDE_VARIABLES -DG_OS_WIN32 gtk.symbols | sed -e '/^$$/d' -e 's/^/\t/') > gtk.def
gtkalias.h: gtk.symbols
cpp -P -DG_OS_UNIX -DGTK_WINDOWING_X11 -DINCLUDE_INTERNAL_SYMBOLS gtk.symbols | ./makegtkalias.pl > gtkalias.h
./makegtkalias.pl < gtk.symbols > gtkalias.h
if OS_UNIX
TESTS = abicheck.sh
@ -295,7 +295,6 @@ gtk_private_h_sources = \
gtkfilechooserutils.h \
gtkfilesystemunix.h \
gtkfilesystemmodel.h \
gtkinternals.h \
gtkpathbar.h \
gtkrbtree.h \
gtksequence.h \

View File

@ -1,5 +1,5 @@
#! /bin/sh
cpp -P -DG_OS_UNIX -DGTK_WINDOWING_X11 -DINCLUDE_INTERNAL_SYMBOLS gtk.symbols | sed -e '/^$/d' | sort > expected-abi
cpp -P -DG_OS_UNIX -DGTK_WINDOWING_X11 gtk.symbols | sed -e '/^$/d' | sort > expected-abi
nm -D .libs/libgtk-x11-2.0.so | grep " T " | cut -c12- | sort > actual-abi
diff -u expected-abi actual-abi

View File

@ -1,38 +0,0 @@
/* GTK - The GIMP Toolkit
* Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
/*
* Modified by the GTK+ Team and others 1997-2000. See the AUTHORS
* file for a list of people on the GTK+ Team. See the ChangeLog
* files for a list of changes. These files are distributed with
* GTK+ at ftp://ftp.gtk.org/pub/gtk/.
*/
#ifndef __GTK_INTERNALS_H__
#define __GTK_INTERNALS_H__
/* Uninstalled header defining types and functions internal to GDK */
#include <glib-object.h>
G_BEGIN_DECLS
G_END_DECLS
#endif /* __GTK_INTERNALS_H__ */

View File

@ -30,9 +30,13 @@ print <<EOF;
#include "gtk.h"
#include "gtkfilesystem.h"
#ifdef G_OS_UNIX
#include "gtkfilesystemunix.h"
#endif
#ifdef G_OS_WIN32
#include "gtkfilesystemwin32.h"
#endif
#include "gtkhsv.h"
#include "gtkinternals.h"
#include "gtkpathbar.h"
#include "gtktextdisplay.h"
#include "gtktextlayout.h"
@ -43,19 +47,71 @@ print <<EOF;
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/)
{
$in_skipped_section = 1;
}
if ($in_skipped_section)
{
next;
}
if ($_ =~ /^\#ifdef\s+G/)
{
print $_;
next;
}
my $str = $_;
chomp($str);
my $alias = $str."__internal_alias";
print "extern __typeof ($str) $alias __attribute((visibility(\"hidden\"))); \n";
print "extern __typeof ($str) $str __attribute((alias(\"$alias\"), visibility(\"default\"))); \n";
print "#define $str $alias \n";
print "\n";
print <<EOF
extern __typeof ($str) $alias __attribute((visibility("hidden")));
extern __typeof ($str) $str __attribute((alias("$alias"), visibility("default")));
\#define $str $alias
EOF
}
print <<EOF;