+dnl
+dnl GNU portable threads
+dnl
+AC_ARG_ENABLE(pth,
+ [ --enable-pth GNU Pth support (default disabled)],
+ [ if test "x${enable_pth}" = "xyes"; then
+ AC_CHECK_LIB(pth,pth_init)
+ AC_MSG_CHECKING(for pth_init in pth.h)
+ AC_EGREP_HEADER(pth_init,pth.h,[
+ AC_MSG_RESULT(yes)
+ AC_DEFINE(PTH_INIT_IN_PTH_H, 1,
+ Define if <pth.h> defines pth_init)
+ THREAD_LIB="-lpth"
+ ],[
+ AC_MSG_RESULT(no)
+ ])
+ fi
+])
+
+dnl
+dnl State Threads
+dnl
+AC_ARG_ENABLE(st,
+ [ --enable-st State Threads (default disabled)],
+ [ if test "x${enable_st}" = "xyes"; then
+ AC_CHECK_LIB(st,st_init)
+ AC_MSG_CHECKING(for st_init in st.h)
+ AC_EGREP_HEADER(st_init,st.h,[
+ AC_MSG_RESULT(yes)
+ AC_DEFINE(ST_INIT_IN_ST_H, 1,
+ Define if <st.h> defines st_init)
+ THREAD_LIB="-lst"
+ ],[
+ AC_MSG_RESULT(yes)
+ ])
+ fi
+])
+
+if test "x${SYS}" != "xmingw32"; then
+ LDFLAGS_vlc="${LDFLAGS_vlc} ${THREAD_LIB}"
+ LDFLAGS_plugins="${LDFLAGS_plugins} ${THREAD_LIB}"
+fi
+
+dnl Don't link with rt when using GNU-pth
+if test "x${THREAD_LIB}" != "x-lpth" && test "x${THREAD_LIB}" != "x-lst"; then
+ dnl HP/UX port
+ AC_CHECK_LIB(rt,sem_init, [LDFLAGS_vlc="${LDFLAGS_vlc} -lrt"])
+
+ have_nanosleep=false
+ AC_CHECK_FUNCS(nanosleep,have_nanosleep=:,[
+ AC_CHECK_LIB(rt,nanosleep,
+ [LDFLAGS_vlc="${LDFLAGS_vlc} -lrt"; have_nanosleep=:],
+ [AC_CHECK_LIB(posix4,nanosleep,
+ [LDFLAGS_vlc="${LDFLAGS_vlc} -lposix4"; have_nanosleep=:])]
+ )
+ ])
+ if ${have_nanosleep}; then
+ AC_DEFINE(HAVE_NANOSLEEP, 1,
+ Define if nanosleep is available.)
+ fi
+fi
+