diff --git a/ports/boost-build/CONTROL b/ports/boost-build/CONTROL index 2886f3399..5ecb3d9fe 100644 --- a/ports/boost-build/CONTROL +++ b/ports/boost-build/CONTROL @@ -1,3 +1,3 @@ Source: boost-build -Version: 1.69.0 +Version: 1.69.0-1 Description: Boost.Build diff --git a/ports/boost-build/arm64msvc.patch b/ports/boost-build/arm64msvc.patch new file mode 100644 index 000000000..47f30acfb --- /dev/null +++ b/ports/boost-build/arm64msvc.patch @@ -0,0 +1,63 @@ +diff --git a/src/tools/msvc.jam b/src/tools/msvc.jam +index e6c0b60..62c3a41 100644 +--- a/src/tools/msvc.jam ++++ b/src/tools/msvc.jam +@@ -466,6 +466,7 @@ rule configure-version-specific ( toolset : version : conditions ) + toolset.flags $(toolset).link LINKFLAGS $(conditions)/$(.cpu-arch-i386) : "/MACHINE:X86" ; + toolset.flags $(toolset).link LINKFLAGS $(conditions)/$(.cpu-arch-ia64) : "/MACHINE:IA64" ; + toolset.flags $(toolset).link LINKFLAGS $(conditions)/$(.cpu-arch-arm) : "/MACHINE:ARM" ; ++ toolset.flags $(toolset).link LINKFLAGS $(conditions)/$(.cpu-arch-arm64) : "/MACHINE:ARM64" ; + + # Make sure that manifest will be generated even if there is no + # dependencies to put there. +@@ -1256,7 +1257,7 @@ local rule configure-really ( version ? : options * ) + local below-8.0 = [ MATCH "^([67]\\.)" : $(version) ] ; + local below-11.0 = [ MATCH "^([6789]\\.|10\\.)" : $(version) ] ; + +- local cpu = i386 amd64 ia64 arm ; ++ local cpu = i386 amd64 ia64 arm arm64 ; + if $(below-8.0) + { + cpu = i386 ; +@@ -1270,6 +1271,7 @@ local rule configure-really ( version ? : options * ) + local setup-i386 ; + local setup-ia64 ; + local setup-arm ; ++ local setup-arm64 ; + local setup-phone-i386 ; + local setup-phone-arm ; + +@@ -1327,6 +1329,7 @@ local rule configure-really ( version ? : options * ) + local default-setup-i386 = vcvars32.bat ; + local default-setup-ia64 = vcvarsx86_ia64.bat ; + local default-setup-arm = vcvarsx86_arm.bat ; ++ local default-setup-arm64 = vcvarsx86_arm64.bat ; + local default-setup-phone-i386 = vcvarsphonex86.bat ; + local default-setup-phone-arm = vcvarsphonex86_arm.bat ; + +@@ -1338,6 +1341,7 @@ local rule configure-really ( version ? : options * ) + local default-global-setup-options-i386 = x86 ; + local default-global-setup-options-ia64 = x86_ia64 ; + local default-global-setup-options-arm = x86_arm ; ++ local default-global-setup-options-arm64 = x86_arm64 ; + + # When using 64-bit Windows, and targeting 64-bit, it is possible to + # use a native 64-bit compiler, selected by the "amd64" & "ia64" +@@ -1418,6 +1422,7 @@ local rule configure-really ( version ? : options * ) + local default-assembler-i386 = "ml -coff" ; + local default-assembler-ia64 = ias ; + local default-assembler-ia64 = armasm ; ++ local default-assembler-arm64 = armasm64 ; + + assembler = [ feature.get-values : $(options) ] ; + +@@ -1932,6 +1937,9 @@ if [ MATCH (--debug-configuration) : [ modules.peek : ARGV ] ] + arm/ + arm/32 ; + ++.cpu-arch-arm64 = ++ arm/ ++ arm/64 ; + + # Supported CPU types (only Itanium optimization options are supported from + # VC++ 2005 on). See diff --git a/ports/boost-build/portfile.cmake b/ports/boost-build/portfile.cmake index 6c54d0555..07822fd3f 100644 --- a/ports/boost-build/portfile.cmake +++ b/ports/boost-build/portfile.cmake @@ -14,6 +14,9 @@ vcpkg_from_github( REF boost-1.69.0 SHA512 e8d89e75c83a08bab29f52b5100fccf1d2ddf492a532ae4cb8121a5f49819aebb8157d1a1fd7d514bd8a0fe444e5ebb1103b10c8579d5c234ab81110d9c334a8 HEAD_REF master + PATCHES + # Add the support of arm64-windows + arm64msvc.patch ) vcpkg_download_distfile(ARCHIVE diff --git a/ports/boost-modular-build-helper/CONTROL b/ports/boost-modular-build-helper/CONTROL index de02dea1d..59744faee 100644 --- a/ports/boost-modular-build-helper/CONTROL +++ b/ports/boost-modular-build-helper/CONTROL @@ -1,2 +1,2 @@ Source: boost-modular-build-helper -Version: 2019-01-25 +Version: 2019-04-25 diff --git a/ports/boost-modular-build-helper/boost-modular-build.cmake b/ports/boost-modular-build-helper/boost-modular-build.cmake index 8daa3265e..8e3b2f324 100644 --- a/ports/boost-modular-build-helper/boost-modular-build.cmake +++ b/ports/boost-modular-build-helper/boost-modular-build.cmake @@ -221,6 +221,8 @@ function(boost_modular_build) list(APPEND _bm_OPTIONS address-model=64 architecture=x86) elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") list(APPEND _bm_OPTIONS address-model=32 architecture=arm) + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") + list(APPEND _bm_OPTIONS address-model=64 architecture=arm) else() list(APPEND _bm_OPTIONS address-model=32 architecture=x86) endif()