diff options
author | Eric Andersen <andersen@codepoet.org> | 2000-09-21 02:04:51 +0000 |
---|---|---|
committer | Eric Andersen <andersen@codepoet.org> | 2000-09-21 02:04:51 +0000 |
commit | 624cc771da4ac5f15ec16a2b0f10feeef0b125c7 (patch) | |
tree | 159ab99cb2f1e14218204306c1be24f0b6c85745 /libbb | |
parent | 8847b9a03afd59a4d4f833be12937b38216799d3 (diff) |
More portable handling of loop header files, as done in util-linux
Diffstat (limited to 'libbb')
-rwxr-xr-x | libbb/mk_loop_h.sh | 34 |
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 @@ +#!/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 + |