| # Copyright (c) 2005 Alexey Pakhunov. |
| # Copyright (c) 2011 Juraj Ivancic |
| # |
| # Use, modification and distribution is subject to the Boost Software |
| # License Version 1.0. (See accompanying file LICENSE_1_0.txt or |
| # http://www.boost.org/LICENSE_1_0.txt) |
| |
| # Support for Microsoft message compiler tool. |
| # Notes: |
| # - there's just message compiler tool, there's no tool for |
| # extracting message strings from sources |
| # - This file allows to use Microsoft message compiler |
| # with any toolset. In msvc.jam, there's more specific |
| # message compiling action. |
| |
| import bjam |
| |
| from b2.tools import common, rc |
| from b2.build import generators, type |
| from b2.build.toolset import flags |
| from b2.build.feature import feature |
| from b2.manager import get_manager |
| |
| def init(): |
| pass |
| |
| type.register('MC', ['mc']) |
| |
| |
| # Command line options |
| feature('mc-input-encoding', ['ansi', 'unicode'], ['free']) |
| feature('mc-output-encoding', ['unicode', 'ansi'], ['free']) |
| feature('mc-set-customer-bit', ['no', 'yes'], ['free']) |
| |
| flags('mc.compile', 'MCFLAGS', ['<mc-input-encoding>ansi'], ['-a']) |
| flags('mc.compile', 'MCFLAGS', ['<mc-input-encoding>unicode'], ['-u']) |
| flags('mc.compile', 'MCFLAGS', ['<mc-output-encoding>ansi'], '-A') |
| flags('mc.compile', 'MCFLAGS', ['<mc-output-encoding>unicode'], ['-U']) |
| flags('mc.compile', 'MCFLAGS', ['<mc-set-customer-bit>no'], []) |
| flags('mc.compile', 'MCFLAGS', ['<mc-set-customer-bit>yes'], ['-c']) |
| |
| generators.register_standard('mc.compile', ['MC'], ['H', 'RC']) |
| |
| get_manager().engine().register_action( |
| 'mc.compile', |
| 'mc $(MCFLAGS) -h "$(<[1]:DW)" -r "$(<[2]:DW)" "$(>:W)"') |