Farid Zaripov wrote:
-----Original Message-----
From: Martin Sebor [mailto:[EMAIL PROTECTED] Sent: Wednesday, September 26, 2007 8:10 AM
To: stdcxx-dev@incubator.apache.org
Subject: RE: improving Windows build logs


Farid, if it works for you, it would be great to get rid of the unnecessary libraries before the planned merge so we can test the changes.

  As you can see the libraries list begins from "kernel32.lib
user32.lib"
and then follows "kernel32.lib user32.lib gdi32.lib winspool.lib ...".
The first "kernel32.lib user32.lib" is coming from solution generation
script,
that specifies to link the all project with this libraries. The rest
libraries
(including the kernel32.lib user32.lib too) is appended by VisualStudio
build
environment automatically. Actually this list is located in
%VCInstallDir%\VCProjectDefaults\CoreWin.vsprops file
(%VCInstallDir%\VCProjectDefaults\CoreWin.vcstyle file for MSVC 7.1)

That's frustrating. The tool shouldn't be forcing us to link with
libraries that aren't used. It's possible that they are ignored
(and eliminated) by the linker but it still sends the wrong
message to users who copy the command line options from our logs
into their makefiles. I'm beginning to think that we might want
to consider generating and using makefiles to build the library
instead of (or in addition to) the library project/solution.


  The first "kernel32.lib user32.lib" are appended by the solution
generation script
because the default list on MSVCExpress contains kernel32.lib only.

  I can't do enything with appending of the default list of libraries.
The only I
can do is remove that list from build logs.

I would definitely not do that. If we're linking with the libs
it needs to show in the logs, if only as a reminder to us that
we should see about removing them in the next version of Visual
Studio, if it's possible.

Martin

Reply via email to