Colin Walters [Sat, 13 Sep 2008 01:16:52 +0000 (01:16 +0000)]
Accept Gtk.Type as GType
* giscanner/glibtransformer.py: Accept Gtk.Type as GType;
this is a legacy alias.
svn path=/trunk/; revision=598
Colin Walters [Sat, 13 Sep 2008 01:10:36 +0000 (01:10 +0000)]
ChangeLog
svn path=/trunk/; revision=597
Colin Walters [Sat, 13 Sep 2008 01:10:33 +0000 (01:10 +0000)]
Bind pid_t to INT for vte
svn path=/trunk/; revision=596
Colin Walters [Sat, 13 Sep 2008 00:12:36 +0000 (00:12 +0000)]
ChangeLog
svn path=/trunk/; revision=595
Colin Walters [Sat, 13 Sep 2008 00:12:34 +0000 (00:12 +0000)]
Parse c:type for boxed records/unions; try resolving types using the GType names.
* giscanner/girparser.py: Parse c:type for boxed records/unions.
* giscanner/glibast.py: Avoid overwriting ctype.
* giscsanner/transformer.py: Try resolving types using the GType names.
svn path=/trunk/; revision=594
Colin Walters [Fri, 12 Sep 2008 22:44:31 +0000 (22:44 +0000)]
ChangeLog
svn path=/trunk/; revision=593
Colin Walters [Fri, 12 Sep 2008 22:44:29 +0000 (22:44 +0000)]
Add --xpath-assertions option to g-ir-scanner
* giscanner/minixpath.py: Code to run an "XPath"
assertion against an XML tree, taken from
gir-repository/gir/tests.py.
* giscanner/Makefile.am: Ship it.
* tools/g-ir-scanner: Add --xpath-assertions option.
* gir/GLib-assertions.txt: Add a few assertions.
* gir/Makefile.am: Run them.
svn path=/trunk/; revision=592
Colin Walters [Thu, 11 Sep 2008 16:38:21 +0000 (16:38 +0000)]
http://bugzilla.gnome.org/show_bug.cgi?id=551737
2008-09-11 Colin Walters <walters@verbum.org>
http://bugzilla.gnome.org/show_bug.cgi?id=551737
* giscanner/transformer.py: Fix strip_namespace_func to only strip
prefix if it ends with _. Tweak callback stripping to determine
based on presence of _ whether we need to use strip_namespace_func
or strip_namespace_object.
svn path=/trunk/; revision=591
Colin Walters [Thu, 11 Sep 2008 16:38:19 +0000 (16:38 +0000)]
Bug 551737: Fix missing "g" in callback names in Gio
* giscanner/transformer.py: Fix strip_namespace_func to only strip
prefix if it ends with _. Tweak callback stripping to determine
based on presence of _ whether we need to use strip_namespace_func
or strip_namespace_object.
svn path=/trunk/; revision=590
Owen Taylor [Tue, 9 Sep 2008 04:06:57 +0000 (04:06 +0000)]
Wether => Whether
2008-09-09 Owen Taylor <otaylor@redhat.com>
* docs/typelib-format.txt: Wether => Whether
svn path=/trunk/; revision=589
Colin Walters [Mon, 8 Sep 2008 22:24:12 +0000 (22:24 +0000)]
ChangeLog
svn path=/trunk/; revision=588
Colin Walters [Mon, 8 Sep 2008 22:24:09 +0000 (22:24 +0000)]
Write out and parse full GObject property information (readable, writable, etc)
* girepository/girparser.c: Default to "readable" for properties.
* giscanner/ast.py: Add readable, writable etc.
* giscanner/girwriter.py: Writ them.
* giscanner/glibtransformer.py: Inspect them.
* tests/*: Update.
svn path=/trunk/; revision=587
Colin Walters [Sun, 7 Sep 2008 22:24:39 +0000 (22:24 +0000)]
ChangeLog
svn path=/trunk/; revision=586
Colin Walters [Sun, 7 Sep 2008 22:24:37 +0000 (22:24 +0000)]
Add comment about g_thread_init call
svn path=/trunk/; revision=585
Colin Walters [Sun, 7 Sep 2008 22:10:39 +0000 (22:10 +0000)]
ChangeLog
svn path=/trunk/; revision=584
Colin Walters [Sun, 7 Sep 2008 22:10:37 +0000 (22:10 +0000)]
Call g_thread_init to make libsoup happy
* giscanner/cgobject.py: Also call g_thread_init.
svn path=/trunk/; revision=583
Colin Walters [Sun, 7 Sep 2008 22:06:53 +0000 (22:06 +0000)]
ChangeLog
svn path=/trunk/; revision=582
Colin Walters [Sun, 7 Sep 2008 22:06:51 +0000 (22:06 +0000)]
Don't strip prefix before stripping namespace for unions either
* giscanner/transformer.py: Fix regression by not
stripping prefix before stripping namespace for unions
either.
svn path=/trunk/; revision=581
Colin Walters [Sun, 7 Sep 2008 01:45:34 +0000 (01:45 +0000)]
ChangeLog
svn path=/trunk/; revision=580
Colin Walters [Sun, 7 Sep 2008 01:45:32 +0000 (01:45 +0000)]
ChangeLog
svn path=/trunk/; revision=579
Colin Walters [Sun, 7 Sep 2008 01:45:29 +0000 (01:45 +0000)]
Strip namespace GnomeKeyring -> gnome_keyring_
* giscanner/transformer.py: If a namespace contains
multiple caps, try stripping both gnomekeyring_ and
gnome_keyring_.
svn path=/trunk/; revision=578
Johan Dahlin [Sat, 6 Sep 2008 22:12:14 +0000 (22:12 +0000)]
Bug 551162 – giscanner does not recognize asm and __asm__ Patch by Jani
2008-09-07 Johan Dahlin <johan@gnome.org>
Bug 551162 – giscanner does not recognize asm and __asm__
* giscanner/scannerlexer.l:
Patch by Jani Monoses.
svn path=/trunk/; revision=577
Colin Walters [Sat, 6 Sep 2008 20:33:53 +0000 (20:33 +0000)]
ChangeLog
svn path=/trunk/; revision=576
Colin Walters [Sat, 6 Sep 2008 20:33:51 +0000 (20:33 +0000)]
Allow both union and struct to be boxed or not
* girepository/girnode.c: Allow gtype_name
and gtype_init in struct and union.
* girepository/girparser.c: Parse glib:
boxed bits for both structure and union.
* girepository/gtypelib.c: Don't barf
if structure is boxed.
* giscanner/girparser.py: Parse new XML
format.
* giscanner/girwriter.py: Write out new
XML format.
* giscanner/glibast.py: Define new classes
which are both Boxed and Struct/Union, as
well as an "Other" for everything else.
* giscanner/glibtransformer.py: Handle
boxed types specially; we try to merge
them with a struct/union if one exists,
otherwise fall back to generic boxed.
* tests/*: Update.
* tools/generate.c: Write out new format.
svn path=/trunk/; revision=575
Johan Dahlin [Sat, 6 Sep 2008 18:39:06 +0000 (18:39 +0000)]
Include stdlib.h
2008-09-06 Johan Dahlin <johan@gnome.org>
* giscanner/grealpath.h: Include stdlib.h
svn path=/trunk/; revision=574
Johan Dahlin [Sat, 6 Sep 2008 18:38:28 +0000 (18:38 +0000)]
Remove leading %
2008-09-06 Johan Dahlin <johan@gnome.org>
* docs/g-ir-generate.1: Remove leading %
svn path=/trunk/; revision=573
Colin Walters [Mon, 1 Sep 2008 18:54:04 +0000 (18:54 +0000)]
ChangeLog
svn path=/trunk/; revision=572
Colin Walters [Mon, 1 Sep 2008 18:52:34 +0000 (18:52 +0000)]
Look in c:type to determine pointer nature
* girepository/girparser.c: Look at c:type to determine
whether or not an item is a pointer.
svn path=/trunk/; revision=571
Johan Dahlin [Mon, 1 Sep 2008 13:45:56 +0000 (13:45 +0000)]
Set PYTHONPATH so the scanner can run even if you didn't install anything.
2008-09-01 Johan Dahlin <johan@gnome.org>
* tests/scanner/Makefile.am:
Set PYTHONPATH so the scanner can run
even if you didn't install anything.
svn path=/trunk/; revision=570
Johan Dahlin [Mon, 1 Sep 2008 07:38:49 +0000 (07:38 +0000)]
Post-release version bump
2008-09-01 Johan Dahlin <johan@gnome.org>
* configure.ac:
Post-release version bump
svn path=/trunk/; revision=569
Johan Dahlin [Mon, 1 Sep 2008 07:34:33 +0000 (07:34 +0000)]
=== 0.5.0 ===
2008-09-01 Johan Dahlin <johan@gnome.org>
* NEWS: Update
svn path=/trunk/; revision=567
Colin Walters [Mon, 1 Sep 2008 03:04:57 +0000 (03:04 +0000)]
ChangeLog
svn path=/trunk/; revision=566
Colin Walters [Mon, 1 Sep 2008 03:04:55 +0000 (03:04 +0000)]
Blacklist marshaling functions
* giscanner/glibtransformer.py: Blacklist marshaling
functions
svn path=/trunk/; revision=565
Colin Walters [Sun, 31 Aug 2008 22:21:43 +0000 (22:21 +0000)]
ChangeLog trailing whitespace
svn path=/trunk/; revision=564
Colin Walters [Sun, 31 Aug 2008 22:16:11 +0000 (22:16 +0000)]
ChangeLog
svn path=/trunk/; revision=563
Colin Walters [Sun, 31 Aug 2008 22:16:07 +0000 (22:16 +0000)]
Quiet info prints for now.
* giscanner/glibtransformer.py: Quiet info
prints for now.
svn path=/trunk/; revision=562
Johan Dahlin [Sun, 31 Aug 2008 22:10:39 +0000 (22:10 +0000)]
Remove extra echo from the release-tag rule
svn path=/trunk/; revision=561
Johan Dahlin [Sun, 31 Aug 2008 22:09:53 +0000 (22:09 +0000)]
Add a release-tag rule
svn path=/trunk/; revision=560
Johan Dahlin [Sun, 31 Aug 2008 22:04:36 +0000 (22:04 +0000)]
top_srcdir -> top_builddir
svn path=/trunk/; revision=559
Johan Dahlin [Sun, 31 Aug 2008 21:35:26 +0000 (21:35 +0000)]
Bump version to 0.5.0
2008-08-31 Johan Dahlin <johan@gnome.org>
* configure.ac:
Bump version to 0.5.0
svn path=/trunk/; revision=558
Colin Walters [Sun, 31 Aug 2008 16:39:06 +0000 (16:39 +0000)]
ChangeLog
svn path=/trunk/; revision=557
Colin Walters [Sun, 31 Aug 2008 16:39:04 +0000 (16:39 +0000)]
Follow aliases when resolving constructor return types
* giscanner/glibtransformer.py: Follow aliases to ensure
we don't get a constructor returning a basic type.
* giscanner/transformer.py: Add function to follow aliases.
* tests/ Update.
svn path=/trunk/; revision=556
Johan Dahlin [Sun, 31 Aug 2008 16:20:51 +0000 (16:20 +0000)]
Fix up strip logic to not regress
svn path=/trunk/; revision=555
Colin Walters [Sun, 31 Aug 2008 16:16:42 +0000 (16:16 +0000)]
Tweak error message
svn path=/trunk/; revision=554
Johan Dahlin [Sun, 31 Aug 2008 16:10:18 +0000 (16:10 +0000)]
Parse GCC extensions in the parser instead of just undeffing them in the
2008-08-31 Johan Dahlin <johan@gnome.org>
* giscanner/scannerlexer.l:
* giscanner/scannerparser.y:
* giscanner/sourcescanner.h:
* giscanner/sourcescanner.py:
Parse GCC extensions in the parser instead of just undeffing them
in the pre-processor.
svn path=/trunk/; revision=553
Colin Walters [Sun, 31 Aug 2008 16:01:06 +0000 (16:01 +0000)]
ChangeLog
svn path=/trunk/; revision=552
Colin Walters [Sun, 31 Aug 2008 16:01:02 +0000 (16:01 +0000)]
Don't lose if we have no includedirs
* girepository/girparser.c: Don't lose if we
have no includedirs
svn path=/trunk/; revision=551
Johan Dahlin [Sun, 31 Aug 2008 15:56:56 +0000 (15:56 +0000)]
Clean up a huge if. Do not add methods or constructors to enums/flags.
2008-08-31 Johan Dahlin <johan@gnome.org>
* giscanner/glibtransformer.py:
Clean up a huge if. Do not add methods or constructors
to enums/flags.
* giscanner/utils.py:
second might be longer than first, check that.
svn path=/trunk/; revision=550
Johan Dahlin [Sun, 31 Aug 2008 15:50:14 +0000 (15:50 +0000)]
Add a GModule.gir
2008-08-31 Johan Dahlin <johan@gnome.org>
* gir/Makefile.am:
Add a GModule.gir
svn path=/trunk/; revision=549
Colin Walters [Sun, 31 Aug 2008 15:25:51 +0000 (15:25 +0000)]
ChangeLog
svn path=/trunk/; revision=548
Colin Walters [Sun, 31 Aug 2008 15:25:48 +0000 (15:25 +0000)]
Look for libtool library in current directory
* giscanner/glibtransformer.py: Look for libtool
library in current directory
* tests/scanner - Update.
svn path=/trunk/; revision=547
Colin Walters [Sat, 30 Aug 2008 20:31:18 +0000 (20:31 +0000)]
ChangeLog
svn path=/trunk/; revision=546
Colin Walters [Sat, 30 Aug 2008 20:31:16 +0000 (20:31 +0000)]
Add back unresolved
svn path=/trunk/; revision=545
Colin Walters [Sat, 30 Aug 2008 20:31:14 +0000 (20:31 +0000)]
Fix conflict
svn path=/trunk/; revision=544
Colin Walters [Sat, 30 Aug 2008 20:31:12 +0000 (20:31 +0000)]
Remove g_irepository_unregister, add GIRepositoryLoadFlags
svn path=/trunk/; revision=543
Colin Walters [Sat, 30 Aug 2008 20:31:10 +0000 (20:31 +0000)]
Don't lose on NULL shlib
svn path=/trunk/; revision=542
Colin Walters [Sat, 30 Aug 2008 20:31:07 +0000 (20:31 +0000)]
Put dependencies in typelibs, resolve them when loading
* gir/Makefile.am: Dep on Makefile
* girepository/ginfo.c: Print out a nicer error
message if we failed to load something.
* girepository/girepository.c: Clean up
default typelib handling; remove global
default_typelib variable. Ensure we handle
NULL repository in more places.
Support dependency resolution.
* tests/Makefile.am: Kill off gobject.gir,
it conflicts with the real one.
* tests/Object.gir: Depend on GObject.
* tools/generate.c: Take --includedir
argument to say which directories to search
for typelibs. Print out dependencies.
svn path=/trunk/; revision=541
Colin Walters [Sat, 30 Aug 2008 20:12:48 +0000 (20:12 +0000)]
ChangeLog
svn path=/trunk/; revision=540
Colin Walters [Sat, 30 Aug 2008 20:12:45 +0000 (20:12 +0000)]
Reduce warning noise
* giscanner/glibtransformer.py: Reduce warning noise
svn path=/trunk/; revision=539
Colin Walters [Sat, 30 Aug 2008 02:31:56 +0000 (02:31 +0000)]
ChangeLog
svn path=/trunk/; revision=538
Colin Walters [Sat, 30 Aug 2008 02:31:53 +0000 (02:31 +0000)]
Add some assertions, blacklist a few more methods
* girepository/ginfo.c: Add some assertions regarding
refcounts, just to be sure.
* giscanner/glibtransformer.py: Blacklist a few more
odd Gio methods.
svn path=/trunk/; revision=537
Colin Walters [Fri, 29 Aug 2008 23:33:18 +0000 (23:33 +0000)]
ChangeLog
svn path=/trunk/; revision=536
Colin Walters [Fri, 29 Aug 2008 23:33:14 +0000 (23:33 +0000)]
Blacklist a few functions that use GError oddly
* giscanner/glibtransformer.py: Blacklist a few
functions that use GError oddly
svn path=/trunk/; revision=535
Colin Walters [Fri, 29 Aug 2008 20:42:55 +0000 (20:42 +0000)]
ChangeLog
svn path=/trunk/; revision=534
Colin Walters [Fri, 29 Aug 2008 20:42:51 +0000 (20:42 +0000)]
Don't crash if no shlib is embedded
* girepository/gtypelib.c: Don't crash if no
shlib is embedded
svn path=/trunk/; revision=533
Colin Walters [Fri, 29 Aug 2008 20:41:29 +0000 (20:41 +0000)]
ChangeLog
svn path=/trunk/; revision=532
Colin Walters [Fri, 29 Aug 2008 20:41:26 +0000 (20:41 +0000)]
Handle alias chains correctly
* girepository/girparser.c: Handle chains of aliases
across modules by ensuring we fully qualify aliases
from includes.
svn path=/trunk/; revision=531
Colin Walters [Fri, 29 Aug 2008 20:06:13 +0000 (20:06 +0000)]
ChangeLog
svn path=/trunk/; revision=530
Colin Walters [Fri, 29 Aug 2008 20:06:10 +0000 (20:06 +0000)]
Avoid searching aliases for basic types
* girepository/girparser.c: Don't search aliases
for basic types.
svn path=/trunk/; revision=529
Colin Walters [Fri, 29 Aug 2008 19:33:30 +0000 (19:33 +0000)]
ChangeLog
svn path=/trunk/; revision=528
Colin Walters [Fri, 29 Aug 2008 19:33:09 +0000 (19:33 +0000)]
Fix type parsing for both GLib case and GLib.List
* girepository/girparser.c: Rewrite type parsing
to handle both GLib parsing case as well as correctly
handling GLib.List and friends. Don't try to treat
e.g. ListStore as a List.
svn path=/trunk/; revision=527
Colin Walters [Fri, 29 Aug 2008 18:49:25 +0000 (18:49 +0000)]
ChangeLog
svn path=/trunk/; revision=526
Colin Walters [Fri, 29 Aug 2008 18:49:22 +0000 (18:49 +0000)]
More context information in validate
* girepository/gtypelib.c: Add more context
during validate.
svn path=/trunk/; revision=525
Colin Walters [Fri, 29 Aug 2008 18:19:31 +0000 (18:19 +0000)]
ChangeLog
svn path=/trunk/; revision=524
Colin Walters [Fri, 29 Aug 2008 18:19:29 +0000 (18:19 +0000)]
Avoid having functions/ctors duplicated in global scope
* giscanner/glibtransformer.py: Add some informative
logging messages in corner cases. Be sure we use
the most recent node set instead of a cache
when generating result set.
* tests/: Remove duplicated bits in expected girs
svn path=/trunk/; revision=523
Colin Walters [Fri, 29 Aug 2008 18:19:26 +0000 (18:19 +0000)]
Correctly handle GLib.List, GLib.Error etc
* girepository/girparser.c: Accept both List (for
compiling GLib) and GLib.List (what the scanner
generates).
* tests/ - Update.
* tools/generate.c: Generate canonical form.
svn path=/trunk/; revision=522
Johan Dahlin [Fri, 29 Aug 2008 11:27:18 +0000 (11:27 +0000)]
Use datarootdir instead of datadir to avoid an autoconf warning.
2008-08-29 Johan Dahlin <johan@gnome.org>
* giscanner/config.py.in:
Use datarootdir instead of datadir to avoid
an autoconf warning.
svn path=/trunk/; revision=521
Johan Dahlin [Fri, 29 Aug 2008 10:07:53 +0000 (10:07 +0000)]
Update
svn path=/trunk/; revision=520
Johan Dahlin [Fri, 29 Aug 2008 09:51:39 +0000 (09:51 +0000)]
Update and remove old cruft.
2008-08-29 Johan Dahlin <johan@gnome.org>
* README:
* TODO:
* examples/gdk-pixbuf.gidl:
* libffi.pc.in:
Update and remove old cruft.
svn path=/trunk/; revision=519
Johan Dahlin [Fri, 29 Aug 2008 09:25:29 +0000 (09:25 +0000)]
Add man pages for the generator and compiler.
2008-08-29 Johan Dahlin <johan@gnome.org>
* Makefile.am:
* docs/g-ir-compiler.1:
* docs/g-ir-generate.1:
* docs/g-ir-scanner.1:
Add man pages for the generator and compiler.
svn path=/trunk/; revision=518
Johan Dahlin [Fri, 29 Aug 2008 08:38:29 +0000 (08:38 +0000)]
Document
2008-08-29 Johan Dahlin <johan@gnome.org>
* docs/g-ir-scanner.1: Document
svn path=/trunk/; revision=517
Johan Dahlin [Fri, 29 Aug 2008 08:24:50 +0000 (08:24 +0000)]
Remove gidl support.
2008-08-29 Johan Dahlin <johan@gnome.org>
* giscanner/Makefile.am:
* giscanner/gidlparser.py:
* giscanner/gidlwriter.py:
* tools/g-ir-scanner:
Remove gidl support.
svn path=/trunk/; revision=516
Colin Walters [Thu, 28 Aug 2008 22:13:04 +0000 (22:13 +0000)]
ChangeLog
svn path=/trunk/; revision=515
Colin Walters [Thu, 28 Aug 2008 22:13:00 +0000 (22:13 +0000)]
Fix --includedir handling
* tests/scanner/Makefile.am: Pass the right
--includedir args. Add a Makefile dep.
* tools/compiler.c: Pass includedirs down.
* girepository/girparser.c: Actually put
includedirs in context, pass down. Fix
locate_gir.
svn path=/trunk/; revision=514
Colin Walters [Thu, 28 Aug 2008 21:19:24 +0000 (21:19 +0000)]
Changelog
svn path=/trunk/; revision=513
Colin Walters [Thu, 28 Aug 2008 21:19:22 +0000 (21:19 +0000)]
Expand aliases when generating typelibs
* gir/Makefile.am: Use --includedir
* girepository/girparser.c: Recursively parse
includes to pull in aliases and expand them.
We need this to avoid putting unknown names in
the typelibs.
* tools/compiler.c: Add --includedir option.
svn path=/trunk/; revision=512
Colin Walters [Thu, 28 Aug 2008 21:19:19 +0000 (21:19 +0000)]
Suppress size/ssize from being generated in GLib
svn path=/trunk/; revision=511
Tor Lillqvist [Thu, 28 Aug 2008 18:00:41 +0000 (18:00 +0000)]
Mention that make check now runs successfully on Windows.
svn path=/trunk/; revision=510
Tor Lillqvist [Thu, 28 Aug 2008 16:55:37 +0000 (16:55 +0000)]
Use binary mode for output file on Windows.
2008-08-28 Tor Lillqvist <tml@novell.com>
* tools/compiler.c (write_out_typelib): Use binary mode for output
file on Windows.
* girepository/girnode.c: Don't print NULL strings.
* tests/invoke/Makefile.am
* tests/scanner/Makefile.am: Use -no-undefined on Windows to
convince libtool to build shared libraries.
* tests/invoke/invoke.c: Don't needlessly include <dlfcn.h>. Use
g_assert() instead of printing out expected errors.
svn path=/trunk/; revision=509
Tor Lillqvist [Thu, 28 Aug 2008 10:24:35 +0000 (10:24 +0000)]
Change type of bitfield fields from guint to the most suitable smaller
2008-08-28 Tor Lillqvist <tml@novell.com>
* girepository/gtypelib.h: Change type of bitfield fields from
guint to the most suitable smaller type. This makes the struct
sizes match the ones on Linux that the sanity check expects when
using gcc -mms-bitfields on Windows.
svn path=/trunk/; revision=508
Johan Dahlin [Thu, 28 Aug 2008 10:02:23 +0000 (10:02 +0000)]
Make distcheck pass.
2008-08-28 Johan Dahlin <johan@gnome.org>
* Makefile.am:
* configure.ac:
* gir/Makefile.am:
* giscanner/Makefile.am:
* tests/Makefile.am:
* tests/scanner/Makefile.am:
Make distcheck pass.
svn path=/trunk/; revision=507
Johan Dahlin [Thu, 28 Aug 2008 08:33:37 +0000 (08:33 +0000)]
Include g-ir-scanner in the tarball
svn path=/trunk/; revision=506
Johan Dahlin [Wed, 27 Aug 2008 21:19:33 +0000 (21:19 +0000)]
Remove generated files
svn path=/trunk/; revision=505
Johan Dahlin [Wed, 27 Aug 2008 14:12:42 +0000 (14:12 +0000)]
Only send in -no-undefined on Win32 as it breaks on MacOS X.
2008-08-27 Johan Dahlin <johan@gnome.org>
* giscanner/Makefile.am:
Only send in -no-undefined on Win32 as it breaks on MacOS X.
svn path=/trunk/; revision=504
Tor Lillqvist [Wed, 27 Aug 2008 13:33:21 +0000 (13:33 +0000)]
Make g-ir-scanner work on Windows. Still problems with the typelib code.
2008-08-27 Tor Lillqvist <tml@novell.com>
Make g-ir-scanner work on Windows. Still problems with the typelib
code. Changes okayed by jdahlin.
* configure.ac: Check for Windows, set Automake conditional
OS_WIN32. Change backslashes to forward slashes in pyexecdir to
avoid shell quoting issues
* girepository/Makefile.am: Use -no-undefined so that libtool
agrees to build a shared library on Windows.
* girepository/girparser.c (backtrace_stderr): No backtrace() on
Windows. Empty implementation on Windows so far.
* girepository/gtypelib.c (g_typelib_check_sanity): Give more
informative error message for the assertion failures. Tell also
what the expected size of the struct is. Check all sizes first and
fail afterwards if at least one size was different from expected.
* tools/Makefile.am: Reorder libraries into proper logical
dependency order.
* tools/generate.c: Don't include <dlfcn.h>, not used.
* giscanner/Makefile.am: On Windows, link with the Python library,
and install the module DLL as _giscanner.pyd. Remove the
unnecessary import library and libtool library that libtool has
installed.
* giscanner/scannerlexer.l: Recognize the gcc __attribute__ syntax
and just skip it. Recognize also two "l" suffixes for long long
constants. Recognize also __inline__.
* giscanner/grealpath.h (g_realpath): Implement on Windows, using
GetFullPathName(). As such, GetFullPathName() does more than the
UNIX realpath(). It also changes relative paths into absolute
paths. But for our purposes that shouldn't matter.
* giscanner/giscannermodule.c (pygi_source_scanner_parse_file): On
Windows the file descriptor passed to us is from Python. Python
Python2.5 uses the msvcr71.dll C library, while mingw-built code
uses msvcrt.dll. On Windows, file descriptors are specific to
which C library is used. So we must find out what underlying OS
handle corresponds to the file descriptor Python passes us, and
then make that into a file descriptor valid for the C library this
code uses.
* giscanner/sourcescanner.py (_parse): Don't need to bypass
__attribute__ as the lexer now handles it. The definition as empty
was ineffective for mingw anyway, as mingw's _mingw.h undefines
__attribute__. Close the temp file before unlinking it.
* giscanner/cgobject.py: Use correct library name for the gobject
DLL on Windows.
* gir/Makefile.am: Must pass the full basename of the DLLs on
Windows to g-ir-scanner. It's a bit ugly that we have to "know"
that the names of the GLib DLLs are like libglib-2.0-0.dll, but in
reality they won't change, until there is a GLib 3, and then also
the Unix code here needs changing.
Must pass CPPFLAGS to g-ir-scanner when building GLib.gir so that
libintl.h is found.
svn path=/trunk/; revision=503
Colin Walters [Tue, 26 Aug 2008 21:55:42 +0000 (21:55 +0000)]
Search $DATADIR/girepository instead of $DATADIR/gitypelibs; this naming
2008-08-26 Colin Walters <walters@verbum.org>
* girepository/girepository.c: Search
$DATADIR/girepository instead of
$DATADIR/gitypelibs; this naming makes
it clearer that e.g. jgir can install
.jars there.
* gir/Makefile.am: Install there.
svn path=/trunk/; revision=502
Colin Walters [Tue, 26 Aug 2008 21:05:32 +0000 (21:05 +0000)]
Also use G_MODULE_SUFFIX instead of hardcoding .so.
2008-08-26 Colin Walters <walters@verbum.org>
* girepository/gtypelib.c (_g_typelib_init): Also
use G_MODULE_SUFFIX instead of hardcoding .so.
svn path=/trunk/; revision=501
Colin Walters [Tue, 26 Aug 2008 21:01:36 +0000 (21:01 +0000)]
Free string in the right place.
2008-08-26 Colin Walters <walters@verbum.org>
* girepository/gtypelib.c (_g_typelib_init): Free
string in the right place.
svn path=/trunk/; revision=500
Colin Walters [Tue, 26 Aug 2008 20:06:42 +0000 (20:06 +0000)]
Fix small memory leak
svn path=/trunk/; revision=499
Colin Walters [Tue, 26 Aug 2008 20:04:38 +0000 (20:04 +0000)]
Handle both .la and .so names; this works better in the uninstalled
2008-08-26 Colin Walters <walters@verbum.org>
* girepository/gtypelib.c (_g_typelib_init): Handle
both .la and .so names; this works better in the
uninstalled library case.
svn path=/trunk/; revision=498