update is primarily work done by Larry Doolittle, but I did some touchups of my own to make it work for me, -Erik
		
			
				
	
	
		
			38 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/sh
 | |
| #
 | |
| # Figure out (i) the type of dev_t (ii) the defines for loop stuff
 | |
| #
 | |
| # 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.
 | |
| # (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).
 | |
| 
 | |
| # 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>'
 | |
|    echo '#undef dev_t'
 | |
|    echo '#define dev_t __kernel_dev_t'
 | |
| else
 | |
|    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>'
 | |
| else
 | |
|    echo '#include "real_loop.h"'
 | |
| fi
 | |
| 
 | |
| echo '#undef dev_t'
 | |
| 
 |