diff --git a/configure.in b/configure.in
index a9e1f90a16beb19b366d2a66a78ff3b0b6863291..ce4e9d1b3c8f852dcb3a727e52f6b03a44ad1e09 100644
--- a/configure.in
+++ b/configure.in
@@ -24,9 +24,16 @@ AC_ARG_ENABLE(parport,
   AS_HELP_STRING([--enable-parport], [Enable building the pc parallel port driver]), 
   [build_parport=$enableval], [build_parport=no])
 
-AC_ARG_ENABLE(parport_ppdev,
-  AS_HELP_STRING([--enable-parport_ppdev], [Enable use of ppdev (/dev/parportN) for parport]), 
-  [parport_use_ppdev=$enableval], [parport_use_ppdev=no])
+case "${host_cpu}" in 
+  i?86|x86*)
+    AC_ARG_ENABLE(parport_ppdev,
+      AS_HELP_STRING([--enable-parport_ppdev], [Enable use of ppdev (/dev/parportN) for parport]), 
+      [parport_use_ppdev=$enableval], [parport_use_ppdev=no])
+    ;;
+  *) 
+    parport_use_ppdev=yes
+    ;;
+esac
 
 AC_ARG_ENABLE(ft2232_libftdi,
   AS_HELP_STRING([--enable-ft2232_libftdi], [Enable building support for FT2232 based devices using the libftdi driver]), 
diff --git a/src/jtag/amt_jtagaccel.c b/src/jtag/amt_jtagaccel.c
index 0eed94609ba940f977f6680b5b2b5294a9d7b91e..f005be65d638a145bba0a91232eda738faf97de6 100644
--- a/src/jtag/amt_jtagaccel.c
+++ b/src/jtag/amt_jtagaccel.c
@@ -27,9 +27,7 @@
 
 /* system includes */
 
-#ifndef _WIN32
-#include <sys/io.h>
-#else
+#ifdef _WIN32
 #include "errno.h"
 #endif /* _WIN32 */
 
@@ -45,6 +43,10 @@
 #include <fcntl.h>
 #include <sys/ioctl.h>
 #include <unistd.h>
+#else /* not PARPORT_USE_PPDEV */
+#ifndef _WIN32
+#include <sys/io.h>
+#endif
 #endif
 
 #if PARPORT_USE_GIVEIO == 1
diff --git a/src/jtag/gw16012.c b/src/jtag/gw16012.c
index 8c73590b1bddfedaf50839bf7d57f05637ec3ccb..8060d7d615ac6bec6bee12dcc30da210e4d09347 100644
--- a/src/jtag/gw16012.c
+++ b/src/jtag/gw16012.c
@@ -43,9 +43,7 @@
 
 #else
 
-#ifndef _WIN32
-#include <sys/io.h>
-#else
+#ifdef _WIN32
 #include "errno.h"
 #endif /* _WIN32 */
 
@@ -69,6 +67,10 @@
 #endif
 #include <fcntl.h>
 #include <sys/ioctl.h>
+#else /* not PARPORT_USE_PPDEV */
+#ifndef _WIN32
+#include <sys/io.h>
+#endif
 #endif
 
 #if PARPORT_USE_GIVEIO == 1
diff --git a/src/jtag/parport.c b/src/jtag/parport.c
index a46d611fd9ea0319e5deab7365a65cb8963a9f33..bc95c3d03d2d39628f1a3277c7a7fc87e1a4f25d 100644
--- a/src/jtag/parport.c
+++ b/src/jtag/parport.c
@@ -38,9 +38,7 @@
 
 #else
 
-#ifndef _WIN32
-#include <sys/io.h>
-#else
+#ifdef _WIN32
 #include "errno.h"
 #endif /* _WIN32 */
 
@@ -62,6 +60,10 @@
 #endif
 #include <fcntl.h>
 #include <sys/ioctl.h>
+#else /* not PARPORT_USE_PPDEV */
+#ifndef _WIN32
+#include <sys/io.h>
+#endif
 #endif
 
 #if PARPORT_USE_GIVEIO == 1