shithub: mc

ref: f6eb57283f625cbd20d5bb423331e88ddc82c8f1
dir: /lib/thread/bld.sub/

View raw version
lib thread =
	common.myr
	hookstd.myr	# install thread hooks

	# higher level apis
	future.myr
	do.myr

	# generic fallbacks
	condvar.myr
	mutex.myr
	ncpu.myr
	rwlock.myr
	sem.myr
	waitgrp.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
	futex+linux.myr
	ncpu+linux.myr
	spawn+linux.myr

	# freebsd impl of thread primitives
	condvar+freebsd.myr
	exit+freebsd-x64.s
	futex+freebsd.myr
	ncpu+freebsd.myr
	spawn+freebsd.myr

	# netbsd impl of thread primitives
	#condvar+netbsd.myr
	#mutex+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

	# 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

	# openbsd impl of thread primitives
	condvar+openbsd:6.2.myr
	exit+openbsd-x64.s
	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
;;