summaryrefslogtreecommitdiff
path: root/rsc
diff options
context:
space:
mode:
authorPhilipp Lohmann [pl] <Philipp.Lohmann@Sun.COM>2009-11-13 15:46:58 +0100
committerPhilipp Lohmann [pl] <Philipp.Lohmann@Sun.COM>2009-11-13 15:46:58 +0100
commit0b93d9ef2d826b697ea9f27bb8b22b153a1533a4 (patch)
treeb4d72a987a26bd77b111c8fedbf1a35772b76c4c /rsc
parentd2b148f667115467247e985816595fd951f9bd7b (diff)
parent24534f00dd8799b3c2b2365ccd8c0009e19cddd5 (diff)
merge with DEV300_m64
Diffstat (limited to 'rsc')
-rw-r--r--rsc/inc/rscerror.h14
-rw-r--r--rsc/source/parser/erscerr.cxx13
-rw-r--r--rsc/source/parser/rscyacc.cxx2
-rw-r--r--rsc/source/prj/gui.cxx16
-rw-r--r--rsc/source/prj/start.cxx88
-rw-r--r--rsc/source/rsc/rsc.cxx51
6 files changed, 121 insertions, 63 deletions
diff --git a/rsc/inc/rscerror.h b/rsc/inc/rscerror.h
index 0e81066cbca8..a957e2c7b202 100644
--- a/rsc/inc/rscerror.h
+++ b/rsc/inc/rscerror.h
@@ -120,9 +120,17 @@ public:
class RscId;
class RscTop;
+enum RscVerbosity
+{
+ RscVerbositySilent = 0,
+ RscVerbosityNormal = 1,
+ RscVerbosityVerbose = 2
+};
+
class RscError
{
FILE * fListing;
+ RscVerbosity m_verbosity;
void WriteError( const ERRTYPE& rError, const char * pMessage );
void StdLstOut( const char * pStr );
@@ -131,9 +139,10 @@ class RscError
const RscId & aId );
public:
sal_uInt32 nErrors;// Anzahl der Fehler
- RscError(){
+ RscError( RscVerbosity _verbosity ) {
fListing = NULL;
nErrors = 0;
+ m_verbosity = _verbosity;
};
void SetListFile( FILE * fList ){
fListing = fList;
@@ -141,7 +150,8 @@ public:
FILE * GetListFile(){
return fListing;
};
- virtual void StdOut( const char * );
+ RscVerbosity GetVerbosity() const { return m_verbosity; }
+ virtual void StdOut( const char *, const RscVerbosity _verbosityLevel = RscVerbosityNormal );
virtual void StdErr( const char * );
virtual void LstOut( const char * );
virtual void Error( const ERRTYPE& rError, RscTop* pClass, const RscId &aId,
diff --git a/rsc/source/parser/erscerr.cxx b/rsc/source/parser/erscerr.cxx
index c889001735fe..818e2066c221 100644
--- a/rsc/source/parser/erscerr.cxx
+++ b/rsc/source/parser/erscerr.cxx
@@ -69,14 +69,15 @@ ERRTYPE& ERRTYPE::operator = ( const ERRTYPE & rError )
|* Letzte Aenderung MM 06.05.91
|*
*************************************************************************/
-void RscError::StdOut( const char * pStr )
+void RscError::StdOut( const char * pStr, const RscVerbosity _verbosityLevel )
{
-#ifndef WIN
- if( pStr ){
- printf( "%s", pStr );
- fflush( stdout );
+ if ( m_verbosity >= _verbosityLevel )
+ {
+ if( pStr ){
+ printf( "%s", pStr );
+ fflush( stdout );
+ }
}
-#endif
}
/*************************************************************************
diff --git a/rsc/source/parser/rscyacc.cxx b/rsc/source/parser/rscyacc.cxx
index 93628f381bec..8da3de9bf2b3 100644
--- a/rsc/source/parser/rscyacc.cxx
+++ b/rsc/source/parser/rscyacc.cxx
@@ -190,7 +190,7 @@ BOOL DoClassHeader( RSCHEADER * pHeader, BOOL bMember )
ObjNode * pNode = new ObjNode( aName1, S.Top().pData,
pFI->GetFileIndex() );
- pTC->pEH->StdOut( "." );
+ pTC->pEH->StdOut( ".", RscVerbosityVerbose );
if( !aName1.IsId() )
pTC->pEH->Error( ERR_IDEXPECTED, pHeader->pClass, aName1 );
diff --git a/rsc/source/prj/gui.cxx b/rsc/source/prj/gui.cxx
index 036494c3bb9d..6bf466348d1b 100644
--- a/rsc/source/prj/gui.cxx
+++ b/rsc/source/prj/gui.cxx
@@ -57,6 +57,20 @@ static RscCompiler * pRscCompiler = NULL;
delete pRscCompiler;
}
+RscVerbosity lcl_determineVerbosity( int argc, char ** argv )
+{
+ for ( int i = 0; i < argc; ++i )
+ {
+ if ( argv[i] == NULL )
+ continue;
+ if ( rsc_stricmp( argv[i], "-verbose" ) == 0 )
+ return RscVerbosityVerbose;
+ if ( rsc_stricmp( argv[i], "-quiet" ) == 0 )
+ return RscVerbositySilent;
+ }
+ return RscVerbosityNormal;
+}
+
#if defined( UNX ) || ( defined( OS2 ) && ( defined( CSET ) || defined ( GCC ))) || defined (WTC) || defined(ICC) || defined(__MINGW32__)
int main ( int argc, char ** argv) {
#else
@@ -80,7 +94,7 @@ int cdecl main ( int argc, char ** argv) {
ERRTYPE aError;
InitRscCompiler();
- RscError* pErrHdl = new RscError();
+ RscError* pErrHdl = new RscError( lcl_determineVerbosity( argc, argv ) );
#ifdef MTW
RscCmdLine* pCmdLine = new RscCmdLine( argc, (char **)argv, pErrHdl );
#else
diff --git a/rsc/source/prj/start.cxx b/rsc/source/prj/start.cxx
index c43879020a8e..df4ce12200c5 100644
--- a/rsc/source/prj/start.cxx
+++ b/rsc/source/prj/start.cxx
@@ -56,6 +56,7 @@
#endif // UNX
#include <rsctools.hxx>
+#include <rscerror.h>
#include <tools/fsys.hxx>
/*************** C O D E ************************************************/
@@ -111,25 +112,38 @@ static BOOL CallPrePro( const ByteString& rPrePro,
if( !fRspFile )
aNewCmdL.Append( rsc_strdup( rPrePro.GetBuffer() ) );
- for( i = 1; i < int(pCmdLine->GetCount() -1); i++ ){
- if( !rsc_strnicmp( (char *)pCmdLine->GetEntry( i ), "-u", 2 )
- || !rsc_strnicmp( (char *)pCmdLine->GetEntry( i ), "-i", 2 )
- || !rsc_strnicmp( (char *)pCmdLine->GetEntry( i ), "-d", 2 ) )
+
+ bool bVerbose = false;
+ for( i = 1; i < int(pCmdLine->GetCount() -1); i++ )
+ {
+ if ( 0 == rsc_stricmp( (char *)pCmdLine->GetEntry( i ), "-verbose" ) )
+ {
+ bVerbose = true;
+ continue;
+ }
+ if ( !rsc_strnicmp( (char *)pCmdLine->GetEntry( i ), "-u", 2 )
+ || !rsc_strnicmp( (char *)pCmdLine->GetEntry( i ), "-i", 2 )
+ || !rsc_strnicmp( (char *)pCmdLine->GetEntry( i ), "-d", 2 )
+ )
{
aNewCmdL.Append( rsc_strdup( (char *)pCmdLine->GetEntry( i ) ) );
}
- };
+ }
+
aNewCmdL.Append( rsc_strdup( rInput.GetBuffer() ) );
aNewCmdL.Append( rsc_strdup( rOutput.GetBuffer() ) );
aNewCmdL.Append( (void *)0 );
- printf( "Preprocessor commandline: " );
- for( i = 0; i < (int)(pCmdL->GetCount() -1); i++ )
+ if ( bVerbose )
{
- printf( " " );
- printf( "%s", (const char *)pCmdL->GetEntry( i ) );
+ printf( "Preprocessor commandline: " );
+ for( i = 0; i < (int)(pCmdL->GetCount() -1); i++ )
+ {
+ printf( " " );
+ printf( "%s", (const char *)pCmdL->GetEntry( i ) );
+ }
+ printf( "\n" );
}
- printf( "\n" );
if( fRspFile )
{
@@ -150,13 +164,16 @@ static BOOL CallPrePro( const ByteString& rPrePro,
}
fclose( fRspFile );
- printf( "Preprocessor startline: " );
- for( i = 0; i < (int)(pCmdL->GetCount() -1); i++ )
+ if ( bVerbose )
{
- printf( " " );
- printf( "%s", (const char *)pCmdL->GetEntry( i ) );
+ printf( "Preprocessor startline: " );
+ for( i = 0; i < (int)(pCmdL->GetCount() -1); i++ )
+ {
+ printf( " " );
+ printf( "%s", (const char *)pCmdL->GetEntry( i ) );
+ }
+ printf( "\n" );
}
- printf( "\n" );
}
#if ((defined OS2 || defined WNT) && (defined TCPP || defined tcpp)) || defined UNX || defined OS2
@@ -194,7 +211,6 @@ static BOOL CallRsc2( ByteString aRsc2Name,
ByteString aSrsName,
RscPtrPtr * pCmdLine )
{
- RscPtrPtr aNewCmdL; // Kommandozeile
int i, nExit;
ByteString* pString;
ByteString aRspFileName; // Response-Datei
@@ -203,21 +219,21 @@ static BOOL CallRsc2( ByteString aRsc2Name,
aRspFileName = ::GetTmpFileName();
fRspFile = fopen( aRspFileName.GetBuffer(), "w" );
- printf( "Rsc2 commandline: " );
- aNewCmdL.Append( rsc_strdup( aRsc2Name.GetBuffer() ) );
- printf( "%s", (const char *)aNewCmdL.GetEntry( aNewCmdL.GetCount() -1 ) );
- printf( " " );
- ByteString aTmpStr( '@' );
- aTmpStr += aRspFileName;
- aNewCmdL.Append( rsc_strdup( aTmpStr.GetBuffer() ) );
- printf( "%s", (const char *)aNewCmdL.GetEntry( aNewCmdL.GetCount() -1 ) );
- aNewCmdL.Append( (void *)0 );
- printf( "\n" );
-
+ RscVerbosity eVerbosity = RscVerbosityNormal;
if( fRspFile )
{
for( i = 1; i < (int)(pCmdLine->GetCount() -1); i++ )
{
+ if ( !rsc_stricmp( (char *)pCmdLine->GetEntry( i ), "-verbose" ) )
+ {
+ eVerbosity = RscVerbosityVerbose;
+ continue;
+ }
+ if ( !rsc_stricmp( (char *)pCmdLine->GetEntry( i ), "-quiet" ) )
+ {
+ eVerbosity = RscVerbositySilent;
+ continue;
+ }
if( !rsc_strnicmp( (char *)pCmdLine->GetEntry( i ), "-fp=", 4 )
|| !rsc_strnicmp( (char *)pCmdLine->GetEntry( i ), "-fo=", 4 )
|| !rsc_strnicmp( (char *)pCmdLine->GetEntry( i ), "-pp=", 4 )
@@ -261,6 +277,22 @@ static BOOL CallRsc2( ByteString aRsc2Name,
fclose( fRspFile );
};
+ RscPtrPtr aNewCmdL; // Kommandozeile
+ aNewCmdL.Append( rsc_strdup( aRsc2Name.GetBuffer() ) );
+ ByteString aTmpStr( '@' );
+ aTmpStr += aRspFileName;
+ aNewCmdL.Append( rsc_strdup( aTmpStr.GetBuffer() ) );
+ aNewCmdL.Append( (void *)0 );
+
+ if ( eVerbosity >= RscVerbosityVerbose )
+ {
+ printf( "Rsc2 commandline: " );
+ printf( "%s", (const char *)aNewCmdL.GetEntry( 0 ) );
+ printf( " " );
+ printf( "%s", (const char *)aNewCmdL.GetEntry( 1 ) );
+ printf( "\n" );
+ }
+
#if ((defined OS2 || defined WNT) && (defined TCPP || defined tcpp)) || defined UNX || defined OS2
nExit = spawnvp( P_WAIT, aRsc2Name.GetBuffer(), (char* const*)aNewCmdL.GetBlock() );
#elif defined CSET
@@ -328,8 +360,6 @@ int cdecl main ( int argc, char ** argv)
aRsc2Name += aDelim;
aRsc2Name += ByteString("rsc2");
- printf( "VCL Resource Compiler 3.0\n" );
-
pStr = ::ResponseFile( &aCmdLine, argv, argc );
if( pStr )
{
diff --git a/rsc/source/rsc/rsc.cxx b/rsc/source/rsc/rsc.cxx
index 953b837055de..934c41d5e9a9 100644
--- a/rsc/source/rsc/rsc.cxx
+++ b/rsc/source/rsc/rsc.cxx
@@ -520,15 +520,18 @@ printf( "khg\n" );
}
};
- pTC->pEH->StdOut( "Files: " );
- pFName = pTC->aFileTab.First();
- while( pFName )
+ if ( pTC->pEH->GetVerbosity() >= RscVerbosityVerbose )
{
- pTC->pEH->StdOut( pFName->aFileName.GetBuffer() );
- pTC->pEH->StdOut( " " );
- pFName = pTC->aFileTab.Next();
- };
- pTC->pEH->StdOut( "\n" );
+ pTC->pEH->StdOut( "Files: " );
+ pFName = pTC->aFileTab.First();
+ while( pFName )
+ {
+ pTC->pEH->StdOut( pFName->aFileName.GetBuffer() );
+ pTC->pEH->StdOut( " " );
+ pFName = pTC->aFileTab.Next();
+ };
+ pTC->pEH->StdOut( "\n" );
+ }
if( aError.IsOk() )
aError = Link();
@@ -554,9 +557,9 @@ void RscCompiler::EndCompile()
{
if( pCL->aOutputSrs.Len() && (pCL->nCommands & NOLINK_FLAG) )
{
- pTC->pEH->StdOut( "Writing file " );
- pTC->pEH->StdOut( pCL->aOutputSrs.GetBuffer() );
- pTC->pEH->StdOut( ".\n" );
+ pTC->pEH->StdOut( "Writing file ", RscVerbosityVerbose );
+ pTC->pEH->StdOut( pCL->aOutputSrs.GetBuffer(), RscVerbosityVerbose );
+ pTC->pEH->StdOut( ".\n", RscVerbosityVerbose );
// kopiere von TMP auf richtigen Namen
unlink( pCL->aOutputSrs.GetBuffer() ); // Zieldatei loeschen
@@ -588,9 +591,9 @@ void RscCompiler::EndCompile()
if ( aTmpOutputHxx.Len() )
{
- pTC->pEH->StdOut( "Writing file " );
- pTC->pEH->StdOut( pCL->aOutputHxx.GetBuffer() );
- pTC->pEH->StdOut( ".\n" );
+ pTC->pEH->StdOut( "Writing file ", RscVerbosityVerbose );
+ pTC->pEH->StdOut( pCL->aOutputHxx.GetBuffer(), RscVerbosityVerbose );
+ pTC->pEH->StdOut( ".\n", RscVerbosityVerbose );
// kopiere von TMP auf richtigen Namen
unlink( pCL->aOutputHxx.GetBuffer() ); // Zieldatei loeschen
@@ -601,9 +604,9 @@ void RscCompiler::EndCompile()
if( aTmpOutputCxx.Len() )
{
- pTC->pEH->StdOut( "Writing file " );
- pTC->pEH->StdOut( pCL->aOutputCxx.GetBuffer() );
- pTC->pEH->StdOut( ".\n" );
+ pTC->pEH->StdOut( "Writing file ", RscVerbosityVerbose );
+ pTC->pEH->StdOut( pCL->aOutputCxx.GetBuffer(), RscVerbosityVerbose );
+ pTC->pEH->StdOut( ".\n", RscVerbosityVerbose );
// kopiere von TMP auf richtigen Namen
unlink( pCL->aOutputCxx.GetBuffer() ); // Zieldatei loeschen
@@ -614,9 +617,9 @@ void RscCompiler::EndCompile()
if( aTmpOutputRcCtor.Len() )
{
- pTC->pEH->StdOut( "Writing file " );
- pTC->pEH->StdOut( pCL->aOutputRcCtor.GetBuffer() );
- pTC->pEH->StdOut( ".\n" );
+ pTC->pEH->StdOut( "Writing file ", RscVerbosityVerbose );
+ pTC->pEH->StdOut( pCL->aOutputRcCtor.GetBuffer(), RscVerbosityVerbose );
+ pTC->pEH->StdOut( ".\n", RscVerbosityVerbose );
// kopiere von TMP auf richtigen Namen
unlink( pCL->aOutputRcCtor.GetBuffer() ); // Zieldatei loeschen
@@ -776,14 +779,14 @@ ERRTYPE RscCompiler :: ParseOneFile( ULONG lFileKey,
{
RscFileInst aFileInst( pTC, lFileKey, lFileKey, finput );
- pTC->pEH->StdOut( "reading file " );
- pTC->pEH->StdOut( aParseFile.GetBuffer() );
- pTC->pEH->StdOut( " " );
+ pTC->pEH->StdOut( "reading file ", RscVerbosityVerbose );
+ pTC->pEH->StdOut( aParseFile.GetBuffer(), RscVerbosityVerbose );
+ pTC->pEH->StdOut( " ", RscVerbosityVerbose );
aError = ::parser( &aFileInst );
if( aError.IsError() )
pTC->Delete( lFileKey );//Resourceobjekte loeschen
- pTC->pEH->StdOut( "\n" );
+ pTC->pEH->StdOut( "\n", RscVerbosityVerbose );
fclose( finput );
};