Some corrections, some additions, some embellishments.
[oweals/busybox.git] / mk_loop_h.sh
1 #!/bin/sh
2 #
3 # Figure out (i) the type of dev_t (ii) the defines for loop stuff
4 #
5
6 rm -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
15 if [ -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
19 else
20    echo '#undef dev_t' >> loop.h
21    echo '#define dev_t unsigned short' >> loop.h
22 fi
23
24 # Next we have to find the loop stuff itself.
25 # First try kernel source, then a private version.
26
27 if [ -f /usr/include/linux/loop.h ]; then
28    echo '#include <linux/loop.h>' >> loop.h
29 else
30    echo '#include "real_loop.h"' >> loop.h
31 fi
32
33 echo '#undef dev_t' >> loop.h
34