patches/uClibc/0.9.28.3/110-install_dev.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Sep 12 23:51:25 2010 +0200 (2010-09-12)
changeset 2123 ff2181adbd28
parent 6 4267d95819bd
permissions -rw-r--r--
cc/gcc: disable complibs if not selected

Force gcc to not link with some companion libraries when
there are not needed (because selected-out).

There is no option to tell gcc *not* to build the Graphite and/or
LTO stuff. They *will* be built if gcc finds the suitable companion
libraries. If we do not provide them, but the host has them, then
gcc *will* find them, and link with them.

Consider the following:
- host has suitable PPL and CLooG (eg. Debian Squeeze)
- user wants to build gcc>=4.4
- user de-selects GRAPHITE
- gcc will find the hosts PPL and CLooG, and will use them
- the user moves the toolchain to an older host that does
not have them (eg. Debian Lenny)
- the toolchain fails, when it was properly setup not to

So, explicitly tell gcc *not* to use unneeded companion libs.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
     1 We know that the kernel headers are in place. Don't try to install them.
     2 
     3 diff -dur uClibc-0.9.28.1.orig/Makefile uClibc-0.9.28.1/Makefile
     4 --- uClibc-0.9.28.1.orig/Makefile	2007-01-28 06:38:00.000000000 +0100
     5 +++ uClibc-0.9.28.1/Makefile	2007-01-28 18:55:46.000000000 +0100
     6 @@ -158,12 +158,10 @@
     7  	$(INSTALL) -d $(PREFIX)$(DEVEL_PREFIX)lib
     8  	$(INSTALL) -d $(PREFIX)$(DEVEL_PREFIX)include
     9  	-$(INSTALL) -m 644 lib/*.[ao] $(PREFIX)$(DEVEL_PREFIX)lib/
    10 -	if [ "$(KERNEL_SOURCE)" = "$(DEVEL_PREFIX)" ] ; then \
    11 -		extra_exclude="--exclude include/linux --exclude include/asm'*'" ; \
    12 -	else \
    13 -		extra_exclude="" ; \
    14 -	fi ; \
    15 -	tar -chf - include --exclude .svn --exclude CVS $$extra_exclude \
    16 +	extra_exclude="--exclude include/linux --exclude include/asm'*'" ; \
    17 +	tar -chf - include --exclude .svn --exclude CVS \
    18 +	                   --exclude include/linux      \
    19 +	                   --exclude include/asm'*'     \
    20  		| tar -xf - -C $(PREFIX)$(DEVEL_PREFIX)
    21  	echo '/* Dont use _syscall#() macros; use the syscall() function */' > \
    22  		$(PREFIX)$(DEVEL_PREFIX)include/bits/syscalls.h