Another attempt at fixing 64-bit ICU support.

dll-path for 64-bit builds still isn't set correctly.
Refs #4864.

[SVN r66659]
This commit is contained in:
John Maddock
2010-11-21 18:40:59 +00:00
parent cef369efa5
commit dd9d022d7c

View File

@ -12,6 +12,22 @@ project : requirements
local disable-icu = [ MATCH (--disable-icu) : [ modules.peek : ARGV ] ] ;
rule dll-path_options ( properties * )
{
local result ;
if <address-model>64 in $(properties)
{
result = <dll-path>$(ICU_PATH)/bin64 ;
}
else
{
result = <dll-path>$(ICU_PATH)/bin ;
}
ECHO $(result) ;
return $(result) ;
}
#
# ICU configuration:
#
@ -33,15 +49,24 @@ if ! $(disable-icu)
}
else
{
lib icuuc : : <instruction-set>32:<search>$(ICU_PATH)/lib <instruction-set>64:<search>$(ICU_PATH)/lib <link>shared <runtime-link>shared ;
lib icuuc : : <toolset>msvc <variant>debug <name>icuucd <instruction-set>32:<search>$(ICU_PATH)/lib <instruction-set>64:<search>$(ICU_PATH)/lib <link>shared <runtime-link>shared ;
lib icuuc : : <search>$(ICU_PATH)/lib <link>shared <runtime-link>shared <dll-path>$(ICU_PATH)/bin ;
lib icuuc : : <address-model>64 <search>$(ICU_PATH)/lib64 <link>shared <runtime-link>shared <dll-path>$(ICU_PATH)/bin64 ;
lib icuuc : : <toolset>msvc <variant>debug <name>icuucd <search>$(ICU_PATH)/lib <link>shared <runtime-link>shared <dll-path>$(ICU_PATH)/bin ;
lib icuuc : : <address-model>64 <toolset>msvc <variant>debug <name>icuucd <search>$(ICU_PATH)/lib64 <link>shared <runtime-link>shared <dll-path>$(ICU_PATH)/bin64 ;
lib icuuc : : <name>this_is_an_invalid_library_name ;
lib icudt : : <instruction-set>32:<search>$(ICU_PATH)/lib <instruction-set>64:<search>$(ICU_PATH)/lib <name>icudata <link>shared <runtime-link>shared ;
lib icudt : : <instruction-set>32:<search>$(ICU_PATH)/lib <instruction-set>64:<search>$(ICU_PATH)/lib <name>icudt <toolset>msvc <link>shared <runtime-link>shared ;
lib icudt : : <search>$(ICU_PATH)/lib <name>icudata <link>shared <runtime-link>shared <dll-path>$(ICU_PATH)/bin ;
lib icudt : : <address-model>64 <search>$(ICU_PATH)/lib64 <name>icudata <link>shared <runtime-link>shared <dll-path>$(ICU_PATH)/bin64 ;
lib icudt : : <search>$(ICU_PATH)/lib <name>icudt <toolset>msvc <link>shared <runtime-link>shared <dll-path>$(ICU_PATH)/bin ;
lib icudt : : <address-model>64 <search>$(ICU_PATH)/lib64 <name>icudt <toolset>msvc <link>shared <runtime-link>shared <dll-path>$(ICU_PATH)/bin64 ;
lib icudt : : <name>this_is_an_invalid_library_name ;
lib icuin : : <instruction-set>32:<search>$(ICU_PATH)/lib <instruction-set>64:<search>$(ICU_PATH)/lib <name>icui18n <link>shared <runtime-link>shared ;
lib icuin : : <toolset>msvc <variant>debug <name>icuind <instruction-set>32:<search>$(ICU_PATH)/lib <instruction-set>64:<search>$(ICU_PATH)/lib <link>shared <runtime-link>shared ;
lib icuin : : <toolset>msvc <variant>release <name>icuin <instruction-set>32:<search>$(ICU_PATH)/lib <instruction-set>64:<search>$(ICU_PATH)/lib <link>shared <runtime-link>shared ;
lib icuin : : <search>$(ICU_PATH)/lib <name>icui18n <link>shared <runtime-link>shared <dll-path>$(ICU_PATH)/bin ;
lib icuin : : <address-model>64 <search>$(ICU_PATH)/lib64 <name>icui18n <link>shared <runtime-link>shared <dll-path>$(ICU_PATH)/bin64 ;
lib icuin : : <toolset>msvc <variant>debug <name>icuind <search>$(ICU_PATH)/lib <link>shared <runtime-link>shared <dll-path>$(ICU_PATH)/bin ;
lib icuin : : <address-model>64 <toolset>msvc <variant>debug <name>icuind <search>$(ICU_PATH)/lib64 <link>shared <runtime-link>shared <dll-path>$(ICU_PATH)/bin64 ;
lib icuin : : <toolset>msvc <variant>release <name>icuin <search>$(ICU_PATH)/lib <link>shared <runtime-link>shared <dll-path>$(ICU_PATH)/bin ;
lib icuin : : <address-model>64 <toolset>msvc <variant>release <name>icuin <search>$(ICU_PATH)/lib64 <link>shared <runtime-link>shared <dll-path>$(ICU_PATH)/bin64 ;
lib icuin : : <name>this_is_an_invalid_library_name ;
if $(ICU_PATH)
@ -80,8 +105,8 @@ if ! $(disable-icu)
<library>icuuc/<link>shared/<runtime-link>shared
<library>icudt/<link>shared/<runtime-link>shared
<library>icuin/<link>shared/<runtime-link>shared
<dll-path>$(ICU_PATH)/bin
<define>BOOST_HAS_ICU=1
<dll-path>$(ICU_PATH)/bin
<runtime-link>shared
<toolset>msvc:<linkflags>/delayload:$(icuucd_name:B).dll
<toolset>msvc:<linkflags>/delayload:$(icuuc_name:B).dll
@ -132,3 +157,6 @@ boost-install boost_regex ;