$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
Subject: Re: [boost] [context] Don't hard-code the assembler
From: Steven Watanabe (watanabesj_at_[hidden])
Date: 2014-04-01 22:01:20
AMDG
On 04/01/2014 02:00 PM, Oliver Kowalke wrote:
> I've to restrict the assembler implementation for the combination of
> architecture/address-model/binary-format/ABI
> to one assembler tool - otherwise I would be forced to provide asm-files
> for the assembler tools available (masm, nasm, flat asm, ...)
> - impossible.
>
> <snip>
>
Okay. Here's what I can do:
- define new types ASM_GAS, ans ASM_MASM which
inherit from ASM. (It's also possible to
switch on a feature, but I think different types
is a more correct abstraction.)
- define two new tools gas and masm which can
be initialized like this and which override
the default assembler for the corresponding types
using gas : [command] ;
using masm : [command] ;
- in your Jamfile, specify the types of the asm files with
[ cast make_i386_ms_pe_masm asm-masm : asm/make_i386_ms_pe_masm.asm ]
At this point:
- If the assembler provided by the toolset can handle
the format, then everything should work. (As is
the case now.)
- If not, then it can be fixed by adding a line to
user-config.jam or project-config.jam.
It would also be possible for you to try to auto-configure
the assembler, but I'm not sure that's a good idea, since
it overrides the toolset which is supposed to be the
primary means of compiling.
In Christ,
Steven Watanabe