Commit graph

26 commits

Author SHA1 Message Date
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