diff options
author | Philipp Lohmann [pl] <Philipp.Lohmann@Sun.COM> | 2009-11-13 15:46:58 +0100 |
---|---|---|
committer | Philipp Lohmann [pl] <Philipp.Lohmann@Sun.COM> | 2009-11-13 15:46:58 +0100 |
commit | 0b93d9ef2d826b697ea9f27bb8b22b153a1533a4 (patch) | |
tree | b4d72a987a26bd77b111c8fedbf1a35772b76c4c /rsc | |
parent | d2b148f667115467247e985816595fd951f9bd7b (diff) | |
parent | 24534f00dd8799b3c2b2365ccd8c0009e19cddd5 (diff) |
merge with DEV300_m64
Diffstat (limited to 'rsc')
-rw-r--r-- | rsc/inc/rscerror.h | 14 | ||||
-rw-r--r-- | rsc/source/parser/erscerr.cxx | 13 | ||||
-rw-r--r-- | rsc/source/parser/rscyacc.cxx | 2 | ||||
-rw-r--r-- | rsc/source/prj/gui.cxx | 16 | ||||
-rw-r--r-- | rsc/source/prj/start.cxx | 88 | ||||
-rw-r--r-- | rsc/source/rsc/rsc.cxx | 51 |
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 ); }; |