Don't bother checking for the errno function, simply define all of
them.
This commit is contained in:
parent
4bddbe8b19
commit
3200c02b9c
|
@ -50,22 +50,6 @@ then AC_DEFINE_UNQUOTED(AS_TR_CPP(SONAME_LIB$1),"$ac_cv_lib_soname_$1",
|
|||
[Define to the soname of the lib$1 library.])dnl
|
||||
fi])
|
||||
|
||||
dnl **** Check for reentrant libc ****
|
||||
dnl
|
||||
dnl Usage: WINE_CHECK_ERRNO(errno-name,[action-if-yes,[action-if-no]])
|
||||
dnl
|
||||
dnl For cross-compiling we blindly assume that libc is reentrant. This is
|
||||
dnl ok since non-reentrant libc is quite rare (mostly old libc5 versions).
|
||||
dnl
|
||||
AC_DEFUN([WINE_CHECK_ERRNO],
|
||||
[AC_CACHE_CHECK([for reentrant libc: $1],[wine_cv_libc_r_$1],
|
||||
[AC_TRY_RUN([int myerrno = 0;
|
||||
int *$1(){return &myerrno;}
|
||||
main(){close(333); close(333); exit(!myerrno);}],
|
||||
wine_cv_libc_r_$1=yes, wine_cv_libc_r_$1=no,
|
||||
wine_cv_libc_r_$1=yes)])
|
||||
AS_IF([test "$wine_cv_libc_r_$1" = "yes"],[$2],[$3])])
|
||||
|
||||
dnl **** Link C code with an assembly file ****
|
||||
dnl
|
||||
dnl Usage: WINE_TRY_ASM_LINK(asm-code,includes,function,[action-if-found,[action-if-not-found]])
|
||||
|
|
|
@ -12581,297 +12581,6 @@ fi
|
|||
|
||||
|
||||
|
||||
wine_cv_libc_reentrant=no
|
||||
echo "$as_me:$LINENO: checking for reentrant libc: __errno_location" >&5
|
||||
echo $ECHO_N "checking for reentrant libc: __errno_location... $ECHO_C" >&6
|
||||
if test "${wine_cv_libc_r___errno_location+set}" = set; then
|
||||
echo $ECHO_N "(cached) $ECHO_C" >&6
|
||||
else
|
||||
if test "$cross_compiling" = yes; then
|
||||
wine_cv_libc_r___errno_location=yes
|
||||
else
|
||||
cat >conftest.$ac_ext <<_ACEOF
|
||||
#line $LINENO "configure"
|
||||
/* confdefs.h. */
|
||||
_ACEOF
|
||||
cat confdefs.h >>conftest.$ac_ext
|
||||
cat >>conftest.$ac_ext <<_ACEOF
|
||||
/* end confdefs.h. */
|
||||
int myerrno = 0;
|
||||
int *__errno_location(){return &myerrno;}
|
||||
main(){close(333); close(333); exit(!myerrno);}
|
||||
_ACEOF
|
||||
rm -f conftest$ac_exeext
|
||||
if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
|
||||
(eval $ac_link) 2>&5
|
||||
ac_status=$?
|
||||
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); } && { ac_try='./conftest$ac_exeext'
|
||||
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
|
||||
(eval $ac_try) 2>&5
|
||||
ac_status=$?
|
||||
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); }; }; then
|
||||
wine_cv_libc_r___errno_location=yes
|
||||
else
|
||||
echo "$as_me: program exited with status $ac_status" >&5
|
||||
echo "$as_me: failed program was:" >&5
|
||||
sed 's/^/| /' conftest.$ac_ext >&5
|
||||
|
||||
( exit $ac_status )
|
||||
wine_cv_libc_r___errno_location=no
|
||||
fi
|
||||
rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
|
||||
fi
|
||||
fi
|
||||
echo "$as_me:$LINENO: result: $wine_cv_libc_r___errno_location" >&5
|
||||
echo "${ECHO_T}$wine_cv_libc_r___errno_location" >&6
|
||||
if test "$wine_cv_libc_r___errno_location" = "yes"; then
|
||||
wine_cv_libc_reentrant=__errno_location
|
||||
else
|
||||
echo "$as_me:$LINENO: checking for reentrant libc: __error" >&5
|
||||
echo $ECHO_N "checking for reentrant libc: __error... $ECHO_C" >&6
|
||||
if test "${wine_cv_libc_r___error+set}" = set; then
|
||||
echo $ECHO_N "(cached) $ECHO_C" >&6
|
||||
else
|
||||
if test "$cross_compiling" = yes; then
|
||||
wine_cv_libc_r___error=yes
|
||||
else
|
||||
cat >conftest.$ac_ext <<_ACEOF
|
||||
#line $LINENO "configure"
|
||||
/* confdefs.h. */
|
||||
_ACEOF
|
||||
cat confdefs.h >>conftest.$ac_ext
|
||||
cat >>conftest.$ac_ext <<_ACEOF
|
||||
/* end confdefs.h. */
|
||||
int myerrno = 0;
|
||||
int *__error(){return &myerrno;}
|
||||
main(){close(333); close(333); exit(!myerrno);}
|
||||
_ACEOF
|
||||
rm -f conftest$ac_exeext
|
||||
if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
|
||||
(eval $ac_link) 2>&5
|
||||
ac_status=$?
|
||||
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); } && { ac_try='./conftest$ac_exeext'
|
||||
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
|
||||
(eval $ac_try) 2>&5
|
||||
ac_status=$?
|
||||
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); }; }; then
|
||||
wine_cv_libc_r___error=yes
|
||||
else
|
||||
echo "$as_me: program exited with status $ac_status" >&5
|
||||
echo "$as_me: failed program was:" >&5
|
||||
sed 's/^/| /' conftest.$ac_ext >&5
|
||||
|
||||
( exit $ac_status )
|
||||
wine_cv_libc_r___error=no
|
||||
fi
|
||||
rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
|
||||
fi
|
||||
fi
|
||||
echo "$as_me:$LINENO: result: $wine_cv_libc_r___error" >&5
|
||||
echo "${ECHO_T}$wine_cv_libc_r___error" >&6
|
||||
if test "$wine_cv_libc_r___error" = "yes"; then
|
||||
wine_cv_libc_reentrant=__error
|
||||
else
|
||||
echo "$as_me:$LINENO: checking for reentrant libc: ___errno" >&5
|
||||
echo $ECHO_N "checking for reentrant libc: ___errno... $ECHO_C" >&6
|
||||
if test "${wine_cv_libc_r____errno+set}" = set; then
|
||||
echo $ECHO_N "(cached) $ECHO_C" >&6
|
||||
else
|
||||
if test "$cross_compiling" = yes; then
|
||||
wine_cv_libc_r____errno=yes
|
||||
else
|
||||
cat >conftest.$ac_ext <<_ACEOF
|
||||
#line $LINENO "configure"
|
||||
/* confdefs.h. */
|
||||
_ACEOF
|
||||
cat confdefs.h >>conftest.$ac_ext
|
||||
cat >>conftest.$ac_ext <<_ACEOF
|
||||
/* end confdefs.h. */
|
||||
int myerrno = 0;
|
||||
int *___errno(){return &myerrno;}
|
||||
main(){close(333); close(333); exit(!myerrno);}
|
||||
_ACEOF
|
||||
rm -f conftest$ac_exeext
|
||||
if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
|
||||
(eval $ac_link) 2>&5
|
||||
ac_status=$?
|
||||
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); } && { ac_try='./conftest$ac_exeext'
|
||||
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
|
||||
(eval $ac_try) 2>&5
|
||||
ac_status=$?
|
||||
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); }; }; then
|
||||
wine_cv_libc_r____errno=yes
|
||||
else
|
||||
echo "$as_me: program exited with status $ac_status" >&5
|
||||
echo "$as_me: failed program was:" >&5
|
||||
sed 's/^/| /' conftest.$ac_ext >&5
|
||||
|
||||
( exit $ac_status )
|
||||
wine_cv_libc_r____errno=no
|
||||
fi
|
||||
rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
|
||||
fi
|
||||
fi
|
||||
echo "$as_me:$LINENO: result: $wine_cv_libc_r____errno" >&5
|
||||
echo "${ECHO_T}$wine_cv_libc_r____errno" >&6
|
||||
if test "$wine_cv_libc_r____errno" = "yes"; then
|
||||
wine_cv_libc_reentrant=___errno
|
||||
else
|
||||
echo "$as_me:$LINENO: checking for reentrant libc: __thr_errno" >&5
|
||||
echo $ECHO_N "checking for reentrant libc: __thr_errno... $ECHO_C" >&6
|
||||
if test "${wine_cv_libc_r___thr_errno+set}" = set; then
|
||||
echo $ECHO_N "(cached) $ECHO_C" >&6
|
||||
else
|
||||
if test "$cross_compiling" = yes; then
|
||||
wine_cv_libc_r___thr_errno=yes
|
||||
else
|
||||
cat >conftest.$ac_ext <<_ACEOF
|
||||
#line $LINENO "configure"
|
||||
/* confdefs.h. */
|
||||
_ACEOF
|
||||
cat confdefs.h >>conftest.$ac_ext
|
||||
cat >>conftest.$ac_ext <<_ACEOF
|
||||
/* end confdefs.h. */
|
||||
int myerrno = 0;
|
||||
int *__thr_errno(){return &myerrno;}
|
||||
main(){close(333); close(333); exit(!myerrno);}
|
||||
_ACEOF
|
||||
rm -f conftest$ac_exeext
|
||||
if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
|
||||
(eval $ac_link) 2>&5
|
||||
ac_status=$?
|
||||
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); } && { ac_try='./conftest$ac_exeext'
|
||||
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
|
||||
(eval $ac_try) 2>&5
|
||||
ac_status=$?
|
||||
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); }; }; then
|
||||
wine_cv_libc_r___thr_errno=yes
|
||||
else
|
||||
echo "$as_me: program exited with status $ac_status" >&5
|
||||
echo "$as_me: failed program was:" >&5
|
||||
sed 's/^/| /' conftest.$ac_ext >&5
|
||||
|
||||
( exit $ac_status )
|
||||
wine_cv_libc_r___thr_errno=no
|
||||
fi
|
||||
rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
|
||||
fi
|
||||
fi
|
||||
echo "$as_me:$LINENO: result: $wine_cv_libc_r___thr_errno" >&5
|
||||
echo "${ECHO_T}$wine_cv_libc_r___thr_errno" >&6
|
||||
if test "$wine_cv_libc_r___thr_errno" = "yes"; then
|
||||
wine_cv_libc_reentrant=__thr_errno
|
||||
else
|
||||
echo "$as_me:$LINENO: checking for reentrant libc: __errno" >&5
|
||||
echo $ECHO_N "checking for reentrant libc: __errno... $ECHO_C" >&6
|
||||
if test "${wine_cv_libc_r___errno+set}" = set; then
|
||||
echo $ECHO_N "(cached) $ECHO_C" >&6
|
||||
else
|
||||
if test "$cross_compiling" = yes; then
|
||||
wine_cv_libc_r___errno=yes
|
||||
else
|
||||
cat >conftest.$ac_ext <<_ACEOF
|
||||
#line $LINENO "configure"
|
||||
/* confdefs.h. */
|
||||
_ACEOF
|
||||
cat confdefs.h >>conftest.$ac_ext
|
||||
cat >>conftest.$ac_ext <<_ACEOF
|
||||
/* end confdefs.h. */
|
||||
int myerrno = 0;
|
||||
int *__errno(){return &myerrno;}
|
||||
main(){close(333); close(333); exit(!myerrno);}
|
||||
_ACEOF
|
||||
rm -f conftest$ac_exeext
|
||||
if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
|
||||
(eval $ac_link) 2>&5
|
||||
ac_status=$?
|
||||
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); } && { ac_try='./conftest$ac_exeext'
|
||||
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
|
||||
(eval $ac_try) 2>&5
|
||||
ac_status=$?
|
||||
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); }; }; then
|
||||
wine_cv_libc_r___errno=yes
|
||||
else
|
||||
echo "$as_me: program exited with status $ac_status" >&5
|
||||
echo "$as_me: failed program was:" >&5
|
||||
sed 's/^/| /' conftest.$ac_ext >&5
|
||||
|
||||
( exit $ac_status )
|
||||
wine_cv_libc_r___errno=no
|
||||
fi
|
||||
rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
|
||||
fi
|
||||
fi
|
||||
echo "$as_me:$LINENO: result: $wine_cv_libc_r___errno" >&5
|
||||
echo "${ECHO_T}$wine_cv_libc_r___errno" >&6
|
||||
if test "$wine_cv_libc_r___errno" = "yes"; then
|
||||
wine_cv_libc_reentrant=__errno
|
||||
fi
|
||||
|
||||
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
|
||||
if test "$wine_cv_libc_reentrant" != "no"
|
||||
then
|
||||
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
#define ERRNO_LOCATION $wine_cv_libc_reentrant
|
||||
_ACEOF
|
||||
|
||||
fi
|
||||
|
||||
|
||||
if test "$have_x" = "yes"
|
||||
then
|
||||
echo "$as_me:$LINENO: checking for reentrant X libraries" >&5
|
||||
echo $ECHO_N "checking for reentrant X libraries... $ECHO_C" >&6
|
||||
if test "${wine_cv_x_reentrant+set}" = set; then
|
||||
echo $ECHO_N "(cached) $ECHO_C" >&6
|
||||
else
|
||||
libX11_check=none
|
||||
for dir in "$x_libraries" /usr/lib /usr/local/lib /lib; do
|
||||
if test -r $dir/libX11.so; then
|
||||
libX11_check="-D $dir/libX11.so"
|
||||
break
|
||||
fi
|
||||
if test -r $dir/libX11.a; then
|
||||
libX11_check="$dir/libX11.a"
|
||||
break
|
||||
fi
|
||||
done
|
||||
if test "$libX11_check" != "none"; then
|
||||
if nm $libX11_check | grep $wine_cv_libc_reentrant >/dev/null 2>&1
|
||||
then
|
||||
wine_cv_x_reentrant=yes
|
||||
else
|
||||
wine_cv_x_reentrant=no
|
||||
fi
|
||||
else
|
||||
wine_cv_x_reentrant=unknown
|
||||
fi
|
||||
fi
|
||||
echo "$as_me:$LINENO: result: $wine_cv_x_reentrant" >&5
|
||||
echo "${ECHO_T}$wine_cv_x_reentrant" >&6
|
||||
fi
|
||||
|
||||
|
||||
# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
|
||||
# for constant arguments. Useless!
|
||||
echo "$as_me:$LINENO: checking for working alloca.h" >&5
|
||||
|
@ -17740,13 +17449,6 @@ then
|
|||
echo "*** reentrant version of libc."
|
||||
fi
|
||||
|
||||
if test "$have_x" = "yes" -a "$wine_cv_x_reentrant" != "yes"
|
||||
then
|
||||
echo
|
||||
echo "*** Warning: non-reentrant X11 library detected. Multi-threaded"
|
||||
echo "*** applications won't work properly. You should upgrade your X11 library."
|
||||
fi
|
||||
|
||||
if test "$wine_cv_opengl_version_OK" = "no"
|
||||
then
|
||||
echo
|
||||
|
|
59
configure.ac
59
configure.ac
|
@ -886,58 +886,6 @@ then
|
|||
fi
|
||||
|
||||
|
||||
dnl **** Check for reentrant libc ****
|
||||
|
||||
wine_cv_libc_reentrant=no
|
||||
dnl Linux style errno location
|
||||
WINE_CHECK_ERRNO([__errno_location], [wine_cv_libc_reentrant=__errno_location],
|
||||
dnl FreeBSD style errno location
|
||||
WINE_CHECK_ERRNO([__error], [wine_cv_libc_reentrant=__error],
|
||||
dnl Solaris style errno location
|
||||
WINE_CHECK_ERRNO([___errno], [wine_cv_libc_reentrant=___errno],
|
||||
dnl UnixWare style errno location
|
||||
WINE_CHECK_ERRNO([__thr_errno], [wine_cv_libc_reentrant=__thr_errno],
|
||||
dnl NetBSD style errno location
|
||||
WINE_CHECK_ERRNO([__errno], [wine_cv_libc_reentrant=__errno])
|
||||
))))
|
||||
|
||||
if test "$wine_cv_libc_reentrant" != "no"
|
||||
then
|
||||
AC_DEFINE_UNQUOTED(ERRNO_LOCATION,$wine_cv_libc_reentrant,
|
||||
[Define to the name of the function returning errno for reentrant libc])
|
||||
fi
|
||||
|
||||
dnl **** Check for reentrant X libraries ****
|
||||
dnl
|
||||
dnl This may fail to determine whether X libraries are reentrant if
|
||||
dnl AC_PATH_XTRA does not set x_libraries.
|
||||
|
||||
if test "$have_x" = "yes"
|
||||
then
|
||||
AC_CACHE_CHECK( [for reentrant X libraries], wine_cv_x_reentrant,
|
||||
[libX11_check=none
|
||||
for dir in "$x_libraries" /usr/lib /usr/local/lib /lib; do
|
||||
if test -r $dir/libX11.so; then
|
||||
libX11_check="-D $dir/libX11.so"
|
||||
break
|
||||
fi
|
||||
if test -r $dir/libX11.a; then
|
||||
libX11_check="$dir/libX11.a"
|
||||
break
|
||||
fi
|
||||
done
|
||||
if test "$libX11_check" != "none"; then
|
||||
if nm $libX11_check | grep $wine_cv_libc_reentrant >/dev/null 2>&1
|
||||
then
|
||||
wine_cv_x_reentrant=yes
|
||||
else
|
||||
wine_cv_x_reentrant=no
|
||||
fi
|
||||
else
|
||||
wine_cv_x_reentrant=unknown
|
||||
fi])
|
||||
fi
|
||||
|
||||
dnl **** Check for functions ****
|
||||
|
||||
AC_FUNC_ALLOCA()
|
||||
|
@ -1590,13 +1538,6 @@ then
|
|||
echo "*** reentrant version of libc."
|
||||
fi
|
||||
|
||||
if test "$have_x" = "yes" -a "$wine_cv_x_reentrant" != "yes"
|
||||
then
|
||||
echo
|
||||
echo "*** Warning: non-reentrant X11 library detected. Multi-threaded"
|
||||
echo "*** applications won't work properly. You should upgrade your X11 library."
|
||||
fi
|
||||
|
||||
if test "$wine_cv_opengl_version_OK" = "no"
|
||||
then
|
||||
echo
|
||||
|
|
|
@ -10,9 +10,6 @@
|
|||
/* Define to 1 if using `alloca.c'. */
|
||||
#undef C_ALLOCA
|
||||
|
||||
/* Define to the name of the function returning errno for reentrant libc */
|
||||
#undef ERRNO_LOCATION
|
||||
|
||||
/* Define to 1 if you have `alloca', as a function or macro. */
|
||||
#undef HAVE_ALLOCA
|
||||
|
||||
|
|
|
@ -367,16 +367,15 @@ static int* (*errno_location_ptr)(void) = default_errno_location;
|
|||
static int* (*h_errno_location_ptr)(void) = default_h_errno_location;
|
||||
|
||||
/***********************************************************************
|
||||
* __errno_location/__error/___errno
|
||||
* __errno_location/__error/__errno/___errno/__thr_errno
|
||||
*
|
||||
* Get the per-thread errno location.
|
||||
*/
|
||||
#ifdef ERRNO_LOCATION
|
||||
int *ERRNO_LOCATION(void)
|
||||
{
|
||||
return errno_location_ptr();
|
||||
}
|
||||
#endif /* ERRNO_LOCATION */
|
||||
int *__errno_location(void) { return errno_location_ptr(); } /* Linux */
|
||||
int *__error(void) { return errno_location_ptr(); } /* FreeBSD */
|
||||
int *__errno(void) { return errno_location_ptr(); } /* NetBSD */
|
||||
int *___errno(void) { return errno_location_ptr(); } /* Solaris */
|
||||
int *__thr_errno(void) { return errno_location_ptr(); } /* UnixWare */
|
||||
|
||||
/***********************************************************************
|
||||
* __h_errno_location
|
||||
|
|
Loading…
Reference in New Issue