Commit Graph

16 Commits

Author SHA1 Message Date
Matthias Clasen
76175ab9ed Improve documentation around deprecations 2012-02-27 00:18:47 -05:00
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
Matthias Clasen
07bcb3f8d6 Update deprecation docs 2011-11-03 00:05:29 -04:00
Matthias Clasen
7455dd370e Make single includes mandatory
This has been the official line since 2.17, which seems plenty
long enough for a transition phase.
2011-10-12 00:25:38 -04:00
Matthias Clasen
c6016458ba Update deprecation docs 2011-10-11 23:50:34 -04:00
Matthias Clasen
47c7fa2ccd Remove mention of gthread-2.0.pc from 'Compiling' section
At the same time, add one or two other corrections.
2011-10-05 22:31:17 -04:00
Javier Jardón
62a133f55d Improve the documentation about single include exceptions
Also, reenable the compiling Glib application section
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=612736
2010-03-13 01:33:09 +01:00
Stefan Kost
00db5238d9 docs: switch to xi:inbclude for the content to save some more seconds 2010-01-07 11:34:00 +02:00
Matthias Clasen
e14f918de9 2.17.0
svn path=/trunk/; revision=6948
2008-05-27 21:22:45 +00:00
Matthias Clasen
8aa6abbd6c Additions
svn path=/trunk/; revision=6945
2008-05-27 16:46:43 +00:00
Matthias Clasen
a66bf6e9f2 Add a note about G_DISABLE_DEPRECATED. (#353172, Matt Barnes)
2006-08-28  Matthias Clasen  <mclasen@redhat.com>

        * glib/compiling.sgml: Add a note about G_DISABLE_DEPRECATED.
        (#353172, Matt Barnes)
2006-08-28 17:20:02 +00:00
Matthias Clasen
a8b39bf42b Document gmodule-no-export-2.0
2005-10-05  Matthias Clasen  <mclasen@redhat.com>

	* glib/compiling.sgml: Document gmodule-no-export-2.0
2005-10-05 20:45:50 +00:00
Stepan Kasal
0169468c8c Fix typos: invokation -> invocation. 2005-08-10 10:46:55 +00:00
Matthias Clasen
a9fc3503a1 Add a warning 2005-05-20 14:33:21 +00:00
Matthias Clasen
16f730e41d Update an example from 1.3 to 2.x
2005-05-20  Matthias Clasen  <mclasen@redhat.com>

	* glib/compiling.sgml: Update an example from 1.3 to 2.x
2005-05-20 14:27:54 +00:00
Matthias Clasen
cdcf0ac63f New files.
* glib/building.sgml, glib/compiling.sgml,
        glib/running.sgml, glib/resources.sgml,
        glib/changes-2.0.sgml: New files.

        * glib/Makefile.am (content_files): Add new files.

        * glib/glib-docs.sgml: Add an Overview chapter.
2002-01-17 23:06:12 +00:00