Boost logo

Boost-Build :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2004-11-09 03:08:58


On Tuesday 09 November 2004 10:53, pi3k14 wrote:

> > > I'm trying to create support for .bpl/.bpi files aka. dll/import
> > > library, but I can't keep my head above water :)
> >
> > I'm afraid I don't know what are those files for. Could you clarify?
>
> They are realy shared lib/import lib files with special startup code
> and handling by the linker. It is all controlled by linker options.
> I registered these filetypes, and created a variant of the link.dll
> action.
> Then I started with something like:

> feature.extend link : bcb-shared ;
> flags bcbuilder.link STARTUP <main-target-type>EXE : c0w32.obj ;
> flags bcbuilder.link STARTUP <main-target-type>LIB/<link>shared :
> c0d32.obj ;
> flags bcbuilder.link STARTUP <main-target-type>LIB/<link>bcb-shared :
> c0pkg32.obj ;
> I this doable? (I realized that this can be hardcoded in the link
> actions, so it is not necessary)

Looks OK.

> The real problem started when I realized that I can not throw all
> sources to the compiler (via the response file)and let it call the
> linker for building the app/dll/bpl.
> The reason is that bcbuilder creates (and maintaines) an
> <application>.res file which the compiler doesn't know how to handle.

What is that file? Just windows resource file? Or something borland-specific.
We have support for RC->OBJ conversion (the 'rc.jam' tool module), maybe we
just need to add RES->OBJ conversion...

> The linker syntax is ilink32 [options] startup objs, [exe], [mapfile],
> [libraries], [deffile], [resfiles]
> startup is an objectfile for the different target types.
> All options/files can be given in a response file, but the order and
> use of comma is important.

I hope we can avoid calling the linker directly ;-)

> A last thing :) when scanning c/c++ files, in addition to the normal
> header file search and dependency checking it would be nice if it also
> could detect the string
> #pragma resource "*.dfm"
> it says that this file also depends on filename.dfm, where filename is
> the extensionless name of the file being searched.

I'll think about it.

- Volodya

 


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