From 712be40f8df23e5d4688728b5b73dd36236ca850 Mon Sep 17 00:00:00 2001
From: drath <drath@b42882b7-edfa-0310-969c-e2dbd0fdcd60>
Date: Thu, 26 Jul 2007 09:36:17 +0000
Subject: [PATCH] - restrict direct parallel port access to x86 platforms
 (thanks to Vincent Palatin)

git-svn-id: svn://svn.berlios.de/openocd/trunk@183 b42882b7-edfa-0310-969c-e2dbd0fdcd60
---
 configure.in             | 13 ++++++++++---
 src/jtag/amt_jtagaccel.c |  8 +++++---
 src/jtag/gw16012.c       |  8 +++++---
 src/jtag/parport.c       |  8 +++++---
 4 files changed, 25 insertions(+), 12 deletions(-)

diff --git a/configure.in b/configure.in
index a9e1f90a1..ce4e9d1b3 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 0eed94609..f005be65d 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 8c73590b1..8060d7d61 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 a46d611fd..bc95c3d03 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
-- 
GitLab