glib/docs/reference
Emmanuele Bassi 34aeeb7d64 Add flexible API version boundaries
There are cases when it should be possible to define at compile time
what range of functions and types should be used, in order to get,
or restrict, the compiler warnings for deprecated or newly added
types or functions.

For instance, if GLib introduces a deprecation warning on a type in
version 2.32, application code can decide to specify the minimum and
maximum boundary of the used API to be 2.30; when compiling against
a new version of GLib, this would produce the following results:

  - all deprecations introduced prior to 2.32 would emit compiler
    warnings when used by the application code;
  - all deprecations introduced in 2.32 would not emit compiler
    warnings when used by the application code;
  - all new symbols introduced in 2.32 would emit a compiler warning.

Using this scheme it should be possible to have fairly complex
situations, like the following one:

  assuming that an application is compiled with:
    GLIB_VERSION_MIN_REQUIRED = GLIB_VERSION_2_30
    GLIB_VERSION_MAX_ALLOWED  = GLIB_VERSION_2_32

  and a GLib header containing:

    void function_A (void) GLIB_DEPRECATED_IN_2_26;
    void function_B (void) GLIB_DEPRECATED_IN_2_28;
    void function_C (void) GLIB_DEPRECATED_IN_2_30;
    void function_D (void) GLIB_AVAILABLE_IN_2_32;
    void function_E (void) GLIB_AVAILABLE_IN_2_34;

  any application code using the above functions will get the following
  compiler warnings:

    function_A: deprecated symbol warning
    function_B: deprecated symbol warning
    function_C: no warning
    function_D: no warning
    function_E: undefined symbol warning

This means that it should be possible to gradually port code towards
non-deprecated API gradually, on a per-release basis.

https://bugzilla.gnome.org/show_bug.cgi?id=670542
2012-02-26 23:58:41 -05:00
..
gio GApplication: add g_application_quit() 2012-02-21 01:20:39 +01:00
glib Add flexible API version boundaries 2012-02-26 23:58:41 -05:00
gobject Add a few more missing functions to the docs 2012-02-10 22:21:42 -05:00
.gitignore .gitignore manpages (*.1) 2010-05-24 23:21:01 -04:00
AUTHORS Initial revision 1999-08-16 17:58:30 +00:00
ChangeLog Update README files to refer to git 2009-03-31 19:39:16 -04:00
COPYING Initial revision 1999-08-16 17:58:30 +00:00
Makefile.am gio/ docs/reference/gio Merged gio-standalone into glib. 2007-11-26 16:13:05 +00:00
NEWS Initial revision 1999-08-16 17:58:30 +00:00
README Added some simple build instructions. 1999-08-16 18:28:01 +00:00

This package contains the reference documentation
for GLib. For more information about Glib,
see:

 http://www.gtk.org

For information about contributing to the
GLib/GTK+ reference documentation project, see:

 http://www.gtk.org/rdp/

The GLib reference documentation is freely redistributable,
see the file COPYING for details.


REQUIREMENTS
============

To build the documentation, you must have the gtk-doc
package installed. To rebuild the template files,
you must have the current version of the GLib
header files installed.


BUILD
=====

First, run configure to generate the makefiles for this
module. There is one option specific to this package

  --with-html-dir=DIR   top of installed HTML documentation tree


The Makefiles for this module define three targets:

 templates:
  
  Scan the headers and merge the results with the current 
  template files

 sgml:

  Generate SGML files using the DocBook DTD from
  the template files

 html:

  Generate HTML from the SGML files.

To build the documentation, do:

 make sgml
 make html

You should only run the 'make templates' step if you
need to regenerate the templates for a more recent
version of the GLib sources.


INSTALLATION
============

 make install