aboutsummaryrefslogtreecommitdiff
path: root/libbb/mk_loop_h.sh
diff options
context:
space:
mode:
Diffstat (limited to 'libbb/mk_loop_h.sh')
-rwxr-xr-xlibbb/mk_loop_h.sh34
1 files changed, 34 insertions, 0 deletions
diff --git a/libbb/mk_loop_h.sh b/libbb/mk_loop_h.sh
new file mode 100755
index 000000000..c33c010ca
--- /dev/null
+++ b/libbb/mk_loop_h.sh
@@ -0,0 +1,34 @@
1#!/bin/sh
2#
3# Figure out (i) the type of dev_t (ii) the defines for loop stuff
4#
5
6rm -f loop.h
7
8# Since 1.3.79 there is an include file <asm/posix_types.h>
9# that defines __kernel_dev_t.
10# (The file itself appeared in 1.3.78, but there it defined __dev_t.)
11# If it exists, we use it, or, rather, <linux/posix_types.h> which
12# avoids namespace pollution. Otherwise we guess that __kernel_dev_t
13# is an unsigned short (which is true on i386, but false on alpha).
14
15if [ -f /usr/include/linux/posix_types.h ]; then
16 echo '#include <linux/posix_types.h>' >> loop.h
17 echo '#undef dev_t' >> loop.h
18 echo '#define dev_t __kernel_dev_t' >> loop.h
19else
20 echo '#undef dev_t' >> loop.h
21 echo '#define dev_t unsigned short' >> loop.h
22fi
23
24# Next we have to find the loop stuff itself.
25# First try kernel source, then a private version.
26
27if [ -f /usr/include/linux/loop.h ]; then
28 echo '#include <linux/loop.h>' >> loop.h
29else
30 echo '#include "real_loop.h"' >> loop.h
31fi
32
33echo '#undef dev_t' >> loop.h
34