|
Boost-Build : |
From: pi3k14 (frode_at_[hidden])
Date: 2004-11-09 02:53:56
--- In jamboost_at_[hidden], Vladimir Prus <ghost_at_c...> wrote:
> On Monday 08 November 2004 21:43, pi3k14 wrote:
> > Hi,
> > has anyone created or drafted a toolset for Borland C++ builder?
>
> There's "borland" toolset which works for Borland's command line
compiler. Is
> C++ Builder different in some respect?
The borland toolset works great for bcbuilder as long as I just
produce exe/dll/lib files (and don't have the need for linking in a
res file)
>
> > 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)
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.
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.
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.
Thank you in advance for any suggestions.
sincerely
frode
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