• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

atk/H03-May-2022-8,1737,174

cairo/H03-May-2022-5,6743,331

doc/H03-May-2022-356,894353,354

gdk/H03-May-2022-14,12312,506

generator/H03-May-2022-9,3356,945

glade/H03-May-2022-2,7312,353

glib/H03-May-2022-9,9416,916

gtk/H03-May-2022-38,77135,968

gtkdotnet/H03-May-2022-797652

msi/H03-May-2022-8,2797,267

pango/H03-May-2022-6,5315,472

parser/H03-May-2022-2,4972,073

sample/H03-May-2022-14,74411,532

sources/H03-May-2022-962839

AUTHORSH A D21-Sep-2016605 2522

AssemblyInfo.cs.inH A D21-Sep-2016229 86

COPYINGH A D21-Sep-201625.8 KiB505418

ChangeLogH A D22-Sep-2016461.4 KiB13,4429,367

HACKINGH A D21-Sep-2016989 2618

Makefile.amH A D25-Oct-2016305 1512

Makefile.inH A D03-May-202226.6 KiB874775

Makefile.includeH A D22-Sep-20163.4 KiB8568

NEWSH A D21-Sep-20168 21

READMEH A D22-Sep-20164 KiB11174

README.generatorH A D03-Feb-20162.9 KiB6648

aclocal.m4H A D21-Jun-2017375.8 KiB10,5129,502

compileH A D30-Nov-20167.2 KiB348258

config.guessH A D12-Nov-201642.9 KiB1,4631,270

config.h.inH A D21-Jun-20171.8 KiB7147

config.subH A D12-Nov-201635.5 KiB1,8261,688

configureH A D21-Jun-2017492.8 KiB16,69914,025

configure.inH A D21-Jun-20178.7 KiB339293

depcompH A D30-Nov-201623 KiB792502

install-shH A D30-Nov-201614.8 KiB509329

ltmain.shH A D21-Jun-2017316.8 KiB11,1577,986

missingH A D30-Nov-20166.7 KiB216143

policy.config.inH A D03-Feb-2016373 1110

README

