Boost logo

Boost :

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


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk