lib thread = common.myr hookstd.myr # install thread hooks # higher level apis future.myr do.myr queue.myr # generic fallbacks condvar.myr mutex.myr ncpu.myr rwlock.myr sem.myr waitgrp.myr # fsbase-based impls tls+fsbase.myr tls-impl+fsbase-x64.s types+fsbase.myr # futex-based impls mutex+futex.myr rwlock+futex.myr sem+futex.myr waitgrp+futex.myr # linux impl of basic thread primitives condvar+linux.myr exit+linux-x64.s fsbase+linux.myr futex+linux.myr ncpu+linux.myr spawn+linux.myr # freebsd impl of thread primitives condvar+freebsd.myr exit+freebsd-x64.s fsbase+freebsd.myr futex+freebsd.myr ncpu+freebsd.myr spawn+freebsd.myr # netbsd impl of thread primitives #condvar+netbsd.myr #mutex+netbsd.myr fsbase+netbsd.myr spawn+netbsd.myr #ncpu+netbsd.myr #exit+netbsd-x64.s # osx impl of thread primitives condvar+osx.myr futex+osx.myr spawn+osx.myr start+osx-x64.s tls+osx.myr tls-impl+osx-x64.s types+osx.myr # 9front impl of thread primitives #condvar+plan9.myr atomic-impl+plan9-x64.s mutex+plan9.myr ncpu+plan9.myr sem+plan9.myr spawn+plan9.myr tls+plan9.myr types+plan9.myr # openbsd impl of thread primitives condvar+openbsd:6.2.myr exit+openbsd-x64.s fsbase+openbsd.myr futex+openbsd:6.2.myr ncpu+openbsd.myr spawn+openbsd.myr atomic-impl+x64.s atomic.myr lib ../sys:sys lib ../std:std;; lib thrtestutil {noinst} = util.myr lib ../sys:sys lib ../std:std lib thread;; testdeps = ../testr:testr;;
lib thread =
common.myr
hookstd.myr # install thread hooks
# higher level apis
future.myr
do.myr
queue.myr
# generic fallbacks
condvar.myr
mutex.myr
ncpu.myr
rwlock.myr
sem.myr
waitgrp.myr
# fsbase-based impls
tls+fsbase.myr
tls-impl+fsbase-x64.s
types+fsbase.myr
# futex-based impls
mutex+futex.myr
rwlock+futex.myr
sem+futex.myr
waitgrp+futex.myr
# linux impl of basic thread primitives
condvar+linux.myr
exit+linux-x64.s
fsbase+linux.myr
futex+linux.myr
ncpu+linux.myr
spawn+linux.myr
# freebsd impl of thread primitives
condvar+freebsd.myr
exit+freebsd-x64.s
fsbase+freebsd.myr
futex+freebsd.myr
ncpu+freebsd.myr
spawn+freebsd.myr
# netbsd impl of thread primitives
#condvar+netbsd.myr
#mutex+netbsd.myr
fsbase+netbsd.myr
spawn+netbsd.myr
#ncpu+netbsd.myr
#exit+netbsd-x64.s
# osx impl of thread primitives
condvar+osx.myr
futex+osx.myr
spawn+osx.myr
start+osx-x64.s
tls+osx.myr
tls-impl+osx-x64.s
types+osx.myr
# 9front impl of thread primitives
#condvar+plan9.myr
atomic-impl+plan9-x64.s
mutex+plan9.myr
ncpu+plan9.myr
sem+plan9.myr
spawn+plan9.myr
tls+plan9.myr
types+plan9.myr
# openbsd impl of thread primitives
condvar+openbsd:6.2.myr
exit+openbsd-x64.s
fsbase+openbsd.myr
futex+openbsd:6.2.myr
ncpu+openbsd.myr
spawn+openbsd.myr
atomic-impl+x64.s
atomic.myr
lib ../sys:sys
lib ../std:std
;;
lib thrtestutil {noinst} =
util.myr
lib ../sys:sys
lib ../std:std
lib thread
;;
testdeps =
../testr:testr
;;