glib/docs/reference
Ryan Lortie 8382135265 glib: Rewrite gatomic.[ch]
- remove all inline assembly versions

 - implement the atomic operations using either GCC intrinsics, the
   Windows interlocked API or a mutex-based fallback

 - drop gatomic-gcc.c since these are now defined in the header file.
   Adjust Makefile.am accordingly.

 - expand the set of operations: support 'get', 'set', 'compare and
   exchange', 'add', 'or', and 'xor' for both integers and pointers

 - deprecate g_atomic_int_exchange_and_add since g_atomic_int_add (as
   with all the new arithmetic operations) now returns the prior value

 - unify the use of macros: all functions are now wrapped in macros that
   perform the proper casts and checks

 - remove G_GNUC_MAY_ALIAS use; it was never required for the integer
   operations (since casting between pointers that only vary in
   signedness of the target is explicitly permitted) and we avoid the
   need for the pointer operations by using simple 'void *' instead of
   'gpointer *' (which caused the 'type-punned pointer' warning)

 - provide function implementations of g_atomic_int_inc and
   g_atomic_int_dec_and_test: these were strictly macros before

 - improve the documentation to make it very clear exactly which types
   of pointers these operations may be used with

 - remove a few uses of the now-deprecated g_atomic_int_exchange_and_add

 - drop initialisation of gatomic from gthread (by using a GStaticMutex
   instead of a GMutex)

 - update glib.symbols and documentation sections files

Closes #650823 and #650935
2011-05-28 16:10:44 -04:00
..
gio gdbus-codegen: Fix up example to not use non-existant method 2011-05-24 07:34:30 -04:00
glib glib: Rewrite gatomic.[ch] 2011-05-28 16:10:44 -04:00
gobject Add a generic libffi based marshaller to libgobject 2011-04-08 17:34:44 -04: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