~ubuntu-branches/ubuntu/quantal/libgc/quantal

« back to all changes in this revision

Viewing changes to libatomic_ops-1.2/doc/README_win32.txt

  • Committer: Bazaar Package Importer
  • Author(s): Christoph Egger
  • Date: 2011-02-19 12:19:56 UTC
  • mfrom: (1.3.2 upstream) (0.1.5 experimental)
  • mto: This revision was merged to the branch mainline in revision 14.
  • Revision ID: james.westby@ubuntu.com-20110219121956-67rb69xlt5nud3v2
Tags: 1:7.1-5
Upload to unstable

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
Most of the atomic_ops functionality is available under Win32 with
 
2
the Microsoft tools, but the build process currently is considerably more
 
3
primitive than on Linux/Unix platforms.
 
4
 
 
5
To build:
 
6
 
 
7
1) Go to the src directory in the distribution.
 
8
2) Make sure the Microsoft command-line tools (e.g. nmake) are available.
 
9
3) Run "nmake -f Makefile.msft".  This should run some tests, which
 
10
may print warnings about the types of the "Interlocked" functions.
 
11
I haven't been able to make all versions of VC++ happy.  If you know
 
12
how to, please send a patch.
 
13
4) To compile applications, you will need to retain or copy the following
 
14
pieces from the resulting src directory contents:
 
15
        "atomic_ops.h" - Header file defining low-level primitives.  This
 
16
                         includes files from:
 
17
        "atomic_ops"- Subdirectory containing implementation header files.
 
18
        "atomic_ops_stack.h" - Header file describing almost lock-free stack.
 
19
        "atomic_ops_malloc.h" - Header file describing almost lock-free malloc.
 
20
        "libatomic_ops_gpl.lib" - Library containing implementation of the
 
21
                                  above two.  The atomic_ops.h implementation
 
22
                                  is entirely in the header files in Win32.
 
23
 
 
24
Most clients of atomic_ops.h will need to define AO_ASSUME_WINDOWS98 before
 
25
including it.  Compare_and_swap is otherwise not available.
 
26
 
 
27
Note that the library is covered by the GNU General Public License, while
 
28
the top 2 of these pieces allow use in proprietary code.