Boost logo

Boost-Build :

From: Alexey Pakhunov (alexeypa_at_[hidden])
Date: 2005-09-18 04:56:59


Reece Dunn wrote:
> +feature alignment :
> + default # use the default structure alignment
> + 1 2 4 8 16 # align structures to n byte boundaries
> + : propagated link-incompatible ;

Recently I posted a patch that helps to avoid using 'default' in the
features like this. See:
http://article.gmane.org/gmane.comp.lib.boost.build/10305

In this case the default value can be different in different toolsets.
Instead of using explicit 'default' we declare the feature as optional:

feature alignment :
1 2 4 8 16 # align structures to n byte boundaries
: propagated link-incompatible optional ;

To match default value the special condition is used:

flags borland.compile OPTIONS <alignment> : -a8 ; # IDE default

Note that there is no value after '<alignment>'.

> +flags msvc LINKFLAGS <safe-async-exceptions>on : /safeseh ;
> +flags msvc LINKFLAGS <safe-async-exceptions>off : /safeseh:no ;

I don't see definition of 'safe-async-exceptions'. Did I miss it?

> +actions compile.asm
> +{
> + $(.ASM) -nologo -c -coff -Cp -Cx $(ASMFLAGS) -Fo "$(<:W)" "$(>:W)"
> +}

Where is '.ASM' defined? Normally it is initialized in 'msvc.init' but I
don't see this part of code in the patch.

Best regards/Venlig hilsen,
Alexey Pakhunov.

 


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