linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] kbuild: Unmangle include options for gcc
@ 2004-01-16 23:17 Sam Ravnborg
  0 siblings, 0 replies; only message in thread
From: Sam Ravnborg @ 2004-01-16 23:17 UTC (permalink / raw)
  To: Linus Torvalds, Andrew Morton; +Cc: linux-kernel

When utilising the make O=... option the include options for gcc were 
mangled even when absolute paths was used.
Also remove duplication of CPPFLAGS. They were assigned twice.
[It is still possible for architectures to modify CPPFLAGS].

This patch allows xconfig to be build with make O=... xconfig.It will also help development of external modules with absolute paths for their -I options.

Note: As a side effect a full recompile of the kernel takes place due to
changes in number of gcc options.

	Sam

===== Makefile 1.446 vs edited =====
--- 1.446/Makefile	Fri Jan  9 07:57:28 2004
+++ edited/Makefile	Tue Jan 13 22:13:00 2004
@@ -404,10 +404,6 @@
 
 include $(srctree)/arch/$(ARCH)/Makefile
 
-# Let architecture Makefiles change CPPFLAGS if needed
-CFLAGS := $(CPPFLAGS) $(CFLAGS)
-AFLAGS := $(CPPFLAGS) $(AFLAGS)
-
 core-y		+= kernel/ mm/ fs/ ipc/ security/ crypto/
 
 SUBDIRS		+= $(patsubst %/,%,$(filter %/, $(init-y) $(init-m) \
===== scripts/Makefile.lib 1.22 vs edited =====
--- 1.22/scripts/Makefile.lib	Sat Sep 20 21:03:00 2003
+++ edited/scripts/Makefile.lib	Fri Jan 16 23:46:27 2004
@@ -144,8 +144,7 @@
 
 
 # If building the kernel in a separate objtree expand all occurrences
-# of -Idir to -Idir -I$(srctree)/dir.
-# hereby allowing gcc to locate files in both trees. Local tree first.
+# of -Idir to -I$(srctree)/dir except for absolute paths (starting with '/').
 
 ifeq ($(KBUILD_SRC),)
 __c_flags	= $(_c_flags)
@@ -154,15 +153,16 @@
 __hostcxx_flags	= $(_hostcxx_flags)
 else
 flags = $(foreach o,$($(1)),\
-	$(if $(filter -I%,$(o)),$(patsubst -I%,-I$(srctree)/%,$(o)),$(o)))
+		$(if $(filter -I%,$(filter-out -I/%,$(o))), \
+		$(patsubst -I%,-I$(srctree)/%,$(o)),$(o)))
 
-# -I$(obj) locate generated .h files
-# -I$(srctree)/$(src) locate .h files in srctree, from generated .c files
-# FIXME: Replace both with specific EXTRA_CFLAGS statements
+# -I$(obj) locates generated .h files
+# -I$(srctree)/$(src) locates .h files in srctree, from generated .c files
+# FIXME: Replace both with specific EXTRA_CFLAGS statements in the makefiles
 __c_flags	= -I$(obj) -I$(srctree)/$(src) $(call flags,_c_flags)
 __a_flags	=                              $(call flags,_a_flags)
 __hostc_flags	= -I$(obj)                     $(call flags,_hostc_flags)
-__hostcxx_flags	=                              $(call flags,_hostcxx_flags)
+__hostcxx_flags	= -I$(obj)                     $(call flags,_hostcxx_flags)
 endif
 
 c_flags        = -Wp,-MD,$(depfile) $(NOSTDINC_FLAGS) $(CPPFLAGS) \

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2004-01-16 23:16 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-01-16 23:17 [PATCH] kbuild: Unmangle include options for gcc Sam Ravnborg

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).