|
553 | 553 | <_MonoCXXFLAGS Include="-Wl,--build-id=sha1" />
|
554 | 554 | <_MonoCXXFLAGS Condition="'$(Platform)' == 'arm'" Include="-march=armv7-a" />
|
555 | 555 | </ItemGroup>
|
556 |
| - <ItemGroup Condition="'$(AotHostOS)' == 'linux'"> |
557 |
| - <_MonoAOTCFLAGS Include="-Wl,--build-id=sha1" /> |
558 |
| - <_MonoAOTCFLAGS Condition="'$(AotHostArchitecture)' == 'arm'" Include="-march=armv7-a" /> |
559 |
| - <_MonoAOTCXXFLAGS Include="-Wl,--build-id=sha1" /> |
560 |
| - <_MonoAOTCXXFLAGS Condition="'$(AotHostArchitecture)' == 'arm'" Include="-march=armv7-a" /> |
561 |
| - </ItemGroup> |
562 | 556 |
|
563 | 557 | <!-- Devloop features -->
|
564 | 558 | <ItemGroup Condition="'$(MonoMsCorDbi)' == 'true'">
|
|
655 | 649 | <!-- Build AOT cross compiler (if available) -->
|
656 | 650 | <Target Name="BuildMonoCross" Condition="'$(BuildMonoAOTCrossCompiler)' == 'true'" DependsOnTargets="BuildMonoRuntime">
|
657 | 651 |
|
| 652 | + <!-- If you don't specify the AOT host, assume it's the build machine --> |
| 653 | + <PropertyGroup> |
| 654 | + <AotHostArchitecture Condition="'$(AotHostArchitecture)' == ''">$(BuildArchitecture)</AotHostArchitecture> |
| 655 | + <AotHostOS Condition="'$(AotHostOS)' == ''">$(HostOS)</AotHostOS> |
| 656 | + </PropertyGroup> |
| 657 | + |
658 | 658 | <!-- iOS/tvOS specific options -->
|
659 | 659 | <PropertyGroup Condition="'$(TargetstvOS)' == 'true' or '$(TargetsiOS)' == 'true'">
|
660 | 660 | <!-- FIXME: Disable for simulator -->
|
|
687 | 687 | </PropertyGroup>
|
688 | 688 |
|
689 | 689 | <!-- Linux specific options -->
|
690 |
| - <ItemGroup Condition="'$(AotHostOS)' == 'linux' or $([MSBuild]::IsOSPlatform('Linux'))"> |
| 690 | + <ItemGroup Condition="'$(AotHostOS)' == 'linux'"> |
691 | 691 | <_LibClang Include="$(ANDROID_NDK_ROOT)/toolchains/llvm/prebuilt/$(MonoToolchainPrebuiltOS)/lib64/libclang.so.*"/>
|
692 | 692 | </ItemGroup>
|
693 | 693 | <PropertyGroup Condition="'$(TargetsLinux)' == 'true' and '$(Platform)' == 'arm64'">
|
|
700 | 700 |
|
701 | 701 | <PropertyGroup>
|
702 | 702 | <_MonoLLVMTargetArchitecture Condition="'$(MonoUseLLVMPackage)' == 'true'">$(BuildArchitecture)</_MonoLLVMTargetArchitecture>
|
703 |
| - <_MonoLLVMTargetArchitecture Condition="'$(AotHostArchitecture)' != '' and '$(MonoUseLLVMPackage)' == 'true'">$(AotHostArchitecture)</_MonoLLVMTargetArchitecture> |
| 703 | + <_MonoLLVMTargetArchitecture Condition="'$(MonoUseLLVMPackage)' == 'true'">$(AotHostArchitecture)</_MonoLLVMTargetArchitecture> |
704 | 704 | </PropertyGroup>
|
705 | 705 |
|
706 | 706 | <ItemGroup Condition="'$(HostOS)' == 'Linux' and (('$(MonoAOTEnableLLVM)' == 'true' and '$(MonoUseLibCxx)' == 'true') or '$(TargetArchitecture)' == 'wasm')">
|
|
709 | 709 | <_MonoAOTCXXFLAGS Include="-stdlib=libc++" />
|
710 | 710 | <MonoAOTCMakeArgs Include="-DMONO_SET_RPATH_ORIGIN=true" />
|
711 | 711 | </ItemGroup>
|
| 712 | + <ItemGroup Condition="'$(AotHostOS)' == 'linux'"> |
| 713 | + <_MonoAOTCFLAGS Include="-Wl,--build-id=sha1" /> |
| 714 | + <_MonoAOTCFLAGS Condition="'$(AotHostArchitecture)' == 'arm'" Include="-march=armv7-a" /> |
| 715 | + <_MonoAOTCXXFLAGS Include="-Wl,--build-id=sha1" /> |
| 716 | + <_MonoAOTCXXFLAGS Condition="'$(AotHostArchitecture)' == 'arm'" Include="-march=armv7-a" /> |
| 717 | + </ItemGroup> |
712 | 718 |
|
713 | 719 | <!-- macOS host specific options -->
|
714 |
| - <ItemGroup Condition="'$(AotHostOS)' == 'osx' or $([MSBuild]::IsOSPlatform('OSX'))"> |
715 |
| - <MonoAOTCMakeArgs Condition="'$(AotHostArchitecture)' == 'x64' or ('$(AotHostArchitecture)' == '' and '$(BuildArchitecture)' == 'x64')" Include="-DCMAKE_OSX_ARCHITECTURES=x86_64" /> |
716 |
| - <MonoAOTCMakeArgs Condition="'$(AotHostArchitecture)' == 'x86' or ('$(AotHostArchitecture)' == '' and '$(BuildArchitecture)' == 'x86')" Include="-DCMAKE_OSX_ARCHITECTURES=i386" /> |
717 |
| - <MonoAOTCMakeArgs Condition="'$(AotHostArchitecture)' == 'arm64' or ('$(AotHostArchitecture)' == '' and '$(BuildArchitecture)' == 'arm64')" Include="-DCMAKE_OSX_ARCHITECTURES=arm64" /> |
718 |
| - <MonoAOTCMakeArgs Condition="'$(AotHostArchitecture)' == 'arm' or ('$(AotHostArchitecture)' == '' and '$(BuildArchitecture)' == 'arm')" Include=""-DCMAKE_OSX_ARCHITECTURES=armv7%3Barmv7s"" /> |
| 720 | + <ItemGroup Condition="'$(AotHostOS)' == 'osx'"> |
| 721 | + <MonoAOTCMakeArgs Condition="'$(AotHostArchitecture)' == 'x64'" Include="-DCMAKE_OSX_ARCHITECTURES=x86_64" /> |
| 722 | + <MonoAOTCMakeArgs Condition="'$(AotHostArchitecture)' == 'x86'" Include="-DCMAKE_OSX_ARCHITECTURES=i386" /> |
| 723 | + <MonoAOTCMakeArgs Condition="'$(AotHostArchitecture)' == 'arm64'" Include="-DCMAKE_OSX_ARCHITECTURES=arm64" /> |
| 724 | + <MonoAOTCMakeArgs Condition="'$(AotHostArchitecture)' == 'arm'" Include=""-DCMAKE_OSX_ARCHITECTURES=armv7%3Barmv7s"" /> |
719 | 725 | <MonoAOTCMakeArgs Include="-DCMAKE_OSX_DEPLOYMENT_TARGET=$(macOSVersionMin)" />
|
720 | 726 | <MonoAOTCMakeArgs Include="-DENABLE_ICALL_EXPORT=1"/>
|
721 | 727 | <_MonoAOTCFLAGS Condition="'$(AotHostArchitecture)' == 'arm64'" Include="-arch arm64" />
|
|
737 | 743 | </PropertyGroup>
|
738 | 744 |
|
739 | 745 | <!-- Windows specific options -->
|
740 |
| - <ItemGroup Condition="'$(AotHostOS)' == 'windows' or $([MSBuild]::IsOSPlatform('Windows'))"> |
| 746 | + <ItemGroup Condition="'$(AotHostOS)' == 'windows'"> |
741 | 747 | <_MonoAOTCPPFLAGS Include="-DHOST_WIN32" />
|
742 | 748 | <_MonoAOTCPPFLAGS Include="-D__WIN32__" />
|
743 | 749 | <_MonoAOTCPPFLAGS Include="-DWIN32" />
|
|
805 | 811 | </ItemGroup>
|
806 | 812 |
|
807 | 813 | <!-- AOT compiler cross-build options -->
|
808 |
| - <ItemGroup Condition="'$(AotHostArchitecture)' != '' and '$(MonoCrossDir)' != ''"> |
| 814 | + <ItemGroup Condition="'$(MonoCrossDir)' != ''"> |
809 | 815 | <MonoAOTCMakeArgs Include="-DCMAKE_TOOLCHAIN_FILE=$(CrossToolchainFile)" />
|
810 | 816 | <_MonoAotBuildEnv Include="TARGET_BUILD_ARCH=$(AotHostArchitecture)" />
|
811 | 817 | </ItemGroup>
|
|
849 | 855 | </ItemGroup>
|
850 | 856 |
|
851 | 857 | <PropertyGroup>
|
852 |
| - <_MonoSkipInitCompiler Condition="'$(AotHostArchitecture)' != '' and '$(AotHostArchitecture)' != '$(BuildArchitecture)'">false</_MonoSkipInitCompiler> |
| 858 | + <_MonoSkipInitCompiler Condition="'$(AotHostArchitecture)' != '$(BuildArchitecture)'">false</_MonoSkipInitCompiler> |
853 | 859 | <_MonoSkipInitCompiler Condition="'$(CrossBuild)' == 'true'">false</_MonoSkipInitCompiler>
|
854 | 860 | <_MonoAotCrossOffsetsCommand Condition="'$(MonoUseCrossTool)' == 'true'">$(PythonCmd) $(MonoProjectRoot)mono/tools/offsets-tool/offsets-tool.py @(MonoAotCrossOffsetsToolParams, ' ')</_MonoAotCrossOffsetsCommand>
|
855 | 861 | <_MonoAotCMakeConfigureCommand>cmake @(MonoAOTCMakeArgs, ' ') $(MonoCMakeExtraArgs) "$(MonoProjectRoot.TrimEnd('\/'))"</_MonoAotCMakeConfigureCommand>
|
|
910 | 916 |
|
911 | 917 | <!-- General targets -->
|
912 | 918 | <Target Name="BuildMono" AfterTargets="Build" DependsOnTargets="$(MonoDependsOnTargets)">
|
| 919 | + |
| 920 | + <!-- If you don't specify the AOT host, assume it's the build machine --> |
| 921 | + <PropertyGroup> |
| 922 | + <AotHostArchitecture Condition="'$(AotHostArchitecture)' == ''">$(BuildArchitecture)</AotHostArchitecture> |
| 923 | + <AotHostOS Condition="'$(AotHostOS)' == ''">$(HostOS)</AotHostOS> |
| 924 | + </PropertyGroup> |
| 925 | + |
913 | 926 | <PropertyGroup Condition="'$(BuildMonoAOTCrossCompilerOnly)' != 'true'">
|
914 | 927 | <_MonoRuntimeFilePath>$(MonoObjDir)out\lib\$(MonoFileName)</_MonoRuntimeFilePath>
|
915 | 928 | <_MonoRuntimeStaticFilePath Condition="'$(TargetsMacCatalyst)' == 'true' or '$(TargetsiOS)' == 'true' or '$(TargetstvOS)' == 'true' or '$(TargetsAndroid)' == 'true' or '$(TargetsLinuxBionic)' == 'true'">$(MonoObjDir)out\lib\$(MonoStaticLibFileName)</_MonoRuntimeStaticFilePath>
|
|
921 | 934 | </PropertyGroup>
|
922 | 935 | <PropertyGroup>
|
923 | 936 | <_MonoLLVMTargetArchitecture>$(BuildArchitecture)</_MonoLLVMTargetArchitecture>
|
924 |
| - <_MonoLLVMTargetArchitecture Condition="'$(TargetArchitecture)' != 'wasm' and '$(AotHostArchitecture)' != ''">$(AotHostArchitecture)</_MonoLLVMTargetArchitecture> |
| 937 | + <_MonoLLVMTargetArchitecture Condition="'$(TargetArchitecture)' != 'wasm'">$(AotHostArchitecture)</_MonoLLVMTargetArchitecture> |
925 | 938 | </PropertyGroup>
|
926 | 939 |
|
927 | 940 | <!-- Copy Mono runtime files to artifacts directory -->
|
|
0 commit comments