-----------------------
Currently, Linux x86 (i386, i486, i586, i686), x86 64-bit, PowerPC 32/64,
-S390, S390x, ARM, Alpha, ia64 and Sparcv9 32/64 are supported. Tested on
-Linux, FreeBSD 8.2/8.3/9.0/9.1/10.0, and Cygwin. Should also work on:
-Android, NetBSD 5, OpenBSD, Darwin (more testing needed before claiming
-support for these OS).
+S390, S390x, ARM, MIPS, Alpha, ia64 and Sparcv9 32/64 are supported.
+Tested on Linux, FreeBSD 8.2/8.3/9.0/9.1/10.0 i386/amd64, and Cygwin.
+Should also work on: Android, NetBSD 5, OpenBSD, Darwin (more testing
+needed before claiming support for these OS).
Linux ARM depends on running a Linux kernel 2.6.15 or better, GCC 4.4 or
better.
Clang version 3.0 (based on LLVM 3.0) is supported.
+Building on MacOS X (Darwin) requires a work-around for processor
+detection:
+ # 32-bit
+ ./configure --build=i686-apple-darwin11
+ # 64-bit
+ ./configure --build=x86_64-apple-darwin11
+
For developers using the git tree:
This source tree is based on the autotools suite from GNU to simplify
./configure --disable-smp-support
theoretically yielding slightly better performance.
+
+MAKE TARGETS
+------------
+
+In addition to the usual "make check" target, Userspace RCU features
+"make regtest" and "make bench" targets.
+
+make check: Short tests, meant to be run when rebuilding or porting
+ Userspace RCU.
+
+make regtest: Long (many hours) test, meant to be run when modifying
+ Userspace RCU or porting it to a new architecture or
+ operating system.
+
+make bench: Long (many hours) benchmarks.