aboutsummaryrefslogtreecommitdiff
path: root/mk_loop_h.sh
diff options
context:
space:
mode:
authorEric Andersen <andersen@codepoet.org>2000-09-21 02:04:51 +0000
committerEric Andersen <andersen@codepoet.org>2000-09-21 02:04:51 +0000
commit624cc771da4ac5f15ec16a2b0f10feeef0b125c7 (patch)
tree159ab99cb2f1e14218204306c1be24f0b6c85745 /mk_loop_h.sh
parent8847b9a03afd59a4d4f833be12937b38216799d3 (diff)
downloadbusybox-624cc771da4ac5f15ec16a2b0f10feeef0b125c7.tar.gz
More portable handling of loop header files, as done in util-linux
Diffstat (limited to 'mk_loop_h.sh')
-rwxr-xr-xmk_loop_h.sh34
1 files changed, 34 insertions, 0 deletions
diff --git a/mk_loop_h.sh b/mk_loop_h.sh
new file mode 100755
index 000000000..c33c010ca
--- /dev/null
+++ b/mk_loop_h.sh
@@ -0,0 +1,34 @@
+#!/bin/sh
+#
+# Figure out (i) the type of dev_t (ii) the defines for loop stuff
+#
+
+rm -f loop.h
+
+# Since 1.3.79 there is an include file <asm/posix_types.h>
+# that defines __kernel_dev_t.
+# (The file itself appeared in 1.3.78, but there it defined __dev_t.)
+# If it exists, we use it, or, rather, <linux/posix_types.h> which
+# avoids namespace pollution. Otherwise we guess that __kernel_dev_t
+# is an unsigned short (which is true on i386, but false on alpha).
+
+if [ -f /usr/include/linux/posix_types.h ]; then
+ echo '#include <linux/posix_types.h>' >> loop.h
+ echo '#undef dev_t' >> loop.h
+ echo '#define dev_t __kernel_dev_t' >> loop.h
+else
+ echo '#undef dev_t' >> loop.h
+ echo '#define dev_t unsigned short' >> loop.h
+fi
+
+# Next we have to find the loop stuff itself.
+# First try kernel source, then a private version.
+
+if [ -f /usr/include/linux/loop.h ]; then
+ echo '#include <linux/loop.h>' >> loop.h
+else
+ echo '#include "real_loop.h"' >> loop.h
+fi
+
+echo '#undef dev_t' >> loop.h
+