summaryrefslogtreecommitdiff
path: root/rsc/source/prj/start.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'rsc/source/prj/start.cxx')
-rw-r--r--rsc/source/prj/start.cxx354
1 files changed, 0 insertions, 354 deletions
diff --git a/rsc/source/prj/start.cxx b/rsc/source/prj/start.cxx
deleted file mode 100644
index 5360955757..0000000000
--- a/rsc/source/prj/start.cxx
+++ /dev/null
@@ -1,354 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * 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_rsc.hxx"
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <fcntl.h>
-#include <string.h>
-
-#ifdef UNX
-#include <unistd.h>
-#include <sys/wait.h>
-#else // UNX
-
-#include <io.h>
-#include <process.h>
-#include <dos.h>
-
-#endif // UNX
-#include <rsctools.hxx>
-#include <rscerror.h>
-#include <sal/main.h>
-#include <tools/fsys.hxx>
-
-/*************** C O D E ************************************************/
-
-// Entry point declaration for modules rscpp and rsc2
-extern "C"
-{
- int rscpp_main(int, char**);
-}
-int rsc2_main(int, char**);
-
-/*************************************************************************
-|* CallPrePro()
-|*
-|* Beschreibung
-*************************************************************************/
-static sal_Bool CallPrePro( const ByteString& rInput,
- const ByteString& rOutput,
- RscPtrPtr * pCmdLine,
- sal_Bool bResponse )
-{
- RscPtrPtr aNewCmdL; // Kommandozeile
- RscPtrPtr aRespCmdL; // Kommandozeile
- RscPtrPtr * pCmdL = &aNewCmdL;
- int i, nRet;
- FILE* fRspFile = NULL;
- ByteString aRspFileName;
-
- if( bResponse )
- {
- aRspFileName = ::GetTmpFileName();
- fRspFile = fopen( aRspFileName.GetBuffer(), "w" );
- }
-
- if( !fRspFile )
- aNewCmdL.Append( rsc_strdup( "rscpp" ) );
-
- 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 );
-
- if ( bVerbose )
- {
- printf( "Preprocessor commandline: " );
- for( i = 0; i < (int)(pCmdL->GetCount() -1); i++ )
- {
- printf( " " );
- printf( "%s", (const char *)pCmdL->GetEntry( i ) );
- }
- printf( "\n" );
- }
-
- if( fRspFile )
- {
- aRespCmdL.Append( rsc_strdup( "rscpp" ) );
- ByteString aTmpStr( '@' );
- aTmpStr += aRspFileName;
- aRespCmdL.Append( rsc_strdup( aTmpStr.GetBuffer() ) );
- aRespCmdL.Append( (void *)0 );
-
- pCmdL = &aRespCmdL;
- for( i = 0; i < (int)(aNewCmdL.GetCount() -1); i++ )
- {
- fprintf( fRspFile, "%s ", (const char *)aNewCmdL.GetEntry( i ) );
- }
- fclose( fRspFile );
-
- if ( bVerbose )
- {
- printf( "Preprocessor startline: " );
- for( i = 0; i < (int)(pCmdL->GetCount() -1); i++ )
- {
- printf( " " );
- printf( "%s", (const char *)pCmdL->GetEntry( i ) );
- }
- printf( "\n" );
- }
- }
-
- nRet = rscpp_main( pCmdL->GetCount()-1, (char**)pCmdL->GetBlock() );
-
- if ( fRspFile )
- #if OSL_DEBUG_LEVEL > 5
- fprintf( stderr, "leaving response file %s\n", aRspFileName.GetBuffer() );
- #else
- unlink( aRspFileName.GetBuffer() );
- #endif
- if ( nRet )
- return sal_False;
-
- return sal_True;
-}
-
-
-/*************************************************************************
-|* CallRsc2
-|*
-|* Beschreibung
-*************************************************************************/
-static sal_Bool CallRsc2( RscStrList * pInputList,
- ByteString aSrsName,
- RscPtrPtr * pCmdLine )
-{
- int nRet;
- ByteString* pString;
- RscVerbosity eVerbosity = RscVerbosityNormal;
-
- RscPtrPtr aNewCmdL;
- aNewCmdL.Append( rsc_strdup( "rsc2" ) );
-
- for (int 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 ), "-presponse", 9 )
- || !rsc_strnicmp( (char *)pCmdLine->GetEntry( i ), "-rc", 3 )
- || !rsc_stricmp( (char *)pCmdLine->GetEntry( i ), "-+" )
- || !rsc_stricmp( (char *)pCmdLine->GetEntry( i ), "-br" )
- || !rsc_stricmp( (char *)pCmdLine->GetEntry( i ), "-bz" )
- || !rsc_stricmp( (char *)pCmdLine->GetEntry( i ), "-r" )
- || ( '-' != *(char *)pCmdLine->GetEntry( i ) ) )
- {
- }
- else
- aNewCmdL.Append( rsc_strdup( (char *)pCmdLine->GetEntry( i ) ) );
- };
-
- aNewCmdL.Append( rsc_strdup( aSrsName.GetBuffer() ) );
-
- for ( size_t i = 0, n = pInputList->size(); i < n; ++i )
- {
- pString = (*pInputList)[ i ];
- aNewCmdL.Append( rsc_strdup( pString->GetBuffer() ) );
- };
-
- if ( eVerbosity >= RscVerbosityVerbose )
- {
- printf( "Rsc2 commandline: " );
- for( size_t i = 0; i < (unsigned int)(aNewCmdL.GetCount() -1); i++ )
- {
- printf( " %s", (const char *)aNewCmdL.GetEntry( i ) );
- }
- printf( "\n" );
- }
-
- nRet = rsc2_main( aNewCmdL.GetCount(), (char**)aNewCmdL.GetBlock() );
-
- if( nRet )
- return( sal_False );
- return( sal_True );
-}
-
-/*************************************************************************
-|*
-|* main()
-|*
-*************************************************************************/
-SAL_IMPLEMENT_MAIN_WITH_ARGS(argc, argv)
-{
- sal_Bool bPrePro = sal_True;
- sal_Bool bHelp = sal_False;
- sal_Bool bError = sal_False;
- sal_Bool bResponse = sal_False;
- ByteString aSrsName;
- ByteString aResName;
- RscStrList aInputList;
- RscStrList aTmpList;
- char * pStr;
- char ** ppStr;
- RscPtrPtr aCmdLine; // Kommandozeile
- sal_uInt32 i;
- ByteString* pString;
-
- pStr = ::ResponseFile( &aCmdLine, argv, argc );
- if( pStr )
- {
- printf( "Cannot open response file <%s>\n", pStr );
- return( 1 );
- };
-
- ppStr = (char **)aCmdLine.GetBlock();
- ppStr++;
- i = 1;
- sal_Bool bSetSrs = sal_False;
- while( ppStr && i < (aCmdLine.GetCount() -1) )
- {
- if( '-' == **ppStr )
- {
- if( !rsc_stricmp( (*ppStr) + 1, "p" )
- || !rsc_stricmp( (*ppStr) + 1, "l" ) )
- { // kein Preprozessor
- bPrePro = sal_False;
- }
- else if( !rsc_stricmp( (*ppStr) + 1, "h" ) )
- { // Hilfe anzeigen
- bHelp = sal_True;
- }
- else if( !rsc_strnicmp( (*ppStr) + 1, "presponse", 9 ) )
- { // whether to use response file when parameterising preprocessor
- bResponse = sal_True;
- }
- else if( !rsc_strnicmp( (*ppStr) + 1, "fo=", 3 ) )
- { // anderer Name fuer .res-file
- aResName = (*ppStr) + 4;
- }
- else if( !rsc_strnicmp( (*ppStr) + 1, "fp=", 3 ) )
- { // anderer Name fuer .srs-file
- bSetSrs = sal_True;
- aSrsName = (*ppStr);
- }
- }
- else
- {
- // Eingabedatei
- aInputList.push_back( new ByteString( *ppStr ) );
- }
- ppStr++;
- i++;
- }
-
- if( !aInputList.empty() )
- {
- /* build the output file names */
- if( ! aResName.Len() )
- aResName = OutputFile( *aInputList[ 0 ], "res" );
- if( ! bSetSrs )
- {
- aSrsName = "-fp=";
- aSrsName += OutputFile( *aInputList[ 0 ], "srs" );
- }
- };
-
- if( bHelp )
- bPrePro = sal_False;
- if( bPrePro && !aInputList.empty() )
- {
- ByteString aTmpName;
-
- for ( size_t k = 0, n = aInputList.size(); k < n; ++k )
- {
- pString = aInputList[ k ];
- aTmpName = ::GetTmpFileName();
- if( !CallPrePro( *pString, aTmpName, &aCmdLine, bResponse ) )
- {
- printf( "Error starting preprocessor\n" );
- bError = sal_True;
- break;
- }
- aTmpList.push_back( new ByteString( aTmpName ) );
- };
- };
-
- if( !bError )
- {
- if( !CallRsc2( bPrePro ? &aTmpList : &aInputList, aSrsName, &aCmdLine ) )
- {
- if( !bHelp )
- {
- printf( "Error starting rsc2 compiler\n" );
- bError = sal_True;
- }
- };
- };
-
- for ( size_t k = 0, n = aTmpList.size(); k < n; ++k )
- unlink( aTmpList[ k ]->GetBuffer() );
-
- return( bError );
-}
-
-void RscExit( sal_uInt32 nExit )
-{
- if( nExit )
- printf( "Program exit is %d\n", (int)nExit );
- exit( nExit );
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */