# Copyright (C) Reece H. Dunn 2005. # Based on the wix.jam file by Peter Foley. # # 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) import feature : feature get-values ; import common ; import toolset : flags ; import type ; import generators ; feature.extend toolset : wix ; space = " " ; type.register WXS : wxs ; # WiX Source file type.register WXI : wxi ; # WiX Include file type.register WXL : wxl ; # WiX Localisation file type.register WIXOBJ : wixobj ; # WiX Object file type.register WIXLIB : wixlib ; # WiX Library file type.register MSI : msi ; # Installer type.register MSM : msm ; # Merge Module feature linkoptions : : free ; feature compileoptions : : free ; feature identical-rows : no yes : optional ; feature unresolved-references : no yes : optional ; feature search-path : : path free ; feature localisation : : path free ; rule init ( version ? : command * : options * ) { compiler = candle ; linker = light ; local condition = [ common.check-init-parameters wix : version $(version) ] ; command = [ common.get-invocation-command wix : candle.exe : $(command) ] ; local abs-path = [ common.get-absolute-tool-path $(command[-1]) ] ; local prefix = $(abs-path)\\ ; flags wix.compile .CC $(condition) : $(prefix)$(compiler) ; flags wix.link .LD $(condition) : $(prefix)$(linker) ; } ## Compiler generators.register-standard wix.compile.wxs : WXS : WIXOBJ ; flags wix.compile OPTIONS ; flags wix.compile INCLUDES ; flags wix.compile DEFINES ; actions compile.wxs { $(.CC) -nologo "$(OPTIONS)" -d"$(DEFINES)" -I"$(INCLUDES)" -out "$(<)" "$(>)" } ## Linker generators.register-composing wix.link.msi : WIXOBJ WIXLIB : MSI ; flags wix.link OPTIONS ; flags wix.link LOCALISATION ; flags wix.link SEARCH_PATH ; flags wix.link OPTIONS yes : -ai ; flags wix.link OPTIONS yes : -au ; actions link.msi { $(.LD) -nologo -b$(space)"$(SEARCH_PATH)" "$(OPTIONS)" -loc$(space)"$(LOCALISATION)" -out "$(<)" "$(>)" }