summaryrefslogtreecommitdiff
path: root/rsc/source
diff options
context:
space:
mode:
authorHans-Joachim Lankenau <hjs@openoffice.org>2001-11-06 16:54:36 +0000
committerHans-Joachim Lankenau <hjs@openoffice.org>2001-11-06 16:54:36 +0000
commit6f14fa2a6799e4e2611f342784fca32cb42fcf07 (patch)
tree94207030ed9adf58672a5a4c0a7f452f713e9f7a /rsc/source
parent1776c1d01f083b5870254a85f82db5379f8c16f3 (diff)
#94297# add -lip switch
Diffstat (limited to 'rsc/source')
-rw-r--r--rsc/source/parser/erscerr.cxx12
-rw-r--r--rsc/source/parser/rscdb.cxx9
-rw-r--r--rsc/source/rsc/rsc.cxx21
3 files changed, 31 insertions, 11 deletions
diff --git a/rsc/source/parser/erscerr.cxx b/rsc/source/parser/erscerr.cxx
index 1765b4d0a0f0..92fc6c9366fe 100644
--- a/rsc/source/parser/erscerr.cxx
+++ b/rsc/source/parser/erscerr.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: erscerr.cxx,v $
*
- * $Revision: 1.4 $
+ * $Revision: 1.5 $
*
- * last change: $Author: pl $ $Date: 2001-11-06 14:22:12 $
+ * last change: $Author: hjs $ $Date: 2001-11-06 17:54:36 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -235,7 +235,8 @@ void RscError::WriteError( const ERRTYPE& rError, const char * pMessage )
StdLstOut( "-lg<language> Use a different language.\n" );
StdLstOut( "-pp<filename> Use a different Preprocessor.\n" );
StdLstOut( "-rc<filename> Use a different system resource compiler.\n" );
- StdLstOut( "-fs<filename> Renaming of the .res file.\n" );
+ StdLstOut( "-fs<filename> Name of the .res file.\n" );
+ StdLstOut( "-lip<path> additional search path for system dependant files\n" );
StdLstOut( "-fp<filename> Renaming of the .srs file.\n" );
StdLstOut( "-fl<filename> Listing file.\n" );
StdLstOut( "-fh<filename> Header file.\n" );
@@ -247,8 +248,9 @@ void RscError::WriteError( const ERRTYPE& rError, const char * pMessage )
StdLstOut( "-SMART Generate smart names (cxx, hxx).\n" );
StdLstOut( "-SrsDefault Only write one language to srs file.\n" );
StdLstOut( "\nwhen creating multiple .res files in one pass, please give these\n" );
- StdLstOut( "three options in consecutive blocks:\n -lg<language> -CHARSET_... -fs<filename>\n" );
- StdLstOut( "a new block begins when any of these three options is used again.\n" );
+ StdLstOut( "options in consecutive blocks:\n" );
+ StdLstOut( "-lg<language> -CHARSET_... -fs<filename> [-lip<path> [-lip<path>] ]\n" );
+ StdLstOut( "a new block begins when any of the first three options is used again.\n" );
break;
case ERR_UNKNOWNSW:
diff --git a/rsc/source/parser/rscdb.cxx b/rsc/source/parser/rscdb.cxx
index f6495b4de455..3c1f0553ecb7 100644
--- a/rsc/source/parser/rscdb.cxx
+++ b/rsc/source/parser/rscdb.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: rscdb.cxx,v $
*
- * $Revision: 1.3 $
+ * $Revision: 1.4 $
*
- * last change: $Author: pl $ $Date: 2001-11-06 13:52:58 $
+ * last change: $Author: hjs $ $Date: 2001-11-06 17:54:36 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -795,8 +795,11 @@ ERRTYPE RscTypCont::WriteRc( FILE * fOutput )
{
UniString aUniFileName( pSysEntry->aFileName, RTL_TEXTENCODING_ASCII_US );
DirEntry aFullName( aUniFileName );
- aFullName.Find( UniString( GetSearchPath(), RTL_TEXTENCODING_ASCII_US ) );
+ aFullName.Find( UniString( GetSysSearchPath(), RTL_TEXTENCODING_ASCII_US ) );
pSysEntry->aFileName = ByteString( aFullName.GetFull(), RTL_TEXTENCODING_ASCII_US );
+#ifdef DEBUG
+ fprintf( stderr, "found sys dep file %s\n", pSysEntry->aFileName.GetBuffer() );
+#endif
if( !::Append( fOutput, pSysEntry->aFileName.GetBuffer() ) )
{
pEH->FatalError( ERR_OPENFILE, RscId(), pSysEntry->aFileName.GetBuffer() );
diff --git a/rsc/source/rsc/rsc.cxx b/rsc/source/rsc/rsc.cxx
index 93f1aa22bd5f..c3ba89e7055f 100644
--- a/rsc/source/rsc/rsc.cxx
+++ b/rsc/source/rsc/rsc.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: rsc.cxx,v $
*
- * $Revision: 1.11 $
+ * $Revision: 1.12 $
*
- * last change: $Author: pl $ $Date: 2001-11-06 14:02:06 $
+ * last change: $Author: hjs $ $Date: 2001-11-06 17:54:36 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -264,6 +264,12 @@ RscCmdLine::RscCmdLine( short argc, char ** argv, RscError * pEH )
m_aOutputFiles.push_back( OutputFile() );
m_aOutputFiles.back().aOutputRc = (*ppStr) + 3;
}
+ else if( !rsc_strnicmp( (*ppStr) + 1, "lip", 3 ) )
+ { // additional language specific include for system dependent files
+ if( m_aOutputFiles.back().aLangSearchPath.Len() )
+ m_aOutputFiles.back().aLangSearchPath.Append( ByteString( DirEntry::GetSearchDelimiter(), RTL_TEXTENCODING_ASCII_US ) );
+ m_aOutputFiles.back().aLangSearchPath.Append( (*ppStr)+4 );
+ }
else if( !rsc_strnicmp( (*ppStr) + 1, "fp", 2 ) )
{ // anderer Name fuer .srs-file
aOutputSrs = (*ppStr) + 3;
@@ -890,12 +896,21 @@ ERRTYPE RscCompiler::Link()
// Schreibe Datei
#ifdef DEBUG
- fprintf( stderr, "using tmp file %s %s\n", pTmp, aDir.GetBuffer() );
+ fprintf( stderr, "using tmp file %s\n", pTmp );
#endif
pTC->ChangeLanguage( it->nLangTypeId );
pTC->ChangeDefLanguage( International::GetNeutralLanguage( it->nLangTypeId ) );
pTC->SetSourceCharSet( it->nSourceCharSet );
pTC->ClearSysNames();
+ ByteString aSysSearchPath( it->aLangSearchPath );
+ if( aSysSearchPath.Len() )
+ aSysSearchPath.Append( ByteString( DirEntry::GetSearchDelimiter(), RTL_TEXTENCODING_ASCII_US ) );
+ aSysSearchPath.Append( pTC->GetSearchPath() );
+ pTC->SetSysSearchPath( aSysSearchPath );
+#ifdef DEBUG
+ fprintf( stderr, "from path %s setting search path %s\n", it->aLangSearchPath.GetBuffer(), aSysSearchPath.GetBuffer() );
+#endif
+
aError = pTC->WriteRc( foutput );
fclose( foutput );