Commit graph

27 commits

Author SHA1 Message Date
Bertrand Lorentz 2d83fb3073 Move the fixup tool from the parser to the generator folder
The parser will be going away at some point in the future, but we
will still need the fixup step. And the fixup step is really more
of a preliminary step for the generator anyway.
2013-10-13 17:04:56 +02:00
Bertrand Lorentz 7180011c22 Add and use gapi.xsd to validate GAPI XML files
The structure of a GAPI XML file is now defined by the XML schema in
gapi.xsd.

This XSD is now used by the generator to do a first sanity check on an
XML file before trying to generate code from it. Each generatable object
still does its own validation.

The XSD can also be seen as a documentation of the GAPI XML format, and
can be used by third-parties that produce GAPI XML to validate their
output.
2013-02-23 14:32:04 +01:00
Bertrand Lorentz c1e9a8c613 generator: Remove support for .custom files
We don't use any .custom file anymore, and nobody should. You can
do the same things with partial classes, and they're much nicer.
2012-08-05 18:29:18 +02:00
Bertrand Lorentz 18d1af6907 build: Specify assembly version when uninstalling from the GAC
We need to qualify the assembly name with the version, otherwise gacutil
uninstall all versions of the assembly.
Fixes http://bugzilla.xamarin.com/show_bug.cgi?id=207
2011-08-11 18:44:58 +02:00
Mike Kestner c4d06e4b7f Stop copying AssemblyInfo.cs around.
* Makefile.include:
* gtkdotnet/Makefile.am:
  Now that the keyfile stuff is compiler switch driven, we don't
