Boost logo

Boost-Build :

Subject: Re: [Boost-build] bjam - win - ordering of obj files
From: Anant Rao (arao_at_[hidden])
Date: 2009-12-17 21:22:45


Hi Volodya,

I'm attaching 5 files:
Jamfile
The rsp file (called jnicommon.dll.rsp)

Jamroot
user-config.jam
jniNative.def
  
(The last 3 files are for the sake of completeness).

Sorry, I couldn't have my responses at the bottom with my Outlook.

The interesting part is only the first file (aprwrapper.cpp) ends up in the last in the .rsp file (aprwrapper.obj). The order of the rest of the files is maintained.

Thanks again,
Anant

-----Original Message-----
From: boost-build-bounces_at_[hidden] [mailto:boost-build-bounces_at_[hidden]] On Behalf Of Vladimir Prus
Sent: Wednesday, December 16, 2009 10:41 PM
To: Boost.Build developer's and user's list
Subject: Re: [Boost-build] bjam - win - ordering of obj files

On Saturday 12 December 2009 19:11:36 Anant Rao wrote:

> Hi,
>
> My jamfile is like this on Windows to generate a dll.
>
> lib blah
> : aprwrapper.cpp
> file1.cpp
> file2.cpp
> ;
>
> The bjam-generated .rsp file is like this:
>
> file1.obj
> file2.obj
> aprwrapper.obj
>
> The generated DLL gives an 'Invalid access to memory' at run-time, whereas that generated with MSVC IDE works fine. (This is because of ordering of global statics).
> If I move aprwrapper.obj to the top in the .rsp file and just run the link command, then the bjam-generated DLL is fine.

Do you give *exact* content of Jamfile and rsp? I am afraid I do not see how such reordering can happen given
the names and types of the files you have provided.

>
> My questions:
>
> 1. Is there a way to force bjam to place the obj files in a particular order or at least in the same order as given by the src file list - for the link step?

You might want to have

        <source>a.cpp&&b.cpp

in requirements for the files that need specific order.

> 2. Assuming Microsoft published how it orders the obj files in its IDE's link step, can bjam follow the same?
> This is the most preferable way so that there's no discrepancy in output between bjam and MSVC IDE.

I cannot comment without seeing the reproducer.

- Volodya
_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost-build








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