From: ivmai Date: Wed, 30 Sep 2009 18:13:53 +0000 (+0000) Subject: 2009-09-30 Ivan Maidanski (really Petter Urkedal) X-Git-Tag: libatomic_ops-7_2alpha4~9 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b6f1928754a823c2915d008b48ae45b3610904de;p=libatomic_ops 2009-09-30 Ivan Maidanski (really Petter Urkedal) * README: Move notes from the hand-edited part of INSTALL which was overwritten by Automake recently. --- diff --git a/ChangeLog b/ChangeLog index d1d5557..7ce829d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2009-09-30 Ivan Maidanski (really Petter Urkedal) + + * README: Move notes from the hand-edited part of INSTALL which + was overwritten by Automake recently. + 2009-09-26 Ivan Maidanski * aclocal.m4: Regenerate (by autoreconf -vif). diff --git a/README b/README index 81aa8b7..f92f1a4 100644 --- a/README +++ b/README @@ -1,3 +1,6 @@ +Synopsis +======== + This package provides semi-portable access to hardware provided atomic memory operations. These might allow you to write code: @@ -5,9 +8,39 @@ 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=; 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.