Skip to content

Commit fb6b045

Browse files
authored
Fix winarm64 crossdac build (#112594)
#112256 added the ability to cross compile android on windows. This regressed the win-arm64 crossdac build because it stopped passing CMAKE_TARGET_ARCH and CMAKE_TARGET_OS for cross component builds where the host and target os's match. This change makes sure the cmake variables are passed in all cases.
1 parent fa49464 commit fb6b045

File tree

3 files changed

+13
-5
lines changed

3 files changed

+13
-5
lines changed

eng/native/configureplatform.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -499,7 +499,7 @@ if(NOT CLR_CMAKE_TARGET_BROWSER AND NOT CLR_CMAKE_TARGET_WASI)
499499
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
500500
endif()
501501

502-
if (CLR_CMAKE_TARGET_ANDROID)
502+
if (CLR_CMAKE_HOST_ANDROID)
503503
# Google requires all the native libraries to be aligned to 16 bytes (for 16k memory page size)
504504
# This applies only to 64-bit binaries
505505
if(CLR_CMAKE_TARGET_ARCH_ARM64 OR CLR_CMAKE_TARGET_ARCH_AMD64)

src/coreclr/build-runtime.cmd

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -392,9 +392,17 @@ if %__BuildNative% EQU 1 (
392392
set __ExtraCmakeArgs="-DCMAKE_BUILD_TYPE=!__BuildType!"
393393
)
394394

395-
set __ExtraCmakeArgs=!__ExtraCmakeArgs! "-DCLR_CMAKE_TARGET_ARCH=%__TargetArch%" "-DCLR_CMAKE_TARGET_OS=%__TargetOS%" "-DCLI_CMAKE_FALLBACK_OS=%__HostFallbackOS%" "-DCLR_CMAKE_PGO_INSTRUMENT=%__PgoInstrument%" "-DCLR_CMAKE_OPTDATA_PATH=%__PgoOptDataPath%" "-DCLR_CMAKE_PGO_OPTIMIZE=%__PgoOptimize%" %__CMakeArgs%
396-
echo Calling "%__RepoRootDir%\eng\native\gen-buildsys.cmd" "%__ProjectDir%" "%__IntermediatesDir%" %__VSVersion% %__HostArch% %__TargetOS% !__ExtraCmakeArgs!
397-
call "%__RepoRootDir%\eng\native\gen-buildsys.cmd" "%__ProjectDir%" "%__IntermediatesDir%" %__VSVersion% %__HostArch% %__TargetOS% !__ExtraCmakeArgs!
395+
set __ExtraCmakeArgs=!__ExtraCmakeArgs! "-DCLR_CMAKE_TARGET_ARCH=%__TargetArch%" "-DCLR_CMAKE_TARGET_OS=%__TargetOS%"
396+
set __ExtraCmakeArgs=!__ExtraCmakeArgs! "-DCLI_CMAKE_FALLBACK_OS=%__HostFallbackOS%" "-DCLR_CMAKE_PGO_INSTRUMENT=%__PgoInstrument%" "-DCLR_CMAKE_OPTDATA_PATH=%__PgoOptDataPath%" "-DCLR_CMAKE_PGO_OPTIMIZE=%__PgoOptimize%"
397+
398+
if "%__HostOS%" == "" (
399+
set "__HostOS=!__TargetOS!"
400+
)
401+
402+
set __ExtraCmakeArgs=!__ExtraCmakeArgs! %__CMakeArgs%
403+
404+
echo Calling "%__RepoRootDir%\eng\native\gen-buildsys.cmd" "%__ProjectDir%" "%__IntermediatesDir%" %__VSVersion% %__HostArch% !__HostOS! !__ExtraCmakeArgs!
405+
call "%__RepoRootDir%\eng\native\gen-buildsys.cmd" "%__ProjectDir%" "%__IntermediatesDir%" %__VSVersion% %__HostArch% !__HostOS! !__ExtraCmakeArgs!
398406
if not !errorlevel! == 0 (
399407
echo %__ErrMsgPrefix%%__MsgPrefix%Error: failed to generate native component build project!
400408
goto ExitWithError

src/coreclr/jit/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -504,7 +504,7 @@ endif()
504504

505505
set(JIT_DLL_MAIN_FILE ${CMAKE_CURRENT_LIST_DIR}/dllmain.cpp)
506506

507-
if(CLR_CMAKE_TARGET_WIN32)
507+
if(CLR_CMAKE_HOST_WIN32)
508508
set(CLRJIT_EXPORTS ${CMAKE_CURRENT_LIST_DIR}/ClrJit.exports)
509509
set(JIT_EXPORTS_FILE ${CMAKE_CURRENT_BINARY_DIR}/ClrJit.exports.def)
510510
preprocess_file (${CLRJIT_EXPORTS} ${JIT_EXPORTS_FILE})

0 commit comments

Comments
 (0)