2005-07-28 Mike Kestner <mkestner@novell.com>

* bootstrap-for-the-insane : beginnings of 2.8 binding.
	* */*-api-2.8.raw : 2.8 api files.
	* gdk/Gdk.metadata : work around #define used in Pixbuf props in 2.7.
	* parser/gapi2xml.pl : collision guarding for privatestruct defs.
	* sources/gtk-sharp-2.8-sources.xml : parse for 2.8.
	* sources/Makefile.am : api-2.8, get-2.8-sources, etc...

svn path=/trunk/gtk-sharp/; revision=47820
This commit is contained in:
Mike Kestner 2005-07-28 21:24:55 +00:00
parent e35683874e
commit 6c67e4ffb6
10 changed files with 29727 additions and 3 deletions

View File

@ -1,3 +1,12 @@
2005-07-28 Mike Kestner <mkestner@novell.com>
* bootstrap-for-the-insane : beginnings of 2.8 binding.
* */*-api-2.8.raw : 2.8 api files.
* gdk/Gdk.metadata : work around #define used in Pixbuf props in 2.7.
* parser/gapi2xml.pl : collision guarding for privatestruct defs.
* sources/gtk-sharp-2.8-sources.xml : parse for 2.8.
* sources/Makefile.am : api-2.8, get-2.8-sources, etc...
2005-07-28 Dan Winship <danw@novell.com>
* sources/gtk-sharp-2.4-sources.xml:

2608
atk/atk-api-2.8.raw Normal file

File diff suppressed because it is too large Load Diff

126
bootstrap-for-the-insane Executable file
View File

