Added /dev/parport support for direct port access.
diff --git a/configure b/configure
index 595cb47..115c7f9 100755
--- a/configure
+++ b/configure
@@ -4812,21 +4812,56 @@
-echo $ac_n "checking "for GNU style IPX support"""... $ac_c" 1>&6
-echo "configure:4817: checking "for GNU style IPX support"" >&5
-if eval "test \"`echo '$''{'ac_cv_c_ipx_gnu'+set}'`\" = set"; then
+echo $ac_n "checking "for parport header/ppdev.h"""... $ac_c" 1>&6
+echo "configure:4817: checking "for parport header/ppdev.h"" >&5
+if eval "test \"`echo '$''{'ac_cv_c_ppdev'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 4822 "configure"
#include "confdefs.h"
+#include <linux/ppdev.h>
+int main() {
+ioctl (1,PPCLAIM,0)
+; return 0; }
+EOF
+if { (eval echo configure:4829: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_c_ppdev="yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_c_ppdev="no"
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_c_ppdev" 1>&6
+if test "$ac_cv_c_ppdev" = "yes"
+then
+ cat >> confdefs.h <<\EOF
+#define HAVE_PPDEV 1
+EOF
+
+fi
+
+echo $ac_n "checking "for GNU style IPX support"""... $ac_c" 1>&6
+echo "configure:4852: checking "for GNU style IPX support"" >&5
+if eval "test \"`echo '$''{'ac_cv_c_ipx_gnu'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 4857 "configure"
+#include "confdefs.h"
#include <sys/socket.h>
#include <netipx/ipx.h>
int main() {
((struct sockaddr_ipx *)0)->sipx_family == AF_IPX
; return 0; }
EOF
-if { (eval echo configure:4830: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4865: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_c_ipx_gnu="yes"
else
@@ -4851,12 +4886,12 @@
if test "$ac_cv_c_ipx_gnu" = "no"
then
echo $ac_n "checking "for linux style IPX support"""... $ac_c" 1>&6
-echo "configure:4855: checking "for linux style IPX support"" >&5
+echo "configure:4890: checking "for linux style IPX support"" >&5
if eval "test \"`echo '$''{'ac_cv_c_ipx_linux'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4860 "configure"
+#line 4895 "configure"
#include "confdefs.h"
#include <sys/socket.h>
#include <asm/types.h>
@@ -4865,7 +4900,7 @@
((struct sockaddr_ipx *)0)->sipx_family == AF_IPX
; return 0; }
EOF
-if { (eval echo configure:4869: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4904: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_c_ipx_linux="yes"
else
@@ -4892,17 +4927,17 @@
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:4896: checking for $ac_hdr" >&5
+echo "configure:4931: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4901 "configure"
+#line 4936 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4906: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4941: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -4930,12 +4965,12 @@
echo $ac_n "checking "for Open Sound System"""... $ac_c" 1>&6
-echo "configure:4934: checking "for Open Sound System"" >&5
+echo "configure:4969: checking "for Open Sound System"" >&5
if eval "test \"`echo '$''{'ac_cv_c_opensoundsystem'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4939 "configure"
+#line 4974 "configure"
#include "confdefs.h"
#if defined(HAVE_SYS_SOUNDCARD_H)
@@ -4956,7 +4991,7 @@
; return 0; }
EOF
-if { (eval echo configure:4960: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4995: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_c_opensoundsystem="yes"
else
@@ -4979,12 +5014,12 @@
fi
echo $ac_n "checking "for Open Sound System/MIDI interface"""... $ac_c" 1>&6
-echo "configure:4983: checking "for Open Sound System/MIDI interface"" >&5
+echo "configure:5018: checking "for Open Sound System/MIDI interface"" >&5
if eval "test \"`echo '$''{'ac_cv_c_opensoundsystem_midi'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4988 "configure"
+#line 5023 "configure"
#include "confdefs.h"
#if defined(HAVE_SYS_SOUNDCARD_H)
@@ -5005,7 +5040,7 @@
; return 0; }
EOF
-if { (eval echo configure:5009: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5044: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_c_opensoundsystem_midi="yes"
else
@@ -5031,7 +5066,7 @@
echo $ac_n "checking "whether mmap64 works defined as mmap"""... $ac_c" 1>&6
-echo "configure:5035: checking "whether mmap64 works defined as mmap"" >&5
+echo "configure:5070: checking "whether mmap64 works defined as mmap"" >&5
if eval "test \"`echo '$''{'ac_cv_mmap64_works'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -5039,7 +5074,7 @@
ac_cv_mmap64_works="no"
else
cat > conftest.$ac_ext <<EOF
-#line 5043 "configure"
+#line 5078 "configure"
#include "confdefs.h"
#define _FILE_OFFSET_BITS 64
@@ -5069,7 +5104,7 @@
EOF
-if { (eval echo configure:5073: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:5108: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ac_cv_mmap64_works="yes"
else
@@ -5098,7 +5133,7 @@
then
CFLAGS="$CFLAGS -Wall"
echo $ac_n "checking "for gcc strength-reduce bug"""... $ac_c" 1>&6
-echo "configure:5102: checking "for gcc strength-reduce bug"" >&5
+echo "configure:5137: checking "for gcc strength-reduce bug"" >&5
if eval "test \"`echo '$''{'ac_cv_c_gcc_strength_bug'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -5106,7 +5141,7 @@
ac_cv_c_gcc_strength_bug="yes"
else
cat > conftest.$ac_ext <<EOF
-#line 5110 "configure"
+#line 5145 "configure"
#include "confdefs.h"
int L[4] = {0,1,2,3};
@@ -5121,7 +5156,7 @@
exit( Array[1] != -2 || L[2] != 3);
}
EOF
-if { (eval echo configure:5125: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:5160: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ac_cv_c_gcc_strength_bug="no"
else
@@ -5142,21 +5177,21 @@
fi
echo $ac_n "checking "for gcc -mpreferred-stack-boundary=2 support"""... $ac_c" 1>&6
-echo "configure:5146: checking "for gcc -mpreferred-stack-boundary=2 support"" >&5
+echo "configure:5181: checking "for gcc -mpreferred-stack-boundary=2 support"" >&5
if eval "test \"`echo '$''{'ac_cv_c_gcc_stack_boundary'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
saved_cflags=$CFLAGS
CFLAGS="$CFLAGS -mpreferred-stack-boundary=2"
cat > conftest.$ac_ext <<EOF
-#line 5153 "configure"
+#line 5188 "configure"
#include "confdefs.h"
int main() {
return 0
; return 0; }
EOF
-if { (eval echo configure:5160: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5195: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_c_gcc_stack_boundary="yes"
else
@@ -5179,7 +5214,7 @@
echo $ac_n "checking "whether .type must sit inside a .def directive"""... $ac_c" 1>&6
-echo "configure:5183: checking "whether .type must sit inside a .def directive"" >&5
+echo "configure:5218: checking "whether .type must sit inside a .def directive"" >&5
if eval "test \"`echo '$''{'ac_cv_c_type_in_def'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -5192,14 +5227,14 @@
.long 0
EOF
cat > conftest.$ac_ext <<EOF
-#line 5196 "configure"
+#line 5231 "configure"
#include "confdefs.h"
int main() {
; return 0; }
EOF
-if { (eval echo configure:5203: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5238: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_cv_c_type_in_def="yes"
else
@@ -5223,7 +5258,7 @@
echo $ac_n "checking "whether external symbols need an underscore prefix"""... $ac_c" 1>&6
-echo "configure:5227: checking "whether external symbols need an underscore prefix"" >&5
+echo "configure:5262: checking "whether external symbols need an underscore prefix"" >&5
if eval "test \"`echo '$''{'ac_cv_c_extern_prefix'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -5235,14 +5270,14 @@
.long 0
EOF
cat > conftest.$ac_ext <<EOF
-#line 5239 "configure"
+#line 5274 "configure"
#include "confdefs.h"
extern int ac_test;
int main() {
if (ac_test) return 1
; return 0; }
EOF
-if { (eval echo configure:5246: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5281: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_cv_c_extern_prefix="yes"
else
@@ -5266,7 +5301,7 @@
echo $ac_n "checking "whether assembler accepts .string"""... $ac_c" 1>&6
-echo "configure:5270: checking "whether assembler accepts .string"" >&5
+echo "configure:5305: checking "whether assembler accepts .string"" >&5
if eval "test \"`echo '$''{'ac_cv_c_asm_string'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -5276,14 +5311,14 @@
.string "test"
EOF
cat > conftest.$ac_ext <<EOF
-#line 5280 "configure"
+#line 5315 "configure"
#include "confdefs.h"
int main() {
; return 0; }
EOF
-if { (eval echo configure:5287: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5322: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_cv_c_asm_string="yes"
else
@@ -5311,21 +5346,21 @@
if test "$LIBEXT" = "so"
then
echo $ac_n "checking "whether we can build a GNU style ELF dll"""... $ac_c" 1>&6
-echo "configure:5315: checking "whether we can build a GNU style ELF dll"" >&5
+echo "configure:5350: checking "whether we can build a GNU style ELF dll"" >&5
if eval "test \"`echo '$''{'ac_cv_c_dll_gnuelf'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
saved_cflags=$CFLAGS
CFLAGS="$CFLAGS -fPIC -shared -Wl,-soname,conftest.so.1.0,-Bsymbolic"
cat > conftest.$ac_ext <<EOF
-#line 5322 "configure"
+#line 5357 "configure"
#include "confdefs.h"
int main() {
return 1
; return 0; }
EOF
-if { (eval echo configure:5329: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5364: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_cv_c_dll_gnuelf="yes"
else
@@ -5346,21 +5381,21 @@
LDDLLFLAGS="-Wl,-Bsymbolic"
else
echo $ac_n "checking whether we can build a UnixWare (Solaris) dll""... $ac_c" 1>&6
-echo "configure:5350: checking whether we can build a UnixWare (Solaris) dll" >&5
+echo "configure:5385: checking whether we can build a UnixWare (Solaris) dll" >&5
if eval "test \"`echo '$''{'ac_cv_c_dll_unixware'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
saved_cflags=$CFLAGS
CFLAGS="$CFLAGS -fPIC -Wl,-G,-h,conftest.so.1.0,-B,symbolic"
cat > conftest.$ac_ext <<EOF
-#line 5357 "configure"
+#line 5392 "configure"
#include "confdefs.h"
int main() {
return 1
; return 0; }
EOF
-if { (eval echo configure:5364: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5399: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_cv_c_dll_unixware="yes"
else
@@ -5415,21 +5450,21 @@
else
DLL_LINK="-L\$(DLLDIR) \$(DLLS:%=-l%) \$(LIBWINE) \$(LIBUNICODE) \$(X_LIBS) \$(XLIB)"
echo $ac_n "checking whether the linker supports --[no]-whole-archive (Linux)""... $ac_c" 1>&6
-echo "configure:5419: checking whether the linker supports --[no]-whole-archive (Linux)" >&5
+echo "configure:5454: checking whether the linker supports --[no]-whole-archive (Linux)" >&5
if eval "test \"`echo '$''{'ac_cv_c_whole_archive'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
saved_cflags=$CFLAGS
CFLAGS="$CFLAGS -Wl,--whole-archive -Wl,--no-whole-archive"
cat > conftest.$ac_ext <<EOF
-#line 5426 "configure"
+#line 5461 "configure"
#include "confdefs.h"
int main() {
return 1
; return 0; }
EOF
-if { (eval echo configure:5433: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5468: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_cv_c_whole_archive="yes"
else
@@ -5449,21 +5484,21 @@
DLL_LINK="-Wl,--whole-archive $DLL_LINK -Wl,--no-whole-archive"
else
echo $ac_n "checking whether the linker supports -z {all,default}extract (Linux)""... $ac_c" 1>&6
-echo "configure:5453: checking whether the linker supports -z {all,default}extract (Linux)" >&5
+echo "configure:5488: checking whether the linker supports -z {all,default}extract (Linux)" >&5
if eval "test \"`echo '$''{'ac_cv_c_allextract'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
saved_cflags=$CFLAGS
CFLAGS="$CFLAGS -Wl,-z,allextract -Wl,-z,defaultextract"
cat > conftest.$ac_ext <<EOF
-#line 5460 "configure"
+#line 5495 "configure"
#include "confdefs.h"
int main() {
return 1
; return 0; }
EOF
-if { (eval echo configure:5467: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5502: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_cv_c_allextract="yes"
else
@@ -5498,7 +5533,7 @@
wine_cv_libc_reentrant=no
echo $ac_n "checking for reentrant libc: __errno_location""... $ac_c" 1>&6
-echo "configure:5502: checking for reentrant libc: __errno_location" >&5
+echo "configure:5537: checking for reentrant libc: __errno_location" >&5
if eval "test \"`echo '$''{'wine_cv_libc_r___errno_location'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -5506,14 +5541,14 @@
wine_cv_libc_r___errno_location=yes
else
cat > conftest.$ac_ext <<EOF
-#line 5510 "configure"
+#line 5545 "configure"
#include "confdefs.h"
int myerrno = 0;
char buf[256];
int *__errno_location(){return &myerrno;}
main(){connect(0,buf,255); exit(!myerrno);}
EOF
-if { (eval echo configure:5517: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:5552: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
wine_cv_libc_r___errno_location=yes
else
@@ -5536,7 +5571,7 @@
echo $ac_n "checking for reentrant libc: __error""... $ac_c" 1>&6
-echo "configure:5540: checking for reentrant libc: __error" >&5
+echo "configure:5575: checking for reentrant libc: __error" >&5
if eval "test \"`echo '$''{'wine_cv_libc_r___error'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -5544,14 +5579,14 @@
wine_cv_libc_r___error=yes
else
cat > conftest.$ac_ext <<EOF
-#line 5548 "configure"
+#line 5583 "configure"
#include "confdefs.h"
int myerrno = 0;
char buf[256];
int *__error(){return &myerrno;}
main(){connect(0,buf,255); exit(!myerrno);}
EOF
-if { (eval echo configure:5555: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:5590: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
wine_cv_libc_r___error=yes
else
@@ -5574,7 +5609,7 @@
echo $ac_n "checking for reentrant libc: ___errno""... $ac_c" 1>&6
-echo "configure:5578: checking for reentrant libc: ___errno" >&5
+echo "configure:5613: checking for reentrant libc: ___errno" >&5
if eval "test \"`echo '$''{'wine_cv_libc_r____errno'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -5582,14 +5617,14 @@
wine_cv_libc_r____errno=yes
else
cat > conftest.$ac_ext <<EOF
-#line 5586 "configure"
+#line 5621 "configure"
#include "confdefs.h"
int myerrno = 0;
char buf[256];
int *___errno(){return &myerrno;}
main(){connect(0,buf,255); exit(!myerrno);}
EOF
-if { (eval echo configure:5593: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:5628: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
wine_cv_libc_r____errno=yes
else
@@ -5612,7 +5647,7 @@
echo $ac_n "checking for reentrant libc: __thr_errno""... $ac_c" 1>&6
-echo "configure:5616: checking for reentrant libc: __thr_errno" >&5
+echo "configure:5651: checking for reentrant libc: __thr_errno" >&5
if eval "test \"`echo '$''{'wine_cv_libc_r___thr_errno'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -5620,14 +5655,14 @@
wine_cv_libc_r___thr_errno=yes
else
cat > conftest.$ac_ext <<EOF
-#line 5624 "configure"
+#line 5659 "configure"
#include "confdefs.h"
int myerrno = 0;
char buf[256];
int *__thr_errno(){return &myerrno;}
main(){connect(0,buf,255); exit(!myerrno);}
EOF
-if { (eval echo configure:5631: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:5666: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
wine_cv_libc_r___thr_errno=yes
else
@@ -5650,7 +5685,7 @@
echo $ac_n "checking for reentrant libc: __errno""... $ac_c" 1>&6
-echo "configure:5654: checking for reentrant libc: __errno" >&5
+echo "configure:5689: checking for reentrant libc: __errno" >&5
if eval "test \"`echo '$''{'wine_cv_libc_r___errno'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -5658,14 +5693,14 @@
wine_cv_libc_r___errno=yes
else
cat > conftest.$ac_ext <<EOF
-#line 5662 "configure"
+#line 5697 "configure"
#include "confdefs.h"
int myerrno = 0;
char buf[256];
int *__errno(){return &myerrno;}
main(){connect(0,buf,255); exit(!myerrno);}
EOF
-if { (eval echo configure:5669: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:5704: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
wine_cv_libc_r___errno=yes
else
@@ -5699,7 +5734,7 @@
if test "$have_x" = "yes" -a "$wine_cv_libc_reentrant" != "no"
then
echo $ac_n "checking "for reentrant X libraries"""... $ac_c" 1>&6
-echo "configure:5703: checking "for reentrant X libraries"" >&5
+echo "configure:5738: checking "for reentrant X libraries"" >&5
if eval "test \"`echo '$''{'wine_cv_x_reentrant'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -5748,19 +5783,19 @@
# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
# for constant arguments. Useless!
echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6
-echo "configure:5752: checking for working alloca.h" >&5
+echo "configure:5787: checking for working alloca.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5757 "configure"
+#line 5792 "configure"
#include "confdefs.h"
#include <alloca.h>
int main() {
char *p = alloca(2 * sizeof(int));
; return 0; }
EOF
-if { (eval echo configure:5764: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5799: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_cv_header_alloca_h=yes
else
@@ -5781,12 +5816,12 @@
fi
echo $ac_n "checking for alloca""... $ac_c" 1>&6
-echo "configure:5785: checking for alloca" >&5
+echo "configure:5820: checking for alloca" >&5
if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5790 "configure"
+#line 5825 "configure"
#include "confdefs.h"
#ifdef __GNUC__
@@ -5814,7 +5849,7 @@
char *p = (char *) alloca(1);
; return 0; }
EOF
-if { (eval echo configure:5818: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5853: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_cv_func_alloca_works=yes
else
@@ -5846,12 +5881,12 @@
echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6
-echo "configure:5850: checking whether alloca needs Cray hooks" >&5
+echo "configure:5885: checking whether alloca needs Cray hooks" >&5
if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5855 "configure"
+#line 5890 "configure"
#include "confdefs.h"
#if defined(CRAY) && ! defined(CRAY2)
webecray
@@ -5876,12 +5911,12 @@
if test $ac_cv_os_cray = yes; then
for ac_func in _getb67 GETB67 getb67; do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:5880: checking for $ac_func" >&5
+echo "configure:5915: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5885 "configure"
+#line 5920 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -5904,7 +5939,7 @@
; return 0; }
EOF
-if { (eval echo configure:5908: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5943: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -5931,7 +5966,7 @@
fi
echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6
-echo "configure:5935: checking stack direction for C alloca" >&5
+echo "configure:5970: checking stack direction for C alloca" >&5
if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -5939,7 +5974,7 @@
ac_cv_c_stack_direction=0
else
cat > conftest.$ac_ext <<EOF
-#line 5943 "configure"
+#line 5978 "configure"
#include "confdefs.h"
find_stack_direction ()
{
@@ -5958,7 +5993,7 @@
exit (find_stack_direction() < 0);
}
EOF
-if { (eval echo configure:5962: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:5997: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ac_cv_c_stack_direction=1
else
@@ -6018,12 +6053,12 @@
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6022: checking for $ac_func" >&5
+echo "configure:6057: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6027 "configure"
+#line 6062 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -6046,7 +6081,7 @@
; return 0; }
EOF
-if { (eval echo configure:6050: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6085: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -6128,17 +6163,17 @@
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:6132: checking for $ac_hdr" >&5
+echo "configure:6167: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6137 "configure"
+#line 6172 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:6142: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:6177: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -6165,12 +6200,12 @@
done
echo $ac_n "checking whether stat file-mode macros are broken""... $ac_c" 1>&6
-echo "configure:6169: checking whether stat file-mode macros are broken" >&5
+echo "configure:6204: checking whether stat file-mode macros are broken" >&5
if eval "test \"`echo '$''{'ac_cv_header_stat_broken'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6174 "configure"
+#line 6209 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/stat.h>
@@ -6223,12 +6258,12 @@
echo $ac_n "checking for working const""... $ac_c" 1>&6
-echo "configure:6227: checking for working const" >&5
+echo "configure:6262: checking for working const" >&5
if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6232 "configure"
+#line 6267 "configure"
#include "confdefs.h"
int main() {
@@ -6277,7 +6312,7 @@
; return 0; }
EOF
-if { (eval echo configure:6281: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6316: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_c_const=yes
else
@@ -6298,21 +6333,21 @@
fi
echo $ac_n "checking for inline""... $ac_c" 1>&6
-echo "configure:6302: checking for inline" >&5
+echo "configure:6337: checking for inline" >&5
if eval "test \"`echo '$''{'ac_cv_c_inline'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_cv_c_inline=no
for ac_kw in inline __inline__ __inline; do
cat > conftest.$ac_ext <<EOF
-#line 6309 "configure"
+#line 6344 "configure"
#include "confdefs.h"
int main() {
} $ac_kw foo() {
; return 0; }
EOF
-if { (eval echo configure:6316: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6351: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_c_inline=$ac_kw; break
else
@@ -6338,12 +6373,12 @@
esac
echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
-echo "configure:6342: checking for ANSI C header files" >&5
+echo "configure:6377: checking for ANSI C header files" >&5
if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6347 "configure"
+#line 6382 "configure"
#include "confdefs.h"
#include <stdlib.h>
#include <stdarg.h>
@@ -6351,7 +6386,7 @@
#include <float.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:6355: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:6390: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -6368,7 +6403,7 @@
if test $ac_cv_header_stdc = yes; then
# SunOS 4.x string.h does not declare mem*, contrary to ANSI.
cat > conftest.$ac_ext <<EOF
-#line 6372 "configure"
+#line 6407 "configure"
#include "confdefs.h"
#include <string.h>
EOF
@@ -6386,7 +6421,7 @@
if test $ac_cv_header_stdc = yes; then
# ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
cat > conftest.$ac_ext <<EOF
-#line 6390 "configure"
+#line 6425 "configure"
#include "confdefs.h"
#include <stdlib.h>
EOF
@@ -6407,7 +6442,7 @@
:
else
cat > conftest.$ac_ext <<EOF
-#line 6411 "configure"
+#line 6446 "configure"
#include "confdefs.h"
#include <ctype.h>
#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
@@ -6418,7 +6453,7 @@
exit (0); }
EOF
-if { (eval echo configure:6422: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:6457: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
:
else
@@ -6442,12 +6477,12 @@
fi
echo $ac_n "checking for size_t""... $ac_c" 1>&6
-echo "configure:6446: checking for size_t" >&5
+echo "configure:6481: checking for size_t" >&5
if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6451 "configure"
+#line 6486 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
@@ -6475,7 +6510,7 @@
fi
echo $ac_n "checking size of long long""... $ac_c" 1>&6
-echo "configure:6479: checking size of long long" >&5
+echo "configure:6514: checking size of long long" >&5
if eval "test \"`echo '$''{'ac_cv_sizeof_long_long'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -6483,7 +6518,7 @@
ac_cv_sizeof_long_long=0
else
cat > conftest.$ac_ext <<EOF
-#line 6487 "configure"
+#line 6522 "configure"
#include "confdefs.h"
#include <stdio.h>
#include <sys/types.h>
@@ -6495,7 +6530,7 @@
exit(0);
}
EOF
-if { (eval echo configure:6499: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:6534: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ac_cv_sizeof_long_long=`cat conftestval`
else
@@ -6516,12 +6551,12 @@
echo $ac_n "checking "whether linux/input.h is for real"""... $ac_c" 1>&6
-echo "configure:6520: checking "whether linux/input.h is for real"" >&5
+echo "configure:6555: checking "whether linux/input.h is for real"" >&5
if eval "test \"`echo '$''{'wine_cv_linux_input_h'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6525 "configure"
+#line 6560 "configure"
#include "confdefs.h"
#include <linux/input.h>
@@ -6534,7 +6569,7 @@
; return 0; }
EOF
-if { (eval echo configure:6538: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6573: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
wine_cv_linux_input_h=yes
else
@@ -6558,12 +6593,12 @@
echo $ac_n "checking "whether we can use re-entrant gethostbyname_r Linux style"""... $ac_c" 1>&6
-echo "configure:6562: checking "whether we can use re-entrant gethostbyname_r Linux style"" >&5
+echo "configure:6597: checking "whether we can use re-entrant gethostbyname_r Linux style"" >&5
if eval "test \"`echo '$''{'wine_cv_linux_gethostbyname_r_6'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6567 "configure"
+#line 6602 "configure"
#include "confdefs.h"
#include <netdb.h>
@@ -6584,7 +6619,7 @@
; return 0; }
EOF
-if { (eval echo configure:6588: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6623: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
wine_cv_linux_gethostbyname_r_6=yes
else
@@ -6610,12 +6645,12 @@
if test "$ac_cv_header_linux_joystick_h" = "yes"
then
echo $ac_n "checking "whether linux/joystick.h uses the Linux 2.2+ API"""... $ac_c" 1>&6
-echo "configure:6614: checking "whether linux/joystick.h uses the Linux 2.2+ API"" >&5
+echo "configure:6649: checking "whether linux/joystick.h uses the Linux 2.2+ API"" >&5
if eval "test \"`echo '$''{'wine_cv_linux_joystick_22_api'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6619 "configure"
+#line 6654 "configure"
#include "confdefs.h"
#include <sys/ioctl.h>
@@ -6630,7 +6665,7 @@
/*empty*/
; return 0; }
EOF
-if { (eval echo configure:6634: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6669: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
wine_cv_linux_joystick_22_api=yes
else
@@ -6657,12 +6692,12 @@
if test "$ac_cv_header_sys_vfs_h" = "yes"
then
echo $ac_n "checking "whether sys/vfs.h defines statfs"""... $ac_c" 1>&6
-echo "configure:6661: checking "whether sys/vfs.h defines statfs"" >&5
+echo "configure:6696: checking "whether sys/vfs.h defines statfs"" >&5
if eval "test \"`echo '$''{'wine_cv_sys_vfs_has_statfs'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6666 "configure"
+#line 6701 "configure"
#include "confdefs.h"
#include <sys/types.h>
@@ -6679,7 +6714,7 @@
; return 0; }
EOF
-if { (eval echo configure:6683: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6718: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
wine_cv_sys_vfs_has_statfs=yes
else
@@ -6706,12 +6741,12 @@
if test "$ac_cv_header_sys_statfs_h" = "yes"
then
echo $ac_n "checking "whether sys/statfs.h defines statfs"""... $ac_c" 1>&6
-echo "configure:6710: checking "whether sys/statfs.h defines statfs"" >&5
+echo "configure:6745: checking "whether sys/statfs.h defines statfs"" >&5
if eval "test \"`echo '$''{'wine_cv_sys_statfs_has_statfs'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6715 "configure"
+#line 6750 "configure"
#include "confdefs.h"
#include <sys/types.h>
@@ -6726,7 +6761,7 @@
; return 0; }
EOF
-if { (eval echo configure:6730: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6765: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
wine_cv_sys_statfs_has_statfs=yes
else
@@ -6753,12 +6788,12 @@
if test "$ac_cv_header_sys_mount_h" = "yes"
then
echo $ac_n "checking "whether sys/mount.h defines statfs"""... $ac_c" 1>&6
-echo "configure:6757: checking "whether sys/mount.h defines statfs"" >&5
+echo "configure:6792: checking "whether sys/mount.h defines statfs"" >&5
if eval "test \"`echo '$''{'wine_cv_sys_mount_has_statfs'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6762 "configure"
+#line 6797 "configure"
#include "confdefs.h"
#include <sys/types.h>
@@ -6773,7 +6808,7 @@
; return 0; }
EOF
-if { (eval echo configure:6777: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6812: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
wine_cv_sys_mount_has_statfs=yes
else
@@ -6799,7 +6834,7 @@
echo $ac_n "checking "for statfs.f_bfree"""... $ac_c" 1>&6
-echo "configure:6803: checking "for statfs.f_bfree"" >&5
+echo "configure:6838: checking "for statfs.f_bfree"" >&5
if eval "test \"`echo '$''{'wine_cv_statfs_bfree'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -6808,7 +6843,7 @@
wine_cv_statfs_bfree=no
else
cat > conftest.$ac_ext <<EOF
-#line 6812 "configure"
+#line 6847 "configure"
#include "confdefs.h"
#include <sys/types.h>
@@ -6835,7 +6870,7 @@
; return 0; }
EOF
-if { (eval echo configure:6839: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6874: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
wine_cv_statfs_bfree=yes
else
@@ -6859,7 +6894,7 @@
fi
echo $ac_n "checking "for statfs.f_bavail"""... $ac_c" 1>&6
-echo "configure:6863: checking "for statfs.f_bavail"" >&5
+echo "configure:6898: checking "for statfs.f_bavail"" >&5
if eval "test \"`echo '$''{'wine_cv_statfs_bavail'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -6868,7 +6903,7 @@
wine_cv_statfs_bavail=no
else
cat > conftest.$ac_ext <<EOF
-#line 6872 "configure"
+#line 6907 "configure"
#include "confdefs.h"
#include <sys/types.h>
@@ -6895,7 +6930,7 @@
; return 0; }
EOF
-if { (eval echo configure:6899: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6934: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
wine_cv_statfs_bavail=yes
else
@@ -6920,12 +6955,12 @@
echo $ac_n "checking "for msg_accrights in struct msghdr"""... $ac_c" 1>&6
-echo "configure:6924: checking "for msg_accrights in struct msghdr"" >&5
+echo "configure:6959: checking "for msg_accrights in struct msghdr"" >&5
if eval "test \"`echo '$''{'ac_cv_c_msg_accrights'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6929 "configure"
+#line 6964 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/socket.h>
@@ -6933,7 +6968,7 @@
struct msghdr hdr; hdr.msg_accrights=0
; return 0; }
EOF
-if { (eval echo configure:6937: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6972: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_c_msg_accrights="yes"
else
@@ -6956,12 +6991,12 @@
echo $ac_n "checking "for sun_len in struct sockaddr_un"""... $ac_c" 1>&6
-echo "configure:6960: checking "for sun_len in struct sockaddr_un"" >&5
+echo "configure:6995: checking "for sun_len in struct sockaddr_un"" >&5
if eval "test \"`echo '$''{'ac_cv_c_sun_len'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6965 "configure"
+#line 7000 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/socket.h>
@@ -6970,7 +7005,7 @@
static struct sockaddr_un addr; addr.sun_len = 1
; return 0; }
EOF
-if { (eval echo configure:6974: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:7009: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_c_sun_len="yes"
else
@@ -6993,12 +7028,12 @@
echo $ac_n "checking "whether we need to define __i386__"""... $ac_c" 1>&6
-echo "configure:6997: checking "whether we need to define __i386__"" >&5
+echo "configure:7032: checking "whether we need to define __i386__"" >&5
if eval "test \"`echo '$''{'ac_cv_cpp_def_i386'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7002 "configure"
+#line 7037 "configure"
#include "confdefs.h"
#if (defined(i386) || defined(__i386)) && !defined(__i386__)
yes
diff --git a/configure.in b/configure.in
index df3a575..9e34ffa 100644
--- a/configure.in
+++ b/configure.in
@@ -430,6 +430,19 @@
AC_SUBST(FREETYPELIBS)
AC_SUBST(FREETYPEINCL)
+dnl **** Check for parport (currently Linux only) ****
+AC_CACHE_CHECK("for parport header/ppdev.h", ac_cv_c_ppdev,
+ AC_TRY_COMPILE(
+ [#include <linux/ppdev.h>],
+ [ioctl (1,PPCLAIM,0)],
+ [ac_cv_c_ppdev="yes"],
+ [ac_cv_c_ppdev="no"])
+ )
+if test "$ac_cv_c_ppdev" = "yes"
+then
+ AC_DEFINE(HAVE_PPDEV,1,[Define if we can use ppdev.h for parallel port access])
+fi
+
dnl **** Check for IPX (currently Linux only) ****
AC_CACHE_CHECK("for GNU style IPX support", ac_cv_c_ipx_gnu,
AC_TRY_COMPILE(
diff --git a/documentation/samples/config b/documentation/samples/config
index 477741c..73be526 100644
--- a/documentation/samples/config
+++ b/documentation/samples/config
@@ -167,6 +167,14 @@
[parallelports]
"Lpt1" = "/dev/lp0"
+[ppdev]
+;; key: io-base of the emulated port
+;; value : parport-device{,timeout}
+;; timeout for auto closing an open device ( not yet implemented)
+;"378" = "/dev/parport0"
+;"278" = "/dev/parport1"
+;"3bc" = "/dev/parport2"
+
[spooler]
"FILE:" = "tmp.ps"
"LPT1:" = "|lpr"
diff --git a/include/config.h.in b/include/config.h.in
index 870dc71..52ba496 100644
--- a/include/config.h.in
+++ b/include/config.h.in
@@ -40,9 +40,6 @@
/* Define if the X Window System is missing or not being used. */
#undef X_DISPLAY_MISSING
-/* Define if lex declares yytext as a char * by default, not a char[]. */
-#undef YYTEXT_POINTER
-
/* Define if .type asm directive must be inside a .def directive */
#undef NEED_TYPE_IN_DEF
@@ -526,6 +523,9 @@
/* Define if you have the xpg4 library (-lxpg4). */
#undef HAVE_LIBXPG4
+/* Define if we can use ppdev.h for parallel port access */
+#undef HAVE_PPDEV
+
/* Set this to 64 to enable 64-bit file support on Linux */
#undef _FILE_OFFSET_BITS
diff --git a/include/miscemu.h b/include/miscemu.h
index d8ff015..eea5483 100644
--- a/include/miscemu.h
+++ b/include/miscemu.h
@@ -249,6 +249,12 @@
/* misc/aspi.c */
extern void ASPI_DOS_HandleInt(CONTEXT86 *context);
+/* misc/ppdev.c */
+
+extern BOOL IO_pp_outp(int port, DWORD* res);
+extern int IO_pp_inp(int port, DWORD* res);
+extern char IO_pp_init(void);
+
#define PTR_REAL_TO_LIN(seg,off) \
((void*)(((unsigned int)(seg) << 4) + LOWORD(off)))
diff --git a/msdos/Makefile.in b/msdos/Makefile.in
index 44f14a0..e77eb15 100644
--- a/msdos/Makefile.in
+++ b/msdos/Makefile.in
@@ -36,6 +36,7 @@
int5c.c \
interrupts.c \
ioports.c \
+ ppdev.c \
vga.c \
vxd.c
diff --git a/msdos/ioports.c b/msdos/ioports.c
index 18a73cf..ec2cb9a 100644
--- a/msdos/ioports.c
+++ b/msdos/ioports.c
@@ -62,13 +62,17 @@
# define DIRECT_IO_ACCESS
#else
# undef DIRECT_IO_ACCESS
+# undef PP_IO_ACCESS
#endif /* linux && __i386__ */
#ifdef DIRECT_IO_ACCESS
extern int iopl(int level);
-
static char do_direct_port_access = -1;
+#ifdef HAVE_PPDEV
+static char do_pp_port_access = -1; /* -1: uninitialized, 1: not available
+ 0: available);*/
+#endif
static char port_permissions[0x10000];
#define IO_READ 1
@@ -258,6 +262,13 @@
TRACE("%d-byte value from port 0x%02x\n", size, port );
+#ifdef HAVE_PPDEV
+ if (do_pp_port_access == -1)
+ do_pp_port_access =IO_pp_init();
+ if ((do_pp_port_access == 0 ) && (size == 1))
+ if (!IO_pp_inp(port,&res))
+ return res;
+#endif
#ifdef DIRECT_IO_ACCESS
if (do_direct_port_access == -1) IO_port_init();
if ((do_direct_port_access)
@@ -371,7 +382,15 @@
TRACE("IO: 0x%lx (%d-byte value) to port 0x%02x\n",
value, size, port );
+#ifdef HAVE_PPDEV
+ if (do_pp_port_access == -1)
+ do_pp_port_access = IO_pp_init();
+ if ((do_pp_port_access == 0) && (size == 1))
+ if (!IO_pp_outp(port,&value))
+ return;
+#endif
#ifdef DIRECT_IO_ACCESS
+
if (do_direct_port_access == -1) IO_port_init();
if ((do_direct_port_access)
/* Make sure we have access to the port */
diff --git a/msdos/ppdev.c b/msdos/ppdev.c
new file mode 100644
index 0000000..6be95ec
--- /dev/null
+++ b/msdos/ppdev.c
@@ -0,0 +1,288 @@
+/*
+ * Parallel-port device support
+ */
+
+#include "config.h"
+
+#include "debugtools.h"
+
+DEFAULT_DEBUG_CHANNEL(int);
+
+#ifdef HAVE_PPDEV
+
+#include <stdlib.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <sys/ioctl.h>
+#include <errno.h>
+#include <linux/ppdev.h>
+
+#include "winerror.h"
+#include "winreg.h"
+
+
+typedef struct _PPDEVICESTRUCT{
+ int fd; /* NULL if device not available */
+ char *devicename;
+ int userbase; /* where wine thinks the ports are*/
+ DWORD lastaccess; /* or NULL if release */
+ int timeout; /* time in second of inactivity to release the port*/
+} PPDeviceStruct;
+
+static PPDeviceStruct PPDeviceList[5];
+static int PPDeviceNum=0;
+
+static int IO_pp_sort(const void *p1,const void *p2)
+{
+ return ((PPDeviceStruct*)p1)->userbase - ((PPDeviceStruct*)p2)->userbase;
+}
+
+/* IO_pp_init
+ *
+ * Read the ppdev entries from wine.conf, open the device and check
+ * for nescessary IOCTRL
+ * Report verbose about possible errors
+ */
+char IO_pp_init(void)
+{
+ char name[80];
+ char buffer[1024];
+ HKEY hkey;
+ char temp[256];
+ int i,idx=0,fd,res,userbase,nports=0;
+ char * timeout;
+ char ret=1;
+ int lasterror;
+
+ TRACE("\n");
+ if (RegOpenKeyA( HKEY_LOCAL_MACHINE, "Software\\Wine\\Wine\\Config\\ppdev", &hkey ) != ERROR_SUCCESS)
+ return 1;
+
+ for (;;)
+ {
+ DWORD type, count = sizeof(buffer), name_len = sizeof(name);
+
+ if (RegEnumValueA( hkey, idx, name, &name_len, NULL, &type, buffer, &count )!= ERROR_SUCCESS)
+ break;
+
+ idx++;
+ if(nports >4)
+ {
+ FIXME("Make the PPDeviceList larger then 5 elements\n");
+ break;
+ }
+ TRACE("Device '%s' at virtual userbase '%s'\n", buffer,name);
+ timeout = strchr(buffer,',');
+ if (timeout)
+ *timeout++=0;
+ fd=open(buffer,O_RDWR);
+ lasterror=errno;
+ if (fd == -1)
+ {
+ WARN("Configuration: No access to %s Cause: %s\n",buffer,strerror(lasterror));
+ WARN("Rejecting configuration item\n");
+ if (lasterror == ENODEV)
+ FIXME("Is the ppdev module loaded?\n");
+ continue;
+ }
+ userbase = strtol(name,(char **)NULL, 16);
+ if ( errno == ERANGE)
+ {
+ WARN("Configuration: Invalid base %s for %s\n",name,buffer);
+ WARN("Rejecting configuration item\n");
+ continue;
+ }
+ if (ioctl (fd,PPEXCL,0))
+ {
+ ERR("PPEXCL IOCTL rejected for device %s\n",buffer);
+ ERR("Check that PPDEV module is loaded!\n");
+ ERR("Perhaps the device is already in use or non-existant\n");
+ continue;
+ }
+ if (ioctl (fd,PPCLAIM,0))
+ {
+ ERR("PPCLAIM rejected %s\n",buffer);
+ ERR("Perhaps the device is already in use or non-existant\n");
+ continue;
+ }
+ if (nports > 0)
+ {
+ for (i=0; i<= nports; i++)
+ {
+ if (PPDeviceList[i].userbase == userbase)
+ {
+ WARN("Configuration: %s uses the same virtual ports as %s\n",
+ buffer,PPDeviceList[0].devicename);
+ WARN("Configuration: Rejecting configuration item");
+ userbase = 0;
+ break;
+ }
+ }
+ if (!userbase) continue;
+ }
+ /* Check for the minimum required IOCTLS */
+ if ((ioctl(fd,PPRDATA,&res))||
+ (ioctl(fd,PPRCONTROL,&res))||
+ (ioctl(fd,PPRCONTROL,&res)))
+ {
+ ERR("PPUSER IOCTL not available for parport device %s\n",temp);
+ continue;
+ }
+ PPDeviceList[nports].devicename = malloc(sizeof(buffer)+1);
+ if (!PPDeviceList[nports].devicename)
+ {
+ ERR("No (more)space for devicename\n");
+ break;
+ }
+ strcpy(PPDeviceList[nports].devicename,buffer);
+ PPDeviceList[nports].fd = fd;
+ PPDeviceList[nports].userbase = userbase;
+ PPDeviceList[nports].lastaccess=GetTickCount();
+ if (timeout)
+ {
+ PPDeviceList[nports].timeout = strtol(timeout,(char **)NULL, 10);
+ if (errno == ERANGE)
+ {
+ WARN("Configuration:Invalid timeout %s in configuration for %s, Setting to 0\n",
+ timeout,buffer);
+ PPDeviceList[nports].timeout = 0;
+ }
+ }
+ else
+ PPDeviceList[nports].timeout = 0;
+ nports++;
+ }
+ TRACE("found %d ports\n",nports);
+ RegCloseKey( hkey );
+
+ PPDeviceNum= nports;
+ if (nports > 1)
+ /* sort in accending order for userbase for faster access*/
+ qsort (PPDeviceList,PPDeviceNum,sizeof(PPDeviceStruct),IO_pp_sort);
+
+ if (nports)
+ ret=0;
+ for (idx= 0;idx<PPDeviceNum; idx++)
+ TRACE("found device %s userbase %x fd %x timeout %d\n",
+ PPDeviceList[idx].devicename, PPDeviceList[idx].userbase,
+ PPDeviceList[idx].fd,PPDeviceList[idx].timeout);
+ /* FIXME:
+ register a timer callback perhaps every 30 second to release unused ports
+ Set lastaccess = 0 as indicator when port was released
+ */
+ return ret;
+}
+
+/* IO_pp_do_access
+ *
+ * Do the actual IOCTL
+ * Return NULL on success
+ */
+static int IO_pp_do_access(int idx,int ppctl, DWORD* res)
+{
+ if (!PPDeviceList[idx].lastaccess)
+ /* TIMER callback has released the device after some time of inactivity
+ Reclaim the device
+ !!!!!!THIS MAY UNINTERRUPTIPLE BLOCK IF SOME OTHER DEVICE
+ !!!!!! HAS CLAIMED THE SAME PORT
+ */
+ if (ioctl(PPDeviceList[idx].fd,PPCLAIM,0))
+ {
+ ERR("Can't reclaim device %s, PPUSER/PPDEV handling confused\n",
+ PPDeviceList[idx].devicename);
+ return 1;
+ }
+ PPDeviceList[idx].lastaccess=GetTickCount();
+ return ioctl(PPDeviceList[idx].fd,ppctl,res);
+}
+
+/* IO_pp_inp
+ *
+ * Check if we can satisfy the INP command with some of the configured PPDEV deviced
+ * Return NULL on success
+ */
+int IO_pp_inp(int port, DWORD* res)
+{
+ int idx,j=0;
+
+ for (idx=0;idx<PPDeviceNum ;idx++)
+ {
+ j = port - PPDeviceList[idx].userbase;
+ if (j <0) return 1;
+ switch (j)
+ {
+ case 0:
+ return IO_pp_do_access(idx,PPRDATA,res);
+ case 1:
+ return IO_pp_do_access(idx,PPRSTATUS,res);
+ case 2:
+ return IO_pp_do_access(idx,PPRCONTROL,res);
+ case 0x400:
+ case 0x402:
+ case 3:
+ case 4:
+ case 0x401:
+ FIXME("Port 0x%x not accessible for reading with ppdev\n",port);
+ FIXME("If this is causing problems, try direct port access\n");
+ return 1;
+ default:
+ break;
+ }
+ }
+ return 1;
+}
+
+/* IO_pp_outp
+ *
+ * Check if we can satisfy the INP command with some of the configured PPDEV deviced
+ * Return NULL on success
+ */
+BOOL IO_pp_outp(int port, DWORD* res)
+{
+ int idx,j=0;
+
+ for (idx=0;idx<PPDeviceNum ;idx++)
+ {
+ j = port - PPDeviceList[idx].userbase;
+ if (j <0) return 1;
+ switch (j)
+ {
+ case 0:
+ return IO_pp_do_access(idx,PPWDATA,res);
+ case 2:
+ return IO_pp_do_access(idx,PPWCONTROL,res);
+ case 1:
+ case 0x400:
+ case 0x402:
+ case 3:
+ case 4:
+ case 0x401:
+ FIXME("Port %d not accessible for writing with ppdev\n",port);
+ FIXME("If this is causing problems, try direct port access\n");
+ return 1;
+ default:
+ break;
+ }
+ }
+ return TRUE;
+}
+
+
+#else /* HAVE_PPDEV */
+
+char IO_pp_init(void)
+{
+ return 1;
+}
+
+int IO_pp_inp(int port, DWORD* res)
+{
+ return 1;
+}
+
+BOOL IO_pp_outp(int port, DWORD* res)
+{
+ return TRUE;
+}
+#endif /* HAVE_PPDEV */