mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [2.6] GUI config targets fail with "make O=..."
@ 2003-11-01  0:14 Bryan O'Sullivan
  2003-11-01  7:31 ` Sam Ravnborg
  0 siblings, 1 reply; 2+ messages in thread
From: Bryan O'Sullivan @ 2003-11-01  0:14 UTC (permalink / raw)
  To: sam; +Cc: linux-kernel

Hi, Sam -

There's something in the 2.6 kbuild infrastructure that does some rather
wrong things for the gconfig and xconfig targets when object files
should go to a separate directory.

It looks like HOSTCXXFLAGS is being mangled somehow.  Here are the
interesting details:

make -C /home/bos/bk/kernel/key O=/tmp/build-i686-smp xconfig

This results in the following invocation of g++, which chokes:

g++ -Wp,-MD,scripts/kconfig/.qconf.o.d  -O2 \
	-I/home/bos/bk/kernel/key//usr/lib/qt-3.1/include \
	-c -o scripts/kconfig/qconf.o \
	/home/bos/bk/kernel/key/scripts/kconfig/qconf.cc

There are two problems here.  The first is the mangling of -I$(QTDIR) so
that it has a bizarre prefix.  The second is that -I$O/scripts/kconfig
is missing, so the compiler can't find the generated file lkc_defs.h
(which is generated correctly).

Any ideas on how to fix this?

	<b


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [2.6] GUI config targets fail with "make O=..."
  2003-11-01  0:14 [2.6] GUI config targets fail with "make O=..." Bryan O'Sullivan
@ 2003-11-01  7:31 ` Sam Ravnborg
  0 siblings, 0 replies; 2+ messages in thread
From: Sam Ravnborg @ 2003-11-01  7:31 UTC (permalink / raw)
  To: Bryan O'Sullivan; +Cc: sam, linux-kernel

On Fri, Oct 31, 2003 at 04:14:50PM -0800, Bryan O'Sullivan wrote:
> Hi, Sam -
> 
> There's something in the 2.6 kbuild infrastructure that does some rather
> wrong things for the gconfig and xconfig targets when object files
> should go to a separate directory.

Hi Bryan - known problem reported some weeks ago, but thanks
for the report anyhow.

Patch is present in my kbuild repository (linux-sam.bkbits.net/kbuild).
Linus has not applied them, since this is not critical fixes. I will
try to see when 2.6.1 comes out to get them applied.

Until then the relevant patch is attached here.

	Sam

# This is a BitKeeper generated patch for the following project:
# Project Name: Linux kernel tree
# This patch format is intended for GNU patch command version 2.5 or higher.
# This patch includes the following deltas:
#	           ChangeSet	1.1296.61.1 -> 1.1296.61.2
#	scripts/Makefile.lib	1.22    -> 1.23   
#	            Makefile	1.435   -> 1.436  
#
# The following is the BitKeeper ChangeSet Log
# 03/10/12	sam@mars.ravnborg.org	1.1296.61.2
# kbuild: Fix make O=../build xconfig
# 
# Compilation of qconf required -I path to qt. kbuild invalidated the
# path to qt by prefixing it with $(srctree). No longer prefix absolute paths.
# Also do not duplicate CPPFLAGS. Previously it was appended twice to CFLAGS
# --------------------------------------------
#
diff -Nru a/Makefile b/Makefile
--- a/Makefile	Sat Oct 18 09:48:02 2003
+++ b/Makefile	Sat Oct 18 09:48:02 2003
@@ -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) \
diff -Nru a/scripts/Makefile.lib b/scripts/Makefile.lib
--- a/scripts/Makefile.lib	Sat Oct 18 09:48:02 2003
+++ b/scripts/Makefile.lib	Sat Oct 18 09:48:02 2003
@@ -154,7 +154,8 @@
 __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
@@ -162,7 +163,7 @@
 __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] 2+ messages in thread

end of thread, other threads:[~2003-11-01  7:31 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-11-01  0:14 [2.6] GUI config targets fail with "make O=..." Bryan O'Sullivan
2003-11-01  7:31 ` Sam Ravnborg

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®