Fix build with <linux/loop.h> from 2.6.18 kernel headers

* configure.ac: Check for LO_FLAGS_AUTOCLEAR and LO_FLAGS_PARTSCAN
declarations.
* loop.c (loop_flags_options): Use LO_FLAGS_AUTOCLEAR and
LO_FLAGS_PARTSCAN only when appropriate declarations are available.
(loop_ioctl): Use LOOP_SET_CAPACITY only when it is defined.
diff --git a/loop.c b/loop.c
index a350135..83d9152 100644
--- a/loop.c
+++ b/loop.c
@@ -33,8 +33,10 @@
 
 static const struct xlat loop_flags_options[] = {
 	{ LO_FLAGS_READ_ONLY,	"LO_FLAGS_READ_ONLY"	},
+#if HAVE_DECL_LO_FLAGS_AUTOCLEAR
 	{ LO_FLAGS_AUTOCLEAR,	"LO_FLAGS_AUTOCLEAR"	},
-#ifdef LO_FLAGS_PARTSCAN
+#endif
+#if HAVE_DECL_LO_FLAGS_PARTSCAN
 	{ LO_FLAGS_PARTSCAN,	"LO_FLAGS_PARTSCAN"	},
 #endif
 	{ 0,			NULL			},
@@ -164,7 +166,9 @@
 		return 1;
 
 	case LOOP_CLR_FD:
+#ifdef LOOP_SET_CAPACITY
 	case LOOP_SET_CAPACITY:
+#endif
 #ifdef LOOP_CTL_GET_FREE
 	/* newer loop-control stuff */
 	case LOOP_CTL_GET_FREE: