From: Stephen Smalley <sds@epoch.ncsc.mil>

This patch fixes the SELinux build for "make O=..." by removing the use of
-include and eliminating the global.h file, adding appropriate individual
#include's to the various files in the security/selinux/ss subdirectory. 
The compilation error was reported by Sam Ravnborg and again by Adrian
Bunk.



 25-akpm/security/selinux/ss/Makefile   |    3 +--
 25-akpm/security/selinux/ss/avtab.c    |    4 ++++
 25-akpm/security/selinux/ss/ebitmap.c  |    3 +++
 25-akpm/security/selinux/ss/global.h   |   18 ------------------
 25-akpm/security/selinux/ss/hashtab.c  |    3 +++
 25-akpm/security/selinux/ss/mls.c      |    4 ++++
 25-akpm/security/selinux/ss/policydb.c |    5 +++++
 25-akpm/security/selinux/ss/services.c |   11 +++++++++++
 25-akpm/security/selinux/ss/sidtab.c   |    6 ++++++
 25-akpm/security/selinux/ss/symtab.c   |    4 ++++
 10 files changed, 41 insertions(+), 20 deletions(-)

diff -puN security/selinux/ss/avtab.c~selinux-separate-output-dir-fix security/selinux/ss/avtab.c
--- 25/security/selinux/ss/avtab.c~selinux-separate-output-dir-fix	Fri Dec 19 17:31:45 2003
+++ 25-akpm/security/selinux/ss/avtab.c	Fri Dec 19 17:31:45 2003
@@ -3,6 +3,10 @@
  *
  * Author : Stephen Smalley, <sds@epoch.ncsc.mil>
  */
+#include <linux/kernel.h>
+#include <linux/slab.h>
+#include <linux/vmalloc.h>
+#include <linux/errno.h>
 #include "avtab.h"
 #include "policydb.h"
 
diff -puN security/selinux/ss/ebitmap.c~selinux-separate-output-dir-fix security/selinux/ss/ebitmap.c
--- 25/security/selinux/ss/ebitmap.c~selinux-separate-output-dir-fix	Fri Dec 19 17:31:45 2003
+++ 25-akpm/security/selinux/ss/ebitmap.c	Fri Dec 19 17:31:45 2003
@@ -3,6 +3,9 @@
  *
  * Author : Stephen Smalley, <sds@epoch.ncsc.mil>
  */
+#include <linux/kernel.h>
+#include <linux/slab.h>
+#include <linux/errno.h>
 #include "ebitmap.h"
 #include "policydb.h"
 
diff -puN security/selinux/ss/global.h~selinux-separate-output-dir-fix security/selinux/ss/global.h
--- 25/security/selinux/ss/global.h~selinux-separate-output-dir-fix	Fri Dec 19 17:31:45 2003
+++ 25-akpm/security/selinux/ss/global.h	Fri Dec 19 17:31:45 2003
@@ -1,18 +0,0 @@
-#ifndef _SS_GLOBAL_H_
-#define _SS_GLOBAL_H_
-
-#include <linux/kernel.h>
-#include <linux/slab.h>
-#include <linux/string.h>
-#include <linux/ctype.h>
-#include <linux/in.h>
-#include <linux/spinlock.h>
-#include <linux/sched.h>
-#include <linux/vmalloc.h>
-
-#include "flask.h"
-#include "avc.h"
-#include "avc_ss.h"
-#include "security.h"
-
-#endif /* _SS_GLOBAL_H_ */
diff -puN security/selinux/ss/hashtab.c~selinux-separate-output-dir-fix security/selinux/ss/hashtab.c
--- 25/security/selinux/ss/hashtab.c~selinux-separate-output-dir-fix	Fri Dec 19 17:31:45 2003
+++ 25-akpm/security/selinux/ss/hashtab.c	Fri Dec 19 17:31:45 2003
@@ -3,6 +3,9 @@
  *
  * Author : Stephen Smalley, <sds@epoch.ncsc.mil>
  */
+#include <linux/kernel.h>
+#include <linux/slab.h>
+#include <linux/errno.h>
 #include "hashtab.h"
 
 struct hashtab *hashtab_create(u32 (*hash_value)(struct hashtab *h, void *key),
diff -puN security/selinux/ss/Makefile~selinux-separate-output-dir-fix security/selinux/ss/Makefile
--- 25/security/selinux/ss/Makefile~selinux-separate-output-dir-fix	Fri Dec 19 17:31:45 2003
+++ 25-akpm/security/selinux/ss/Makefile	Fri Dec 19 17:31:45 2003
@@ -2,8 +2,7 @@
 # Makefile for building the SELinux security server as part of the kernel tree.
 #
 
-EXTRA_CFLAGS += -Isecurity/selinux/include -include security/selinux/ss/global.h
-
+EXTRA_CFLAGS += -Isecurity/selinux/include
 obj-y := ss.o
 
 ss-objs := ebitmap.o hashtab.o symtab.o sidtab.o avtab.o policydb.o services.o
diff -puN security/selinux/ss/mls.c~selinux-separate-output-dir-fix security/selinux/ss/mls.c
--- 25/security/selinux/ss/mls.c~selinux-separate-output-dir-fix	Fri Dec 19 17:31:45 2003
+++ 25-akpm/security/selinux/ss/mls.c	Fri Dec 19 17:31:45 2003
@@ -3,6 +3,10 @@
  *
  * Author : Stephen Smalley, <sds@epoch.ncsc.mil>
  */
+#include <linux/kernel.h>
+#include <linux/slab.h>
+#include <linux/string.h>
+#include <linux/errno.h>
 #include "mls.h"
 #include "policydb.h"
 #include "services.h"
diff -puN security/selinux/ss/policydb.c~selinux-separate-output-dir-fix security/selinux/ss/policydb.c
--- 25/security/selinux/ss/policydb.c~selinux-separate-output-dir-fix	Fri Dec 19 17:31:45 2003
+++ 25-akpm/security/selinux/ss/policydb.c	Fri Dec 19 17:31:45 2003
@@ -3,6 +3,11 @@
  *
  * Author : Stephen Smalley, <sds@epoch.ncsc.mil>
  */
+#include <linux/kernel.h>
+#include <linux/slab.h>
+#include <linux/string.h>
+#include <linux/errno.h>
+#include "security.h"
 #include "policydb.h"
 #include "mls.h"
 
diff -puN security/selinux/ss/services.c~selinux-separate-output-dir-fix security/selinux/ss/services.c
--- 25/security/selinux/ss/services.c~selinux-separate-output-dir-fix	Fri Dec 19 17:31:45 2003
+++ 25-akpm/security/selinux/ss/services.c	Fri Dec 19 17:31:45 2003
@@ -10,6 +10,17 @@
  *	it under the terms of the GNU General Public License version 2,
  *      as published by the Free Software Foundation.
  */
+#include <linux/kernel.h>
+#include <linux/slab.h>
+#include <linux/string.h>
+#include <linux/spinlock.h>
+#include <linux/errno.h>
+#include <linux/in.h>
+#include <asm/semaphore.h>
+#include "flask.h"
+#include "avc.h"
+#include "avc_ss.h"
+#include "security.h"
 #include "context.h"
 #include "policydb.h"
 #include "sidtab.h"
diff -puN security/selinux/ss/sidtab.c~selinux-separate-output-dir-fix security/selinux/ss/sidtab.c
--- 25/security/selinux/ss/sidtab.c~selinux-separate-output-dir-fix	Fri Dec 19 17:31:45 2003
+++ 25-akpm/security/selinux/ss/sidtab.c	Fri Dec 19 17:31:45 2003
@@ -3,6 +3,12 @@
  *
  * Author : Stephen Smalley, <sds@epoch.ncsc.mil>
  */
+#include <linux/kernel.h>
+#include <linux/slab.h>
+#include <linux/spinlock.h>
+#include <linux/errno.h>
+#include "flask.h"
+#include "security.h"
 #include "sidtab.h"
 
 #define SIDTAB_HASH(sid) \
diff -puN security/selinux/ss/symtab.c~selinux-separate-output-dir-fix security/selinux/ss/symtab.c
--- 25/security/selinux/ss/symtab.c~selinux-separate-output-dir-fix	Fri Dec 19 17:31:45 2003
+++ 25-akpm/security/selinux/ss/symtab.c	Fri Dec 19 17:31:45 2003
@@ -3,6 +3,10 @@
  *
  * Author : Stephen Smalley, <sds@epoch.ncsc.mil>
  */
+#include <linux/kernel.h>
+#include <linux/slab.h>
+#include <linux/string.h>
+#include <linux/errno.h>
 #include "symtab.h"
 
 static unsigned int symhash(struct hashtab *h, void *key)

_