office-gobmx/idlc/source/idlcmain.cxx

176 lines
5.8 KiB
C++
Raw Normal View History

/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2001-03-15 05:30:43 -06:00
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
2001-03-15 05:30:43 -06:00
*
* Copyright 2000, 2010 Oracle and/or its affiliates.
2001-03-15 05:30:43 -06:00
*
* OpenOffice.org - a multi-platform office productivity suite
2001-03-15 05:30:43 -06:00
*
* This file is part of OpenOffice.org.
2001-03-15 05:30:43 -06:00
*
* 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.
2001-03-15 05:30:43 -06:00
*
* 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).
2001-03-15 05:30:43 -06:00
*
* 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.
2001-03-15 05:30:43 -06:00
*
************************************************************************/
2011-01-31 06:30:43 -06:00
#include "idlc/idlc.hxx"
#include "sal/main.h"
2001-03-15 05:30:43 -06:00
2011-01-31 06:30:43 -06:00
#include <string.h>
2001-03-15 05:30:43 -06:00
using namespace ::rtl;
SAL_IMPLEMENT_MAIN_WITH_ARGS(argc, argv)
2001-03-15 05:30:43 -06:00
{
std::vector< std::string > args;
for (int i = 1; i < argc; i++)
{
if (!Options::checkArgument (args, argv[i], strlen(argv[i])))
return (1);
}
2001-03-15 05:30:43 -06:00
Options options(argv[0]);
2001-03-15 05:30:43 -06:00
try
{
if (!options.initOptions(args))
return (0);
2001-03-15 05:30:43 -06:00
}
2011-12-14 22:51:29 -06:00
catch(const IllegalArgument& e)
2001-03-15 05:30:43 -06:00
{
fprintf(stderr, "Illegal argument: %s\n%s",
e.m_message.getStr(),
options.prepareVersion().getStr());
return (99);
2001-03-15 05:30:43 -06:00
}
setIdlc(&options);
sal_Int32 nErrors = 0;
if (options.readStdin()) {
CWS-TOOLING: integrate CWS buildverbosity 2009-10-13 15:51:48 +0200 fs r276867 : allow building with 'nodep'=='' 2009-10-11 22:39:56 +0200 fs r276820 : silence a compiler warning in a file only used when VERBOSE!="" 2009-10-09 14:37:43 +0200 fs r276807 : let not override the non-presence of $VERBOSE the given command line arguments 2009-10-09 14:36:25 +0200 fs r276806 : also deliver spirit/home/classic/debug/impl 2009-10-08 13:38:07 +0200 fs r276789 : not that many line feeds in --show mode 2009-10-08 13:13:01 +0200 fs r276788 : minor adjustments requested by hjs: - replaced space/tab mixes at beginning of lines with mere tab - made "nothing to update" message for the ZIPALLTARGET target more prominent - removed useless "echo > /dev/nul" statements 2009-10-07 13:32:12 +0200 fs r276753 : #i105585# 2009-10-07 11:31:59 +0200 fs r276742 : #i10000# missing dependency between stoc/security and stoc/util 2009-10-06 22:59:59 +0200 fs r276729 : CWS-TOOLING: rebase CWS buildverbosity to trunk@276699 (milestone: DEV300:m61) 2009-09-29 12:04:58 +0200 fs r276518 : #i10000# 2009-09-29 12:04:25 +0200 fs r276517 : oops 2009-09-29 12:01:07 +0200 fs r276516 : #i84497# removed some more (non-diagnostic) 'echo ------' directives 2009-09-29 11:59:29 +0200 fs r276515 : #i84497# removed some more (non-diagnostic) 'echo ------' directives 2009-09-29 11:52:32 +0200 fs r276514 : #i84497# removed the various 'echo ------------' directives from verbose mode, as per hjs' request 2009-09-29 11:44:16 +0200 fs r276513 : do not duplicate IDLC call commands with different verbosity switches 2009-09-28 21:43:50 +0200 thb r276502 : #i84497# fixed potential recursive macro def + extra ls * solenv/inc/settings.mk: now setting via VERBOSE!:=, removes warning and my spurious "recursive macro definition" error * solenv/inc/tg_app.mk: one extra ls silenced for app target (and quiet mode, that goes without saying) 2009-09-23 08:57:01 +0200 fs r276366 : use ULFEX_VERBOSITY instead of duplicating the ULFEX call 2009-09-21 11:42:26 +0200 fs r276320 : ignore output paths 2009-09-21 11:04:27 +0200 fs r276318 : silence another compiler warning, which only hits us when actually using this (debug) file, which is the case only when slideshow is compiled with a env variable VERBOSE, thus came up in CWS buildverbosity 2009-09-21 10:30:14 +0200 fs r276313 : make some output depend on VERBOSE==TRUE, not COMMAND_ECHO="" While both are equivalent at the moment, COMMAND_ECHO finally is an implementation default of the VERBOSE flag only, so better rely on VERBOSE as the primary verbosity flag 2009-09-21 09:56:57 +0200 fs r276311 : forgot to re-generate from tg_zip before committing 2009-09-21 09:52:11 +0200 fs r276310 : #i84497# even less verbosity 2009-09-17 11:02:47 +0200 fs r276232 : #i84497# verbose implies VERBOSE nowadays, and VERBOSE==FALSE should not lead to -DVERBOSE 2009-09-15 22:59:37 +0200 fs r276189 : #i105022# copy fix for this P1 into this CWS 2009-09-15 11:56:35 +0200 fs r276165 : CWS-TOOLING: rebase CWS buildverbosity to trunk@276043 (milestone: DEV300:m58) 2009-09-14 17:45:10 +0200 fs r276137 : #i84497# don't duplicate zip lines w/ and w/o -q switch, use a variable instead (maintenance) 2009-09-14 15:01:33 +0200 fs r276124 : #i10000# 2009-09-11 23:58:46 +0200 thb r276083 : #i84497#: More quiet-build fine tuning - silenced rsc for real (properly filtering options for cpp, and a pretty brutal amputation of the tool blurp, which would have needed cmd opt parser duplication) - silenced deliver.pl - silenced checkdll.sh - silenced zip via -q (in quiet mode) - silenced various idl, resource, transex whatever tool, passing appropriate options down to them '-QQ' sometimes - silenced dmake, pointless blurb that something does *not* need update removed - silenced the old starview idl compiler, to not output tool's name & progress chars in quiet mode 2009-09-11 21:13:59 +0200 thb r276081 : #i84497#: More bits on the quiet mode of the build. The bulk of the changes is disabling those annoying "echo ------------------" lines for the quiet build, which has the stretch goal of outputting *exactly* one line per file compiled/linked/processed. Apart from that, silenced a few especialy annoying module-specific makefiles (basically adding $(COMMAND_ECHO) in front of a gazillion rules). Additionally, slightly tweaked what idlc regards verbose, normal, and quiet mode; this was to have it echo exactly one line per idl file processed (the fact that quiet mode did not echo *anything* for idl files was a bit too much for my taste) 2009-09-04 09:14:35 +0200 fs r275777 : don't emit the link parameters if VERBOSE!=TRUE 2009-09-02 10:31:15 +0200 fs r275700 : #i10000# 2009-09-02 08:44:14 +0200 fs r275697 : update svn:ignore to ignore the output paths 2009-09-02 08:40:54 +0200 fs r275695 : #i84497# less verbose output during build, unless a dedicated '-verbose' switch is given 2009-09-02 08:40:28 +0200 fs r275694 : GRAPHITE is missing in the BUILD_TYPE 2009-09-02 08:40:05 +0200 fs r275693 : #i84497# less verbose output during build, unless a dedicated '-verbose' switch is given 2009-09-02 08:39:25 +0200 fs r275692 : #i84497# less verbose output during build, unless a dedicated '-verbose' switch is given 2009-09-02 08:39:02 +0200 fs r275691 : #i84497# less verbose output during build, unless a dedicated '-verbose' switch is given 2009-09-02 08:38:09 +0200 fs r275690 : #i84497# less verbose output during build 2009-09-02 08:37:06 +0200 fs r275689 : #i84497# don't emit that much noise, unless a '-verbose' switch is given
2009-10-21 05:43:22 -05:00
if ( !options.quiet() )
fprintf(
stdout, "%s: Compiling stdin\n",
options.getProgramName().getStr());
nErrors = compileFile(0);
CWS-TOOLING: integrate CWS buildverbosity 2009-10-13 15:51:48 +0200 fs r276867 : allow building with 'nodep'=='' 2009-10-11 22:39:56 +0200 fs r276820 : silence a compiler warning in a file only used when VERBOSE!="" 2009-10-09 14:37:43 +0200 fs r276807 : let not override the non-presence of $VERBOSE the given command line arguments 2009-10-09 14:36:25 +0200 fs r276806 : also deliver spirit/home/classic/debug/impl 2009-10-08 13:38:07 +0200 fs r276789 : not that many line feeds in --show mode 2009-10-08 13:13:01 +0200 fs r276788 : minor adjustments requested by hjs: - replaced space/tab mixes at beginning of lines with mere tab - made "nothing to update" message for the ZIPALLTARGET target more prominent - removed useless "echo > /dev/nul" statements 2009-10-07 13:32:12 +0200 fs r276753 : #i105585# 2009-10-07 11:31:59 +0200 fs r276742 : #i10000# missing dependency between stoc/security and stoc/util 2009-10-06 22:59:59 +0200 fs r276729 : CWS-TOOLING: rebase CWS buildverbosity to trunk@276699 (milestone: DEV300:m61) 2009-09-29 12:04:58 +0200 fs r276518 : #i10000# 2009-09-29 12:04:25 +0200 fs r276517 : oops 2009-09-29 12:01:07 +0200 fs r276516 : #i84497# removed some more (non-diagnostic) 'echo ------' directives 2009-09-29 11:59:29 +0200 fs r276515 : #i84497# removed some more (non-diagnostic) 'echo ------' directives 2009-09-29 11:52:32 +0200 fs r276514 : #i84497# removed the various 'echo ------------' directives from verbose mode, as per hjs' request 2009-09-29 11:44:16 +0200 fs r276513 : do not duplicate IDLC call commands with different verbosity switches 2009-09-28 21:43:50 +0200 thb r276502 : #i84497# fixed potential recursive macro def + extra ls * solenv/inc/settings.mk: now setting via VERBOSE!:=, removes warning and my spurious "recursive macro definition" error * solenv/inc/tg_app.mk: one extra ls silenced for app target (and quiet mode, that goes without saying) 2009-09-23 08:57:01 +0200 fs r276366 : use ULFEX_VERBOSITY instead of duplicating the ULFEX call 2009-09-21 11:42:26 +0200 fs r276320 : ignore output paths 2009-09-21 11:04:27 +0200 fs r276318 : silence another compiler warning, which only hits us when actually using this (debug) file, which is the case only when slideshow is compiled with a env variable VERBOSE, thus came up in CWS buildverbosity 2009-09-21 10:30:14 +0200 fs r276313 : make some output depend on VERBOSE==TRUE, not COMMAND_ECHO="" While both are equivalent at the moment, COMMAND_ECHO finally is an implementation default of the VERBOSE flag only, so better rely on VERBOSE as the primary verbosity flag 2009-09-21 09:56:57 +0200 fs r276311 : forgot to re-generate from tg_zip before committing 2009-09-21 09:52:11 +0200 fs r276310 : #i84497# even less verbosity 2009-09-17 11:02:47 +0200 fs r276232 : #i84497# verbose implies VERBOSE nowadays, and VERBOSE==FALSE should not lead to -DVERBOSE 2009-09-15 22:59:37 +0200 fs r276189 : #i105022# copy fix for this P1 into this CWS 2009-09-15 11:56:35 +0200 fs r276165 : CWS-TOOLING: rebase CWS buildverbosity to trunk@276043 (milestone: DEV300:m58) 2009-09-14 17:45:10 +0200 fs r276137 : #i84497# don't duplicate zip lines w/ and w/o -q switch, use a variable instead (maintenance) 2009-09-14 15:01:33 +0200 fs r276124 : #i10000# 2009-09-11 23:58:46 +0200 thb r276083 : #i84497#: More quiet-build fine tuning - silenced rsc for real (properly filtering options for cpp, and a pretty brutal amputation of the tool blurp, which would have needed cmd opt parser duplication) - silenced deliver.pl - silenced checkdll.sh - silenced zip via -q (in quiet mode) - silenced various idl, resource, transex whatever tool, passing appropriate options down to them '-QQ' sometimes - silenced dmake, pointless blurb that something does *not* need update removed - silenced the old starview idl compiler, to not output tool's name & progress chars in quiet mode 2009-09-11 21:13:59 +0200 thb r276081 : #i84497#: More bits on the quiet mode of the build. The bulk of the changes is disabling those annoying "echo ------------------" lines for the quiet build, which has the stretch goal of outputting *exactly* one line per file compiled/linked/processed. Apart from that, silenced a few especialy annoying module-specific makefiles (basically adding $(COMMAND_ECHO) in front of a gazillion rules). Additionally, slightly tweaked what idlc regards verbose, normal, and quiet mode; this was to have it echo exactly one line per idl file processed (the fact that quiet mode did not echo *anything* for idl files was a bit too much for my taste) 2009-09-04 09:14:35 +0200 fs r275777 : don't emit the link parameters if VERBOSE!=TRUE 2009-09-02 10:31:15 +0200 fs r275700 : #i10000# 2009-09-02 08:44:14 +0200 fs r275697 : update svn:ignore to ignore the output paths 2009-09-02 08:40:54 +0200 fs r275695 : #i84497# less verbose output during build, unless a dedicated '-verbose' switch is given 2009-09-02 08:40:28 +0200 fs r275694 : GRAPHITE is missing in the BUILD_TYPE 2009-09-02 08:40:05 +0200 fs r275693 : #i84497# less verbose output during build, unless a dedicated '-verbose' switch is given 2009-09-02 08:39:25 +0200 fs r275692 : #i84497# less verbose output during build, unless a dedicated '-verbose' switch is given 2009-09-02 08:39:02 +0200 fs r275691 : #i84497# less verbose output during build, unless a dedicated '-verbose' switch is given 2009-09-02 08:38:09 +0200 fs r275690 : #i84497# less verbose output during build 2009-09-02 08:37:06 +0200 fs r275689 : #i84497# don't emit that much noise, unless a '-verbose' switch is given
2009-10-21 05:43:22 -05:00
if ( ( idlc()->getWarningCount() > 0 ) && !options.quiet() ) {
fprintf(
stdout, "%s: detected %lu warnings compiling stdin\n",
options.getProgramName().getStr(),
sal::static_int_cast< unsigned long >(
idlc()->getWarningCount()));
}
OString outputUrl;
if (options.isValid("-O")) {
outputUrl = convertToFileUrl(options.getOption("-O"));
if (outputUrl[outputUrl.getLength() - 1] != '/') {
outputUrl += "/";
}
outputUrl += "stdin.urd";
} else {
outputUrl = convertToFileUrl("stdin.urd");
}
if (nErrors > 0) {
removeIfExists(outputUrl);
} else {
nErrors = produceFile(outputUrl, 0);
}
idlc()->reset();
}
StringVector const & files = options.getInputFiles();
CWS-TOOLING: integrate CWS buildverbosity 2009-10-13 15:51:48 +0200 fs r276867 : allow building with 'nodep'=='' 2009-10-11 22:39:56 +0200 fs r276820 : silence a compiler warning in a file only used when VERBOSE!="" 2009-10-09 14:37:43 +0200 fs r276807 : let not override the non-presence of $VERBOSE the given command line arguments 2009-10-09 14:36:25 +0200 fs r276806 : also deliver spirit/home/classic/debug/impl 2009-10-08 13:38:07 +0200 fs r276789 : not that many line feeds in --show mode 2009-10-08 13:13:01 +0200 fs r276788 : minor adjustments requested by hjs: - replaced space/tab mixes at beginning of lines with mere tab - made "nothing to update" message for the ZIPALLTARGET target more prominent - removed useless "echo > /dev/nul" statements 2009-10-07 13:32:12 +0200 fs r276753 : #i105585# 2009-10-07 11:31:59 +0200 fs r276742 : #i10000# missing dependency between stoc/security and stoc/util 2009-10-06 22:59:59 +0200 fs r276729 : CWS-TOOLING: rebase CWS buildverbosity to trunk@276699 (milestone: DEV300:m61) 2009-09-29 12:04:58 +0200 fs r276518 : #i10000# 2009-09-29 12:04:25 +0200 fs r276517 : oops 2009-09-29 12:01:07 +0200 fs r276516 : #i84497# removed some more (non-diagnostic) 'echo ------' directives 2009-09-29 11:59:29 +0200 fs r276515 : #i84497# removed some more (non-diagnostic) 'echo ------' directives 2009-09-29 11:52:32 +0200 fs r276514 : #i84497# removed the various 'echo ------------' directives from verbose mode, as per hjs' request 2009-09-29 11:44:16 +0200 fs r276513 : do not duplicate IDLC call commands with different verbosity switches 2009-09-28 21:43:50 +0200 thb r276502 : #i84497# fixed potential recursive macro def + extra ls * solenv/inc/settings.mk: now setting via VERBOSE!:=, removes warning and my spurious "recursive macro definition" error * solenv/inc/tg_app.mk: one extra ls silenced for app target (and quiet mode, that goes without saying) 2009-09-23 08:57:01 +0200 fs r276366 : use ULFEX_VERBOSITY instead of duplicating the ULFEX call 2009-09-21 11:42:26 +0200 fs r276320 : ignore output paths 2009-09-21 11:04:27 +0200 fs r276318 : silence another compiler warning, which only hits us when actually using this (debug) file, which is the case only when slideshow is compiled with a env variable VERBOSE, thus came up in CWS buildverbosity 2009-09-21 10:30:14 +0200 fs r276313 : make some output depend on VERBOSE==TRUE, not COMMAND_ECHO="" While both are equivalent at the moment, COMMAND_ECHO finally is an implementation default of the VERBOSE flag only, so better rely on VERBOSE as the primary verbosity flag 2009-09-21 09:56:57 +0200 fs r276311 : forgot to re-generate from tg_zip before committing 2009-09-21 09:52:11 +0200 fs r276310 : #i84497# even less verbosity 2009-09-17 11:02:47 +0200 fs r276232 : #i84497# verbose implies VERBOSE nowadays, and VERBOSE==FALSE should not lead to -DVERBOSE 2009-09-15 22:59:37 +0200 fs r276189 : #i105022# copy fix for this P1 into this CWS 2009-09-15 11:56:35 +0200 fs r276165 : CWS-TOOLING: rebase CWS buildverbosity to trunk@276043 (milestone: DEV300:m58) 2009-09-14 17:45:10 +0200 fs r276137 : #i84497# don't duplicate zip lines w/ and w/o -q switch, use a variable instead (maintenance) 2009-09-14 15:01:33 +0200 fs r276124 : #i10000# 2009-09-11 23:58:46 +0200 thb r276083 : #i84497#: More quiet-build fine tuning - silenced rsc for real (properly filtering options for cpp, and a pretty brutal amputation of the tool blurp, which would have needed cmd opt parser duplication) - silenced deliver.pl - silenced checkdll.sh - silenced zip via -q (in quiet mode) - silenced various idl, resource, transex whatever tool, passing appropriate options down to them '-QQ' sometimes - silenced dmake, pointless blurb that something does *not* need update removed - silenced the old starview idl compiler, to not output tool's name & progress chars in quiet mode 2009-09-11 21:13:59 +0200 thb r276081 : #i84497#: More bits on the quiet mode of the build. The bulk of the changes is disabling those annoying "echo ------------------" lines for the quiet build, which has the stretch goal of outputting *exactly* one line per file compiled/linked/processed. Apart from that, silenced a few especialy annoying module-specific makefiles (basically adding $(COMMAND_ECHO) in front of a gazillion rules). Additionally, slightly tweaked what idlc regards verbose, normal, and quiet mode; this was to have it echo exactly one line per idl file processed (the fact that quiet mode did not echo *anything* for idl files was a bit too much for my taste) 2009-09-04 09:14:35 +0200 fs r275777 : don't emit the link parameters if VERBOSE!=TRUE 2009-09-02 10:31:15 +0200 fs r275700 : #i10000# 2009-09-02 08:44:14 +0200 fs r275697 : update svn:ignore to ignore the output paths 2009-09-02 08:40:54 +0200 fs r275695 : #i84497# less verbose output during build, unless a dedicated '-verbose' switch is given 2009-09-02 08:40:28 +0200 fs r275694 : GRAPHITE is missing in the BUILD_TYPE 2009-09-02 08:40:05 +0200 fs r275693 : #i84497# less verbose output during build, unless a dedicated '-verbose' switch is given 2009-09-02 08:39:25 +0200 fs r275692 : #i84497# less verbose output during build, unless a dedicated '-verbose' switch is given 2009-09-02 08:39:02 +0200 fs r275691 : #i84497# less verbose output during build, unless a dedicated '-verbose' switch is given 2009-09-02 08:38:09 +0200 fs r275690 : #i84497# less verbose output during build 2009-09-02 08:37:06 +0200 fs r275689 : #i84497# don't emit that much noise, unless a '-verbose' switch is given
2009-10-21 05:43:22 -05:00
if ( options.verbose() )
{
fprintf( stdout, "%s: compiling %i source files ... \n",
options.getProgramName().getStr(), (int)files.size() );
fflush( stdout );
}
for (StringVector::const_iterator i(files.begin());
i != files.end() && nErrors == 0; ++i)
2001-03-15 05:30:43 -06:00
{
OString sysFileName( convertToAbsoluteSystemPath(*i) );
CWS-TOOLING: integrate CWS buildverbosity 2009-10-13 15:51:48 +0200 fs r276867 : allow building with 'nodep'=='' 2009-10-11 22:39:56 +0200 fs r276820 : silence a compiler warning in a file only used when VERBOSE!="" 2009-10-09 14:37:43 +0200 fs r276807 : let not override the non-presence of $VERBOSE the given command line arguments 2009-10-09 14:36:25 +0200 fs r276806 : also deliver spirit/home/classic/debug/impl 2009-10-08 13:38:07 +0200 fs r276789 : not that many line feeds in --show mode 2009-10-08 13:13:01 +0200 fs r276788 : minor adjustments requested by hjs: - replaced space/tab mixes at beginning of lines with mere tab - made "nothing to update" message for the ZIPALLTARGET target more prominent - removed useless "echo > /dev/nul" statements 2009-10-07 13:32:12 +0200 fs r276753 : #i105585# 2009-10-07 11:31:59 +0200 fs r276742 : #i10000# missing dependency between stoc/security and stoc/util 2009-10-06 22:59:59 +0200 fs r276729 : CWS-TOOLING: rebase CWS buildverbosity to trunk@276699 (milestone: DEV300:m61) 2009-09-29 12:04:58 +0200 fs r276518 : #i10000# 2009-09-29 12:04:25 +0200 fs r276517 : oops 2009-09-29 12:01:07 +0200 fs r276516 : #i84497# removed some more (non-diagnostic) 'echo ------' directives 2009-09-29 11:59:29 +0200 fs r276515 : #i84497# removed some more (non-diagnostic) 'echo ------' directives 2009-09-29 11:52:32 +0200 fs r276514 : #i84497# removed the various 'echo ------------' directives from verbose mode, as per hjs' request 2009-09-29 11:44:16 +0200 fs r276513 : do not duplicate IDLC call commands with different verbosity switches 2009-09-28 21:43:50 +0200 thb r276502 : #i84497# fixed potential recursive macro def + extra ls * solenv/inc/settings.mk: now setting via VERBOSE!:=, removes warning and my spurious "recursive macro definition" error * solenv/inc/tg_app.mk: one extra ls silenced for app target (and quiet mode, that goes without saying) 2009-09-23 08:57:01 +0200 fs r276366 : use ULFEX_VERBOSITY instead of duplicating the ULFEX call 2009-09-21 11:42:26 +0200 fs r276320 : ignore output paths 2009-09-21 11:04:27 +0200 fs r276318 : silence another compiler warning, which only hits us when actually using this (debug) file, which is the case only when slideshow is compiled with a env variable VERBOSE, thus came up in CWS buildverbosity 2009-09-21 10:30:14 +0200 fs r276313 : make some output depend on VERBOSE==TRUE, not COMMAND_ECHO="" While both are equivalent at the moment, COMMAND_ECHO finally is an implementation default of the VERBOSE flag only, so better rely on VERBOSE as the primary verbosity flag 2009-09-21 09:56:57 +0200 fs r276311 : forgot to re-generate from tg_zip before committing 2009-09-21 09:52:11 +0200 fs r276310 : #i84497# even less verbosity 2009-09-17 11:02:47 +0200 fs r276232 : #i84497# verbose implies VERBOSE nowadays, and VERBOSE==FALSE should not lead to -DVERBOSE 2009-09-15 22:59:37 +0200 fs r276189 : #i105022# copy fix for this P1 into this CWS 2009-09-15 11:56:35 +0200 fs r276165 : CWS-TOOLING: rebase CWS buildverbosity to trunk@276043 (milestone: DEV300:m58) 2009-09-14 17:45:10 +0200 fs r276137 : #i84497# don't duplicate zip lines w/ and w/o -q switch, use a variable instead (maintenance) 2009-09-14 15:01:33 +0200 fs r276124 : #i10000# 2009-09-11 23:58:46 +0200 thb r276083 : #i84497#: More quiet-build fine tuning - silenced rsc for real (properly filtering options for cpp, and a pretty brutal amputation of the tool blurp, which would have needed cmd opt parser duplication) - silenced deliver.pl - silenced checkdll.sh - silenced zip via -q (in quiet mode) - silenced various idl, resource, transex whatever tool, passing appropriate options down to them '-QQ' sometimes - silenced dmake, pointless blurb that something does *not* need update removed - silenced the old starview idl compiler, to not output tool's name & progress chars in quiet mode 2009-09-11 21:13:59 +0200 thb r276081 : #i84497#: More bits on the quiet mode of the build. The bulk of the changes is disabling those annoying "echo ------------------" lines for the quiet build, which has the stretch goal of outputting *exactly* one line per file compiled/linked/processed. Apart from that, silenced a few especialy annoying module-specific makefiles (basically adding $(COMMAND_ECHO) in front of a gazillion rules). Additionally, slightly tweaked what idlc regards verbose, normal, and quiet mode; this was to have it echo exactly one line per idl file processed (the fact that quiet mode did not echo *anything* for idl files was a bit too much for my taste) 2009-09-04 09:14:35 +0200 fs r275777 : don't emit the link parameters if VERBOSE!=TRUE 2009-09-02 10:31:15 +0200 fs r275700 : #i10000# 2009-09-02 08:44:14 +0200 fs r275697 : update svn:ignore to ignore the output paths 2009-09-02 08:40:54 +0200 fs r275695 : #i84497# less verbose output during build, unless a dedicated '-verbose' switch is given 2009-09-02 08:40:28 +0200 fs r275694 : GRAPHITE is missing in the BUILD_TYPE 2009-09-02 08:40:05 +0200 fs r275693 : #i84497# less verbose output during build, unless a dedicated '-verbose' switch is given 2009-09-02 08:39:25 +0200 fs r275692 : #i84497# less verbose output during build, unless a dedicated '-verbose' switch is given 2009-09-02 08:39:02 +0200 fs r275691 : #i84497# less verbose output during build, unless a dedicated '-verbose' switch is given 2009-09-02 08:38:09 +0200 fs r275690 : #i84497# less verbose output during build 2009-09-02 08:37:06 +0200 fs r275689 : #i84497# don't emit that much noise, unless a '-verbose' switch is given
2009-10-21 05:43:22 -05:00
if ( !options.quiet() )
fprintf(stdout, "Compiling: %s\n",
(*i).getStr());
nErrors = compileFile(&sysFileName);
CWS-TOOLING: integrate CWS buildverbosity 2009-10-13 15:51:48 +0200 fs r276867 : allow building with 'nodep'=='' 2009-10-11 22:39:56 +0200 fs r276820 : silence a compiler warning in a file only used when VERBOSE!="" 2009-10-09 14:37:43 +0200 fs r276807 : let not override the non-presence of $VERBOSE the given command line arguments 2009-10-09 14:36:25 +0200 fs r276806 : also deliver spirit/home/classic/debug/impl 2009-10-08 13:38:07 +0200 fs r276789 : not that many line feeds in --show mode 2009-10-08 13:13:01 +0200 fs r276788 : minor adjustments requested by hjs: - replaced space/tab mixes at beginning of lines with mere tab - made "nothing to update" message for the ZIPALLTARGET target more prominent - removed useless "echo > /dev/nul" statements 2009-10-07 13:32:12 +0200 fs r276753 : #i105585# 2009-10-07 11:31:59 +0200 fs r276742 : #i10000# missing dependency between stoc/security and stoc/util 2009-10-06 22:59:59 +0200 fs r276729 : CWS-TOOLING: rebase CWS buildverbosity to trunk@276699 (milestone: DEV300:m61) 2009-09-29 12:04:58 +0200 fs r276518 : #i10000# 2009-09-29 12:04:25 +0200 fs r276517 : oops 2009-09-29 12:01:07 +0200 fs r276516 : #i84497# removed some more (non-diagnostic) 'echo ------' directives 2009-09-29 11:59:29 +0200 fs r276515 : #i84497# removed some more (non-diagnostic) 'echo ------' directives 2009-09-29 11:52:32 +0200 fs r276514 : #i84497# removed the various 'echo ------------' directives from verbose mode, as per hjs' request 2009-09-29 11:44:16 +0200 fs r276513 : do not duplicate IDLC call commands with different verbosity switches 2009-09-28 21:43:50 +0200 thb r276502 : #i84497# fixed potential recursive macro def + extra ls * solenv/inc/settings.mk: now setting via VERBOSE!:=, removes warning and my spurious "recursive macro definition" error * solenv/inc/tg_app.mk: one extra ls silenced for app target (and quiet mode, that goes without saying) 2009-09-23 08:57:01 +0200 fs r276366 : use ULFEX_VERBOSITY instead of duplicating the ULFEX call 2009-09-21 11:42:26 +0200 fs r276320 : ignore output paths 2009-09-21 11:04:27 +0200 fs r276318 : silence another compiler warning, which only hits us when actually using this (debug) file, which is the case only when slideshow is compiled with a env variable VERBOSE, thus came up in CWS buildverbosity 2009-09-21 10:30:14 +0200 fs r276313 : make some output depend on VERBOSE==TRUE, not COMMAND_ECHO="" While both are equivalent at the moment, COMMAND_ECHO finally is an implementation default of the VERBOSE flag only, so better rely on VERBOSE as the primary verbosity flag 2009-09-21 09:56:57 +0200 fs r276311 : forgot to re-generate from tg_zip before committing 2009-09-21 09:52:11 +0200 fs r276310 : #i84497# even less verbosity 2009-09-17 11:02:47 +0200 fs r276232 : #i84497# verbose implies VERBOSE nowadays, and VERBOSE==FALSE should not lead to -DVERBOSE 2009-09-15 22:59:37 +0200 fs r276189 : #i105022# copy fix for this P1 into this CWS 2009-09-15 11:56:35 +0200 fs r276165 : CWS-TOOLING: rebase CWS buildverbosity to trunk@276043 (milestone: DEV300:m58) 2009-09-14 17:45:10 +0200 fs r276137 : #i84497# don't duplicate zip lines w/ and w/o -q switch, use a variable instead (maintenance) 2009-09-14 15:01:33 +0200 fs r276124 : #i10000# 2009-09-11 23:58:46 +0200 thb r276083 : #i84497#: More quiet-build fine tuning - silenced rsc for real (properly filtering options for cpp, and a pretty brutal amputation of the tool blurp, which would have needed cmd opt parser duplication) - silenced deliver.pl - silenced checkdll.sh - silenced zip via -q (in quiet mode) - silenced various idl, resource, transex whatever tool, passing appropriate options down to them '-QQ' sometimes - silenced dmake, pointless blurb that something does *not* need update removed - silenced the old starview idl compiler, to not output tool's name & progress chars in quiet mode 2009-09-11 21:13:59 +0200 thb r276081 : #i84497#: More bits on the quiet mode of the build. The bulk of the changes is disabling those annoying "echo ------------------" lines for the quiet build, which has the stretch goal of outputting *exactly* one line per file compiled/linked/processed. Apart from that, silenced a few especialy annoying module-specific makefiles (basically adding $(COMMAND_ECHO) in front of a gazillion rules). Additionally, slightly tweaked what idlc regards verbose, normal, and quiet mode; this was to have it echo exactly one line per idl file processed (the fact that quiet mode did not echo *anything* for idl files was a bit too much for my taste) 2009-09-04 09:14:35 +0200 fs r275777 : don't emit the link parameters if VERBOSE!=TRUE 2009-09-02 10:31:15 +0200 fs r275700 : #i10000# 2009-09-02 08:44:14 +0200 fs r275697 : update svn:ignore to ignore the output paths 2009-09-02 08:40:54 +0200 fs r275695 : #i84497# less verbose output during build, unless a dedicated '-verbose' switch is given 2009-09-02 08:40:28 +0200 fs r275694 : GRAPHITE is missing in the BUILD_TYPE 2009-09-02 08:40:05 +0200 fs r275693 : #i84497# less verbose output during build, unless a dedicated '-verbose' switch is given 2009-09-02 08:39:25 +0200 fs r275692 : #i84497# less verbose output during build, unless a dedicated '-verbose' switch is given 2009-09-02 08:39:02 +0200 fs r275691 : #i84497# less verbose output during build, unless a dedicated '-verbose' switch is given 2009-09-02 08:38:09 +0200 fs r275690 : #i84497# less verbose output during build 2009-09-02 08:37:06 +0200 fs r275689 : #i84497# don't emit that much noise, unless a '-verbose' switch is given
2009-10-21 05:43:22 -05:00
if ( idlc()->getWarningCount() && !options.quiet() )
fprintf(stdout, "%s: detected %lu warnings compiling file '%s'\n",
options.getProgramName().getStr(),
sal::static_int_cast< unsigned long >(
idlc()->getWarningCount()),
(*i).getStr());
// prepare output file name
OString const strippedFileName(
sysFileName.copy(sysFileName.lastIndexOf(SEPARATOR) + 1));
OString outputFile;
if ( options.isValid("-O") )
{
outputFile = (options.getOption("-O"));
if ('/' != outputFile.getStr()[outputFile.getLength()-1]) {
outputFile += OString::valueOf('/');
}
outputFile += strippedFileName.replaceAt(
strippedFileName.getLength() -3 , 3, "urd");
} else {
outputFile =
sysFileName.replaceAt(sysFileName.getLength() -3 , 3, "urd");
}
OString const outputFileUrl = convertToFileUrl(outputFile);
::rtl::OString depFileUrl;
if (options.isValid("-M")) {
depFileUrl = convertToFileUrl(options.getOption("-M"));
if ('/' != depFileUrl.getStr()[depFileUrl.getLength()-1]) {
depFileUrl += OString::valueOf('/');
}
depFileUrl += strippedFileName.replaceAt(
strippedFileName.getLength() -3 , 3, "d");
}
if ( nErrors ) {
if (options.isValid("-M")) {
removeIfExists(depFileUrl);
}
removeIfExists(outputFileUrl);
} else {
sPair_t const pair(depFileUrl, outputFile);
nErrors = produceFile(outputFileUrl,
(options.isValid("-M")) ? &pair : 0);
}
2001-03-15 05:30:43 -06:00
idlc()->reset();
}
if ( nErrors > 0 )
{
CWS-TOOLING: integrate CWS buildverbosity 2009-10-13 15:51:48 +0200 fs r276867 : allow building with 'nodep'=='' 2009-10-11 22:39:56 +0200 fs r276820 : silence a compiler warning in a file only used when VERBOSE!="" 2009-10-09 14:37:43 +0200 fs r276807 : let not override the non-presence of $VERBOSE the given command line arguments 2009-10-09 14:36:25 +0200 fs r276806 : also deliver spirit/home/classic/debug/impl 2009-10-08 13:38:07 +0200 fs r276789 : not that many line feeds in --show mode 2009-10-08 13:13:01 +0200 fs r276788 : minor adjustments requested by hjs: - replaced space/tab mixes at beginning of lines with mere tab - made "nothing to update" message for the ZIPALLTARGET target more prominent - removed useless "echo > /dev/nul" statements 2009-10-07 13:32:12 +0200 fs r276753 : #i105585# 2009-10-07 11:31:59 +0200 fs r276742 : #i10000# missing dependency between stoc/security and stoc/util 2009-10-06 22:59:59 +0200 fs r276729 : CWS-TOOLING: rebase CWS buildverbosity to trunk@276699 (milestone: DEV300:m61) 2009-09-29 12:04:58 +0200 fs r276518 : #i10000# 2009-09-29 12:04:25 +0200 fs r276517 : oops 2009-09-29 12:01:07 +0200 fs r276516 : #i84497# removed some more (non-diagnostic) 'echo ------' directives 2009-09-29 11:59:29 +0200 fs r276515 : #i84497# removed some more (non-diagnostic) 'echo ------' directives 2009-09-29 11:52:32 +0200 fs r276514 : #i84497# removed the various 'echo ------------' directives from verbose mode, as per hjs' request 2009-09-29 11:44:16 +0200 fs r276513 : do not duplicate IDLC call commands with different verbosity switches 2009-09-28 21:43:50 +0200 thb r276502 : #i84497# fixed potential recursive macro def + extra ls * solenv/inc/settings.mk: now setting via VERBOSE!:=, removes warning and my spurious "recursive macro definition" error * solenv/inc/tg_app.mk: one extra ls silenced for app target (and quiet mode, that goes without saying) 2009-09-23 08:57:01 +0200 fs r276366 : use ULFEX_VERBOSITY instead of duplicating the ULFEX call 2009-09-21 11:42:26 +0200 fs r276320 : ignore output paths 2009-09-21 11:04:27 +0200 fs r276318 : silence another compiler warning, which only hits us when actually using this (debug) file, which is the case only when slideshow is compiled with a env variable VERBOSE, thus came up in CWS buildverbosity 2009-09-21 10:30:14 +0200 fs r276313 : make some output depend on VERBOSE==TRUE, not COMMAND_ECHO="" While both are equivalent at the moment, COMMAND_ECHO finally is an implementation default of the VERBOSE flag only, so better rely on VERBOSE as the primary verbosity flag 2009-09-21 09:56:57 +0200 fs r276311 : forgot to re-generate from tg_zip before committing 2009-09-21 09:52:11 +0200 fs r276310 : #i84497# even less verbosity 2009-09-17 11:02:47 +0200 fs r276232 : #i84497# verbose implies VERBOSE nowadays, and VERBOSE==FALSE should not lead to -DVERBOSE 2009-09-15 22:59:37 +0200 fs r276189 : #i105022# copy fix for this P1 into this CWS 2009-09-15 11:56:35 +0200 fs r276165 : CWS-TOOLING: rebase CWS buildverbosity to trunk@276043 (milestone: DEV300:m58) 2009-09-14 17:45:10 +0200 fs r276137 : #i84497# don't duplicate zip lines w/ and w/o -q switch, use a variable instead (maintenance) 2009-09-14 15:01:33 +0200 fs r276124 : #i10000# 2009-09-11 23:58:46 +0200 thb r276083 : #i84497#: More quiet-build fine tuning - silenced rsc for real (properly filtering options for cpp, and a pretty brutal amputation of the tool blurp, which would have needed cmd opt parser duplication) - silenced deliver.pl - silenced checkdll.sh - silenced zip via -q (in quiet mode) - silenced various idl, resource, transex whatever tool, passing appropriate options down to them '-QQ' sometimes - silenced dmake, pointless blurb that something does *not* need update removed - silenced the old starview idl compiler, to not output tool's name & progress chars in quiet mode 2009-09-11 21:13:59 +0200 thb r276081 : #i84497#: More bits on the quiet mode of the build. The bulk of the changes is disabling those annoying "echo ------------------" lines for the quiet build, which has the stretch goal of outputting *exactly* one line per file compiled/linked/processed. Apart from that, silenced a few especialy annoying module-specific makefiles (basically adding $(COMMAND_ECHO) in front of a gazillion rules). Additionally, slightly tweaked what idlc regards verbose, normal, and quiet mode; this was to have it echo exactly one line per idl file processed (the fact that quiet mode did not echo *anything* for idl files was a bit too much for my taste) 2009-09-04 09:14:35 +0200 fs r275777 : don't emit the link parameters if VERBOSE!=TRUE 2009-09-02 10:31:15 +0200 fs r275700 : #i10000# 2009-09-02 08:44:14 +0200 fs r275697 : update svn:ignore to ignore the output paths 2009-09-02 08:40:54 +0200 fs r275695 : #i84497# less verbose output during build, unless a dedicated '-verbose' switch is given 2009-09-02 08:40:28 +0200 fs r275694 : GRAPHITE is missing in the BUILD_TYPE 2009-09-02 08:40:05 +0200 fs r275693 : #i84497# less verbose output during build, unless a dedicated '-verbose' switch is given 2009-09-02 08:39:25 +0200 fs r275692 : #i84497# less verbose output during build, unless a dedicated '-verbose' switch is given 2009-09-02 08:39:02 +0200 fs r275691 : #i84497# less verbose output during build, unless a dedicated '-verbose' switch is given 2009-09-02 08:38:09 +0200 fs r275690 : #i84497# less verbose output during build 2009-09-02 08:37:06 +0200 fs r275689 : #i84497# don't emit that much noise, unless a '-verbose' switch is given
2009-10-21 05:43:22 -05:00
fprintf(stderr, "%s: detected %ld errors%s",
options.getProgramName().getStr(),
sal::static_int_cast< long >(nErrors),
options.prepareVersion().getStr());
2001-03-15 05:30:43 -06:00
} else
{
CWS-TOOLING: integrate CWS buildverbosity 2009-10-13 15:51:48 +0200 fs r276867 : allow building with 'nodep'=='' 2009-10-11 22:39:56 +0200 fs r276820 : silence a compiler warning in a file only used when VERBOSE!="" 2009-10-09 14:37:43 +0200 fs r276807 : let not override the non-presence of $VERBOSE the given command line arguments 2009-10-09 14:36:25 +0200 fs r276806 : also deliver spirit/home/classic/debug/impl 2009-10-08 13:38:07 +0200 fs r276789 : not that many line feeds in --show mode 2009-10-08 13:13:01 +0200 fs r276788 : minor adjustments requested by hjs: - replaced space/tab mixes at beginning of lines with mere tab - made "nothing to update" message for the ZIPALLTARGET target more prominent - removed useless "echo > /dev/nul" statements 2009-10-07 13:32:12 +0200 fs r276753 : #i105585# 2009-10-07 11:31:59 +0200 fs r276742 : #i10000# missing dependency between stoc/security and stoc/util 2009-10-06 22:59:59 +0200 fs r276729 : CWS-TOOLING: rebase CWS buildverbosity to trunk@276699 (milestone: DEV300:m61) 2009-09-29 12:04:58 +0200 fs r276518 : #i10000# 2009-09-29 12:04:25 +0200 fs r276517 : oops 2009-09-29 12:01:07 +0200 fs r276516 : #i84497# removed some more (non-diagnostic) 'echo ------' directives 2009-09-29 11:59:29 +0200 fs r276515 : #i84497# removed some more (non-diagnostic) 'echo ------' directives 2009-09-29 11:52:32 +0200 fs r276514 : #i84497# removed the various 'echo ------------' directives from verbose mode, as per hjs' request 2009-09-29 11:44:16 +0200 fs r276513 : do not duplicate IDLC call commands with different verbosity switches 2009-09-28 21:43:50 +0200 thb r276502 : #i84497# fixed potential recursive macro def + extra ls * solenv/inc/settings.mk: now setting via VERBOSE!:=, removes warning and my spurious "recursive macro definition" error * solenv/inc/tg_app.mk: one extra ls silenced for app target (and quiet mode, that goes without saying) 2009-09-23 08:57:01 +0200 fs r276366 : use ULFEX_VERBOSITY instead of duplicating the ULFEX call 2009-09-21 11:42:26 +0200 fs r276320 : ignore output paths 2009-09-21 11:04:27 +0200 fs r276318 : silence another compiler warning, which only hits us when actually using this (debug) file, which is the case only when slideshow is compiled with a env variable VERBOSE, thus came up in CWS buildverbosity 2009-09-21 10:30:14 +0200 fs r276313 : make some output depend on VERBOSE==TRUE, not COMMAND_ECHO="" While both are equivalent at the moment, COMMAND_ECHO finally is an implementation default of the VERBOSE flag only, so better rely on VERBOSE as the primary verbosity flag 2009-09-21 09:56:57 +0200 fs r276311 : forgot to re-generate from tg_zip before committing 2009-09-21 09:52:11 +0200 fs r276310 : #i84497# even less verbosity 2009-09-17 11:02:47 +0200 fs r276232 : #i84497# verbose implies VERBOSE nowadays, and VERBOSE==FALSE should not lead to -DVERBOSE 2009-09-15 22:59:37 +0200 fs r276189 : #i105022# copy fix for this P1 into this CWS 2009-09-15 11:56:35 +0200 fs r276165 : CWS-TOOLING: rebase CWS buildverbosity to trunk@276043 (milestone: DEV300:m58) 2009-09-14 17:45:10 +0200 fs r276137 : #i84497# don't duplicate zip lines w/ and w/o -q switch, use a variable instead (maintenance) 2009-09-14 15:01:33 +0200 fs r276124 : #i10000# 2009-09-11 23:58:46 +0200 thb r276083 : #i84497#: More quiet-build fine tuning - silenced rsc for real (properly filtering options for cpp, and a pretty brutal amputation of the tool blurp, which would have needed cmd opt parser duplication) - silenced deliver.pl - silenced checkdll.sh - silenced zip via -q (in quiet mode) - silenced various idl, resource, transex whatever tool, passing appropriate options down to them '-QQ' sometimes - silenced dmake, pointless blurb that something does *not* need update removed - silenced the old starview idl compiler, to not output tool's name & progress chars in quiet mode 2009-09-11 21:13:59 +0200 thb r276081 : #i84497#: More bits on the quiet mode of the build. The bulk of the changes is disabling those annoying "echo ------------------" lines for the quiet build, which has the stretch goal of outputting *exactly* one line per file compiled/linked/processed. Apart from that, silenced a few especialy annoying module-specific makefiles (basically adding $(COMMAND_ECHO) in front of a gazillion rules). Additionally, slightly tweaked what idlc regards verbose, normal, and quiet mode; this was to have it echo exactly one line per idl file processed (the fact that quiet mode did not echo *anything* for idl files was a bit too much for my taste) 2009-09-04 09:14:35 +0200 fs r275777 : don't emit the link parameters if VERBOSE!=TRUE 2009-09-02 10:31:15 +0200 fs r275700 : #i10000# 2009-09-02 08:44:14 +0200 fs r275697 : update svn:ignore to ignore the output paths 2009-09-02 08:40:54 +0200 fs r275695 : #i84497# less verbose output during build, unless a dedicated '-verbose' switch is given 2009-09-02 08:40:28 +0200 fs r275694 : GRAPHITE is missing in the BUILD_TYPE 2009-09-02 08:40:05 +0200 fs r275693 : #i84497# less verbose output during build, unless a dedicated '-verbose' switch is given 2009-09-02 08:39:25 +0200 fs r275692 : #i84497# less verbose output during build, unless a dedicated '-verbose' switch is given 2009-09-02 08:39:02 +0200 fs r275691 : #i84497# less verbose output during build, unless a dedicated '-verbose' switch is given 2009-09-02 08:38:09 +0200 fs r275690 : #i84497# less verbose output during build 2009-09-02 08:37:06 +0200 fs r275689 : #i84497# don't emit that much noise, unless a '-verbose' switch is given
2009-10-21 05:43:22 -05:00
if ( options.verbose() )
fprintf(stdout, "%s: returned successful%s",
options.getProgramName().getStr(),
options.prepareVersion().getStr());
2001-03-15 05:30:43 -06:00
}
return nErrors;
2001-03-15 05:30:43 -06:00
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */