[ooo-build-commit] 2 commits - patches/dev300

Thorsten Behrens thorsten at kemper.freedesktop.org
Fri Jun 12 04:47:55 PDT 2009


 patches/dev300/apply                    |    5 
 patches/dev300/basegfx-color-tools.diff |  614 ++++++++++++++++++++++++++
 patches/dev300/quiet-build-more.diff    |  729 ++++++++++++++++++++++++++++++++
 3 files changed, 1347 insertions(+), 1 deletion(-)

New commits:
commit c315c9f88c78bc02d3395e197c79ccb62d57bae9
Author: Thorsten Behrens <tbehrens at novell.com>
Date:   Fri Jun 12 13:44:58 2009 +0200

    Add various color space conversions to basegfx
    
    * patches/dev300/apply: added the patch
    * patches/dev300/basegfx-color-tools.diff: adds conversion functions
      for hsl, hsv, ciexyz, yiq etc. for basegfx's BColor class.

diff --git a/patches/dev300/apply b/patches/dev300/apply
index effadb6..e36b968 100644
--- a/patches/dev300/apply
+++ b/patches/dev300/apply
@@ -3127,9 +3127,11 @@ ubuntu-gnome-fpicker-gfile-fuse.diff, ccheney
 [ Fixes ]
 # Fix for crash on Windows by Rail Aliev. Root cause unknown.
 configmgr-validate-removedtree.diff, n#505704
-
 svx-fix-fit-to-frame-crash.diff, n#508621, rodo
 
+# adds various color conversion functions to basegfx's BColor
+basegfx-color-tools.diff, thorsten
+
 [ OOXML ]
 oox-pptx-import-fix-placeholder-text-style.diff, n#479834, rodo
 oox-pptx-import-fix-text-body-properties-priority.diff, n#403402, rodo
diff --git a/patches/dev300/basegfx-color-tools.diff b/patches/dev300/basegfx-color-tools.diff
new file mode 100644
index 0000000..ba1b96e
--- /dev/null
+++ b/patches/dev300/basegfx-color-tools.diff
@@ -0,0 +1,614 @@
+Adds color conversion stuff to basegfx
+
+From: Thorsten Behrens <thb at openoffice.org>
+
+
+---
+
+ basegfx/inc/basegfx/color/bcolortools.hxx |   76 ++++++++
+ basegfx/prj/d.lst                         |    1 
+ basegfx/source/color/bcolortools.cxx      |  272 +++++++++++++++++++++++++++++
+ basegfx/source/color/makefile.mk          |    1 
+ basegfx/test/basegfx2d.cxx                |  175 +++++++++++++++++++
+ basegfx/test/makefile.mk                  |    1 
+ 6 files changed, 526 insertions(+), 0 deletions(-)
+ create mode 100644 basegfx/inc/basegfx/color/bcolortools.hxx
+ create mode 100644 basegfx/source/color/bcolortools.cxx
+
+
+diff --git basegfx/inc/basegfx/color/bcolortools.hxx basegfx/inc/basegfx/color/bcolortools.hxx
+new file mode 100644
+index 0000000..59f6c28
+--- /dev/null
++++ basegfx/inc/basegfx/color/bcolortools.hxx
+@@ -0,0 +1,76 @@
++/*************************************************************************
++ *
++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
++ * 
++ * Copyright 2008 by Sun Microsystems, Inc.
++ *
++ * OpenOffice.org - a multi-platform office productivity suite
++ *
++ * $RCSfile: bcolor.hxx,v $
++ *
++ * $Revision: 1.2 $
++ *
++ * This file is part of OpenOffice.org.
++ *
++ * OpenOffice.org is free software: you can redistribute it and/or modify
++ * it under the terms of the GNU Lesser General Public License version 3
++ * only, as published by the Free Software Foundation.
++ *
++ * OpenOffice.org is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ * GNU Lesser General Public License version 3 for more details
++ * (a copy is included in the LICENSE file that accompanied this code).
++ *
++ * You should have received a copy of the GNU Lesser General Public License
++ * version 3 along with OpenOffice.org.  If not, see
++ * <http://www.openoffice.org/license.html>
++ * for a copy of the LGPLv3 License.
++ *
++ ************************************************************************/
++
++#ifndef _BGFX_COLOR_BCOLORTOOLS_HXX
++#define _BGFX_COLOR_BCOLORTOOLS_HXX
++
++#include <sal/types.h>
++
++//////////////////////////////////////////////////////////////////////////////
++
++namespace basegfx
++{
++    class BColor;
++
++    namespace tools
++    {
++        /// Transform from RGB to HSL
++        BColor rgb2hsl(const BColor& rRGBColor);
++        /// Transform from HSL to RGB
++        BColor hsl2rgb(const BColor& rHSLColor);
++
++        /// Transform from RGB to HSV
++        BColor rgb2hsv(const BColor& rRGBColor);
++        /// Transform from HSV to RGB
++        BColor hsv2rgb(const BColor& rHSVColor);
++
++        /// Transform from R'G'B' to YIQ (NTSC color model - Y is used in monochrome mode)
++        BColor rgb2yiq(const BColor& rRGBColor);
++        /// Transform from YIQ to R'G'B' (NTSC color model - Y is used in monochrome mode)
++        BColor yiq2rgb(const BColor& rYIQColor);
++
++        /// Transform from R'G'B' to Y'PbPr (the [0,1]x[-.5,.5]x[-.5,.5] equivalent of Y'CbCr (which is scaled into 8bit))
++        BColor rgb2ypbpr(const BColor& rRGBColor);
++        /// Transform from Y'PbPr (the [0,1]x[-.5,.5]x[-.5,.5] equivalent of Y'CbCr (which is scaled into 8bit)) into R'G'B'
++        BColor ypbpr2rgb(const BColor& rYPbPrColor);
++
++        /// Transform from CIE XYZ into Rec. 709 RGB (D65 white point)
++        BColor ciexyz2rgb( const BColor& rXYZColor );
++        /// Transform from Rec. 709 RGB (D65 white point) into CIE XYZ
++        BColor rgb2ciexyz( const BColor& rRGBColor );
++
++	}
++} // end of namespace basegfx
++
++#endif /* _BGFX_COLOR_BCOLORTOOLS_HXX */
++
++//////////////////////////////////////////////////////////////////////////////
++// eof
+diff --git basegfx/prj/d.lst basegfx/prj/d.lst
+index 9dd6085..a58cd33 100644
+--- basegfx/prj/d.lst
++++ basegfx/prj/d.lst
+@@ -96,6 +96,7 @@ mkdir: %_DEST%\inc%_EXT%\basegfx\tools
+ 
+ mkdir: %_DEST%\inc%_EXT%\basegfx\color
+ ..\inc\basegfx\color\bcolor.hxx %_DEST%\inc%_EXT%\basegfx\color\bcolor.hxx
++..\inc\basegfx\color\bcolortools.hxx %_DEST%\inc%_EXT%\basegfx\color\bcolortools.hxx
+ ..\inc\basegfx\color\bcolormodifier.hxx %_DEST%\inc%_EXT%\basegfx\color\bcolormodifier.hxx
+ 
+ mkdir: %_DEST%\inc%_EXT%\basegfx\pixel
+diff --git basegfx/source/color/bcolortools.cxx basegfx/source/color/bcolortools.cxx
+new file mode 100644
+index 0000000..1dd2805
+--- /dev/null
++++ basegfx/source/color/bcolortools.cxx
+@@ -0,0 +1,272 @@
++/*************************************************************************
++ *
++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
++ * 
++ * Copyright 2008 by Sun Microsystems, Inc.
++ *
++ * OpenOffice.org - a multi-platform office productivity suite
++ *
++ * $RCSfile: bcolor.cxx,v $
++ *
++ * $Revision: 1.2 $
++ *
++ * This file is part of OpenOffice.org.
++ *
++ * OpenOffice.org is free software: you can redistribute it and/or modify
++ * it under the terms of the GNU Lesser General Public License version 3
++ * only, as published by the Free Software Foundation.
++ *
++ * OpenOffice.org is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ * GNU Lesser General Public License version 3 for more details
++ * (a copy is included in the LICENSE file that accompanied this code).
++ *
++ * You should have received a copy of the GNU Lesser General Public License
++ * version 3 along with OpenOffice.org.  If not, see
++ * <http://www.openoffice.org/license.html>
++ * for a copy of the LGPLv3 License.
++ *
++ ************************************************************************/
++
++// MARKER(update_precomp.py): autogen include statement, do not remove
++#include "precompiled_basegfx.hxx"
++
++#include <basegfx/numeric/ftools.hxx>
++#include <basegfx/color/bcolor.hxx>
++#include <basegfx/color/bcolortools.hxx>
++
++//////////////////////////////////////////////////////////////////////////////
++
++namespace basegfx { namespace tools
++{
++    BColor rgb2hsl(const BColor& rRGBColor)
++    {
++        const double r=rRGBColor.getRed(), g=rRGBColor.getGreen(), b=rRGBColor.getBlue();
++        const double minVal = ::std::min( ::std::min( r, g ), b );
++        const double maxVal = ::std::max( ::std::max( r, g ), b );
++        const double d = maxVal - minVal;
++
++        double h=0, s=0, l=0;
++
++        l = (maxVal + minVal) / 2.0;
++    
++        if( ::basegfx::fTools::equalZero(d) )
++        {
++            s = h = 0; // hue undefined (achromatic case)
++        }
++        else
++        {
++            s = l > 0.5 ? d/(2.0-maxVal-minVal) :
++                d/(maxVal + minVal);
++
++            if( r == maxVal )
++                h = (g - b)/d;
++            else if( g == maxVal )
++                h = 2.0 + (b - r)/d;
++            else
++                h = 4.0 + (r - h)/d;
++
++            h *= 60.0;
++
++            if( h < 0.0 )
++                h += 360.0;
++        }
++
++        return BColor(h,s,l);
++    }
++
++    static inline double hsl2rgbHelper( double nValue1, double nValue2, double nHue )
++    {
++        // clamp hue to [0,360]
++        nHue = fmod( nHue, 360.0 );
++
++        // cope with wrap-arounds
++        if( nHue < 0.0 )
++            nHue += 360.0;
++
++        if( nHue < 60.0 )
++            return nValue1 + (nValue2 - nValue1)*nHue/60.0;
++        else if( nHue < 180.0 )
++            return nValue2;
++        else if( nHue < 240.0 )
++            return nValue1 + (nValue2 - nValue1)*(240.0 - nHue)/60.0;
++        else 
++            return nValue1;
++    }
++
++    BColor hsl2rgb(const BColor& rHSLColor)
++    {
++        const double h=rHSLColor.getRed(), s=rHSLColor.getGreen(), l=rHSLColor.getBlue();
++
++        if( fTools::equalZero(s) )
++            return BColor(l, l, l ); // achromatic case
++
++        const double nVal1( l <= 0.5 ? l*(1.0 + s) : l + s - l*s );
++        const double nVal2( 2.0*l - nVal1 );
++
++        return BColor(
++            hsl2rgbHelper(nVal2,
++                          nVal1, 
++                          h + 120.0),
++            hsl2rgbHelper(nVal2, 
++                          nVal1,
++                          h),
++            hsl2rgbHelper(nVal2,
++                          nVal1,
++                          h - 120.0) );
++    }
++    
++    BColor rgb2hsv(const BColor& rRGBColor)
++    {
++        const double r=rRGBColor.getRed(), g=rRGBColor.getGreen(), b=rRGBColor.getBlue();
++        const double maxVal = std::max(std::max(r,g),b);
++        const double minVal = std::min(std::min(r,g),b);
++        const double delta = maxVal-minVal;
++
++        double h=0, s=0, v=0;
++
++        v = maxVal;
++        if( fTools::equalZero(v) )
++            s = 0;
++        else
++            s = delta / v;
++
++        if( !fTools::equalZero(s) )
++        {
++            if( maxVal == r )
++            {
++                h = (g - b) / delta;
++            }
++            else if( maxVal == g )
++            {
++                h = 2.0 + (b - r) / delta;
++            }
++            else
++            {
++                h = 4.0 + (r - g) / delta;
++            }
++
++            h *= 60.0;
++
++            if( h < 0 )
++                h += 360;
++        }
++
++        return BColor(h,s,v);
++    }
++
++    BColor hsv2rgb(const BColor& rHSVColor)
++    {
++        double h=rHSVColor.getRed();
++        const double s=rHSVColor.getGreen(), v=rHSVColor.getBlue();
++
++        if( fTools::equalZero(s) )
++        {
++            // achromatic case: no hue.
++            return BColor(v,v,v);
++        }
++        else
++        {
++            if( fTools::equal(h,360) )
++                h = 0; // 360 degrees is equivalent to 0 degrees
++
++            h /= 60.0;
++            const sal_Int32 intval = h;
++            const double f = h - intval;
++            const double p = v*(1.0-s);
++            const double q = v*(1.0-(s*f));
++            const double t = v*(1.0-(s*(1.0-f)));
++
++            /* which hue area? */
++            switch( intval )
++            {
++                case 0:
++                    return BColor(v,t,p);
++
++                case 1:
++                    return BColor(q,v,p);
++
++                case 2:
++                    return BColor(p,v,t);
++
++                case 3:
++                    return BColor(p,q,v);
++
++                case 4:
++                    return BColor(t,p,v);
++
++                case 5:
++                    return BColor(v,p,q);
++
++                default:
++                    // hue overflow
++                    return BColor();
++            }
++        }
++    }
++
++    BColor rgb2yiq(const BColor& rRGBColor)
++    {
++        // from Foley, van Dam, Computer Graphics
++        const double r=rRGBColor.getRed(), g=rRGBColor.getGreen(), b=rRGBColor.getBlue();
++        return BColor(
++            0.299*r + 0.587*g + 0.114*b,
++            0.596*r - 0.274*g - 0.322*b,
++            0.211*r - 0.522*g + 0.311*b);
++    }
++
++    BColor yiq2rgb(const BColor& rYIQColor)
++    {
++        // from Foley, van Dam, Computer Graphics
++        const double y=rYIQColor.getRed(), i=rYIQColor.getGreen(), q=rYIQColor.getBlue();
++        return BColor(
++            y + 0.956*i + 0.623*q,
++            y - 0.272*i - 0.648*q,
++            y - 1.105*i + 1.705*q );
++    }
++
++    BColor ciexyz2rgb( const BColor& rXYZColor )
++    {
++        // from Poynton color faq, and SMPTE RP 177-1993, Derivation
++        // of Basic Television Color Equations
++        const double x=rXYZColor.getRed(), y=rXYZColor.getGreen(), z=rXYZColor.getBlue();
++        return BColor(
++            3.240479*x - 1.53715*y  - 0.498535*z,
++            -0.969256*x + 1.875991*y + 0.041556*z,
++            0.055648*x - 0.204043*y + 1.057311*z );
++    }
++
++    BColor rgb2ciexyz( const BColor& rRGBColor )
++    {
++        // from Poynton color faq, and SMPTE RP 177-1993, Derivation
++        // of Basic Television Color Equations
++        const double r=rRGBColor.getRed(), g=rRGBColor.getGreen(), b=rRGBColor.getBlue();
++        return BColor(
++            0.412453*r + 0.35758*g  + 0.180423*b,
++            0.212671*r + 0.71516*g  + 0.072169*b,
++            0.019334*r + 0.119193*g + 0.950227*b);
++    }
++
++    BColor rgb2ypbpr(const BColor& rRGBColor)
++    {
++        const double r=rRGBColor.getRed(), g=rRGBColor.getGreen(), b=rRGBColor.getBlue();
++        return BColor(
++             0.299*r    + 0.587*g    + 0.114*b,
++            -0.168736*r - 0.331264*g + 0.5*b,
++             0.5*r      - 0.418688*g - 0.081312*b);
++    }
++
++    BColor ypbpr2rgb(const BColor& rYPbPrColor)
++    {
++        const double y=rYPbPrColor.getRed(), pb=rYPbPrColor.getGreen(), pr=rYPbPrColor.getBlue();
++        return BColor(
++            1.*y +       0.*pb +    1.402*pr,
++            1.*y - 0.344136*pb - 0.714136*pr,
++            1.*y +    1.772*pb +       0.*pr);
++    }
++
++} } // end of namespace basegfx
++
++//////////////////////////////////////////////////////////////////////////////
++// eof
+diff --git basegfx/source/color/makefile.mk basegfx/source/color/makefile.mk
+index 6a4ed94..36325e1 100644
+--- basegfx/source/color/makefile.mk
++++ basegfx/source/color/makefile.mk
+@@ -45,6 +45,7 @@ TARGET=color
+ 
+ SLOFILES= \
+ 				$(SLO)$/bcolor.obj			\
++				$(SLO)$/bcolortools.obj		\
+ 				$(SLO)$/bcolormodifier.obj
+ 
+ # --- Targets ----------------------------------
+diff --git basegfx/test/basegfx2d.cxx basegfx/test/basegfx2d.cxx
+index 6519a36..5cc1e02 100644
+--- basegfx/test/basegfx2d.cxx
++++ basegfx/test/basegfx2d.cxx
+@@ -43,6 +43,8 @@
+ #include <basegfx/polygon/b2dpolypolygontools.hxx>
+ #include <basegfx/range/b2dmultirange.hxx>
+ #include <basegfx/numeric/ftools.hxx>
++#include <basegfx/color/bcolor.hxx>
++#include <basegfx/color/bcolortools.hxx>
+ 
+ #include <basegfx/tools/debugplotter.hxx>
+ 
+@@ -1443,6 +1445,178 @@ public:
+     CPPUNIT_TEST_SUITE_END();
+ }; // class b2dvector
+ 
++class bcolor : public CppUnit::TestFixture
++{
++    BColor maWhite;
++    BColor maBlack;
++    BColor maRed;
++    BColor maGreen;
++    BColor maBlue;
++    BColor maYellow;
++    BColor maMagenta;
++    BColor maCyan;
++
++public:
++    bcolor() :
++        maWhite(1,1,1),
++        maBlack(0,0,0),
++        maRed(1,0,0),
++        maGreen(0,1,0),
++        maBlue(0,0,1),
++        maYellow(1,1,0),
++        maMagenta(1,0,1),
++        maCyan(0,1,1)
++    {}
++
++
++    // initialise your test code values here.
++    void setUp()
++    {
++    }
++
++    void tearDown()
++    {
++    }
++
++    // insert your test code here.
++    void hslTest()
++    {
++        CPPUNIT_ASSERT_MESSAGE("white", 
++                               tools::rgb2hsl(maWhite) == BColor(0,0,1));
++        CPPUNIT_ASSERT_MESSAGE("black", 
++                               tools::rgb2hsl(maBlack) == BColor(0,0,0));
++        CPPUNIT_ASSERT_MESSAGE("red", 
++                               tools::rgb2hsl(maRed) == BColor(0,1,0.5));
++        CPPUNIT_ASSERT_MESSAGE("green", 
++                               tools::rgb2hsl(maGreen) == BColor(120,1,0.5));
++        CPPUNIT_ASSERT_MESSAGE("blue", 
++                               tools::rgb2hsl(maBlue) == BColor(240,1,0.5));
++        CPPUNIT_ASSERT_MESSAGE("yellow", 
++                               tools::rgb2hsl(maYellow) == BColor(60,1,0.5));
++        CPPUNIT_ASSERT_MESSAGE("magenta", 
++                               tools::rgb2hsl(maMagenta) == BColor(300,1,0.5));
++        CPPUNIT_ASSERT_MESSAGE("cyan", 
++                               tools::rgb2hsl(maCyan) == BColor(180,1,0.5));
++
++        CPPUNIT_ASSERT_MESSAGE("roundtrip white", 
++                               tools::hsl2rgb(tools::rgb2hsl(maWhite)) == maWhite);
++        CPPUNIT_ASSERT_MESSAGE("roundtrip black", 
++                               tools::hsl2rgb(tools::rgb2hsl(maBlack)) == maBlack);
++        CPPUNIT_ASSERT_MESSAGE("roundtrip red", 
++                               tools::hsl2rgb(tools::rgb2hsl(maRed)) == maRed);
++        CPPUNIT_ASSERT_MESSAGE("roundtrip green", 
++                               tools::hsl2rgb(tools::rgb2hsl(maGreen)) == maGreen);
++        CPPUNIT_ASSERT_MESSAGE("roundtrip blue", 
++                               tools::hsl2rgb(tools::rgb2hsl(maBlue)) == maBlue);
++        CPPUNIT_ASSERT_MESSAGE("roundtrip yellow", 
++                               tools::hsl2rgb(tools::rgb2hsl(maYellow)) == maYellow);
++        CPPUNIT_ASSERT_MESSAGE("roundtrip magenta", 
++                               tools::hsl2rgb(tools::rgb2hsl(maMagenta)) == maMagenta);
++        CPPUNIT_ASSERT_MESSAGE("roundtrip cyan", 
++                               tools::hsl2rgb(tools::rgb2hsl(maCyan)) == maCyan);
++
++        CPPUNIT_ASSERT_MESSAGE("grey10", 
++                               tools::rgb2hsl(maWhite*.1) == BColor(0,0,.1));
++        CPPUNIT_ASSERT_MESSAGE("grey90", 
++                               tools::rgb2hsl(maWhite*.9) == BColor(0,0,.9));
++        CPPUNIT_ASSERT_MESSAGE("red/2", 
++                               tools::rgb2hsl(maRed*.5) == BColor(0,1,0.25));
++        CPPUNIT_ASSERT_MESSAGE("green/2", 
++                               tools::rgb2hsl(maGreen*.5) == BColor(120,1,0.25));
++        CPPUNIT_ASSERT_MESSAGE("blue/2", 
++                               tools::rgb2hsl(maBlue*.5) == BColor(240,1,0.25));
++        CPPUNIT_ASSERT_MESSAGE("yellow/2", 
++                               tools::rgb2hsl(maYellow*.5) == BColor(60,1,0.25));
++        CPPUNIT_ASSERT_MESSAGE("magenta/2", 
++                               tools::rgb2hsl(maMagenta*.5) == BColor(300,1,0.25));
++        CPPUNIT_ASSERT_MESSAGE("cyan/2", 
++                               tools::rgb2hsl(maCyan*.5) == BColor(180,1,0.25));
++
++        CPPUNIT_ASSERT_MESSAGE("pastel", 
++                               tools::rgb2hsl(BColor(.75,.25,.25)) == BColor(0,.5,.5));
++    }
++
++    // insert your test code here.
++    void hsvTest()
++    {
++        CPPUNIT_ASSERT_MESSAGE("white", 
++                               tools::rgb2hsv(maWhite) == BColor(0,0,1));
++        CPPUNIT_ASSERT_MESSAGE("black", 
++                               tools::rgb2hsv(maBlack) == BColor(0,0,0));
++        CPPUNIT_ASSERT_MESSAGE("red", 
++                               tools::rgb2hsv(maRed) == BColor(0,1,1));
++        CPPUNIT_ASSERT_MESSAGE("green", 
++                               tools::rgb2hsv(maGreen) == BColor(120,1,1));
++        CPPUNIT_ASSERT_MESSAGE("blue", 
++                               tools::rgb2hsv(maBlue) == BColor(240,1,1));
++        CPPUNIT_ASSERT_MESSAGE("yellow", 
++                               tools::rgb2hsv(maYellow) == BColor(60,1,1));
++        CPPUNIT_ASSERT_MESSAGE("magenta", 
++                               tools::rgb2hsv(maMagenta) == BColor(300,1,1));
++        CPPUNIT_ASSERT_MESSAGE("cyan", 
++                               tools::rgb2hsv(maCyan) == BColor(180,1,1));
++
++        CPPUNIT_ASSERT_MESSAGE("roundtrip white", 
++                               tools::hsv2rgb(tools::rgb2hsv(maWhite)) == maWhite);
++        CPPUNIT_ASSERT_MESSAGE("roundtrip black", 
++                               tools::hsv2rgb(tools::rgb2hsv(maBlack)) == maBlack);
++        CPPUNIT_ASSERT_MESSAGE("roundtrip red", 
++                               tools::hsv2rgb(tools::rgb2hsv(maRed)) == maRed);
++        CPPUNIT_ASSERT_MESSAGE("roundtrip green", 
++                               tools::hsv2rgb(tools::rgb2hsv(maGreen)) == maGreen);
++        CPPUNIT_ASSERT_MESSAGE("roundtrip blue", 
++                               tools::hsv2rgb(tools::rgb2hsv(maBlue)) == maBlue);
++        CPPUNIT_ASSERT_MESSAGE("roundtrip yellow", 
++                               tools::hsv2rgb(tools::rgb2hsv(maYellow)) == maYellow);
++        CPPUNIT_ASSERT_MESSAGE("roundtrip magenta", 
++                               tools::hsv2rgb(tools::rgb2hsv(maMagenta)) == maMagenta);
++        CPPUNIT_ASSERT_MESSAGE("roundtrip cyan", 
++                               tools::hsv2rgb(tools::rgb2hsv(maCyan)) == maCyan);
++
++        CPPUNIT_ASSERT_MESSAGE("grey10", 
++                               tools::rgb2hsv(maWhite*.1) == BColor(0,0,.1));
++        CPPUNIT_ASSERT_MESSAGE("grey90", 
++                               tools::rgb2hsv(maWhite*.9) == BColor(0,0,.9));
++        CPPUNIT_ASSERT_MESSAGE("red/2", 
++                               tools::rgb2hsv(maRed*.5) == BColor(0,1,0.5));
++        CPPUNIT_ASSERT_MESSAGE("green/2", 
++                               tools::rgb2hsv(maGreen*.5) == BColor(120,1,0.5));
++        CPPUNIT_ASSERT_MESSAGE("blue/2", 
++                               tools::rgb2hsv(maBlue*.5) == BColor(240,1,0.5));
++        CPPUNIT_ASSERT_MESSAGE("yellow/2", 
++                               tools::rgb2hsv(maYellow*.5) == BColor(60,1,0.5));
++        CPPUNIT_ASSERT_MESSAGE("magenta/2", 
++                               tools::rgb2hsv(maMagenta*.5) == BColor(300,1,0.5));
++        CPPUNIT_ASSERT_MESSAGE("cyan/2", 
++                               tools::rgb2hsv(maCyan*.5) == BColor(180,1,0.5));
++
++        CPPUNIT_ASSERT_MESSAGE("pastel", 
++                               tools::rgb2hsv(BColor(.5,.25,.25)) == BColor(0,.5,.5));
++    }
++
++    void ciexyzTest()
++    {
++        tools::rgb2ciexyz(maWhite);
++        tools::rgb2ciexyz(maBlack);
++        tools::rgb2ciexyz(maRed);
++        tools::rgb2ciexyz(maGreen);
++        tools::rgb2ciexyz(maBlue);
++        tools::rgb2ciexyz(maYellow);
++        tools::rgb2ciexyz(maMagenta);
++        tools::rgb2ciexyz(maCyan);
++    }
++
++    // Change the following lines only, if you add, remove or rename 
++    // member functions of the current class, 
++    // because these macros are need by auto register mechanism.
++
++    CPPUNIT_TEST_SUITE(bcolor);
++    CPPUNIT_TEST(hslTest);
++    CPPUNIT_TEST(hsvTest);
++    CPPUNIT_TEST(ciexyzTest);
++    CPPUNIT_TEST_SUITE_END();
++}; // class b2dvector
++
+ // -----------------------------------------------------------------------------
+ //CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(basegfx2d::b2dmultirange, "basegfx2d");
+ CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(basegfx2d::b2dsvgdimpex, "basegfx2d");
+@@ -1458,6 +1632,7 @@ CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(basegfx2d::b2dquadraticbezier, "basegfx2d"
+ CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(basegfx2d::b2drange, "basegfx2d");
+ CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(basegfx2d::b2dtuple, "basegfx2d");
+ CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(basegfx2d::b2dvector, "basegfx2d");
++CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(basegfx2d::bcolor, "basegfx2d");
+ } // namespace basegfx2d
+ 
+ 
+diff --git basegfx/test/makefile.mk basegfx/test/makefile.mk
+index 0781cf2..710d194 100644
+--- basegfx/test/makefile.mk
++++ basegfx/test/makefile.mk
+@@ -58,6 +58,7 @@ SHL1LIBS=\
+ 	$(SLB)$/range.lib	\
+ 	$(SLB)$/tuple.lib	\
+ 	$(SLB)$/tools.lib	\
++	$(SLB)$/color.lib	\
+ 	$(SLB)$/vector.lib
+ 
+ SHL1TARGET= basegfx_tests
commit dcd77740667119951558aee4699b6867aa96d281
Author: Thorsten Behrens <tbehrens at novell.com>
Date:   Fri Jun 12 13:41:10 2009 +0200

    More involved build quieting (silencing build tools)
    
    * patches/dev300/apply: added the patch
    * patches/dev300/quiet-build-more.diff: made dmake and checkdll
      (optionally) more silent. Removed echo-ing ar args as well.

