stdcxx-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Martin Sebor <se...@roguewave.com>
Subject Re: improving Windows build logs
Date Mon, 10 Sep 2007 16:07:30 GMT
Martin Sebor wrote:
> I find the Windows build logs very hard to read, and exceedingly
> difficult to find errors in. One big problem, IMO, is all the junk
> (presumably) emitted by IDE to tell us what the command line looks
> like. What can be done about this to make the Windows logs as
> readable as the UNIX ones?
> 
[...]

Here are a few ideas...

> Creating command line "icl.exe 
> "@C:\DOCUME~1\batman\LOCALS~1\Temp\RSP1E05.bs""
> Creating temporary file "C:\DOCUME~1\batman\LOCALS~1\Temp\RSP1E09.bs" 
> with contents
> [
> kernel32.lib user32.lib kernel32.lib user32.lib gdi32.lib winspool.lib 
> comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib 
> odbc32.lib odbccp32.lib 

Here's something that we might be able to use to reduce some of
the clutter...

Does this mean we're linking with all these libraries? AFAIK, all
we should need is kernel32.lib and maybe user32.lib (once), and
none of the others.


> /OUT:"D:\bman5\builds\34008642\source-buildspace\build\icc-10.0\12d\examples\accumulate.exe"


Replacing the BUILDDIR prefix with $(BUILDDIR) like we do on UNIX
would reduce the length of the path and improve the readibility.

> /INCREMENTAL:NO /nologo /NODEFAULTLIB:"libcp.lib" 
> /NODEFAULTLIB:"libcpd.lib" /NODEFAULTLIB:"libcpmt.lib" 
> /NODEFAULTLIB:"libcpmtd.lib" /NODEFAULTLIB:"msvcprt.lib" 
> /NODEFAULTLIB:"msvcprtd.lib"

Here might be another opportunity...

IIRC from builds with the Rogue Wave infrastructure, we would
only list one library in /NODEFAULTLIB for each build type.
E.g., in a static (archive), multithreaded, debug build we'd
only specify /NODEFAULTLIB:libcpmtd.lib. The others shouldn't
be necessary.

> /TLBID:1 /DEBUG 
> /PDB:"D:\bman5\builds\34008642\source-buildspace\build\icc-10.0\12d\examples\accumulate.pdb"

> /SUBSYSTEM:CONSOLE /OPT:REF /OPT:ICF 
> /IMPLIB:"D:\bman5\builds\34008642\source-buildspace\build\icc-10.0\12d\examples\accumulate.lib"

> /MANIFEST 
> /MANIFESTFILE:"D:\bman5\builds\34008642\source-buildspace\build\icc-10.0\12d\examples\accumulate\accumulate.exe.intermediate.manifest"

> 
> D:\bman5\builds\34008642\source-buildspace\build\icc-10.0\12d\lib\libstd12d.lib 
> 
> D:\bman5\builds\34008642\source-buildspace\build\icc-10.0\12d\examples\accumulate/accumulate.obj

> 
> ]
> Creating command line "xilink.exe 
> "@C:\DOCUME~1\batman\LOCALS~1\Temp\RSP1E09.bs""
> Creating temporary file "C:\DOCUME~1\batman\LOCALS~1\Temp\RSP1E0E.bs" 
> with contents
> [
> /nologo /manifest 
> "D:\bman5\builds\34008642\source-buildspace\build\icc-10.0\12d\examples\accumulate\accumulate.exe.intermediate.manifest"

> /outputresource:"D:\bman5\builds\34008642\source-buildspace\build\icc-10.0\12d\examples\accumulate.exe";#1

> 
> ]
> Creating command line "mt.exe 
> "@C:\DOCUME~1\batman\LOCALS~1\Temp\RSP1E0E.bs""
> 
> -------
> 
> Compiling with Intel(R) C++ 10.0.026 [IA-32]... (Intel C++ Environment)
> accumulate.cpp
> Linking... (Intel C++ Environment)
> xilink: executing 'link'
> Embedding manifest... (Microsoft VC++ Environment)
> 
> -------
> 
> Build log was saved at 
> "file://D:\bman5\builds\34008642\source-buildspace\build\icc-10.0\12d\examples\accumulate\BuildLog.htm"


Unless we make these build logs available in our own build reports
removing this bit would eliminate some more clutter.

Martin

> 
> accumulate - 0 error(s), 0 warning(s)
> 
> 
> Contrast that to the gcc log on CygWin:
> 
> generating dependencies for $(TOPDIR)/examples/manual/accumulate.cpp
> gcc -M -I$(TOPDIR)/include/ansi   -D_REENTRANT -mthreads 
> -I$(TOPDIR)/include -I$(BUILDDIR)/include -I$(TOPDIR)/examples/include 
> -pedantic -nostdinc++ -O2   -W -Wall -Wcast-qual -Winline -Wshadow 
> -Wwrite-strings -Wno-long-long -Wcast-align 
> $(TOPDIR)/examples/manual/accumulate.cpp
> 
> gcc -c -I$(TOPDIR)/include/ansi   -D_REENTRANT -mthreads 
> -I$(TOPDIR)/include -I$(BUILDDIR)/include -I$(TOPDIR)/examples/include 
> -pedantic -nostdinc++ -O2   -W -Wall -Wcast-qual -Winline -Wshadow 
> -Wwrite-strings -Wno-long-long -Wcast-align 
> $(TOPDIR)/examples/manual/accumulate.cpp
> 
> gcc accumulate.o -o accumulate -mthreads  -L$(BUILDDIR)/lib  -lstd 
> -lsupc++ -lcatgets -liconv -lm
> 


Mime
View raw message