Boost logo

Boost-Build :

From: Thomas Witt (witt_at_[hidden])
Date: 2002-09-03 10:21:29


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Dave,

On Tuesday 03 September 2002 16:56, David Abrahams wrote:
> I don't understand the question. Can you please be more specific?
>

Sorry I try.

Given the following lib target and msvc-tools

lib A : a.cpp b.cpp ;

On the first run (i.e. after clean) the corresponding archive command will be
(simplified)

link /lib /out:libA.lib a.o b.o

Change b.cpp and recompile the archive command is

link /lib /out:libA.lib libA.lib a.o b.o

i.e. the existing libA.lib is used as an input file for the new libA.lib. I
think this is unneccessary as _all_ object files, not only the newly
compiled, are used as input for the new archive. IIUC the archive would be
complete without the old lib. Furthermore the redundant input seems to cause
problems. With Intel6 and VC.NET it looks as if sometimes old code from
libA.lib is preferred over new code from the object files. As a result the
lib and the sources are out of sync. I do not think this is an intel problem
as the MS linker gets used.

In my copy I changed the archive action from

actions updated together piecemeal vc-Archive
{
$(VC_SETUP)
if exist "$(<)" set _$(<:B)_="$(<)"
"$(VC_TOOL_PATH)$(VC_LINKER)" /lib $(ARFLAGS)
$(PDB_LINKFLAG)"$(VC_PDB_FILE)" /out:"$(<)" %_$(<:B)_% @"$(>)"
}

to

actions updated together piecemeal vc-Archive
{
$(VC_SETUP)
"$(VC_TOOL_PATH)$(VC_LINKER)" /lib $(ARFLAGS)
$(PDB_LINKFLAG)"$(VC_PDB_FILE)" /out:"$(<)" @"$(>)"
}

and everything worked fine.

- --Thomas

- --
Dipl.-Ing. Thomas Witt
Institut fuer Verkehrswesen, Eisenbahnbau und -betrieb, Universitaet Hannover
voice: +49(0) 511 762 - 4273, fax: +49(0) 511 762-3001
http://www.ive.uni-hannover.de
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org

iD8DBQE9dNN80ds/gS3XsBoRAs/CAJ4zBwPPAMNkiw+fttA3Pla8c8Mm8wCfY1vO
MO3sqq5BU0ANnKRF2HHn/08=
=6Ess
-----END PGP SIGNATURE-----

 


Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk