diff options
Diffstat (limited to 'libbb')
-rwxr-xr-x | libbb/mk_loop_h.sh | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/libbb/mk_loop_h.sh b/libbb/mk_loop_h.sh index c33c010..71c9873 100755 --- a/libbb/mk_loop_h.sh +++ b/libbb/mk_loop_h.sh @@ -2,8 +2,7 @@ # # Figure out (i) the type of dev_t (ii) the defines for loop stuff # - -rm -f loop.h +# Output of this script is normally redirected to "loop.h". # Since 1.3.79 there is an include file <asm/posix_types.h> # that defines __kernel_dev_t. @@ -12,23 +11,27 @@ rm -f loop.h # avoids namespace pollution. Otherwise we guess that __kernel_dev_t # is an unsigned short (which is true on i386, but false on alpha). +# BUG: This test is actually broken if your gcc is not configured to +# search /usr/include, as may well happen with cross-compilers. +# It would be better to ask $(CC) if these files can be found. + 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 + echo '#include <linux/posix_types.h>' + echo '#undef dev_t' + echo '#define dev_t __kernel_dev_t' else - echo '#undef dev_t' >> loop.h - echo '#define dev_t unsigned short' >> loop.h + echo '#undef dev_t' + echo '#define dev_t unsigned short' 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 + echo '#include <linux/loop.h>' else - echo '#include "real_loop.h"' >> loop.h + echo '#include "real_loop.h"' fi -echo '#undef dev_t' >> loop.h +echo '#undef dev_t' |