patches/uClibc/0.9.28/110-install_dev.patch
author Bart vdr. Meulen <bartvdrmeulen@gmail.com>
Sun Aug 02 16:45:43 2009 +0200 (2009-08-02)
changeset 1434 7e7290acccc1
parent 1 eeea35fbf182
permissions -rw-r--r--
fix wrapper script for symlinks

The wrapper script placed around the target binaries when
using the companion libraries does not work for symbolic links
The wrapper scripts needs to follow the links before calling the
actual binary

Signed-off-by: Bart vdr. Meulen <bartvdrmeulen@gmail.com>

---
     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.