1 2PACKAGE= clibs 3SHLIBDIR?= /lib 4 5.include <src.opts.mk> 6MK_SSP= no 7 8LIB=thr 9SHLIB_MAJOR= 3 10NO_WTHREAD_SAFETY=1 11NO_WCAST_ALIGN.gcc=1 # for gcc 4.2 12CFLAGS+=-DPTHREAD_KERNEL 13CFLAGS+=-I${SRCTOP}/lib/libc/include 14CFLAGS+=-I${SRCTOP}/lib/libc/${MACHINE_CPUARCH} 15CFLAGS+=-I${.CURDIR}/thread 16CFLAGS+=-I${.CURDIR}/arch/${MACHINE_CPUARCH}/include 17CFLAGS+=-I${.CURDIR}/sys 18CFLAGS+=-I${SRCTOP}/libexec/rtld-elf 19CFLAGS+=-I${SRCTOP}/libexec/rtld-elf/${MACHINE_CPUARCH} 20CFLAGS+=-I${SRCTOP}/lib/libthread_db 21 22CFLAGS.thr_stack.c+= -Wno-cast-align 23CFLAGS.rtld_malloc.c+= -Wno-cast-align 24CFLAGS.thr_symbols.c+= -Wno-missing-variable-declarations 25.if ${MK_ASAN} != "no" 26# False-positive ASAN error claiming the local "struct sigaction act;" is 27# overflowed by handle_signal() reading from the ucontext_t argument. This 28# could be caused by ASAN not treating this function as a signal handler. 29CFLAGS.thr_sig.c+= -fno-sanitize=address 30.endif 31 32.if ${MACHINE_CPUARCH} == "arm" 33NO_THREAD_UNWIND_STACK= yes 34.endif 35 36.ifndef NO_THREAD_UNWIND_STACK 37CFLAGS+=-fexceptions 38CFLAGS+=-D_PTHREAD_FORCED_UNWIND 39.endif 40 41LDFLAGS+=-Wl,-znodelete 42 43VERSION_DEF=${SRCTOP}/lib/libc/Versions.def 44SYMBOL_MAPS=${.CURDIR}/pthread.map 45 46MAN= libthr.3 47 48.if ${MK_PTHREADS_ASSERTIONS} != "no" 49# enable extra internal consistency checks 50CFLAGS+=-D_PTHREADS_INVARIANTS 51.endif 52 53PRECIOUSLIB= 54 55.PATH: ${.CURDIR}/arch/${MACHINE_CPUARCH}/${MACHINE_CPUARCH} 56.PATH: ${SRCTOP}/libexec/rtld-elf 57 58.if exists(${.CURDIR}/arch/${MACHINE_CPUARCH}/Makefile.inc) 59.include "${.CURDIR}/arch/${MACHINE_CPUARCH}/Makefile.inc" 60.endif 61.include "${.CURDIR}/sys/Makefile.inc" 62.include "${.CURDIR}/thread/Makefile.inc" 63SRCS+= rtld_malloc.c 64 65.if ${MK_INSTALLLIB} != "no" 66SYMLINKS+=lib${LIB}.a ${LIBDIR}/libpthread.a 67.endif 68.if !defined(NO_PIC) 69SYMLINKS+=lib${LIB}.so ${LIBDIR}/libpthread.so 70.endif 71.if ${MK_PROFILE} != "no" 72SYMLINKS+=lib${LIB}_p.a ${LIBDIR}/libpthread_p.a 73.endif 74 75HAS_TESTS= 76SUBDIR.${MK_TESTS}+= tests 77 78.include <bsd.lib.mk> 79