checks for various thread functions added

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1864 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin 1999-03-05 16:04:32 +00:00
parent c293350081
commit 91845adaba
3 changed files with 247 additions and 41 deletions

227
configure vendored
View File

@ -6346,7 +6346,7 @@ EOF
fi
if test "$USE_LINUX" = 1; then
echo $ac_n "checking for gettext in -lc""... $ac_c" 1>&6
echo $ac_n "checking for gettext in -lc""... $ac_c" 1>&6
echo "configure:6351: checking for gettext in -lc" >&5
ac_lib_var=`echo c'_'gettext | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
@ -7264,11 +7264,11 @@ fi
THREADS_LINK=""
UNIX_THREAD=""
if test "$wxUSE_THREADS" = "1"; then
echo $ac_n "checking for pthread_create in -lpthread-0.7""... $ac_c" 1>&6
echo "configure:7275: checking for pthread_create in -lpthread-0.7" >&5
@ -7307,7 +7307,7 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
echo "$ac_t""yes" 1>&6
UNIX_THREAD="gtk/threadpsx.cpp"
THREADS_LINK="-lpthread-0.7"
THREADS_LINK="pthread-0.7"
else
echo "$ac_t""no" 1>&6
@ -7386,7 +7386,7 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
echo "$ac_t""yes" 1>&6
UNIX_THREAD="gtk/threadpsx.cpp"
THREADS_LINK="-lpthread"
THREADS_LINK="pthread"
else
echo "$ac_t""no" 1>&6
@ -7434,7 +7434,7 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
echo "$ac_t""yes" 1>&6
UNIX_THREAD="gtk/threadpsx.cpp"
THREADS_LINK="-lc_r"
THREADS_LINK="c_r"
else
echo "$ac_t""no" 1>&6
@ -7448,29 +7448,39 @@ fi
EOF
fi
fi
echo $ac_n "checking for printf in -lposix4""... $ac_c" 1>&6
echo "configure:7455: checking for printf in -lposix4" >&5
ac_lib_var=`echo posix4'_'printf | sed 'y%./+-%__p_%'`
if test "$wxUSE_MOTIF" = "1"; then
UNIX_THREAD="motif/thread.cpp"
fi
if test -z "$UNIX_THREAD"; then
wxUSE_THREADS=0
fi
if test "$wxUSE_THREADS" = "1"; then
THREADS_LINK2=""
echo $ac_n "checking for sched_yield in -l$THREADS_LINK""... $ac_c" 1>&6
echo "configure:7465: checking for sched_yield in -l$THREADS_LINK" >&5
ac_lib_var=`echo $THREADS_LINK'_'sched_yield | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_save_LIBS="$LIBS"
LIBS="-lposix4 $LIBS"
LIBS="-l$THREADS_LINK $LIBS"
cat > conftest.$ac_ext <<EOF
#line 7463 "configure"
#line 7473 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char printf();
char sched_yield();
int main() {
printf()
sched_yield()
; return 0; }
EOF
if { (eval echo configure:7474: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
if { (eval echo configure:7484: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@ -7485,25 +7495,199 @@ LIBS="$ac_save_LIBS"
fi
if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
echo "$ac_t""yes" 1>&6
THREADS_LINK="$THREADS_LINK -lposix4"
cat >> confdefs.h <<\EOF
#define HAVE_SCHED_YIELD 1
EOF
else
echo "$ac_t""no" 1>&6
echo $ac_n "checking for sched_yield in -l"posix4"""... $ac_c" 1>&6
echo "configure:7506: checking for sched_yield in -l"posix4"" >&5
ac_lib_var=`echo "posix4"'_'sched_yield | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_save_LIBS="$LIBS"
LIBS="-l"posix4" $LIBS"
cat > conftest.$ac_ext <<EOF
#line 7514 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char sched_yield();
int main() {
sched_yield()
; return 0; }
EOF
if { (eval echo configure:7525: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=no"
fi
rm -f conftest*
LIBS="$ac_save_LIBS"
fi
if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
echo "$ac_t""yes" 1>&6
cat >> confdefs.h <<\EOF
#define HAVE_SCHED_YIELD 1
EOF
THREADS_LINK2="-lposix4"
else
echo "$ac_t""no" 1>&6
echo "configure: warning: wxThread::Yield() will not work properly" 1>&2
fi
fi
echo $ac_n "checking for sched_get_priority_min in -l$THREADS_LINK""... $ac_c" 1>&6
echo "configure:7555: checking for sched_get_priority_min in -l$THREADS_LINK" >&5
ac_lib_var=`echo $THREADS_LINK'_'sched_get_priority_min | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_save_LIBS="$LIBS"
LIBS="-l$THREADS_LINK $LIBS"
cat > conftest.$ac_ext <<EOF
#line 7563 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char sched_get_priority_min();
int main() {
sched_get_priority_min()
; return 0; }
EOF
if { (eval echo configure:7574: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=no"
fi
rm -f conftest*
LIBS="$ac_save_LIBS"
fi
if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
echo "$ac_t""yes" 1>&6
cat >> confdefs.h <<\EOF
#define HAVE_THREAD_PRIORITY_FUNCTIONS 1
EOF
else
echo "$ac_t""no" 1>&6
echo $ac_n "checking for sched_get_priority_min in -l"posix4"""... $ac_c" 1>&6
echo "configure:7596: checking for sched_get_priority_min in -l"posix4"" >&5
ac_lib_var=`echo "posix4"'_'sched_get_priority_min | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_save_LIBS="$LIBS"
LIBS="-l"posix4" $LIBS"
cat > conftest.$ac_ext <<EOF
#line 7604 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char sched_get_priority_min();
int main() {
sched_get_priority_min()
; return 0; }
EOF
if { (eval echo configure:7615: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=no"
fi
rm -f conftest*
LIBS="$ac_save_LIBS"
fi
if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
echo "$ac_t""yes" 1>&6
cat >> confdefs.h <<\EOF
#define HAVE_THREAD_PRIORITY_FUNCTIONS 1
EOF
THREADS_LINK2="-lposix4"
else
echo "$ac_t""no" 1>&6
echo "configure: warning: Setting thread priority will not work" 1>&2
fi
if test "$wxUSE_MOTIF" = "1"; then
UNIX_THREAD="motif/thread.cpp"
fi
if test -z "$UNIX_THREAD"; then
wxUSE_THREADS=0
echo $ac_n "checking for pthread_cancel in -l$THREADS_LINK""... $ac_c" 1>&6
echo "configure:7645: checking for pthread_cancel in -l$THREADS_LINK" >&5
ac_lib_var=`echo $THREADS_LINK'_'pthread_cancel | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_save_LIBS="$LIBS"
LIBS="-l$THREADS_LINK $LIBS"
cat > conftest.$ac_ext <<EOF
#line 7653 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char pthread_cancel();
int main() {
pthread_cancel()
; return 0; }
EOF
if { (eval echo configure:7664: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=no"
fi
rm -f conftest*
LIBS="$ac_save_LIBS"
fi
if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
echo "$ac_t""yes" 1>&6
cat >> confdefs.h <<\EOF
#define HAVE_PTHREAD_CANCEL 1
EOF
else
echo "$ac_t""no" 1>&6
echo "configure: warning: wxThread::Kill() will not work properly" 1>&2
fi
THREADS_LINK="-l$THREADS_LINK $THREADS_LINK2"
fi
@ -7511,7 +7695,6 @@ fi
PICFLAGS=
CREATE_SHARED=
case "${canonical}" in
*-hp-hpux* )
if test "$GCC" != "yes" ; then
CXXFLAGS="${CXXFLAGS} +a1 -z -Aa -D_HPUX_SOURCE"

View File

@ -1004,7 +1004,7 @@ dnl ----------------------------------------------------------------
dnl Linux: test for libc5/glibc2: glibc2 has gettext() included
dnl ----------------------------------------------------------------
if test "$USE_LINUX" = 1; then
AC_CHECK_LIB(c,gettext,AC_DEFINE(wxHAVE_GLIBC2))
AC_CHECK_LIB(c,gettext,AC_DEFINE(wxHAVE_GLIBC2))
fi
dnl ----------------------------------------------------------------
@ -1372,16 +1372,19 @@ dnl ----------------------------------------------------------------
dnl thread support
dnl ----------------------------------------------------------------
dnl defines UNIX_THREAD it contains the source file to use for threads. (GL)
dnl defines THREADS_LINK it contains the thread library to link with. (GL)
dnl defines wxUSE_THREADS if thread support is activated. (GL)
THREADS_LINK=""
UNIX_THREAD=""
if test "$wxUSE_THREADS" = "1"; then
dnl For glibc 2 users who have the old libc 5 too
AC_CHECK_LIB(pthread-0.7, pthread_create, [
UNIX_THREAD="gtk/threadpsx.cpp"
THREADS_LINK="-lpthread-0.7"
THREADS_LINK="pthread-0.7"
],[
AC_CHECK_HEADER(sys/prctl.h, [
UNIX_THREAD="gtk/threadsgi.cpp"
@ -1392,7 +1395,7 @@ if test "$wxUSE_THREADS" = "1"; then
AC_CHECK_LIB(pthread, pthread_setcanceltype, [
UNIX_THREAD="gtk/threadpsx.cpp"
THREADS_LINK="-lpthread"
THREADS_LINK="pthread"
])
])
@ -1401,20 +1404,13 @@ if test "$wxUSE_THREADS" = "1"; then
AC_CHECK_LIB(c_r, pthread_create,
[
UNIX_THREAD="gtk/threadpsx.cpp"
THREADS_LINK="-lc_r"
THREADS_LINK="c_r"
])
fi
if test "$THREADS_LINK" != ""; then
AC_DEFINE(wxUSE_THREADS)
fi
dnl -lposix4 seems to be required on Solaris
AC_CHECK_LIB(posix4, printf, [
THREADS_LINK="$THREADS_LINK -lposix4"
])
fi
if test "$wxUSE_MOTIF" = "1"; then
@ -1425,13 +1421,35 @@ if test -z "$UNIX_THREAD"; then
wxUSE_THREADS=0
fi
dnl do other tests only if we are using threads
if test "$wxUSE_THREADS" = "1"; then
THREADS_LINK2=""
AC_CHECK_LIB($THREADS_LINK, sched_yield,
AC_DEFINE(HAVE_SCHED_YIELD),
[AC_CHECK_LIB("posix4", sched_yield,
[AC_DEFINE(HAVE_SCHED_YIELD) THREADS_LINK2="-lposix4"],
AC_MSG_WARN(wxThread::Yield() will not work properly)
)]
)
AC_CHECK_LIB($THREADS_LINK, sched_get_priority_min,
AC_DEFINE(HAVE_THREAD_PRIORITY_FUNCTIONS),
[AC_CHECK_LIB("posix4", sched_get_priority_min,
[AC_DEFINE(HAVE_THREAD_PRIORITY_FUNCTIONS) THREADS_LINK2="-lposix4"],
AC_MSG_WARN(Setting thread priority will not work)
)]
)
AC_CHECK_LIB($THREADS_LINK, pthread_cancel,
AC_DEFINE(HAVE_PTHREAD_CANCEL),
AC_MSG_WARN(wxThread::Kill() will not work properly))
THREADS_LINK="-l$THREADS_LINK $THREADS_LINK2"
fi
AC_SUBST(UNIX_THREAD)
AC_SUBST(THREADS_LINK)
dnl defines UNIX_THREAD it contains the source file to use for threads. (GL)
dnl defines THREADS_LINK it contains the thread library to link with. (GL)
dnl defines wxUSE_THREADS if thread support is activated. (GL)
dnl ------------------------------------------------------------------------
dnl compiler options for shared libs
dnl ------------------------------------------------------------------------
@ -1439,7 +1457,6 @@ dnl ------------------------------------------------------------------------
PICFLAGS=
CREATE_SHARED=
case "${canonical}" in
*-hp-hpux* )
if test "$GCC" != "yes" ; then
CXXFLAGS="${CXXFLAGS} +a1 -z -Aa -D_HPUX_SOURCE"

View File

@ -383,8 +383,14 @@
/* Define if you have usleep() */
#undef HAVE_USLEEP
/* Define if you have nanosleep() */
#undef HAVE_NANOSLEEP
/* Define if you have sched_yield */
#undef HAVE_SCHED_YIELD
/* Define if you have pthread_cancel */
#undef HAVE_PTHREAD_CANCEL
/* Define if you have all functions to set thread priority */
#undef HAVE_THREAD_PRIORITY_FUNCTIONS
/* Define if your system has its own `getloadavg' function. */
#undef HAVE_GETLOADAVG