shithub: mc

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

View raw version
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
;;