+Synopsis
+========
+
This package provides semi-portable access to hardware provided
atomic memory operations. These might allow you to write code:
- Makes more effective use of multiprocessors by allowing you to write
clever lock-free code. Note that such code is very difficult to get
right, and will unavoidably be less portable than lock-based code. It
- ia also not always faster than lock-based code. But it may occasionally
+ is also not always faster than lock-based code. But it may occasionally
be a large performance win.
- To experiment with new and much better thread programming paradigms, etc.
For details and licensing restrictions see the files in the doc
subdirectory.
+
+
+Installation and Usage
+======================
+
+The configuration and build scripts for this package were generated by
+Automake/Autoconf. "./configure --prefix=<install dir>; make; make install"
+in this directory should work. For a more customized build, see "INSTALL"
+and the output of "./configure --help".
+
+Note that much of the content of this library is in the header files.
+However, two small libraries are built and installed:
+
+- libatomic_ops.a is a support library, which is not needed on some platforms.
+ This is intended to be usable, under some mild restrictions, in free or
+ proprietary code, as are all the header files. See doc/LICENSING.txt.
+- libatomic_ops_gpl.a contains some higher level facilities. This code is
+ currently covered by the GPL. The contents currently correspond to
+ the headers atomic_ops_stack.h and atomic_ops_malloc.h.
+
+
+Platform Specific Notes
+=======================
+
+Win32/64: src/Makefile.msft contains a very simple Makefile for building
+and running tests and building the gpl library. The core atomic_ops
+implementation is entirely in header files.
+
+HP-UX/PA-RISC: aCC -Ae won't work as a C compiler, since it doesn't support
+inline assembly code. Use cc.