RE: patch to fix build issue in uClibc testsuite

2011-04-14 Thread Jian Peng
Thank you, Bernhard.

I came across a discussion on similar issue at 
http://www.mail-archive.com/uclibc@uclibc.org/msg04245.html

I like to understand what is the purpose of $(KERNEL_HEADERS).

In my case, KERNEL_HEADERS was used to point to what my own kernel header files 
(may be slightly different from installed one for debugging purpose).
Those kernel header files were used to build my own lib*.so based on different 
.config in uClibc (from that was used to build cross toolchain), and install my 
customized *.so onto target.

I have to use $(KERNEL_HEAERS) to point to both linux/include and 
linux/arch/mips/include since linux/arch/mips/include has unistd.h that 
will be used to generate syscall table in uClibc.

In other words, if KERNEL_HEADERS has to be set to point to installed kernel 
headers, then there is no need for this option, and there is no need to 
generate install_dir since you can simply create a symlink to sysroot directory 
as install_dir.

How do you think?

Jian



From: Bernhard Reutner-Fischer [mailto:rep.dot@gmail.com] 
Sent: Saturday, April 09, 2011 1:43 PM
To: Jian Peng; uclibc@uclibc.org
Subject: Re: patch to fix build issue in uClibc testsuite

Jian Peng jip...@broadcom.com wrote:
In test/Rules.mak, $(KERNEL_HEADERS) will be checked and used to generate 
$(KERNEL_INCLUDES) based on absolute or relative path. The problem is that this 
check assumes that $(KERNEL_HEADERS) is single word like 
/user/me/kernel/include, in case that it is /user/me/kernel/include 
-I/user/me/kernel/arch/mips/include, $(KERNEL_INCLUDES) will be wrong and 
leads to unable to find out kernel header files in build process. Here I 
reworked the logic to check each path in $(KERNEL_HEADERS) individually, then 
combine them. Signed-off-by: Jian Peng jipeng2...@gmail.com --- 
test/Rules.mak | 10 +++--- 1 files changed, 3 insertions(+), 7 deletions(-) 
diff --git a/test/Rules.mak b/test/Rules.mak index 2131a7b..e144b0f 100644 --- 
a/test/Rules.mak +++ b/test/Rules.mak @@ -46,14 +46,10 @@ export TARGET_ARCH 
RM_R = $(Q)$(RM) -r LN_S = $(Q)$(LN) -fs +# handle absolute and relative path 
on each path in $(KERNEL_HEADERS) separately ifneq ($(KERNEL_HEADERS),) -ifeq 
($(patsubst /%,/,$(KERNEL_
 HEADERS)),/) -# Absolute path in KERNEL_HEADERS -KERNEL_INCLUDES += 
-I$(KERNEL_HEADERS) -else -# Relative path in KERNEL_HEADERS -KERNEL_INCLUDES 
+= -I$(top_builddir)$(KERNEL_HEADERS) -endif +KERNEL_HEADERS := $(patsubst 
-I%,%,$(KERNEL_HEADERS)) +KERNEL_INCLUDES += $(addprefix -I,$(foreach 
i,$(KERNEL_HEADERS),$(patsubst .%,$(top_builddir).%,$i))) endif XCOMMON_CFLAGS 
:= -I$(top_builddir)test -D_GNU_SOURCE -- 1.7.4.1

uClibc mailing list uClibc@uclibc.org 
http://lists.busybox.net/mailman/listinfo/uclibc 

Hi,

You need to use installed kernel headers.
___
uClibc mailing list
uClibc@uclibc.org
http://lists.busybox.net/mailman/listinfo/uclibc


Re: patch to fix build issue in uClibc testsuite

2011-04-09 Thread Bernhard Reutner-Fischer
Jian Peng jip...@broadcom.com wrote:

In test/Rules.mak, $(KERNEL_HEADERS) will be checked and used to generate 
$(KERNEL_INCLUDES) based on absolute or relative path. The problem is that this 
check assumes that $(KERNEL_HEADERS) is single word like 
/user/me/kernel/include, in case that it is /user/me/kernel/include 
-I/user/me/kernel/arch/mips/include, $(KERNEL_INCLUDES) will be wrong and 
leads to unable to find out kernel header files in build process. Here I 
reworked the logic to check each path in $(KERNEL_HEADERS) individually, then 
combine them. Signed-off-by: Jian Peng jipeng2...@gmail.com --- 
test/Rules.mak | 10 +++--- 1 files changed, 3 insertions(+), 7 deletions(-) 
diff --git a/test/Rules.mak b/test/Rules.mak index 2131a7b..e144b0f 100644 --- 
a/test/Rules.mak +++ b/test/Rules.mak @@ -46,14 +46,10 @@ export TARGET_ARCH 
RM_R = $(Q)$(RM) -r LN_S = $(Q)$(LN) -fs +# handle absolute and relative path 
on each path in $(KERNEL_HEADERS) separately ifneq ($(KERNEL_HEADERS),) -ifeq 
($(patsubst
/%,/,$(KERNEL_HEADERS)),/) -# Absolute path in KERNEL_HEADERS -KERNEL_INCLUDES 
+= -I$(KERNEL_HEADERS) -else -# Relative path in KERNEL_HEADERS 
-KERNEL_INCLUDES += -I$(top_builddir)$(KERNEL_HEADERS) -endif +KERNEL_HEADERS 
:= $(patsubst -I%,%,$(KERNEL_HEADERS)) +KERNEL_INCLUDES += $(addprefix 
-I,$(foreach i,$(KERNEL_HEADERS),$(patsubst .%,$(top_builddir).%,$i))) endif 
XCOMMON_CFLAGS := -I$(top_builddir)test -D_GNU_SOURCE -- 
1.7.4.1_
uClibc mailing list uClibc@uclibc.org 
http://lists.busybox.net/mailman/listinfo/uclibc 


Hi,

You need to use installed kernel headers.
___
uClibc mailing list
uClibc@uclibc.org
http://lists.busybox.net/mailman/listinfo/uclibc