An ithreads teaser:
darkshines@darkshines-one ~/svn/px $ ruby build.rb
Bootstrapping pxbuild ...
Checking for sh compatible shell ... yes
Checking for gcc compatible C compiler ... yes
Checking for GNU ld compatible linker ... yes
Checking for ar compatible library packer ... yes
Checking for ranlib compatible library tool ... yes
notice: Checking threading capabilities of this platform ...
Checking for library `pthread' ... yes
Checking for library `pth' ... yes
Checking for x86 compatible CPU ... yes
Checking for define `__NR_futex' ... yes
Assuming SMP machine
notice: Using cpu-x86
Checking for function `pthread_rwlock_init' ... yes
Checking for function `pthread_barrier_init' ... yes
Checking for function `pthread_cond_init' ... yes
Checking for function `pthread_spin_init' ... yes
Checking for function `pthread_mutex_init' ... yes
Checking for function `pthread_create' ... yes
Checking for function `pth_rwlock_init' ... yes
Checking for function `pth_mutex_init' ... yes
Checking for function `pth_cond_init' ... yes
Checking for function `pth_spawn' ... yes
Checking for function `pth_barrier_init' ... yes
Building library `ithreads'
CFG include/ithreads-config.h
CC ithreads.c
>> libithreads.a
Building program `init-test'
CC init-test.c
LD init-test