"son of unifdef"

From: Robert P. J. Day
Date: Sun Nov 25 2007 - 00:29:05 EST



just for the entertainment value, i ran "make headers_install" on my
x86 box using the newer "sunifdef" utility, which has the advantage
that it will remove parts of compound preprocessor conditionals.
here's the diff output between the old and the new generated header
directories:

diff -r include.orig/asm/posix_types_32.h include.sunifdef/asm/posix_types_32.h
42c42
< #if defined(__KERNEL__) || defined(__USE_ALL)
---
> #if defined(__USE_ALL)
49c49
< #if defined(__KERNEL__) || !defined(__GLIBC__) || (__GLIBC__ < 2)
---
> #if !defined(__GLIBC__) || __GLIBC__ < 2
diff -r include.orig/linux/acct.h include.sunifdef/linux/acct.h
62d61
< #if !defined(CONFIG_M68K) || !defined(__KERNEL__)
64d62
< #endif
diff -r include.orig/linux/ext2_fs.h include.sunifdef/linux/ext2_fs.h
240c240
< #if defined(__KERNEL__) || defined(__linux__)
---
> #if defined(__linux__)
diff -r include.orig/linux/ext3_fs.h include.sunifdef/linux/ext3_fs.h
295c295
< #if defined(__KERNEL__) || defined(__linux__)
---
> #if defined(__linux__)
diff -r include.orig/linux/nfs3.h include.sunifdef/linux/nfs3.h
99c99
< #if defined(__KERNEL__) || defined(NFS_NEED_KERNEL_TYPES)
---
> #if defined(NFS_NEED_KERNEL_TYPES)
diff -r include.orig/linux/socket.h include.sunifdef/linux/socket.h
19c19
< #if defined(__KERNEL__) || !defined(__GLIBC__) || (__GLIBC__ < 2)
---
> #if !defined(__GLIBC__) || __GLIBC__ < 2
diff -r include.orig/linux/soundcard.h include.sunifdef/linux/soundcard.h
1036c1036
< #if (!defined(__KERNEL__) && !defined(KERNEL) && !defined(INKERNEL) && !defined(_KERNEL)) || defined(USE_SEQ_MACROS)
---
> #if !defined(KERNEL) && !defined(INKERNEL) && !defined(_KERNEL) || defined(USE_SEQ_MACROS)
diff -r include.orig/linux/stat.h include.sunifdef/linux/stat.h
5c5
< #if defined(__KERNEL__) || !defined(__GLIBC__) || (__GLIBC__ < 2)
---
> #if !defined(__GLIBC__) || __GLIBC__ < 2
diff -r include.orig/linux/videodev.h include.sunifdef/linux/videodev.h
17d16
< #if defined(CONFIG_VIDEO_V4L1_COMPAT) || !defined (__KERNEL__)
297d295
< #endif /* CONFIG_VIDEO_V4L1_COMPAT */
diff -r include.orig/video/edid.h include.sunifdef/video/edid.h
4d3
< #if !defined(__KERNEL__) || defined(CONFIG_X86)
11d9
< #endif

in addition, sunifdef whined as follows:

UNIFDEF include/linux/netlink.h
sunifdef: /home/rpjday/k/git/include/linux/netlink.h: line 205:
warning 0x02070: Garbage following preprocessor directive in "#if PAGE_SIZE < 8192UL" (#if line 152 depth 2)

i'm guessing it's that "UL" suffix it doesn't like.

rday

========================================================================
Robert P. J. Day
Linux Consulting, Training and Annoying Kernel Pedantry
Waterloo, Ontario, CANADA

http://crashcourse.ca
========================================================================
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/