summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2011-07-23 13:42:52 -0400
committerMatthias Clasen <mclasen@redhat.com>2011-07-23 13:44:45 -0400
commit2937a875a0797511c20af6ccd1334257e7239bf4 (patch)
treeee1d3b65690aeebd4accd7279d494fae255828dc /docs
parent07f525368dd85e6ee1640f0c52cca2413757a3a4 (diff)
downloadgtk+-2937a875a0797511c20af6ccd1334257e7239bf4.tar.gz
Ditch some long dead perl cruft
Diffstat (limited to 'docs')
-rw-r--r--docs/generation.txt177
1 files changed, 0 insertions, 177 deletions
diff --git a/docs/generation.txt b/docs/generation.txt
deleted file mode 100644
index bc47664cdf..0000000000
--- a/docs/generation.txt
+++ /dev/null
@@ -1,177 +0,0 @@
-Overview:
-========
-
-This file describes the way that autogeneration
-works within the GTK+ source code.
-
-The following files in the gdk/ subdirectory
-are autogenerated:
-
- gdkkeysyms.h
- gdkcursors.h
-
-The following files in the gtk/ subdirectory
-are autogenerated:
-
- gtk.defs
- Description of GTK+ types (and some functions) in a lisp-style
- format.
- gtktypebuiltins.h
- Header file including declarations for internal types
- gtktypebuiltins_vars.c
- Variables for type values for internal types.
- gtktypebuiltins_ids.c
- Arrays holding information about each internal type.
- gtktypebuiltins_evals.c
- Arrays holding mapping between enumeration values
- and strings.
-
- gtkmarshal.c
- gtkmarshal.h
- Autogenerated signal marshallers
-
-GDK
-===
-
-gdkkeysyms.h and gdkcursors.h are generated from
-the corresponding header files
-
- X11/cursorfont.h
- X11/keysymdef.h
-
-by some simple sed scripts. These are not actually
-run automatically because we want all the keysyms
-even on systems with a limited set.
-So the Gdk rule to generate both files (X-derived-headers)
-only needs to be rerun for every new release of the X Window
-System.
-
-GTK+ - type definitions
-=======================
-
-The type definitions are generated from several sources:
-
- gtk-boxed.defs - definitions for boxed types
- GTK+ header files
- GDK header files
-
-The makeenums.pl script does a heuristic parse of
-the header files and extracts all enumerations declarations.
-It also recognizes a number of pseudo-comments in the
-header files:
-
-Two of these apply to individual enumeration values:
-
- /*< skip >*/
-
- This enumeration value should be skipped.
-
- /*< nick=NICK >*/
-
- The nickname for this value should NICK instead of the
- normally guessed value. For instance:
-
- typedef enum {
- GTK_TARGET_SAME_APP = 1 << 0, /*< nick=same-app >*/
- GTK_TARGET_SAME_WIDGET = 1 << 1 /*< nick=same-widget >*/
- } GtkTargetFlags;
-
- makes the nicks "same-app" and "same-widget", instead of
- "app" and "widget" that would normally be used.
-
-The other two apply to entire enumeration declarations.
-
- /*< prefix=PREFIX >*/
-
- Specifies the prefix to be removed from the enumeration
- values to generate nicknames.
-
- /*< flags >*/
-
- Specifies that this enumeration is used as a bitfield.
- (makenums.pl normally guesses this from the presence of values
- with << operators). For instance:
-
- typedef enum /*< flags >*/
- {
- GDK_IM_PREEDIT_AREA = 0x0001,
- GDK_IM_PREEDIT_CALLBACKS = 0x0002,
- [ ... ]
- } GdkIMStyle;
-
-makeenums.pl can be run into two modes:
-
- 1) Generate the gtktypebuiltins_eval.c file (this
- contains arrays holding the mapping of
- string <=> enumeration value)
-
- 2) Generate the enumeration portion of gtk.defs.
-
-The enumeration portion is added to the boxed type
-declarations in gtk-boxed.defs to create gtk.defs.
-
-The makeetypes.awk program takes the gtk.defs file, and
-from that generates various files depending on the
-third parameter passed to it:
-
- macros: gtktypebuiltins.h
- variables: gtktypebuiltins_vars.c
- entries: gtktypebuiltins_ids.c
-
-GTK+ - marshallers
-==================
-
-The files gtkmarshal.c and gtkmarshal.h include declarations
-and definitions for the marshallers needed inside of
-GTK+. The marshallers to be generated are listed in
-the file gtkmashal.list, which is processed
-by genmarshal.pl.
-
-The format of this file is a list of lines:
-
- <retval-type>:<arg1-type>,<arg2-type>,<arg3-type>
-
-e.g.:
-
- BOOL:POINTER,STRING,STRING,POINTER
-
-A marshaller is generated for each line in the file.
-The possible types are:
-
- NONE
- BOOL
- CHAR
- INT
- UINT
- LONG
- ULONG
- FLOAT
- DOUBLE
- STRING
- ENUM
- FLAGS
- BOXED
- POINTER
- OBJECT
- FOREIGN (gpointer data, GtkDestroyNotify notify)
- C_CALLBACK (GtkFunction func, gpointer func_data)
- SIGNAL (GtkSignalFunc f, gpointer data)
- ARGS (gint n_args, GtkArg *args)
- CALLBACK (GtkCallBackMarshal marshall,
- gpointer data,
- GtkDestroyNotify Notify)
-
-Some of these types map to multiple return values - these
-are marked above with the return types in parentheses.
-
-NOTES
-=====
-
-When autogenerating GTK+ files, the autogenerated
-files are often rebuild resulting in the same result.
-
-To prevent unnecessary rebuilds of the entire directory, some files
-that multiple other source files depend on are not actually written
-to directly. Instead, an intermediate file is written, which
-is then compared to the old file, and only if it is different
-is it copied into the final location.