patches/dmalloc/5.5.2/100-use-xtools.patch
author Anthony Foiani <anthony.foiani@gmail.com>
Thu May 19 23:06:16 2011 +0200 (2011-05-19)
changeset 2461 ec30b191f0e3
permissions -rw-r--r--
complibs/ppl: build only C and C++ interfaces for PPL

By default, PPL wants to build interfaces for any of a variety of
langauges it finds on the local host (python, java, possibly perl, also
more esoteric languages such as ocaml and prolog).

These extra interfaces can double the compile time for the library. For
single-process builds, I found a savings of more than 40%:

default / j1: 716s total, 143.2s avg, 0.52s stdev
just_c / j1: 406s total, 81.2s avg, 0.33s stdev
just_c_cpp / j1: 413s total, 82.6s avg, 0.22s stdev

And for multi-process builds, it approached 50%:

default / j4: 625s total, 125.0s avg, 0.57s stdev
just_c / j4: 338s total, 67.6s avg, 1.25s stdev
just_c_cpp / j4: 327s total, 65.4s avg, 0.36s stdev

Since the PPL we build within ct-ng is only used by GCC, we only need to
build the C and C++ interfaces.

Signed-Off-By: Anthony Foiani <anthony.foiani@gmail.com>
     1 This patch makes configure use the cross ld and ar rather than the native tools.
     2 
     3 It was build up by Yann E. MORIN <yann.morin.1998@anciens.enib.fr> from some
     4 bits gathered from buildroot, which is LGPL v2.1
     5 License for dmalloc is:
     6  * Permission to use, copy, modify, and distribute this software for
     7  * any purpose and without fee is hereby granted, provided that the
     8  * above copyright notice and this permission notice appear in all
     9  * copies, and that the name of Gray Watson not be used in advertising
    10  * or publicity pertaining to distribution of the document or software
    11  * without specific, written prior permission.
    12  *
    13  * Gray Watson makes no representations about the suitability of the
    14  * software described herein for any purpose.  It is provided "as is"
    15  * without express or implied warranty.
    16 
    17 I personnaly believe that the resulting code should therefore be
    18 LGPL v2.1, but don't believe me, ask your lawyers!
    19 
    20 diff -dur dmalloc-5.5.2.orig/configure dmalloc-5.5.2/configure
    21 --- dmalloc-5.5.2.orig/configure	2007-05-14 19:26:14.000000000 +0200
    22 +++ dmalloc-5.5.2/configure	2007-05-18 11:38:25.000000000 +0200
    23 @@ -4418,14 +4418,14 @@
    24    (exit $ac_status); }; }; then
    25  
    26  	# so now we try to create an archive from the compiled .o file
    27 -	(ar cr conftest.a conftest.o) 2>&5
    28 +	(${AR} cr conftest.a conftest.o) 2>&5
    29  	# see which shared-library ld commands work
    30  	#
    31  	# Darwin/Mac OS X - Terry Teague
    32  	# username terry_teague at domain users.sourceforge.net
    33  	ac_cv_shared_lib_link_objs=no
    34  	if test `uname` = "Darwin"; then
    35 -          if (ld -dylib -o conftest.so.t -lc conftest.a) 2>&5; then
    36 +          if (${LD} -dylib -o conftest.so.t -lc conftest.a) 2>&5; then
    37              # By convention on some platforms
    38              # libLLL.so, libLLL.X.so are symlinks to libLLL.X.Y.Z.so
    39              # where X.Y.Z is version # (major.minor.increment) of the library
    40 @@ -4443,12 +4443,12 @@
    41              ac_cv_shared_link_args='# Could not configure shlib linking'
    42              enable_shlib=no
    43            fi
    44 -       elif (ld -shared --whole-archive -soname conftest.so -o conftest.so.t conftest.a) 2>&5; then
    45 -		ac_cv_shared_link_args='ld -shared --whole-archive -soname $@ -o $@.t'
    46 -	elif (ld -shared -o conftest.so.t -all -soname conftest.so.t -none -lc -all conftest.a) 2>&5; then
    47 -		ac_cv_shared_link_args='ld -shared -o $@.t -all -soname $@ -none -lc -all'
    48 -	elif (ld -G -o conftest.so.t conftest.a) 2>&5; then
    49 -		ac_cv_shared_link_args='ld -G -o $@.t'
    50 +       elif (${LD} -shared --whole-archive -soname conftest.so -o conftest.so.t conftest.a) 2>&5; then
    51 +		ac_cv_shared_link_args="${LD}"' -shared --whole-archive -soname $@ -o $@.t'
    52 +	elif (${LD} -shared -o conftest.so.t -all -soname conftest.so.t -none -lc -all conftest.a) 2>&5; then
    53 +		ac_cv_shared_link_args="${LD}"' -shared -o $@.t -all -soname $@ -none -lc -all'
    54 +	elif (${LD} -G -o conftest.so.t conftest.a) 2>&5; then
    55 +		ac_cv_shared_link_args="${LD}"' -G -o $@.t'
    56  	else
    57  		# oh well, toss an error
    58  		ac_cv_shared_link_args='# Could not configure shlib linking'