1The Gtk# website can be found at: http://gtk-sharp.sourceforge.net/
2
3Gtk# is a .NET language binding for the GTK+ toolkit and assorted GNOME
4libraries.  Gtk# is free software, licensed under the GNU LGPL.  The target
5is the 2.6 platform.
6
7Building & Installing Gtk#:
8---------------------------
9
10    Install the gtk-2 development headers first. On Debian, this can be done using:
11    apt-get install libgtk2.0-dev libpango1.0-dev libglade2-dev
12
13    The build is the traditional:
14
15        ./configure
16        make
17        make install
18
19    You may want to consider using configure's prefix option to install
20    Gtk# using the same prefix as Mono.  That way all of your .NET assemblies
21    get placed in the same place, and you don't need to do any extra "configuring"
22    to make it so mono (and mint) can find your assemblies.  In other words,
23    doing something like:
24
25        ./configure --prefix=/the/path/that/was/used/for/mono
26        make
27        make install
28
29    (Of course, replace "/the/path/that/was/used/for/mono" with whatever path
30    which was used for Mono.  This might have been "/usr", "/usr/local", or
31    something similar.)
32
33    If you are compiling from SVN, you will need libtool and the auto* tools
34    and will need to replace the configure above with bootstrap-2.n for whichever
35    API version you are building.
36
37    To build a win32 installer, cygwin is required.  Use the mingw-gcc compiler
38    and ensure that the autotools are installed, but do not install any of the
39    gtk+ libraries from cygwin.  You will need to get the zip bundles for gtk+
40    and dependencies, along with libglade and libxml2 from:
41
42    ftp.gnome.org/pub/gnome/binaries
43
44    for the platform you are building.  Extract all these zips, including the devel
45    zips into a single directory and setup your path so that it can access the
46    pkg-config tool provided.  You will also want to edit the lib/pkgconfig/*.pc
47    files to specify the prefix you installed to.
48
49    Once all that is done, configure away.
50
51    There is a special make target which supports the process of building msi
52    installers.  You can make installer-bundle to create a subdirectory named
53    gtk-sharp-binaries-<version> which will contain a wxs script and all the
54    binaries from the build.  You will also need to copy into this directory the
55    msm modules for gtk+, libglade, and mono-cairo.  These can be built
56    from svn trunk module win32-installers.  Once those msm's are in place,
57    execute the build-installer script to produce the msi.
58
59Discussion & Support:
60---------------------
61
62    A mailing list for Gtk# discussion is available.
63
64    You can subscribe to the mailing list by visiting:
65
66        http://lists.ximian.com/mailman/listinfo/gtk-sharp-list
67
68    And following the instructions (on that page) to subscribe.
69    Messages are posted on this mailing list by sending them to:
70
71        gtk-sharp-list@ximian.com
72
73    (The mailing list requires you to subscribe in order to post
74    messages.)
75
76    An archive of this mailing list can be found at:
77
78        http://lists.ximian.com/archives/public/gtk-sharp-list/
79
80    Further, a Wiki is available for Gtk#, and can be found at:
81
82        http://www.nullenvoid.com/gtksharp/wiki/
83
84    Also, people can get help with and discuss Gtk# on IRC via the
85    #mono channel on the irc.gnome.org IRC server.
86
87    People looking for general help with C# should visit the
88    #c# channel on irc.freenode.net IRC server.
89
90
91Developers:
92-----------
93
94    For developers wishing to "get started" with Gtk#, they are encouraged
95    to read the Mono Hand Book:
96
97        http://www.go-mono.com/tutorial
98
99    In the Mono Hand Book, Chapter 21 is on Gtk#.  (In the Mono Hand Book,
100    the Gtk# .NET bindings are refered to as GNOME.NET.)
101
102
103Hackers:
104--------
105
106    For those who wish to help with the development of Gtk#, they should
107    read the file named: HACKING.
108
109    Also, anyone wishing to hack Gtk# is encouraged to join the Gtk#
110    mailing list.  And to visit the #mono IRC channel (on irc.gnome.org).
111

README.generator

1NOTE: This file is out of date. Please refer to http://www.mono-project.com/GAPI for a more complete and up-to-date guide to the GAPI tools included with Gtk#
2
3
4How to use the Gtk# code generator:
5
6Install dependencies:
7
8   * You need to install the XML::LibXML perl bindings and Gtk#.
9
10Parse the library:
11
12   * Create an xml file defining the libraries to be parsed. The
13     format of the XML is:
14
15	<gapi-parser-input>
16	  <api filename="../api/atk-api.xml">
17	    <library name="libatk-1.0-0.dll">
18	      <namespace name="Atk">
19	        <dir>atk-1.2.4/atk</dir>
20	      </namespace>
21	    </library>
22	  </api>
23	</gapi-parser-input>
24
25     The api element filename attribute specifies the parser output file location.
26     The name attribute on the library output points to the native library name. If
27     you are creating a cross-platform project, you will want to specify the win32 dll
28     name here and use mono's config mechanism to map the name on other platforms.
29     The dir element points to a src directory to be parsed.  Currently all .c and .h
30     files in the directory are parsed.
31
32     All the elements inside the root can have multiples. The source/gtk-sharp-sources.xml
33     file has examples of producing multiple api files with a single parser input file, as
34     well as including muliple libraries in a single output file.
35
36   * Create metadata rules files named <namespace>.metadata in the directory where you invoke
37     the parser.  Metadata rules allow you to massage the parsed api if necessary.  Examples
38     of rule formats can be found in the sources directory.
39
40   * Execute the parser on your xml input file:
41	gapi-parser <xml-input-filename>
42
43   * Distribute the xml file(s) produced by the parser with your project so that your
44     users don't need to have any native library source, or perl libraries installed in
45     order to build your project.
46
47Within your project directory, do the following:
48
49   * Setup a toplevel subdirectory for each namespace/assembly you
50     are wrapping. Instruct the makefile for this directory to compile,
51     at minimum, generated/*.
52
53   * Run gapi_codegen.exe on the API file(s) you created with the parser. If you depend
54     on any other wrapped libraries (such as gtk-sharp.dll), you need to include their API
55     listings via the --include directive.  The code generator, if successful, will have
56     populated the assembly directories with generated/ directories. It is generally helpful
57     to automate this process with makefiles. Gtk# uses the following organization:
58        - sources/: Source directories, .sources listing, .metadata files.
59             developers run make manually here when they want to update the API files.
60        - api/: API files
61             The files are committed to CVS and included in releases for the convenience
62             of the lib user.  This dir is included in the build before the namespace dirs
63             and the generator is invoked from this dir.
64
65
66