patches/uClibc/0.9.28/001-install_dev.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Tue May 08 17:48:32 2007 +0000 (2007-05-08)
changeset 78 c3868084d81a
permissions -rw-r--r--
Huge fixes to glibc build, so that we can build at least (and at last):
- use ports addon even when installing headers,
- use optimisation (-O) when installing headers, to avoid unnecessary warnings (thanks Robert P. J. DAY for pointing this out!),
- lowest kernel version to use is only X.Y.Z, not X.Y.Z.T,
- a bit of preparations for NPTL (RSN I hope),
- fix fixing the linker scripts (changing the backup file is kind of useless and stupid);

Shut uClibc finish step: there really is nothing to do;

Add a patch for glibc-2.3.6 weak aliases handling on some archs (ARM and ALPHA at least);

Did not catch the make errors: fixed the pattern matching in scripts/functions;

Introduce a new log level, ALL:
- send components' build messages there,
- DEBUG log level is destined only for crosstool-NG debug messages,
- migrate sub-actions to use appropriate log levels;

Update the armeb-unknown-linux-gnu sample:
- it builds!
- uses gcc-4.0.4 and glibc-2.3.6,
- updated to latest config options set.
     1 There are at least three weird glitches in the Makefile:
     2  - the test operator is a dual-equal sign (==) when it should be a single one (=);
     3  - the exclude options are not accepted as is by GNU tar;
     4  - how on earth could KERNEL_SOURCE possibly be equal to DEVEL_PREFIX ???
     5 
     6 We (Cedric DUVAL and I, Yann E. MORIN) are not quite sure why it is that way.
     7 We're not quite sure either on how to solve this.
     8 
     9 What we need is to built a toolchain; in no way we need to install the linux headers.
    10   ==> systematically exclude them from the [s]tar command.
    11 
    12 This patch is inspired by the svn repository of uClibc as of 20060209.
    13 diff -dur /home/ymorin/dev/uClibc-0.9.28/Makefile uClibc-0.9.28/Makefile
    14 --- /home/ymorin/dev/uClibc-0.9.28/Makefile	2005-08-18 00:49:49.000000000 +0200
    15 +++ uClibc-0.9.28/Makefile	2006-02-09 17:06:58.000000000 +0100
    16 @@ -158,12 +158,17 @@
    17  	$(INSTALL) -d $(PREFIX)$(DEVEL_PREFIX)lib
    18  	$(INSTALL) -d $(PREFIX)$(DEVEL_PREFIX)include
    19  	-$(INSTALL) -m 644 lib/*.[ao] $(PREFIX)$(DEVEL_PREFIX)lib/
    20 -	if [ "$(KERNEL_SOURCE)" == "$(DEVEL_PREFIX)" ] ; then \
    21 -		extra_exclude="--exclude include/linux --exclude include/asm'*'" ; \
    22 -	else \
    23 -		extra_exclude="" ; \
    24 -	fi ; \
    25 -	tar -chf - include --exclude .svn --exclude CVS $$extra_exclude \
    26 +#	if [ "$(KERNEL_SOURCE)" == "$(DEVEL_PREFIX)" ] ; then \
    27 +#		extra_exclude="--exclude include/linux --exclude include/asm'*'" ; \
    28 +#	else \
    29 +#		extra_exclude="" ; \
    30 +#	fi ; \
    31 +#	tar -chf - include --exclude .svn --exclude CVS $$extra_exclude \
    32 +#		| tar -xf - -C $(PREFIX)$(DEVEL_PREFIX)
    33 +	printf ".svn\n.cvsignore\nCVS\n" > tar_exclude ; \
    34 +	ls -1d include/linux include/asm* >> tar_exclude ; \
    35 +	tar -chf - -X tar_exclude include \
    36  		| tar -xf - -C $(PREFIX)$(DEVEL_PREFIX)
    37 +	rm -f tar_exclude
    38  ifneq ($(strip $(UCLIBC_HAS_FLOATS)),y)
    39  	# Remove floating point related headers since float support is disabled.