patches/ltrace/0.5.2/100-allow-cross-compile.patch
author Anthony Foiani <anthony.foiani@gmail.com>
Thu May 19 23:06:16 2011 +0200 (2011-05-19)
changeset 2461 ec30b191f0e3
parent 1262 e3574ccecb6d
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 diff -durN ltrace-0.5.2.orig/Makefile.in ltrace-0.5.2/Makefile.in
     2 --- ltrace-0.5.2.orig/Makefile.in	2009-05-21 19:14:54.000000000 +0200
     3 +++ ltrace-0.5.2/Makefile.in	2009-06-27 15:30:34.000000000 +0200
     4 @@ -2,8 +2,14 @@
     5  # ltrace's Makefile.in
     6  #
     7  
     8 -#OS		:= $(shell uname -s)
     9  OS		:= @HOST_OS@
    10 +ARCH		:= $(shell echo "@HOST_ARCH@" |sed -e s/i.86/i386/      \
    11 +						   -e s/sun4u/sparc64/  \
    12 +						   -e s/arm.*/arm/      \
    13 +						   -e s/sa110/arm/      \
    14 +						   -e s/ppc64/ppc/      \
    15 +						   -e s/s390x/s390/)
    16 +export ARCH
    17  
    18  TOPDIR		= $(shell pwd)
    19  
    20 diff -durN ltrace-0.5.2.orig/configure ltrace-0.5.2/configure
    21 --- ltrace-0.5.2.orig/configure	2009-05-21 19:14:57.000000000 +0200
    22 +++ ltrace-0.5.2/configure	2009-06-27 15:30:34.000000000 +0200
    23 @@ -660,6 +660,7 @@
    24  host_cpu
    25  host_vendor
    26  host_os
    27 +HOST_ARCH
    28  HOST_OS
    29  CC
    30  CFLAGS
    31 @@ -1823,6 +1824,7 @@
    32  case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
    33  
    34  
    35 +HOST_ARCH="$host_cpu"
    36  case "$host_os" in
    37    linux-gnu*) host_os=linux-gnu
    38  esac
    39 @@ -5406,6 +5408,7 @@
    40  host_cpu!$host_cpu$ac_delim
    41  host_vendor!$host_vendor$ac_delim
    42  host_os!$host_os$ac_delim
    43 +HOST_ARCH!$HOST_ARCH$ac_delim
    44  HOST_OS!$HOST_OS$ac_delim
    45  CC!$CC$ac_delim
    46  CFLAGS!$CFLAGS$ac_delim
    47 @@ -5426,7 +5429,7 @@
    48  LTLIBOBJS!$LTLIBOBJS$ac_delim
    49  _ACEOF
    50  
    51 -  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 63; then
    52 +  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 64; then
    53      break
    54    elif $ac_last_try; then
    55      { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
    56 diff -durN ltrace-0.5.2.orig/configure.ac ltrace-0.5.2/configure.ac
    57 --- ltrace-0.5.2.orig/configure.ac	2009-05-21 19:14:54.000000000 +0200
    58 +++ ltrace-0.5.2/configure.ac	2009-06-27 15:30:34.000000000 +0200
    59 @@ -11,6 +11,8 @@
    60  esac
    61  HOST_OS="$host_os"
    62  AC_SUBST(HOST_OS)
    63 +HOST_ARCH="$host_cpu"
    64 +AC_SUBST(HOST_ARCH)
    65  
    66  dnl Checks for programs.
    67  AC_PROG_CC
    68 diff -durN ltrace-0.5.2.orig/sysdeps/linux-gnu/Makefile ltrace-0.5.2/sysdeps/linux-gnu/Makefile
    69 --- ltrace-0.5.2.orig/sysdeps/linux-gnu/Makefile	2009-05-21 19:14:54.000000000 +0200
    70 +++ ltrace-0.5.2/sysdeps/linux-gnu/Makefile	2009-06-27 15:30:34.000000000 +0200
    71 @@ -1,6 +1,3 @@
    72 -ARCH		:=	$(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ \
    73 -			-e s/arm.*/arm/ -e s/sa110/arm/ -e s/ppc64/ppc/ -e s/s390x/s390/)
    74 -
    75  CPPFLAGS	+=	-I$(TOPDIR)/sysdeps/linux-gnu/$(ARCH)
    76  
    77  OBJ		=	events.o trace.o proc.o breakpoint.o