need to copy around these AssemblyInfo attrs either.  Already fixed
the key copying.
2011-02-09 10:09:35 -06:00
Mike Kestner ec77219ad5 Use -keyfile instead of deprecated attr.
* AssemblyInfo.cs.in: kill keyfile attr
* Makefile.am: moved mono.snk to cairo dir
* Makefile.include: no need to copy snk into builddir any longer.
* cairo/AssemblyInfo.cs: kill keyfile attr
* cairo/Makefile.am: snk relocated into here. use it directly.
* glib/Makefile.am: no need to copy snk into builddir any longer.
* gtkdotnet/Makefile.am: no need to copy snk into builddir any longer.
2011-01-07 22:15:04 -06:00
Mike Kestner a948792be0 2009-11-30 Mike Kestner <mkestner@novell.com>
* */Makefile.am: standardize on - options over / options for 
	consistency.  Also assists with build on msys. [Fixes #550667]

svn path=/trunk/gtk-sharp/; revision=147125
2009-11-30 20:40:34 +00:00
Christian Hoff 1e97a1046f 2009-08-30 Christian Hoff <christian_hoff@gmx.net>
Complete the major version jump. Gtk# 3 and 2 are now both
	installable within the same prefix.

	* */glue/Makefile.am: Produce *sharpglue-3 gluelibs.
	* *.custom, *.cs: pinvoke the new glue library.
	* *-2.0.pc.in: Rename to *-3.0.pc.in.

svn path=/trunk/gtk-sharp/; revision=140941
2009-08-30 20:06:33 +00:00
Christian Hoff a4331a40ed 2009-07-23 Christian Hoff <christian_hoff@gmx.net>
* configure.in.in, Makefile.include: Bump up GAPI version to 3.0.
	* bootstrap-2.14: Renamed to bootstrap-for-the-insane, added message
	of doom.	[Fixes #521449]

svn path=/trunk/gtk-sharp/; revision=138572
2009-07-23 17:18:03 +00:00
Christian Hoff 940cf88750 2009-07-02 Christian Hoff <christian_hoff@gmx.net>
* configure.in.in: Target .net 2.0 profile
	* gapi-cdecl-insert: Kill. We are now using the UnmanagedFunctionPointerAttribute
	for callbacks.
	* glib/CdeclCallback: Mark obsolete.
	* generator/*.cs:
	* *.custom: Use [UnmanagedFunctionPointer (CallingConvention.Cdecl)] instead of
	[GLib.CDeclCallback].

svn path=/trunk/gtk-sharp/; revision=137323
2009-07-02 20:18:10 +00:00
Andrés G. Aragoneses a63841988e * atk/Makefile.am:
* glib/Makefile.am:
* Makefile.include: (Revert revision 131780) Track r131942.

svn path=/trunk/gtk-sharp/; revision=131943
2009-04-16 22:00:07 +00:00
Andrés G. Aragoneses 722954e799 2009-04-15 Andrés G. Aragoneses <aaragoneses@novell.com>
* atk/Makefile.am
        * glib/Makefile.am
        * Makefile.include: Added new 'moonlight' target, to build with
        smcs.


svn path=/trunk/gtk-sharp/; revision=131780
2009-04-15 15:32:41 +00:00
Mike Kestner 27c413091c 2009-01-23 Mike Kestner <mkestner@novell.com>
* Makefile.include:
	* doc/Makefile.am:
	* glib/Makefile.am:
	* gtkdotnet/Makefile.am: parallel make patches from Diego Pettenò  
	and Bertrand Lorentz. [Fixes #421063]

svn path=/trunk/gtk-sharp/; revision=124400
2009-01-24 04:47:54 +00:00
Mike Kestner 08c2de8041 2005-12-13 Mike Kestner <mkestner@novell.com>
* configure.in.in : check for mono-cairo.pc.
	* Makefile.include : use AC_SUBST for cairo ref.
	* gdk/Gdk.metadata : s/Cairo.Graphics/Cairo.Context.

svn path=/trunk/gtk-sharp/; revision=54298
2005-12-13 15:33:28 +00:00
Mike Kestner e1d05acf79 2005-10-09 Mike Kestner <mkestner@novell.com>
* Makefile.include : reference Mono.Cairo.dll.
	* gdk/Gdk.metadata : add cairo_t symbol element.

svn path=/trunk/gtk-sharp/; revision=51499
2005-10-10 01:53:10 +00:00
Mike Kestner 35ee367957 2005-10-09 Mike Kestner <mkestner@novell.com>
* configure.in.in : string quote the POLICY_VERSIONS.
	* Makefile.include : multiple policy fixes.
	* */Makefile.am : multiple policy fixes.

svn path=/trunk/gtk-sharp/; revision=51493
2005-10-09 18:55:31 +00:00
Mike Kestner f9be897c3f 2005-09-21 Mike Kestner <mkestner@novell.com>
* bootstrap* : expose POLICY_VERSIONS variable.
	* configure.in.in : AC_SUBST new POLICY_VERSIONS.
	* Makefile.include : build/install policy assemblies.
	* policy.config.in : policy config skeleton.
	* */Makefile.am : ditto.

svn path=/trunk/gtk-sharp/; revision=50450
2005-09-22 04:26:52 +00:00
Mike Kestner 32e6f7df76 2005-08-25 Mike Kestner <mkestner@novell.com>
* configure.in.in : move GACUTIL check forward ahead of a use.
	* Makefile.include : distcheck fixes
	* glib/Makefile.am : distcheck fixes
	* gtkdotnet/Makefile.am : distcheck fixes

svn path=/trunk/gtk-sharp/; revision=48861
2005-08-25 22:32:18 +00:00
Mike Kestner 5e70f6eb45 2005-08-25 Mike Kestner <mkestner@novell.com>
* configure.in.in : add PLATFORM_WIN32 conditional. Borrow mono's 
	libtool s/cyg// hack. Improve/relocate System.Drawing check.
	* Makefile.include : add gapi-cdecl-insert handling for win32.
	* glib/Makefile.am : add gapi-cdecl-insert handling for win32.
	* gtkdotnet/Makefile.am : s/-r:System.Drawing/-r:System.Drawing.dll/.
	* sample/DrawingSample.cs : remove C# 2.0-isms.
	* sample/Makefile.am : s/-r:System.Drawing/-r:System.Drawing.dll/.

svn path=/trunk/gtk-sharp/; revision=48859
2005-08-25 20:59:21 +00:00
Mike Kestner 60c910ebec 2005-06-17 Mike Kestner <mkestner@novell.com>
* Makefile.include : add included apis as deps on the generation
	target to force regen if dependency lib api changes.
	* pango/Analysis.custom : new custom to implement the ExtraAttrs
	property.  [Fixes #74668]
	* pango/Makefile.am : add new custom file.

svn path=/trunk/gtk-sharp/; revision=46166
2005-06-17 18:48:27 +00:00
Mike Kestner 8f032b793e 2005-06-06 Mike Kestner <mkestner@novell.com>
* Makefile.include : depend on gapi-fixup.exe for the api target.
	* parser/gapi-fixup.cs : remove-node rule handling.

svn path=/trunk/gtk-sharp/; revision=45502
2005-06-06 15:32:22 +00:00
Dan Winship b6d7f14268 * generator/StructBase.cs: update field-generation logic a bit
* generator/CodeGenerator.cs: add a --glue-includes flag

	* generator/GenerationInfo.cs: Accept glue_includes value from
	Main and output it to the glue_filename.

	* generator/FieldBase.cs (Ignored): handle more ignorable cases.
	(CheckGlue): New method to figure out what kind of glue we'll need
	for a field.
	(GenerateImports): generate appropriate imports per CheckGlue.
	(GenerateGlue): Generate C glue for accessing a struct field;
	either a fully-C-based accessor, or a method to just return the
	field's offset in the struct.
	(Generate): Use the generated glue to read the field.

	* generator/PropertyBase.cs (CType): if the field is a single bit,
	set its type to gboolean.

	* generator/ObjectGen.cs (Generate):
	* generator/OpaqueGen.cs (Generate): Call GenFields.

	* generator/StructField.cs: Use FieldBase's glue-generation code
	to handle bitfields. [#54489]

	* generator/ObjectField.cs: Generates accessors for public fields
	of objects and opaque structs. [#69514]

	* generator/ClassBase.cs (ClassBase): Parse <fields> nodes and
	create ObjectField objects.
	(GenFields): Output field properties
	(IgnoreMethod): Ignore Get/Set methods that duplicate fields

	* generator/Makefile.am (sources): update

	* {gdk,gnome,gtk,pango}/*.metadata: Mark some additional fields as
	public. Rename/retype some fields for consistency with earlier
	hand-coded bindings.

	* {gdk,gnome,gtk,pango}/*.custom: Remove custom methods that can
	now be autogenerated.

	* {gdk,gnome,gtk,pango}/glue/*.c: Remove glue methods that can now
	be autogenerated
	
	* {gdk,glade,gnome,gtk,pango,vte}/Makefile.am
	* {gdk,glade,gnome,gtk,pango,vte}/glue/Makefile.am
	* {gdk,gnome,gtk,pango}/glue/makefile.win32: Update

svn path=/trunk/gtk-sharp/; revision=44563
2005-05-16 14:28:55 +00:00
Mike Kestner 30e9473cb7 2005-04-21 Mike Kestner <mkestner@novell.com>
* Makefile.include : make mcs shaddup about 169.

svn path=/trunk/gtk-sharp/; revision=43399
2005-04-21 13:37:37 +00:00
Dan Winship abbec2b649 * configure.in: Add an --enable-debug flag, to build .mdb files
for all of the assemblies

	* Makefile.include:
	* gconf/GConf/Makefile.am:
	* gconf/GConf.PropertyEditors/Makefile.am:
	* glib/Makefile.am:
	* gtkdotnet/Makefile.am (CLEANFILES): add $(ASSEMBLY).mdb
	$(ASSEMBLY): build with $(CSFLAGS). Always delete $(ASSEMBLY).mdb
	before building $(ASSEMBLY), so that if you first build with
	debugging enabled, then update, then rebuild without debugging
	enabled, you don't end up with an out-of-date .mdb file.

svn path=/trunk/gtk-sharp/; revision=42791
2005-04-11 14:56:29 +00:00
Raja R Harinath 2cc53b1907 * Makefile.include: Use $(top_builddir)/ instead of ../ so that it
is usable from directories two-or-more deep.

svn path=/trunk/gtk-sharp/; revision=41028
2005-02-22 10:30:41 +00:00
Ben Maurer ea4538435f 2005-01-08 Ben Maurer <bmaurer@ximian.com>
* Makefile.include (install-data-local, uninstall-local): make
	this actually work for things that are disabled.


svn path=/trunk/gtk-sharp/; revision=38561
2005-01-09 03:34:25 +00:00
Mike Kestner 8fd87b2e0a 2005-01-08 Mike Kestner <mkestner@novell.com>
* configure.in : kill a ton of redundant stuff.
	* AssemblyInfo.cs.in : moved here, only need one.
	* Makefile.include : rules for building generated assemblies.
	* Makefile.am : removed gtk-sharp-2.0.pc handling.
	* */AssemblyInfo.cs.in : killed
	* */Makefile.am : refactored out a ton of rules to an include.
	* */*-pc.in : added Cflags entries pointing to the gapi files.
	* generator/CodeGenerator.cs : add -I: synonym --include.
	* gnomevfs/gnome-vfs-api.raw : remamed from gnomevfs-api.raw.
	* gtk/gtk-sharp-2.0.pc.in : moved here from top.
	* parser/gapi-fixup.cs : add --symbol arg to merge sym files.
	* sources/gtk-sharp-sources.xml : remamed gnome-vfs-api.raw.

svn path=/trunk/gtk-sharp/; revision=38551
2005-01-09 00:26:45 +00:00