Roland Mainz wrote: > Roland Mainz wrote: > > Attached (as "libtool.bz2") is a slightly (which means it's still > > incomplete and uses less than 20% of the things which could be done to > > improve the performance) modified version of the SFWNV version of > > "libtool" for Solaris 11 >= B72 SPARC - could you please check whether > > it... > > a) ... works > > b) ... improves the build time on your machine (I don't have a suiteable > > build machine with "root" access (and no other users) which could be > > used for benchmarking the build time) > > > [snip] > > ------------------------------------------------------------------------ > > Name: libtool.bz2 > > libtool.bz2 Type: unspecified type (application/octet-stream) > > Encoding: base64 > [snip] > > Please ignore this version (it's the wrong one... I forgot to "scp" the > new binary&&sources over to my work machine... ;-( ) ...
Attached are now the correct versions (/usr/bin/libtool is "libtool_mark002.bz2" ; patch is "sfwsrcb8720080401_libtool_perf20080415_002.diff"). ... the obvious difference is that the old version used /usr/ucb/echo which can only go wrong... badly... ;-( ---- Bye, Roland -- __ . . __ (o.\ \/ /.o) roland.mainz at nrubsig.org \__\/\/__/ MPEG specialist, C&&JAVA&&Sun&&Unix programmer /O /==\ O\ TEL +49 641 7950090 (;O/ \/ \O;) -------------- next part -------------- diff -N -r -u original/usr/src/cmd/libtool/Makefile.sfw usr/src/cmd/libtool/Makefile.sfw --- original/usr/src/cmd/libtool/Makefile.sfw 2008-04-02 02:06:25.000000000 +0200 +++ usr/src/cmd/libtool/Makefile.sfw 2008-04-16 23:30:37.490701000 +0200 @@ -23,46 +23,60 @@ # Copyright 2008 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # -#ident "@(#)Makefile.sfw 1.2 08/02/09 SMI" +# ident "%Z%%M% %I% %E% SMI" +# + +SHELL=/usr/bin/ksh93 VER=libtool-1.5.22 include ../Makefile.cmd +CFLAGS += -xc99=%all -D_XOPEN_SOURCE=600 -D__EXTENSIONS__=1 -xstrconst -xO3 + all: $(VER)/config.status - (cd $(VER); env - \ + (cd "$(VER)"; env - \ LD_OPTIONS="-M $(SRC)/cmd/mapfile_noexstk" \ - PATH=$(SFW_PATH) \ - MAKE=$(CCSMAKE) \ + "CC=$(CC)" \ + "CFLAGS=$(CFLAGS)" \ + "PATH=/usr/ast/bin:$(SFW_PATH)" \ + "MAKE=$(CCSMAKE)" \ + "CONFIG_SHELL=/usr/bin/ksh93" \ $(CCSMAKE)) @find . -name core -exec rm -f {} \; install: all # install the bits in the proto area - cd $(VER); env SRC=$(SRC) \ + cd "$(VER)"; env SRC=$(SRC) \ DESTDIR=$(ROOT) \ BINDIR=$(ROOT)/usr/bin \ PERL=/usr/perl5/bin/perl \ INSTALL="$(SRC)/tools/install-proto -c -m 0555" \ - PATH=$(SFW_PATH) \ + "CC=$(CC)" \ + "CFLAGS=$(CFLAGS)" \ + "PATH=/usr/ast/bin:$(SFW_PATH)" \ + "MAKE=$(CCSMAKE)" \ $(CCSMAKE) install # perform a few post-install fixups - $(SH) ./install-sfw + $(SHELL) ./install-sfw # fix the proto area $(SRC)/tools/protofix --pkg SUNWlibtool --perm $(SRC)/tools/protofix --pkg SUNWltdl --perm $(VER)/config.status: $(VER)/configure (cd $(VER); env - \ - CC=$(CC) \ - PATH=$(SFW_PATH) \ - MAKE=$(CCSMAKE) \ + "CC=$(CC)" \ + "CFLAGS=$(CFLAGS)" \ + "PATH=/usr/ast/bin:$(SFW_PATH)" \ + "MAKE=$(CCSMAKE)" \ + "CONFIG_SHELL=/usr/bin/ksh93" \ ./configure --prefix=/usr \ --disable-static) $(VER)/configure: $(VER).tar.gz - /usr/bin/gzip -dc $(VER).tar.gz | tar xpf - - touch $(VER)/configure + /usr/bin/gzip -dc "$(VER).tar.gz" | tar xpf - + touch "$(VER)/configure" + cd "$(VER)" && gpatch -p1 < ../libtool_force_ksh_print_builtin.diff clean: -rm -rf $(VER) diff -N -r -u original/usr/src/cmd/libtool/install-sfw usr/src/cmd/libtool/install-sfw --- original/usr/src/cmd/libtool/install-sfw 2008-04-02 02:06:25.000000000 +0200 +++ usr/src/cmd/libtool/install-sfw 2008-04-16 22:09:46.662846000 +0200 @@ -1,4 +1,4 @@ -#!/bin/sh +#!/usr/bin/ksh93 # # # CDDL HEADER START @@ -21,30 +21,45 @@ # CDDL HEADER END # # -# Copyright 2007 Sun Microsystems, Inc. All rights reserved. +# Copyright 2008 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # -#ident "@(#)install-sfw 1.1 07/10/31 SMI" +# ident "%Z%%M% %I% %E% SMI" # # Most of the installation is handled by 'make install'. This script # performs a few extra tasks: # - delete some installed files we don't want to deliver # - install the manpages provided by Sun -VERS=libtool-1.5.22 +set -o errexit -PREFIX=${ROOT}/usr -SHAREDIR=${PREFIX}/share -MAN1DIR=${SHAREDIR}/man/man1 +builtin cp +builtin mv +builtin rm -. ${SRC}/tools/install.subr +VERS="libtool-1.5.22" + +PREFIX="${ROOT}/usr" +SHAREDIR="${PREFIX}/share" +MAN1DIR="${SHAREDIR}/man/man1" + +source "${SRC}/tools/install.subr" + +SHCOMP="/usr/bin/shcomp" +if [[ -x "${SHCOMP}" ]] ; then + rm -f "./${VERS}/libtool.sh" + mv "./${VERS}/libtool" "./${VERS}/libtool.sh" + ${SHCOMP} "./${VERS}/libtool.sh" "./${VERS}/libtool" +fi + +_install N "./${VERS}/libtool" "${ROOT}/usr/bin/libtool" 666 # Remove unused installed files -rm -f ${ROOT}/usr/share/info/dir -rm -f ${ROOT}/usr/lib/libltdl.la +rm -f "${ROOT}/usr/share/info/dir" +rm -f "${ROOT}/usr/lib/libltdl.la" # install manpages provided by Sun -_install N libtool.1.sunman ${MAN1DIR}/libtool.1 444 -_install N libtoolize.1.sunman ${MAN1DIR}/libtoolize.1 444 +_install N "libtool.1.sunman" "${MAN1DIR}/libtool.1" 444 +_install N "libtoolize.1.sunman" "${MAN1DIR}/libtoolize.1" 444 exit 0 diff -N -r -u original/usr/src/cmd/libtool/libtool_force_ksh_print_builtin.diff usr/src/cmd/libtool/libtool_force_ksh_print_builtin.diff --- original/usr/src/cmd/libtool/libtool_force_ksh_print_builtin.diff 1970-01-01 01:00:00.000000000 +0100 +++ usr/src/cmd/libtool/libtool_force_ksh_print_builtin.diff 2008-04-16 23:28:29.042660000 +0200 @@ -0,0 +1,50 @@ +diff -u libtool-1.5.22/libtool.m4 libtool-1.5.22/libtool.m4 +--- libtool-1.5.22/libtool.m4 2005-12-18 22:53:17.000000000 +0100 ++++ libtool-1.5.22/libtool.m4 2008-04-16 23:27:06.989694000 +0200 +@@ -390,7 +390,7 @@ + done + IFS="$lt_save_ifs" + +- if test "X$echo" = Xecho; then ++ if true ; then + # We didn't find a better echo, so look for alternatives. + if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && +@@ -4229,6 +4229,38 @@ + # configuration script generated by Autoconf, you may include it under + # the same distribution terms that you use for the rest of that program. + ++builtin \ ++ basename \ ++ cat \ ++ chgrp \ ++ chmod \ ++ chown \ ++ cmp \ ++ cp \ ++ cut \ ++ date \ ++ dirname \ ++ expr \ ++ fold \ ++ head \ ++ id \ ++ join \ ++ ln \ ++ logname \ ++ mkdir \ ++ mkfifo \ ++ mv \ ++ paste \ ++ rev \ ++ rm \ ++ rmdir \ ++ tail \ ++ tee \ ++ tty \ ++ uname \ ++ uniq \ ++ wc ++ + # A sed program that does not truncate output. + SED=$lt_SED -------------- next part -------------- A non-text attachment was scrubbed... Name: libtool_mark002.bz2 Type: application/octet-stream Size: 45301 bytes Desc: not available URL: <http://mail.opensolaris.org/pipermail/xwin-discuss/attachments/20080416/10db1204/attachment.obj>