@ -0,0 +1,126 @@
echo "**********************************************************************"
echo "This bootstrap is totally untested and unsupported."
echo "Use at your own risk. Don't expect any sort of timely bugfixes."
echo "You have acknowledged your insanity by executing this script."
echo "Seek psychiatric help..."
echo "**********************************************************************"
#!/bin/sh
# Run this to set configure.in up for an API version.
GTK_SHARP_VERSION=2.7.0.99
ASSEMBLY_VERSION=2.8.0.0
srcdir=`dirname $0`
test -z "$srcdir" && srcdir=.
sed -e "s/@GTK_SHARP_VERSION@/$GTK_SHARP_VERSION/" -e 's/@GTK_REQUIRED_VERSION@/2.7.0/' -e 's/@VERSIONCSDEFINES@/-define:GTK_SHARP_2_6 -define:GTK_SHARP_2_8/' -e 's/@VERSIONCFLAGS@/-DGTK_SHARP_2_6 -DGTK_SHARP_2_8/' -e "s/@ASSEMBLY_VERSION@/$ASSEMBLY_VERSION/" $srcdir/configure.in.in > $srcdir/configure.in
ln -f $srcdir/pango/pango-api-2.8.raw $srcdir/pango/pango-api.raw
ln -f $srcdir/atk/atk-api-2.8.raw $srcdir/atk/atk-api.raw
ln -f $srcdir/gdk/gdk-api-2.8.raw $srcdir/gdk/gdk-api.raw
ln -f $srcdir/gtk/gtk-api-2.8.raw $srcdir/gtk/gtk-api.raw
DIE=0
(autoconf --version) < /dev/null > /dev/null 2>&1 || {
echo
echo "**Error**: You must have \`autoconf' installed to compile Gtk#."
echo "Download the appropriate package for your distribution,"
echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/"
DIE=1
}
if [ -z "$LIBTOOL" ]; then
LIBTOOL=`which glibtool 2>/dev/null`
if [ ! -x "$LIBTOOL" ]; then
LIBTOOL=`which libtool`
fi
fi
(grep "^AM_PROG_LIBTOOL" $srcdir/configure.in >/dev/null) && {
($LIBTOOL --version) < /dev/null > /dev/null 2>&1 || {
echo
echo "**Error**: You must have \`libtool' installed to compile Gtk#."
echo "Get ftp://ftp.gnu.org/pub/gnu/libtool-1.2d.tar.gz"
echo "(or a newer version if it is available)"
DIE=1
}
}
(automake --version) < /dev/null > /dev/null 2>&1 || {
echo
echo "**Error**: You must have \`automake' installed to compile Gtk#."
echo "Get ftp://ftp.gnu.org/pub/gnu/automake-1.3.tar.gz"
echo "(or a newer version if it is available)"
DIE=1
NO_AUTOMAKE=yes
}
# if no automake, don't bother testing for aclocal
test -n "$NO_AUTOMAKE" || (aclocal --version) < /dev/null > /dev/null 2>&1 || {
echo
echo "**Error**: Missing \`aclocal'. The version of \`automake'"
echo "installed doesn't appear recent enough."
echo "Get ftp://ftp.gnu.org/pub/gnu/automake-1.3.tar.gz"
echo "(or a newer version if it is available)"
DIE=1
}
if test "$DIE" -eq 1; then
exit 1
fi
if test -z "$*"; then
echo "**Warning**: I am going to run \`configure' with no arguments."
echo "If you wish to pass any to it, please specify them on the"
echo \`$0\'" command line."
echo
fi
case $CC in
xlc )
am_opt=--include-deps;;
esac
if grep "^AM_PROG_LIBTOOL" configure.in >/dev/null; then
if test -z "$NO_LIBTOOLIZE" ; then
echo "Running libtoolize..."
libtoolize --force --copy
fi
fi
echo "Running aclocal $ACLOCAL_FLAGS ..."
aclocal $ACLOCAL_FLAGS || {
echo
echo "**Error**: aclocal failed. This may mean that you have not"
echo "installed all of the packages you need, or you may need to"
echo "set ACLOCAL_FLAGS to include \"-I \$prefix/share/aclocal\""
echo "for the prefix where you installed the packages whose"
echo "macros were not found"
exit 1
}
if grep "^AM_CONFIG_HEADER" configure.in >/dev/null; then
echo "Running autoheader..."
autoheader || { echo "**Error**: autoheader failed."; exit 1; }
fi
echo "Running automake --gnu $am_opt ..."
automake --add-missing --gnu $am_opt ||
{ echo "**Error**: automake failed."; exit 1; }
echo "Running autoconf ..."
autoconf || { echo "**Error**: autoconf failed."; exit 1; }
conf_flags="--enable-maintainer-mode --enable-compile-warnings" #--enable-iso-c
if test x$NOCONFIGURE = x; then
echo Running $srcdir/configure $conf_flags "$@" ...
$srcdir/configure $conf_flags "$@" \
&& echo Now type \`make\' to compile $PKG_NAME || exit 1
else
echo Skipping configure process.
fi

View File

@ -106,6 +106,9 @@
<attr path="/api/namespace/object[@cname='GdkPixbuf']/method[@name='SaveToCallbackv']" name="hidden">1</attr>
<attr path="/api/namespace/object[@cname='GdkPixbuf']/method[@name='ScaleSimple']" name="hidden">1</attr>
<attr path="/api/namespace/object[@cname='GdkPixbuf']/property[@name='Pixels']" name="hidden">1</attr>
<attr path="/api/namespace/object[@cname='GdkPixbuf']/property" name="readable">true</attr>
<attr path="/api/namespace/object[@cname='GdkPixbuf']/property" name="writeable">true</attr>
<attr path="/api/namespace/object[@cname='GdkPixbuf']/property" name="construct-only">true</attr>
<attr path="/api/namespace/object[@cname='GdkPixbufLoader']/method[@name='GetPixbuf']" name="needs_ref">1</attr>
<attr path="/api/namespace/object[@cname='GdkPixbufLoader']/method[@name='Write']/*/*[@name='buf']" name="array">1</attr>
<attr path="/api/namespace/object[@cname='GdkPixmap']" name="parent">GdkDrawable</attr>

5358
gdk/gdk-api-2.8.raw Normal file

File diff suppressed because it is too large Load Diff

19290
gtk/gtk-api-2.8.raw Normal file

File diff suppressed because it is too large Load Diff

2041
pango/pango-api-2.8.raw Normal file

File diff suppressed because it is too large Load Diff

View File

@ -121,7 +121,7 @@ while ($line = <STDIN>) {
}
$sdef =~ s!/\*[^<].*?(\*/|\n)!!g;
$sdef =~ s/\n\s*//g;
$sdefs{$sname} = $sdef;
$sdefs{$sname} = $sdef if (!exists ($sdefs{$sname}));
} elsif ($line =~ /^(\w+)_(class|base)_init\b/) {
$class = StudlyCaps($1);
$pedef = $line;

View File

@ -2,6 +2,7 @@ EXTRA_DIST = \
README \
gtk-sharp-2.4-sources.xml \
gtk-sharp-2.6-sources.xml \
gtk-sharp-2.8-sources.xml \
gda.patch \
gnomedb.patch \
gtkclipboard.patch \
@ -19,6 +20,11 @@ GTK_2_6_DOWNLOADS = \
ftp://ftp.gtk.org/pub/gtk/v2.6/atk-1.9.0.tar.bz2 \
ftp://ftp.gtk.org/pub/gtk/v2.6/gtk+-2.6.4.tar.bz2
GTK_2_8_DOWNLOADS = \
ftp://ftp.gtk.org/pub/gtk/v2.7/pango-1.9.1.tar.bz2 \
ftp://ftp.gtk.org/pub/gtk/v2.6/atk-1.9.0.tar.bz2 \
ftp://ftp.gtk.org/pub/gtk/v2.7/gtk+-2.7.4.tar.bz2
GNOME_DOWNLOADS = \
http://ftp.gnome.org/pub/GNOME/desktop/2.6/2.6.0/sources/gnome-vfs-2.6.0.tar.bz2 \
http://ftp.gnome.org/pub/GNOME/desktop/2.6/2.6.0/sources/libgnome-2.6.0.tar.bz2 \
@ -44,7 +50,7 @@ GTKHTML_SOURCEFILES = \
gtkhtml-3.0.10/src/gtkhtml-stream.c \
gtkhtml-3.0.10/src/gtkhtml-stream.h
api: api-2.4 api-2.6
api: api-2.4 api-2.6 api-2.8
api-2.4:
PATH=../parser:$$PATH $(RUNTIME) ../parser/gapi-parser.exe gtk-sharp-2.4-sources.xml
@ -52,7 +58,10 @@ api-2.4:
api-2.6:
PATH=../parser:$$PATH $(RUNTIME) ../parser/gapi-parser.exe gtk-sharp-2.6-sources.xml
get-source-code: get-2.4-sources get-2.6-sources get-gnome-sources get-gtkhtml-code
api-2.8:
PATH=../parser:$$PATH $(RUNTIME) ../parser/gapi-parser.exe gtk-sharp-2.8-sources.xml
get-source-code: get-2.4-sources get-2.6-sources get-2.8-sources get-gnome-sources get-gtkhtml-code
get-gtkhtml-code:
wget http://ftp.gnome.org/pub/GNOME/sources/gtkhtml/3.0/gtkhtml-3.0.10.tar.bz2 --output-document=- | tar -xj $(GTKHTML_SOURCEFILES)
@ -73,6 +82,14 @@ get-2.6-sources:
patch -p0 gtk+-2.6.4/gtk/gtktreemodel.c < gtk_tree_model_signal_fix.patch
patch -p0 gtk+-2.6.4/gtk/gtkclipboard.h < gtkclipboard.patch
get-2.8-sources:
for i in $(GTK_2_8_DOWNLOADS); do \
wget $$i --output-document=- | tar -xj ; \
done;
ln -f -s gtkfilechooserprivate.h gtk+-2.7.4/gtk/gtkfilechooserpriv.h
patch -p0 gtk+-2.7.4/gtk/gtktreemodel.c < gtk_tree_model_signal_fix.patch
patch -p0 gtk+-2.7.4/gtk/gtkclipboard.h < gtkclipboard.patch
get-gnome-sources:
for i in $(GNOME_DOWNLOADS); do \
wget $$i --output-document=- | tar -xj ; \

View File

@ -0,0 +1,272 @@
<gapi-parser-input>
<api filename="../atk/atk-api-2.8.raw">
<library name="libatk-1.0-0.dll">
<namespace name="Atk">
<dir>atk-1.9.0/atk</dir>
</namespace>
</library>
</api>
<api filename="../pango/pango-api-2.8.raw">
<library name="libpango-1.0-0.dll">
<namespace name="Pango">
<directory path="pango-1.9.1/pango">
<exclude>pangocairo.h</exclude>
<exclude>pangocairo-fc.h</exclude>
<exclude>pangocairo-win32.h</exclude>
<exclude>pangocairo-private.h</exclude>
<exclude>pangofc-decoder.c</exclude>
<exclude>pangofc-decoder.h</exclude>
<exclude>pangofc-font.c</exclude>
<exclude>pangofc-font.h</exclude>
<exclude>pangofc-fontmap.c</exclude>
<exclude>pangofc-fontmap.h</exclude>
<exclude>pangofc-private.h</exclude>
<exclude>pangox-fontcache.c</exclude>
<exclude>pangox-fontmap.c</exclude>
<exclude>pangox-private.h</exclude>
<exclude>pangox.h</exclude>
<exclude>pangox.c</exclude>
<exclude>pangoxft.h</exclude>
<exclude>pangoxft-font.c</exclude>
<exclude>pangoxft-font.h</exclude>
<exclude>pangoxft-fontmap.c</exclude>
<exclude>pangoxft-fontmap.h</exclude>
<exclude>pangoxft-private.h</exclude>
<exclude>pangoxft-render.c</exclude>
<exclude>pangoxft-render.h</exclude>
<exclude>pango-color-table.h</exclude>
<exclude>pango-script-lang-table.h</exclude>
<exclude>pango-script-table.h</exclude>
</directory>
</namespace>
</library>
</api>
<api filename="../gdk/gdk-api-2.8.raw">
<library name="libgdk-win32-2.0-0.dll">
<namespace name="Gdk">
<directory path="gtk+-2.7.4/gdk">
<exclude>gdkalias.h</exclude>
<exclude>keyname-table.h</exclude>
</directory>
</namespace>
</library>
<library name="libgdk_pixbuf-2.0-0.dll">
<namespace name="Gdk">
<directory path="gtk+-2.7.4/gdk-pixbuf">
<exclude>gdk-pixbuf-alias.h</exclude>
<exclude>xpm-color-table.h</exclude>
</directory>
</namespace>
</library>
</api>
<api filename="../gtk/gtk-api-2.8.raw">
<library name="libgtk-win32-2.0-0.dll">
<namespace name="Gtk">
<directory path="gtk+-2.7.4/gtk">
<!-- Internal stuff -->
<exclude>gtkalias.h</exclude>
<exclude>gtkdndcursors.h</exclude>
<exclude>gtkfilechooserdefault.c</exclude>
<exclude>gtkfilechooserdefault.h</exclude>
<exclude>gtkfilechooserembed.c</exclude>
<exclude>gtkfilechooserembed.h</exclude>
<exclude>gtkfilechooserentry.c</exclude>
<exclude>gtkfilechooserentry.h</exclude>
<exclude>gtkfilechooserutils.c</exclude>
<exclude>gtkfilechooserutils.h</exclude>
<exclude>gtkfilesystem.c</exclude>
<exclude>gtkfilesystem.h</exclude>
<exclude>gtkfilesystemmodel.c</exclude>
<exclude>gtkfilesystemmodel.h</exclude>
<exclude>gtkfilesystemunix.c</exclude>
<exclude>gtkfilesystemunix.h</exclude>
<exclude>gtkfilesystemwin32.c</exclude>
<exclude>gtkfilesystemwin32.h</exclude>
<exclude>gtkiconcache.c</exclude>
<exclude>gtkiconcache.h</exclude>
<exclude>gtkiconthemeparser.h</exclude>
<exclude>gtkpathbar.c</exclude>
<exclude>gtkpathbar.h</exclude>
<exclude>gtkrbtree.c</exclude>
<exclude>gtkrbtree.h</exclude>
<exclude>gtksequence.c</exclude>
<exclude>gtksequence.h</exclude>
<exclude>gtktextbtree.c</exclude>
<exclude>gtktextbtree.h</exclude>
<exclude>gtktextsegment.c</exclude>
<exclude>gtktextsegment.h</exclude>
<exclude>gtktexttypes.c</exclude>
<exclude>gtktexttypes.h</exclude>
<exclude>gtktextutil.c</exclude>
<exclude>gtktextutil.h</exclude>
<exclude>gtkthemes.c</exclude>
<exclude>gtkthemes.h</exclude>
<exclude>gtktreedatalist.c</exclude>
<exclude>gtktreedatalist.h</exclude>
<exclude>gtkwindow-decorate.c</exclude>
<exclude>gtkwindow-decorate.h</exclude>
<exclude>gtkxembed.h</exclude>
<exclude>xembed.h</exclude>
<!-- Exclude all pre gtk+-2.2 deprecated widgets -->
<exclude>gtkclist.c</exclude>
<exclude>gtkclist.h</exclude>
<exclude>gtkctree.c</exclude>
<exclude>gtkctree.h</exclude>
<exclude>gtklist.c</exclude>
<exclude>gtklist.h</exclude>
<exclude>gtklistitem.c</exclude>
<exclude>gtklistitem.h</exclude>
<exclude>gtkoldeditable.c</exclude>
<exclude>gtkoldeditable.h</exclude>
<exclude>gtkpixmap.c</exclude>
<exclude>gtkpixmap.h</exclude>
<exclude>gtkpreview.c</exclude>
<exclude>gtkpreview.h</exclude>
<exclude>gtkprogress.c</exclude>
<exclude>gtkprogress.h</exclude>
<exclude>gtktext.c</exclude>
<exclude>gtktext.h</exclude>
<exclude>gtktipsquery.c</exclude>
<exclude>gtktipsquery.h</exclude>
<exclude>gtktree.c</exclude>
<exclude>gtktree.h</exclude>
<exclude>gtktreeitem.c</exclude>
<exclude>gtktreeitem.h</exclude>
</directory>
</namespace>
</library>
</api>
<api filename="../gnomevfs/gnome-vfs-api.raw">
<library name="gnomevfs-2">
<namespace name="GnomeVFS">
<directory path="gnome-vfs-2.6.0/libgnomevfs">
<exclude>gnome-vfs-file-size.h</exclude>
<exclude>gnome-vfs-method.h</exclude>
<exclude>gnome-vfs-transform.h</exclude>
<!-- These files break the parser -->
<exclude>GNOME_VFS_Daemon-common.c</exclude>
<exclude>GNOME_VFS_Daemon.h</exclude>
<exclude>GNOME_VFS_Daemon-skels.c</exclude>
<exclude>GNOME_VFS_Daemon-stubs.c</exclude>
<exclude>gnome-vfs-job.c</exclude>
<exclude>gnome-vfs-job.h</exclude>
</directory>
</namespace>
</library>
</api>
<api filename="../gnome/gnome-api.raw">
<library name="gnome-2">
<namespace name="Gnome">
<dir>libgnome-2.6.0/libgnome</dir>
</namespace>
</library>
<library name="gnomecanvas-2">
<namespace name="Gnome">
<dir>libgnomecanvas-2.6.0/libgnomecanvas</dir>
</namespace>
</library>
<library name="gnomeui-2">
<namespace name="Gnome">
<directory path="libgnomeui-2.6.0/libgnomeui">
<!-- These were ignored in gtk# 1.0 due to a parser bug, but contain only deprecated methods -->
<exclude>gnome-app-util.h</exclude>
<exclude>gnome-dialog.h</exclude>
<exclude>gnome-dialog-util.h</exclude>
<exclude>gnome-mdi.h</exclude>
<exclude>gnome-mdi-child.h</exclude>
<exclude>gnome-mdi-generic-child.h</exclude>
<exclude>gnome-mdi-session.h</exclude>
<exclude>gnome-messagebox.h</exclude>
<exclude>gnome-pixmap.h</exclude>
<exclude>gnome-propertybox.h</exclude>
</directory>
</namespace>
</library>
<library name="gnomeprint-2-2">
<namespace name="Gnome">
<directory path="libgnomeprint-2.6.0/libgnomeprint">
<exclude>gnome-font-family.h</exclude>
<exclude>gnome-fontmap.h</exclude>
<exclude>gnome-print-encode.h</exclude>
<exclude>gnome-print-frgba.h</exclude>
<exclude>gnome-print-i18n.h</exclude>
<exclude>gnome-print-module.h</exclude>
<exclude>gnome-print-multipage.h</exclude>
<exclude>gnome-print-pdf.h</exclude>
<exclude>gnome-print-ps2.h</exclude>
<exclude>gnome-print-rbuf.h</exclude>
<exclude>gnome-print-rgbp.h</exclude>
<exclude>gp-path.h</exclude>
<exclude>gp-truetype-utils.h</exclude>
<exclude>gp-tt-t1.h</exclude>
</directory>
</namespace>
</library>
<library name="gnomeprintui-2-2">
<namespace name="Gnome">
<directory path="libgnomeprintui-2.6.0/libgnomeprintui">
<exclude>gnome-canvas-hacktext.h</exclude>
<exclude>gnome-print-copies.h</exclude>
<exclude>gnome-print-i18n.h</exclude>
<exclude>gnome-print-paper-preview.h</exclude>
<exclude>gnome-print-widget.h</exclude>
<exclude>gnome-printer-selector.h</exclude>
</directory>
</namespace>
</library>
<library name="panel-applet-2">
<namespace name="Gnome">
<dir>gnome-panel-2.6.0/libpanel-applet</dir>
</namespace>
</library>
</api>
<api filename="../gtkhtml/gtkhtml-api.raw">
<library name="gtkhtml-3.0">
<namespace name="Gtk">
<dir>gtkhtml-3.0.10/src</dir>
</namespace>
</library>
</api>
<api filename="../glade/glade-api.raw">
<library name="libglade-2.0-0.dll">
<namespace name="Glade">
<dir>libglade-2.3.6/glade</dir>
</namespace>
</library>
</api>
<api filename="../art/art-api.raw">
<library name="art_lgpl">
<namespace name="Art">
<dir>libart_lgpl-2.3.16</dir>
</namespace>
</library>
</api>
<api filename="../gda/gda-api.raw">
<library name="gda-2">
<namespace name="Gda">
<dir>libgda-1.0.0/libgda</dir>
</namespace>
</library>
</api>
<api filename="../gnomedb/gnomedb-api.raw">
<library name="gnomedb-2">
<namespace name="GnomeDb">
<dir>libgnomedb-1.0.0/libgnomedb</dir>
</namespace>
</library>
</api>
<api filename="../rsvg/rsvg-api.raw">
<library name="rsvg-2">
<namespace name="Rsvg">
<dir>librsvg-2.6.4</dir>
</namespace>
</library>
</api>
<api filename="../vte/vte-api.raw">
<library name="vte">
<namespace name="Vte">
<dir>vte-0.11.10/src</dir>
</namespace>
</library>
</api>
</gapi-parser-input>