Do not compile scsi ioctl decoding if <scsi/sg.h> is not available

Add a generic test for <scsi/sg.h> availability to fix build with
Bionic libc that does not provide <scsi/sg.h>.

* configure.ac (AC_CHECK_HEADERS): Add scsi/sg.h.
* ioctl.c (ioctl_decode): Do not call scsi_ioctl if !HAVE_SCSI_SG_H.
* scsi.c: Do not compile scsi ioctl decoding if !HAVE_SCSI_SG_H.

Reported-by: Elliott Hughes <enh@google.com>
diff --git a/configure.ac b/configure.ac
index 9b65d4b..db24349 100644
--- a/configure.ac
+++ b/configure.ac
@@ -220,6 +220,7 @@
 	mqueue.h
 	netinet/sctp.h
 	poll.h
+	scsi/sg.h
 	stropts.h
 	sys/acl.h
 	sys/asynch.h
diff --git a/ioctl.c b/ioctl.c
index e9a503d..3f6c410 100644
--- a/ioctl.c
+++ b/ioctl.c
@@ -86,8 +86,10 @@
 	case 0x03:
 	case 0x12:
 		return block_ioctl(tcp, code, arg);
+#ifdef HAVE_SCSI_SG_H
 	case 0x22:
 		return scsi_ioctl(tcp, code, arg);
+#endif
 	case 'L':
 		return loop_ioctl(tcp, code, arg);
 	case 'M':
diff --git a/scsi.c b/scsi.c
index ed5b3bb..c49f954 100644
--- a/scsi.c
+++ b/scsi.c
@@ -27,8 +27,11 @@
  */
 
 #include "defs.h"
-#include <sys/ioctl.h>
-#include <scsi/sg.h>
+
+#ifdef HAVE_SCSI_SG_H
+
+# include <sys/ioctl.h>
+# include <scsi/sg.h>
 
 static const struct xlat sg_io_dxfer_direction[] = {
 	XLAT(SG_DXFER_NONE),
@@ -137,3 +140,5 @@
 	}
 	return 1;
 }
+
+#endif /* HAVE_SCSI_SG_H */