diff --git a/patches/dev300/apply b/patches/dev300/apply
index 75a7a4f..effadb6 100644
--- a/patches/dev300/apply
+++ b/patches/dev300/apply
@@ -246,6 +246,7 @@ buildfix-gcc-4.1.2-linker-error.diff
 
 # Make the historically very verbose build quieter, helps us see warnings.
 quiet-build.diff, i#84497, michael
+quiet-build-more.diff, i#84497, thorsten
 
 # further performance tweaks to configmgr
 speed-configmgr-misc.diff, i#84751, michael
diff --git a/patches/dev300/quiet-build-more.diff b/patches/dev300/quiet-build-more.diff
new file mode 100644
index 0000000..ca6753f
--- /dev/null
+++ b/patches/dev300/quiet-build-more.diff
@@ -0,0 +1,729 @@
+More quiet build stuff
+
+From: Thorsten Behrens <thb at openoffice.org>
+
+
+---
+
+ dmake/make.c                 |    5 ++-
+ dmake/tests/misc-13          |    2 +
+ dmake/tests/misc-15          |    2 +
+ dmake/tests/targets-28       |    4 +-
+ solenv/bin/checkdll.sh       |    2 +
+ solenv/inc/_tg_lib.mk        |   60 ++++++++++++++++++++++++++++++++
+ solenv/inc/_tg_shl.mk        |   80 +++++++++++++++++++++++++++++++++++++-----
+ solenv/inc/tg_lib.mk         |    6 +++
+ solenv/inc/tg_shl.mk         |    8 ++++
+ soltools/checkdll/checkdll.c |   16 ++++++--
+ 10 files changed, 162 insertions(+), 23 deletions(-)
+
+
+diff --git dmake/make.c dmake/make.c
+index 4f120a6..7ad8fd1 100644
+--- dmake/make.c
++++ dmake/make.c
+@@ -251,8 +251,9 @@ Make_targets()/*
+ 
+    for( lp = Targets->ce_prq; lp != NIL(LINK); lp = lp->cl_next ) {
+       CELLPTR tgt = lp->cl_prq;
+-      if( !(tgt->ce_attr & A_UPDATED) )
+-	 printf( "`%s' is up to date\n", tgt->CE_NAME );
++      if( !(tgt->ce_attr & A_UPDATED) 
++          && (Verbose & V_MAKE) )
++          printf( "`%s' is up to date\n", tgt->CE_NAME );
+    }
+ 
+    DB_RETURN( 0 );
+diff --git dmake/tests/misc-13 dmake/tests/misc-13
+index a2381a8..7493e74 100755
+--- dmake/tests/misc-13
++++ dmake/tests/misc-13
+@@ -38,7 +38,7 @@ TeSt.target :
+ 
+ EOT
+ 
+-output=`eval ${DMAKEPROG} -r -f $file1`
++output=`eval ${DMAKEPROG} -vm -r -f $file1`
+ result=$?
+ 
+ if echo "$output" | grep -v ".target' is up to date"  > /dev/null 2>&1 ; then
+diff --git dmake/tests/misc-15 dmake/tests/misc-15
+index 1c52324..a213c2d 100755
+--- dmake/tests/misc-15
++++ dmake/tests/misc-15
+@@ -37,7 +37,7 @@ MYTARGET:=\$(PWD)/target.abc
+ 
+ EOT
+ 
+-output=`eval ${DMAKEPROG} -r -f $file1`
++output=`eval ${DMAKEPROG} -vm -r -f $file1`
+ result=$?
+ 
+ if echo "$output" | grep "target.abc' is up to date"  > /dev/null 2>&1 ; then
+diff --git dmake/tests/targets-28 dmake/tests/targets-28
+index da202b0..0943eb6 100755
+--- dmake/tests/targets-28
++++ dmake/tests/targets-28
+@@ -112,10 +112,10 @@ sleep 1
+ 
+ # This tests that aa.x is not build as the dependency chain is intact with
+ # the virtual target aa.y having the same time stamp as aa.z.
+-output3=`eval ${DMAKEPROG} -rf $file1 2>&1`
++output3=`eval ${DMAKEPROG} -vm -rf $file1 2>&1`
+ result3=$?
+ 
+-if test $result3 = 0 -a "$output3" = "\`aa.x' is up to date" ; then
++if test $result3 = 0 && echo "$output3" | grep "aa.x' is up to date"  > /dev/null 2>&1 ; then
+   echo "Subtest 3: OK"
+   result3=0
+ else
+diff --git solenv/bin/checkdll.sh solenv/bin/checkdll.sh
+index 776b580..0218df6 100755
+--- solenv/bin/checkdll.sh
++++ solenv/bin/checkdll.sh
+@@ -77,7 +77,7 @@ if [ -x $checkdll ]; then
+         export LD_LIBRARY_PATH;;
+     esac
+ 
+-    $checkdll "$*"
++    $checkdll "$@"
+     if [ $? -ne 0 ]; then exit 1 ; fi
+ 
+     for parameter in $*; do
+diff --git solenv/inc/_tg_lib.mk solenv/inc/_tg_lib.mk
+index 103e283..258378c 100644
+--- solenv/inc/_tg_lib.mk
++++ solenv/inc/_tg_lib.mk
+@@ -21,14 +21,18 @@ $(LIB1ARCHIV) :	$(LIB1TARGET)
+ .IF "$(OS)" == "MACOSX"
+  	@echo  ranlib $(LIB1ARCHIV) >> $(MISC)$/$(LIB1ARCHIV:b).cmd
+ .ENDIF
++.IF "$(QUIET_BUILD)"==""
+ 	@cat $(MISC)$/$(LIB1ARCHIV:b).cmd
++.ENDIF
+ 	@+source $(MISC)$/$(LIB1ARCHIV:b).cmd
+ .ELSE			# "$(GUI)"=="UNX"
+ .IF "$(GUI)$(COM)"=="WNTGCC"
+ 	@+-$(RM) $(MISC)$/$(LIB1ARCHIV:b).cmd
+ 	@+echo $(LIBMGR) $(LIB1FLAGS) $(LIBFLAGS) $(LIB1ARCHIV) `cat $(LIB1TARGET) | sed s#'^'$(ROUT)#$(PRJ)$/$(ROUT)#g` > $(MISC)$/$(LIB1ARCHIV:b).cmd
+ 	@+echo  ranlib $(LIB1ARCHIV) >> $(MISC)$/$(LIB1ARCHIV:b).cmd
++.IF "$(QUIET_BUILD)"==""
+ 	@cat $(MISC)$/$(LIB1ARCHIV:b).cmd
++.ENDIF
+ 	@+source $(MISC)$/$(LIB1ARCHIV:b).cmd
+ .ELSE
+ 	@echo just a dummy > $@
+@@ -86,7 +90,9 @@ $(LIB1TARGET) :	$(LIB1FILES) \
+ .ENDIF          # "$(LIB1FILES)"!=""    
+ .ELSE			# "$(GUI)"=="WNT"
+ 	@-$(RM) $@
++.IF "$(QUIET_BUILD)"==""
+ 	echo $(LIBMGR) r $@ $(LIB1OBJFILES)
++.ENDIF
+ 	$(LIBMGR) r $@ $(LIB1OBJFILES) $(LIB1FILES) bla.lib
+ .ENDIF          # "$(GUI)"=="WNT"
+ .ENDIF          # "$(GUI)"=="UNX"
+@@ -116,14 +122,18 @@ $(LIB2ARCHIV) :	$(LIB2TARGET)
+ .IF "$(OS)" == "MACOSX"
+  	@echo  ranlib $(LIB2ARCHIV) >> $(MISC)$/$(LIB2ARCHIV:b).cmd
+ .ENDIF
++.IF "$(QUIET_BUILD)"==""
+ 	@cat $(MISC)$/$(LIB2ARCHIV:b).cmd
++.ENDIF
+ 	@+source $(MISC)$/$(LIB2ARCHIV:b).cmd
+ .ELSE			# "$(GUI)"=="UNX"
+ .IF "$(GUI)$(COM)"=="WNTGCC"
+ 	@+-$(RM) $(MISC)$/$(LIB2ARCHIV:b).cmd
+ 	@+echo $(LIBMGR) $(LIB2FLAGS) $(LIBFLAGS) $(LIB2ARCHIV) `cat $(LIB2TARGET) | sed s#'^'$(ROUT)#$(PRJ)$/$(ROUT)#g` > $(MISC)$/$(LIB2ARCHIV:b).cmd
+ 	@+echo  ranlib $(LIB2ARCHIV) >> $(MISC)$/$(LIB2ARCHIV:b).cmd
++.IF "$(QUIET_BUILD)"==""
+ 	@cat $(MISC)$/$(LIB2ARCHIV:b).cmd
++.ENDIF
+ 	@+source $(MISC)$/$(LIB2ARCHIV:b).cmd
+ .ELSE
+ 	@echo just a dummy > $@
+@@ -181,7 +191,9 @@ $(LIB2TARGET) :	$(LIB2FILES) \
+ .ENDIF          # "$(LIB2FILES)"!=""    
+ .ELSE			# "$(GUI)"=="WNT"
+ 	@-$(RM) $@
++.IF "$(QUIET_BUILD)"==""
+ 	echo $(LIBMGR) r $@ $(LIB2OBJFILES)
++.ENDIF
+ 	$(LIBMGR) r $@ $(LIB2OBJFILES) $(LIB2FILES) bla.lib
+ .ENDIF          # "$(GUI)"=="WNT"
+ .ENDIF          # "$(GUI)"=="UNX"
+@@ -211,14 +223,18 @@ $(LIB3ARCHIV) :	$(LIB3TARGET)
+ .IF "$(OS)" == "MACOSX"
+  	@echo  ranlib $(LIB3ARCHIV) >> $(MISC)$/$(LIB3ARCHIV:b).cmd
+ .ENDIF
++.IF "$(QUIET_BUILD)"==""
+ 	@cat $(MISC)$/$(LIB3ARCHIV:b).cmd
++.ENDIF
+ 	@+source $(MISC)$/$(LIB3ARCHIV:b).cmd
+ .ELSE			# "$(GUI)"=="UNX"
+ .IF "$(GUI)$(COM)"=="WNTGCC"
+ 	@+-$(RM) $(MISC)$/$(LIB3ARCHIV:b).cmd
+ 	@+echo $(LIBMGR) $(LIB3FLAGS) $(LIBFLAGS) $(LIB3ARCHIV) `cat $(LIB3TARGET) | sed s#'^'$(ROUT)#$(PRJ)$/$(ROUT)#g` > $(MISC)$/$(LIB3ARCHIV:b).cmd
+ 	@+echo  ranlib $(LIB3ARCHIV) >> $(MISC)$/$(LIB3ARCHIV:b).cmd
++.IF "$(QUIET_BUILD)"==""
+ 	@cat $(MISC)$/$(LIB3ARCHIV:b).cmd
++.ENDIF
+ 	@+source $(MISC)$/$(LIB3ARCHIV:b).cmd
+ .ELSE
+ 	@echo just a dummy > $@
+@@ -276,7 +292,9 @@ $(LIB3TARGET) :	$(LIB3FILES) \
+ .ENDIF          # "$(LIB3FILES)"!=""    
+ .ELSE			# "$(GUI)"=="WNT"
+ 	@-$(RM) $@
++.IF "$(QUIET_BUILD)"==""
+ 	echo $(LIBMGR) r $@ $(LIB3OBJFILES)
++.ENDIF
+ 	$(LIBMGR) r $@ $(LIB3OBJFILES) $(LIB3FILES) bla.lib
+ .ENDIF          # "$(GUI)"=="WNT"
+ .ENDIF          # "$(GUI)"=="UNX"
+@@ -306,14 +324,18 @@ $(LIB4ARCHIV) :	$(LIB4TARGET)
+ .IF "$(OS)" == "MACOSX"
+  	@echo  ranlib $(LIB4ARCHIV) >> $(MISC)$/$(LIB4ARCHIV:b).cmd
+ .ENDIF
++.IF "$(QUIET_BUILD)"==""
+ 	@cat $(MISC)$/$(LIB4ARCHIV:b).cmd
++.ENDIF
+ 	@+source $(MISC)$/$(LIB4ARCHIV:b).cmd
+ .ELSE			# "$(GUI)"=="UNX"
+ .IF "$(GUI)$(COM)"=="WNTGCC"
+ 	@+-$(RM) $(MISC)$/$(LIB4ARCHIV:b).cmd
+ 	@+echo $(LIBMGR) $(LIB4FLAGS) $(LIBFLAGS) $(LIB4ARCHIV) `cat $(LIB4TARGET) | sed s#'^'$(ROUT)#$(PRJ)$/$(ROUT)#g` > $(MISC)$/$(LIB4ARCHIV:b).cmd
+ 	@+echo  ranlib $(LIB4ARCHIV) >> $(MISC)$/$(LIB4ARCHIV:b).cmd
++.IF "$(QUIET_BUILD)"==""
+ 	@cat $(MISC)$/$(LIB4ARCHIV:b).cmd
++.ENDIF
+ 	@+source $(MISC)$/$(LIB4ARCHIV:b).cmd
+ .ELSE
+ 	@echo just a dummy > $@
+@@ -371,7 +393,9 @@ $(LIB4TARGET) :	$(LIB4FILES) \
+ .ENDIF          # "$(LIB4FILES)"!=""    
+ .ELSE			# "$(GUI)"=="WNT"
+ 	@-$(RM) $@
++.IF "$(QUIET_BUILD)"==""
+ 	echo $(LIBMGR) r $@ $(LIB4OBJFILES)
++.ENDIF
+ 	$(LIBMGR) r $@ $(LIB4OBJFILES) $(LIB4FILES) bla.lib
+ .ENDIF          # "$(GUI)"=="WNT"
+ .ENDIF          # "$(GUI)"=="UNX"
+@@ -401,14 +425,18 @@ $(LIB5ARCHIV) :	$(LIB5TARGET)
+ .IF "$(OS)" == "MACOSX"
+  	@echo  ranlib $(LIB5ARCHIV) >> $(MISC)$/$(LIB5ARCHIV:b).cmd
+ .ENDIF
++.IF "$(QUIET_BUILD)"==""
+ 	@cat $(MISC)$/$(LIB5ARCHIV:b).cmd
++.ENDIF
+ 	@+source $(MISC)$/$(LIB5ARCHIV:b).cmd
+ .ELSE			# "$(GUI)"=="UNX"
+ .IF "$(GUI)$(COM)"=="WNTGCC"
+ 	@+-$(RM) $(MISC)$/$(LIB5ARCHIV:b).cmd
+ 	@+echo $(LIBMGR) $(LIB5FLAGS) $(LIBFLAGS) $(LIB5ARCHIV) `cat $(LIB5TARGET) | sed s#'^'$(ROUT)#$(PRJ)$/$(ROUT)#g` > $(MISC)$/$(LIB5ARCHIV:b).cmd
+ 	@+echo  ranlib $(LIB5ARCHIV) >> $(MISC)$/$(LIB5ARCHIV:b).cmd
++.IF "$(QUIET_BUILD)"==""
+ 	@cat $(MISC)$/$(LIB5ARCHIV:b).cmd
++.ENDIF
+ 	@+source $(MISC)$/$(LIB5ARCHIV:b).cmd
+ .ELSE
+ 	@echo just a dummy > $@
+@@ -466,7 +494,9 @@ $(LIB5TARGET) :	$(LIB5FILES) \
+ .ENDIF          # "$(LIB5FILES)"!=""    
+ .ELSE			# "$(GUI)"=="WNT"
+ 	@-$(RM) $@
++.IF "$(QUIET_BUILD)"==""
+ 	echo $(LIBMGR) r $@ $(LIB5OBJFILES)
++.ENDIF
+ 	$(LIBMGR) r $@ $(LIB5OBJFILES) $(LIB5FILES) bla.lib
+ .ENDIF          # "$(GUI)"=="WNT"
+ .ENDIF          # "$(GUI)"=="UNX"
+@@ -496,14 +526,18 @@ $(LIB6ARCHIV) :	$(LIB6TARGET)
+ .IF "$(OS)" == "MACOSX"
+  	@echo  ranlib $(LIB6ARCHIV) >> $(MISC)$/$(LIB6ARCHIV:b).cmd
+ .ENDIF
++.IF "$(QUIET_BUILD)"==""
+ 	@cat $(MISC)$/$(LIB6ARCHIV:b).cmd
++.ENDIF
+ 	@+source $(MISC)$/$(LIB6ARCHIV:b).cmd
+ .ELSE			# "$(GUI)"=="UNX"
+ .IF "$(GUI)$(COM)"=="WNTGCC"
+ 	@+-$(RM) $(MISC)$/$(LIB6ARCHIV:b).cmd
+ 	@+echo $(LIBMGR) $(LIB6FLAGS) $(LIBFLAGS) $(LIB6ARCHIV) `cat $(LIB6TARGET) | sed s#'^'$(ROUT)#$(PRJ)$/$(ROUT)#g` > $(MISC)$/$(LIB6ARCHIV:b).cmd
+ 	@+echo  ranlib $(LIB6ARCHIV) >> $(MISC)$/$(LIB6ARCHIV:b).cmd
++.IF "$(QUIET_BUILD)"==""
+ 	@cat $(MISC)$/$(LIB6ARCHIV:b).cmd
++.ENDIF
+ 	@+source $(MISC)$/$(LIB6ARCHIV:b).cmd
+ .ELSE
+ 	@echo just a dummy > $@
+@@ -561,7 +595,9 @@ $(LIB6TARGET) :	$(LIB6FILES) \
+ .ENDIF          # "$(LIB6FILES)"!=""    
+ .ELSE			# "$(GUI)"=="WNT"
+ 	@-$(RM) $@
++.IF "$(QUIET_BUILD)"==""
+ 	echo $(LIBMGR) r $@ $(LIB6OBJFILES)
++.ENDIF
+ 	$(LIBMGR) r $@ $(LIB6OBJFILES) $(LIB6FILES) bla.lib
+ .ENDIF          # "$(GUI)"=="WNT"
+ .ENDIF          # "$(GUI)"=="UNX"
+@@ -591,14 +627,18 @@ $(LIB7ARCHIV) :	$(LIB7TARGET)
+ .IF "$(OS)" == "MACOSX"
+  	@echo  ranlib $(LIB7ARCHIV) >> $(MISC)$/$(LIB7ARCHIV:b).cmd
+ .ENDIF
++.IF "$(QUIET_BUILD)"==""
+ 	@cat $(MISC)$/$(LIB7ARCHIV:b).cmd
++.ENDIF
+ 	@+source $(MISC)$/$(LIB7ARCHIV:b).cmd
+ .ELSE			# "$(GUI)"=="UNX"
+ .IF "$(GUI)$(COM)"=="WNTGCC"
+ 	@+-$(RM) $(MISC)$/$(LIB7ARCHIV:b).cmd
+ 	@+echo $(LIBMGR) $(LIB7FLAGS) $(LIBFLAGS) $(LIB7ARCHIV) `cat $(LIB7TARGET) | sed s#'^'$(ROUT)#$(PRJ)$/$(ROUT)#g` > $(MISC)$/$(LIB7ARCHIV:b).cmd
+ 	@+echo  ranlib $(LIB7ARCHIV) >> $(MISC)$/$(LIB7ARCHIV:b).cmd
++.IF "$(QUIET_BUILD)"==""
+ 	@cat $(MISC)$/$(LIB7ARCHIV:b).cmd
++.ENDIF
+ 	@+source $(MISC)$/$(LIB7ARCHIV:b).cmd
+ .ELSE
+ 	@echo just a dummy > $@
+@@ -656,7 +696,9 @@ $(LIB7TARGET) :	$(LIB7FILES) \
+ .ENDIF          # "$(LIB7FILES)"!=""    
+ .ELSE			# "$(GUI)"=="WNT"
+ 	@-$(RM) $@
++.IF "$(QUIET_BUILD)"==""
+ 	echo $(LIBMGR) r $@ $(LIB7OBJFILES)
++.ENDIF
+ 	$(LIBMGR) r $@ $(LIB7OBJFILES) $(LIB7FILES) bla.lib
+ .ENDIF          # "$(GUI)"=="WNT"
+ .ENDIF          # "$(GUI)"=="UNX"
+@@ -686,14 +728,18 @@ $(LIB8ARCHIV) :	$(LIB8TARGET)
+ .IF "$(OS)" == "MACOSX"
+  	@echo  ranlib $(LIB8ARCHIV) >> $(MISC)$/$(LIB8ARCHIV:b).cmd
+ .ENDIF
++.IF "$(QUIET_BUILD)"==""
+ 	@cat $(MISC)$/$(LIB8ARCHIV:b).cmd
++.ENDIF
+ 	@+source $(MISC)$/$(LIB8ARCHIV:b).cmd
+ .ELSE			# "$(GUI)"=="UNX"
+ .IF "$(GUI)$(COM)"=="WNTGCC"
+ 	@+-$(RM) $(MISC)$/$(LIB8ARCHIV:b).cmd
+ 	@+echo $(LIBMGR) $(LIB8FLAGS) $(LIBFLAGS) $(LIB8ARCHIV) `cat $(LIB8TARGET) | sed s#'^'$(ROUT)#$(PRJ)$/$(ROUT)#g` > $(MISC)$/$(LIB8ARCHIV:b).cmd
+ 	@+echo  ranlib $(LIB8ARCHIV) >> $(MISC)$/$(LIB8ARCHIV:b).cmd
++.IF "$(QUIET_BUILD)"==""
+ 	@cat $(MISC)$/$(LIB8ARCHIV:b).cmd
++.ENDIF
+ 	@+source $(MISC)$/$(LIB8ARCHIV:b).cmd
+ .ELSE
+ 	@echo just a dummy > $@
+@@ -751,7 +797,9 @@ $(LIB8TARGET) :	$(LIB8FILES) \
+ .ENDIF          # "$(LIB8FILES)"!=""    
+ .ELSE			# "$(GUI)"=="WNT"
+ 	@-$(RM) $@
++.IF "$(QUIET_BUILD)"==""
+ 	echo $(LIBMGR) r $@ $(LIB8OBJFILES)
++.ENDIF
+ 	$(LIBMGR) r $@ $(LIB8OBJFILES) $(LIB8FILES) bla.lib
+ .ENDIF          # "$(GUI)"=="WNT"
+ .ENDIF          # "$(GUI)"=="UNX"
+@@ -781,14 +829,18 @@ $(LIB9ARCHIV) :	$(LIB9TARGET)
+ .IF "$(OS)" == "MACOSX"
+  	@echo  ranlib $(LIB9ARCHIV) >> $(MISC)$/$(LIB9ARCHIV:b).cmd
+ .ENDIF
++.IF "$(QUIET_BUILD)"==""
+ 	@cat $(MISC)$/$(LIB9ARCHIV:b).cmd
++.ENDIF
+ 	@+source $(MISC)$/$(LIB9ARCHIV:b).cmd
+ .ELSE			# "$(GUI)"=="UNX"
+ .IF "$(GUI)$(COM)"=="WNTGCC"
+ 	@+-$(RM) $(MISC)$/$(LIB9ARCHIV:b).cmd
+ 	@+echo $(LIBMGR) $(LIB9FLAGS) $(LIBFLAGS) $(LIB9ARCHIV) `cat $(LIB9TARGET) | sed s#'^'$(ROUT)#$(PRJ)$/$(ROUT)#g` > $(MISC)$/$(LIB9ARCHIV:b).cmd
+ 	@+echo  ranlib $(LIB9ARCHIV) >> $(MISC)$/$(LIB9ARCHIV:b).cmd
++.IF "$(QUIET_BUILD)"==""
+ 	@cat $(MISC)$/$(LIB9ARCHIV:b).cmd
++.ENDIF
+ 	@+source $(MISC)$/$(LIB9ARCHIV:b).cmd
+ .ELSE
+ 	@echo just a dummy > $@
+@@ -846,7 +898,9 @@ $(LIB9TARGET) :	$(LIB9FILES) \
+ .ENDIF          # "$(LIB9FILES)"!=""    
+ .ELSE			# "$(GUI)"=="WNT"
+ 	@-$(RM) $@
++.IF "$(QUIET_BUILD)"==""
+ 	echo $(LIBMGR) r $@ $(LIB9OBJFILES)
++.ENDIF
+ 	$(LIBMGR) r $@ $(LIB9OBJFILES) $(LIB9FILES) bla.lib
+ .ENDIF          # "$(GUI)"=="WNT"
+ .ENDIF          # "$(GUI)"=="UNX"
+@@ -876,14 +930,18 @@ $(LIB10ARCHIV) :	$(LIB10TARGET)
+ .IF "$(OS)" == "MACOSX"
+  	@echo  ranlib $(LIB10ARCHIV) >> $(MISC)$/$(LIB10ARCHIV:b).cmd
+ .ENDIF
++.IF "$(QUIET_BUILD)"==""
+ 	@cat $(MISC)$/$(LIB10ARCHIV:b).cmd
++.ENDIF
+ 	@+source $(MISC)$/$(LIB10ARCHIV:b).cmd
+ .ELSE			# "$(GUI)"=="UNX"
+ .IF "$(GUI)$(COM)"=="WNTGCC"
+ 	@+-$(RM) $(MISC)$/$(LIB10ARCHIV:b).cmd
+ 	@+echo $(LIBMGR) $(LIB10FLAGS) $(LIBFLAGS) $(LIB10ARCHIV) `cat $(LIB10TARGET) | sed s#'^'$(ROUT)#$(PRJ)$/$(ROUT)#g` > $(MISC)$/$(LIB10ARCHIV:b).cmd
+ 	@+echo  ranlib $(LIB10ARCHIV) >> $(MISC)$/$(LIB10ARCHIV:b).cmd
++.IF "$(QUIET_BUILD)"==""
+ 	@cat $(MISC)$/$(LIB10ARCHIV:b).cmd
++.ENDIF
+ 	@+source $(MISC)$/$(LIB10ARCHIV:b).cmd
+ .ELSE
+ 	@echo just a dummy > $@
+@@ -941,7 +999,9 @@ $(LIB10TARGET) :	$(LIB10FILES) \
+ .ENDIF          # "$(LIB10FILES)"!=""    
+ .ELSE			# "$(GUI)"=="WNT"
+ 	@-$(RM) $@
++.IF "$(QUIET_BUILD)"==""
+ 	echo $(LIBMGR) r $@ $(LIB10OBJFILES)
++.ENDIF
+ 	$(LIBMGR) r $@ $(LIB10OBJFILES) $(LIB10FILES) bla.lib
+ .ENDIF          # "$(GUI)"=="WNT"
+ .ENDIF          # "$(GUI)"=="UNX"
+diff --git solenv/inc/_tg_shl.mk solenv/inc/_tg_shl.mk
+index a9f08dc..19afa21 100644
+--- solenv/inc/_tg_shl.mk
++++ solenv/inc/_tg_shl.mk
+@@ -459,7 +459,11 @@ $(SHL1TARGETN) : \
+ .IF "$(SHL1NOCHECK)"==""
+ 	$(QUIET_BUILD) -$(RM) $(SHL1TARGETN:d)check_$(SHL1TARGETN:f)
+ 	$(QUIET_BUILD) $(RENAME) $(SHL1TARGETN) $(SHL1TARGETN:d)check_$(SHL1TARGETN:f)
+-	$(QUIET_BUILD) $(SOLARENV)$/bin$/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS) $(SHL1TARGETN:d)check_$(SHL1TARGETN:f)
++.IF "$(QUIET_BUILD)"==""
++	$(SOLARENV)$/bin$/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS) $(SHL1TARGETN:d)check_$(SHL1TARGETN:f)
++.ELSE
++	$(QUIET_BUILD) $(SOLARENV)$/bin$/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS) -- -s $(SHL1TARGETN:d)check_$(SHL1TARGETN:f)
++.ENDIF
+ .ENDIF				# "$(SHL1NOCHECK)"!=""
+ .ENDIF			# "$(UPDATER)"=="YES"
+ .ENDIF			# "$(OS)"=="MACOSX"
+@@ -467,7 +471,9 @@ $(SHL1TARGETN) : \
+ 	$(QUIET_BUILD) $(RM) $(LB)$/$(SHL1TARGETN:b)
+ 	$(QUIET_BUILD) cd $(LB) && ln -s $(SHL1TARGETN:f) $(SHL1TARGETN:b)
+ .ENDIF			# "$(UNIXVERSIONNAMES)"!=""
++.IF "$(QUIET_BUILD)"==""
+ 	@ls -l $@
++.ENDIF
+ .ENDIF			# "$(GUI)" == "UNX"
+ 
+ .IF "$(GUI)" == "OS2"
+@@ -1007,7 +1013,11 @@ $(SHL2TARGETN) : \
+ .IF "$(SHL2NOCHECK)"==""
+ 	$(QUIET_BUILD) -$(RM) $(SHL2TARGETN:d)check_$(SHL2TARGETN:f)
+ 	$(QUIET_BUILD) $(RENAME) $(SHL2TARGETN) $(SHL2TARGETN:d)check_$(SHL2TARGETN:f)
+-	$(QUIET_BUILD) $(SOLARENV)$/bin$/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS) $(SHL2TARGETN:d)check_$(SHL2TARGETN:f)
++.IF "$(QUIET_BUILD)"==""
++	$(SOLARENV)$/bin$/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS) $(SHL2TARGETN:d)check_$(SHL2TARGETN:f)
++.ELSE
++	$(QUIET_BUILD) $(SOLARENV)$/bin$/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS) -- -s $(SHL2TARGETN:d)check_$(SHL2TARGETN:f)
++.ENDIF
+ .ENDIF				# "$(SHL2NOCHECK)"!=""
+ .ENDIF			# "$(UPDATER)"=="YES"
+ .ENDIF			# "$(OS)"=="MACOSX"
+@@ -1015,7 +1025,9 @@ $(SHL2TARGETN) : \
+ 	$(QUIET_BUILD) $(RM) $(LB)$/$(SHL2TARGETN:b)
+ 	$(QUIET_BUILD) cd $(LB) && ln -s $(SHL2TARGETN:f) $(SHL2TARGETN:b)
+ .ENDIF			# "$(UNIXVERSIONNAMES)"!=""
++.IF "$(QUIET_BUILD)"==""
+ 	@ls -l $@
++.ENDIF
+ .ENDIF			# "$(GUI)" == "UNX"
+ 
+ .IF "$(GUI)" == "OS2"
+@@ -1555,7 +1567,11 @@ $(SHL3TARGETN) : \
+ .IF "$(SHL3NOCHECK)"==""
+ 	$(QUIET_BUILD) -$(RM) $(SHL3TARGETN:d)check_$(SHL3TARGETN:f)
+ 	$(QUIET_BUILD) $(RENAME) $(SHL3TARGETN) $(SHL3TARGETN:d)check_$(SHL3TARGETN:f)
+-	$(QUIET_BUILD) $(SOLARENV)$/bin$/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS) $(SHL3TARGETN:d)check_$(SHL3TARGETN:f)
++.IF "$(QUIET_BUILD)"==""
++	$(SOLARENV)$/bin$/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS) $(SHL3TARGETN:d)check_$(SHL3TARGETN:f)
++.ELSE
++	$(QUIET_BUILD) $(SOLARENV)$/bin$/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS) -- -s $(SHL3TARGETN:d)check_$(SHL3TARGETN:f)
++.ENDIF
+ .ENDIF				# "$(SHL3NOCHECK)"!=""
+ .ENDIF			# "$(UPDATER)"=="YES"
+ .ENDIF			# "$(OS)"=="MACOSX"
+@@ -1563,7 +1579,9 @@ $(SHL3TARGETN) : \
+ 	$(QUIET_BUILD) $(RM) $(LB)$/$(SHL3TARGETN:b)
+ 	$(QUIET_BUILD) cd $(LB) && ln -s $(SHL3TARGETN:f) $(SHL3TARGETN:b)
+ .ENDIF			# "$(UNIXVERSIONNAMES)"!=""
++.IF "$(QUIET_BUILD)"==""
+ 	@ls -l $@
++.ENDIF
+ .ENDIF			# "$(GUI)" == "UNX"
+ 
+ .IF "$(GUI)" == "OS2"
+@@ -2103,7 +2121,11 @@ $(SHL4TARGETN) : \
+ .IF "$(SHL4NOCHECK)"==""
+ 	$(QUIET_BUILD) -$(RM) $(SHL4TARGETN:d)check_$(SHL4TARGETN:f)
+ 	$(QUIET_BUILD) $(RENAME) $(SHL4TARGETN) $(SHL4TARGETN:d)check_$(SHL4TARGETN:f)
+-	$(QUIET_BUILD) $(SOLARENV)$/bin$/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS) $(SHL4TARGETN:d)check_$(SHL4TARGETN:f)
++.IF "$(QUIET_BUILD)"==""
++	$(SOLARENV)$/bin$/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS) $(SHL4TARGETN:d)check_$(SHL4TARGETN:f)
++.ELSE
++	$(QUIET_BUILD) $(SOLARENV)$/bin$/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS) -- -s $(SHL4TARGETN:d)check_$(SHL4TARGETN:f)
++.ENDIF
+ .ENDIF				# "$(SHL4NOCHECK)"!=""
+ .ENDIF			# "$(UPDATER)"=="YES"
+ .ENDIF			# "$(OS)"=="MACOSX"
+@@ -2111,7 +2133,9 @@ $(SHL4TARGETN) : \
+ 	$(QUIET_BUILD) $(RM) $(LB)$/$(SHL4TARGETN:b)
+ 	$(QUIET_BUILD) cd $(LB) && ln -s $(SHL4TARGETN:f) $(SHL4TARGETN:b)
+ .ENDIF			# "$(UNIXVERSIONNAMES)"!=""
++.IF "$(QUIET_BUILD)"==""
+ 	@ls -l $@
++.ENDIF
+ .ENDIF			# "$(GUI)" == "UNX"
+ 
+ .IF "$(GUI)" == "OS2"
+@@ -2651,7 +2675,11 @@ $(SHL5TARGETN) : \
+ .IF "$(SHL5NOCHECK)"==""
+ 	$(QUIET_BUILD) -$(RM) $(SHL5TARGETN:d)check_$(SHL5TARGETN:f)
+ 	$(QUIET_BUILD) $(RENAME) $(SHL5TARGETN) $(SHL5TARGETN:d)check_$(SHL5TARGETN:f)
+-	$(QUIET_BUILD) $(SOLARENV)$/bin$/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS) $(SHL5TARGETN:d)check_$(SHL5TARGETN:f)
++.IF "$(QUIET_BUILD)"==""
++	$(SOLARENV)$/bin$/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS) $(SHL5TARGETN:d)check_$(SHL5TARGETN:f)
++.ELSE
++	$(QUIET_BUILD) $(SOLARENV)$/bin$/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS) -- -s $(SHL5TARGETN:d)check_$(SHL5TARGETN:f)
++.ENDIF
+ .ENDIF				# "$(SHL5NOCHECK)"!=""
+ .ENDIF			# "$(UPDATER)"=="YES"
+ .ENDIF			# "$(OS)"=="MACOSX"
+@@ -2659,7 +2687,9 @@ $(SHL5TARGETN) : \
+ 	$(QUIET_BUILD) $(RM) $(LB)$/$(SHL5TARGETN:b)
+ 	$(QUIET_BUILD) cd $(LB) && ln -s $(SHL5TARGETN:f) $(SHL5TARGETN:b)
+ .ENDIF			# "$(UNIXVERSIONNAMES)"!=""
++.IF "$(QUIET_BUILD)"==""
+ 	@ls -l $@
++.ENDIF
+ .ENDIF			# "$(GUI)" == "UNX"
+ 
+ .IF "$(GUI)" == "OS2"
+@@ -3199,7 +3229,11 @@ $(SHL6TARGETN) : \
+ .IF "$(SHL6NOCHECK)"==""
+ 	$(QUIET_BUILD) -$(RM) $(SHL6TARGETN:d)check_$(SHL6TARGETN:f)
+ 	$(QUIET_BUILD) $(RENAME) $(SHL6TARGETN) $(SHL6TARGETN:d)check_$(SHL6TARGETN:f)
+-	$(QUIET_BUILD) $(SOLARENV)$/bin$/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS) $(SHL6TARGETN:d)check_$(SHL6TARGETN:f)
++.IF "$(QUIET_BUILD)"==""
++	$(SOLARENV)$/bin$/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS) $(SHL6TARGETN:d)check_$(SHL6TARGETN:f)
++.ELSE
++	$(QUIET_BUILD) $(SOLARENV)$/bin$/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS) -- -s $(SHL6TARGETN:d)check_$(SHL6TARGETN:f)
++.ENDIF
+ .ENDIF				# "$(SHL6NOCHECK)"!=""
+ .ENDIF			# "$(UPDATER)"=="YES"
+ .ENDIF			# "$(OS)"=="MACOSX"
+@@ -3207,7 +3241,9 @@ $(SHL6TARGETN) : \
+ 	$(QUIET_BUILD) $(RM) $(LB)$/$(SHL6TARGETN:b)
+ 	$(QUIET_BUILD) cd $(LB) && ln -s $(SHL6TARGETN:f) $(SHL6TARGETN:b)
+ .ENDIF			# "$(UNIXVERSIONNAMES)"!=""
++.IF "$(QUIET_BUILD)"==""
+ 	@ls -l $@
++.ENDIF
+ .ENDIF			# "$(GUI)" == "UNX"
+ 
+ .IF "$(GUI)" == "OS2"
+@@ -3747,7 +3783,11 @@ $(SHL7TARGETN) : \
+ .IF "$(SHL7NOCHECK)"==""
+ 	$(QUIET_BUILD) -$(RM) $(SHL7TARGETN:d)check_$(SHL7TARGETN:f)
+ 	$(QUIET_BUILD) $(RENAME) $(SHL7TARGETN) $(SHL7TARGETN:d)check_$(SHL7TARGETN:f)
+-	$(QUIET_BUILD) $(SOLARENV)$/bin$/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS) $(SHL7TARGETN:d)check_$(SHL7TARGETN:f)
++.IF "$(QUIET_BUILD)"==""
++	$(SOLARENV)$/bin$/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS) $(SHL7TARGETN:d)check_$(SHL7TARGETN:f)
++.ELSE
++	$(QUIET_BUILD) $(SOLARENV)$/bin$/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS) -- -s $(SHL7TARGETN:d)check_$(SHL7TARGETN:f)
++.ENDIF
+ .ENDIF				# "$(SHL7NOCHECK)"!=""
+ .ENDIF			# "$(UPDATER)"=="YES"
+ .ENDIF			# "$(OS)"=="MACOSX"
+@@ -3755,7 +3795,9 @@ $(SHL7TARGETN) : \
+ 	$(QUIET_BUILD) $(RM) $(LB)$/$(SHL7TARGETN:b)
+ 	$(QUIET_BUILD) cd $(LB) && ln -s $(SHL7TARGETN:f) $(SHL7TARGETN:b)
+ .ENDIF			# "$(UNIXVERSIONNAMES)"!=""
++.IF "$(QUIET_BUILD)"==""
+ 	@ls -l $@
++.ENDIF
+ .ENDIF			# "$(GUI)" == "UNX"
+ 
+ .IF "$(GUI)" == "OS2"
+@@ -4295,7 +4337,11 @@ $(SHL8TARGETN) : \
+ .IF "$(SHL8NOCHECK)"==""
+ 	$(QUIET_BUILD) -$(RM) $(SHL8TARGETN:d)check_$(SHL8TARGETN:f)
+ 	$(QUIET_BUILD) $(RENAME) $(SHL8TARGETN) $(SHL8TARGETN:d)check_$(SHL8TARGETN:f)
+-	$(QUIET_BUILD) $(SOLARENV)$/bin$/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS) $(SHL8TARGETN:d)check_$(SHL8TARGETN:f)
++.IF "$(QUIET_BUILD)"==""
++	$(SOLARENV)$/bin$/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS) $(SHL8TARGETN:d)check_$(SHL8TARGETN:f)
++.ELSE
++	$(QUIET_BUILD) $(SOLARENV)$/bin$/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS) -- -s $(SHL8TARGETN:d)check_$(SHL8TARGETN:f)
++.ENDIF
+ .ENDIF				# "$(SHL8NOCHECK)"!=""
+ .ENDIF			# "$(UPDATER)"=="YES"
+ .ENDIF			# "$(OS)"=="MACOSX"
+@@ -4303,7 +4349,9 @@ $(SHL8TARGETN) : \
+ 	$(QUIET_BUILD) $(RM) $(LB)$/$(SHL8TARGETN:b)
+ 	$(QUIET_BUILD) cd $(LB) && ln -s $(SHL8TARGETN:f) $(SHL8TARGETN:b)
+ .ENDIF			# "$(UNIXVERSIONNAMES)"!=""
++.IF "$(QUIET_BUILD)"==""
+ 	@ls -l $@
++.ENDIF
+ .ENDIF			# "$(GUI)" == "UNX"
+ 
+ .IF "$(GUI)" == "OS2"
+@@ -4843,7 +4891,11 @@ $(SHL9TARGETN) : \
+ .IF "$(SHL9NOCHECK)"==""
+ 	$(QUIET_BUILD) -$(RM) $(SHL9TARGETN:d)check_$(SHL9TARGETN:f)
+ 	$(QUIET_BUILD) $(RENAME) $(SHL9TARGETN) $(SHL9TARGETN:d)check_$(SHL9TARGETN:f)
+-	$(QUIET_BUILD) $(SOLARENV)$/bin$/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS) $(SHL9TARGETN:d)check_$(SHL9TARGETN:f)
++.IF "$(QUIET_BUILD)"==""
++	$(SOLARENV)$/bin$/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS) $(SHL9TARGETN:d)check_$(SHL9TARGETN:f)
++.ELSE
++	$(QUIET_BUILD) $(SOLARENV)$/bin$/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS) -- -s $(SHL9TARGETN:d)check_$(SHL9TARGETN:f)
++.ENDIF
+ .ENDIF				# "$(SHL9NOCHECK)"!=""
+ .ENDIF			# "$(UPDATER)"=="YES"
+ .ENDIF			# "$(OS)"=="MACOSX"
+@@ -4851,7 +4903,9 @@ $(SHL9TARGETN) : \
+ 	$(QUIET_BUILD) $(RM) $(LB)$/$(SHL9TARGETN:b)
+ 	$(QUIET_BUILD) cd $(LB) && ln -s $(SHL9TARGETN:f) $(SHL9TARGETN:b)
+ .ENDIF			# "$(UNIXVERSIONNAMES)"!=""
++.IF "$(QUIET_BUILD)"==""
+ 	@ls -l $@
++.ENDIF
+ .ENDIF			# "$(GUI)" == "UNX"
+ 
+ .IF "$(GUI)" == "OS2"
+@@ -5391,7 +5445,11 @@ $(SHL10TARGETN) : \
+ .IF "$(SHL10NOCHECK)"==""
+ 	$(QUIET_BUILD) -$(RM) $(SHL10TARGETN:d)check_$(SHL10TARGETN:f)
+ 	$(QUIET_BUILD) $(RENAME) $(SHL10TARGETN) $(SHL10TARGETN:d)check_$(SHL10TARGETN:f)
+-	$(QUIET_BUILD) $(SOLARENV)$/bin$/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS) $(SHL10TARGETN:d)check_$(SHL10TARGETN:f)
++.IF "$(QUIET_BUILD)"==""
++	$(SOLARENV)$/bin$/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS) $(SHL10TARGETN:d)check_$(SHL10TARGETN:f)
++.ELSE
++	$(QUIET_BUILD) $(SOLARENV)$/bin$/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS) -- -s $(SHL10TARGETN:d)check_$(SHL10TARGETN:f)
++.ENDIF
+ .ENDIF				# "$(SHL10NOCHECK)"!=""
+ .ENDIF			# "$(UPDATER)"=="YES"
+ .ENDIF			# "$(OS)"=="MACOSX"
+@@ -5399,7 +5457,9 @@ $(SHL10TARGETN) : \
+ 	$(QUIET_BUILD) $(RM) $(LB)$/$(SHL10TARGETN:b)
+ 	$(QUIET_BUILD) cd $(LB) && ln -s $(SHL10TARGETN:f) $(SHL10TARGETN:b)
+ .ENDIF			# "$(UNIXVERSIONNAMES)"!=""
++.IF "$(QUIET_BUILD)"==""
+ 	@ls -l $@
++.ENDIF
+ .ENDIF			# "$(GUI)" == "UNX"
+ 
+ .IF "$(GUI)" == "OS2"
+diff --git solenv/inc/tg_lib.mk solenv/inc/tg_lib.mk
+index bc02f97..064f1a0 100644
+--- solenv/inc/tg_lib.mk
++++ solenv/inc/tg_lib.mk
+@@ -54,14 +54,18 @@ $(LIB$(TNR)ARCHIV) :	$(LIB$(TNR)TARGET)
+ .IF "$(OS)" == "MACOSX"
+  	@echo  ranlib $(LIB$(TNR)ARCHIV) >> $(MISC)$/$(LIB$(TNR)ARCHIV:b).cmd
+ .ENDIF
++.IF "$(QUIET_BUILD)"==""
+ 	@cat $(MISC)$/$(LIB$(TNR)ARCHIV:b).cmd
++.ENDIF
+ 	@+source $(MISC)$/$(LIB$(TNR)ARCHIV:b).cmd
+ .ELSE			# "$(GUI)"=="UNX"
+ .IF "$(GUI)$(COM)"=="WNTGCC"
+ 	@+-$(RM) $(MISC)$/$(LIB$(TNR)ARCHIV:b).cmd
+ 	@+echo $(LIBMGR) $(LIB$(TNR)FLAGS) $(LIBFLAGS) $(LIB$(TNR)ARCHIV) `cat $(LIB$(TNR)TARGET) | sed s#'^'$(ROUT)#$(PRJ)$/$(ROUT)#g` > $(MISC)$/$(LIB$(TNR)ARCHIV:b).cmd
+ 	@+echo  ranlib $(LIB$(TNR)ARCHIV) >> $(MISC)$/$(LIB$(TNR)ARCHIV:b).cmd
++.IF "$(QUIET_BUILD)"==""
+ 	@cat $(MISC)$/$(LIB$(TNR)ARCHIV:b).cmd
++.ENDIF
+ 	@+source $(MISC)$/$(LIB$(TNR)ARCHIV:b).cmd
+ .ELSE
+ 	@echo just a dummy > $@
+@@ -119,7 +123,9 @@ $(LIB$(TNR)TARGET) :	$(LIB$(TNR)FILES) \
+ .ENDIF          # "$(LIB$(TNR)FILES)"!=""    
+ .ELSE			# "$(GUI)"=="WNT"
+ 	@-$(RM) $@
++.IF "$(QUIET_BUILD)"==""
+ 	echo $(LIBMGR) r $@ $(LIB$(TNR)OBJFILES)
++.ENDIF
+ 	$(LIBMGR) r $@ $(LIB$(TNR)OBJFILES) $(LIB$(TNR)FILES) bla.lib
+ .ENDIF          # "$(GUI)"=="WNT"
+ .ENDIF          # "$(GUI)"=="UNX"
+diff --git solenv/inc/tg_shl.mk solenv/inc/tg_shl.mk
+index 489ba05..98b2040 100644
+--- solenv/inc/tg_shl.mk
++++ solenv/inc/tg_shl.mk
+@@ -492,7 +492,11 @@ $(SHL$(TNR)TARGETN) : \
+ .IF "$(SHL$(TNR)NOCHECK)"==""
+ 	$(QUIET_BUILD) -$(RM) $(SHL$(TNR)TARGETN:d)check_$(SHL$(TNR)TARGETN:f)
+ 	$(QUIET_BUILD) $(RENAME) $(SHL$(TNR)TARGETN) $(SHL$(TNR)TARGETN:d)check_$(SHL$(TNR)TARGETN:f)
+-	$(QUIET_BUILD) $(SOLARENV)$/bin$/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS) $(SHL$(TNR)TARGETN:d)check_$(SHL$(TNR)TARGETN:f)
++.IF "$(QUIET_BUILD)"==""
++	$(SOLARENV)$/bin$/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS) $(SHL$(TNR)TARGETN:d)check_$(SHL$(TNR)TARGETN:f)
++.ELSE
++	$(QUIET_BUILD) $(SOLARENV)$/bin$/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS) -- -s $(SHL$(TNR)TARGETN:d)check_$(SHL$(TNR)TARGETN:f)
++.ENDIF
+ .ENDIF				# "$(SHL$(TNR)NOCHECK)"!=""
+ .ENDIF			# "$(UPDATER)"=="YES"
+ .ENDIF			# "$(OS)"=="MACOSX"
+@@ -500,7 +504,9 @@ $(SHL$(TNR)TARGETN) : \
+ 	$(QUIET_BUILD) $(RM) $(LB)$/$(SHL$(TNR)TARGETN:b)
+ 	$(QUIET_BUILD) cd $(LB) && ln -s $(SHL$(TNR)TARGETN:f) $(SHL$(TNR)TARGETN:b)
+ .ENDIF			# "$(UNIXVERSIONNAMES)"!=""
++.IF "$(QUIET_BUILD)"==""
+ 	@ls -l $@
++.ENDIF
+ .ENDIF			# "$(GUI)" == "UNX"
+ 
+ .IF "$(GUI)" == "OS2"
+diff --git soltools/checkdll/checkdll.c soltools/checkdll/checkdll.c
+index 44c554b..10164d1 100644
+--- soltools/checkdll/checkdll.c
++++ soltools/checkdll/checkdll.c
+@@ -47,33 +47,39 @@ static const char *psymbol		= "GetVersionInfo";
+ 
+ void usage()
+ {
+-	fprintf(stderr, "usage: %s <dllname>\n", pprog_name);
++	fprintf(stderr, "usage: %s [-s] <dllname>\n", pprog_name);
+ 	return;
+ }
+ 
+ int main(int argc, char *argv[])
+ {
+ 	int 	rc;
++    int     silent=0;
+ 	void	*phandle;	
+ 	char 	*(*pfun)(void);
+ 
+-	if ( argc < 2 || argc > 3) {
++	if ( argc < 2 || argc > 4) {
+ 		usage();
+ 		return 1;
+ 	}
+ 
++    if ( !strcmp(argv[1],"-s") ) {
++        silent = 1;
++        ++argv, --argc;
++    }
++
+ 	if ( (rc = access( argv[1], R_OK )) == -1 ) {
+ 		fprintf(stderr, "%s: ERROR: %s: %s\n",
+-				pprog_name, argv[1], strerror(errno));
++                pprog_name, argv[1], strerror(errno));
+ 		return 2;
+ 	}
+ 
+-	printf("Checking DLL %s ...", argv[1]);
++	if (!silent) printf("Checking DLL %s ...", argv[1]);
+ 	fflush(stdout);
+ 
+ 	if ( (phandle = dlopen(argv[1], RTLD_NOW)) != NULL ) {
+ 		if  ( (pfun = (char *(*)(void))dlsym(phandle, psymbol)) != NULL ) {
+-			printf(": ok\n");
++			if (!silent) printf(": ok\n");
+ 		}
+ 		else
+ 		{


More information about the ooo-build-commit mailing list