diff options
author | Rahul Kumar <rahku@microsoft.com> | 2016-04-12 14:40:23 -0700 |
---|---|---|
committer | Rahul Kumar <rahku@microsoft.com> | 2016-04-18 22:17:29 -0700 |
commit | 7f46dbe0c6b0785a4e40978da684b1dc81d0b8ce (patch) | |
tree | 2de78686eb771e11d7276c69791405550bbd0311 /src | |
parent | 0a31fe90800bd45e3c3668483dbe27358864170e (diff) | |
download | coreclr-7f46dbe0c6b0785a4e40978da684b1dc81d0b8ce.tar.gz coreclr-7f46dbe0c6b0785a4e40978da684b1dc81d0b8ce.tar.bz2 coreclr-7f46dbe0c6b0785a4e40978da684b1dc81d0b8ce.zip |
enable build of cross target components.
Currently only enabled for arm64
Diffstat (limited to 'src')
37 files changed, 113 insertions, 206 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 957be0ef38..323c6f2e4f 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -72,11 +72,19 @@ add_custom_target( function(add_library_clr) add_library(${ARGV}) add_dependencies(${ARGV0} GeneratedEventingFiles) + list(FIND CLR_CROSS_COMPONENTS_LIST ${ARGV0} INDEX) + if (DEFINED CLR_CROSS_COMPONENTS_LIST AND ${INDEX} EQUAL -1) + set_target_properties(${ARGV0} PROPERTIES EXCLUDE_FROM_ALL 1) + endif() endfunction() function(add_executable_clr) add_executable(${ARGV}) add_dependencies(${ARGV0} GeneratedEventingFiles) + list(FIND CLR_CROSS_COMPONENTS_LIST ${ARGV0} INDEX) + if (DEFINED CLR_CROSS_COMPONENTS_LIST AND ${INDEX} EQUAL -1) + set_target_properties(${ARGV0} PROPERTIES EXCLUDE_FROM_ALL 1) + endif() endfunction() if(CLR_CMAKE_PLATFORM_UNIX) diff --git a/src/ToolBox/SOS/Strike/CMakeLists.txt b/src/ToolBox/SOS/Strike/CMakeLists.txt index 3c1cffe553..124fe979b3 100644 --- a/src/ToolBox/SOS/Strike/CMakeLists.txt +++ b/src/ToolBox/SOS/Strike/CMakeLists.txt @@ -14,14 +14,26 @@ if(CLR_CMAKE_PLATFORM_ARCH_AMD64) add_definitions(-D_TARGET_WIN64_=1) add_definitions(-DDBG_TARGET_64BIT) add_definitions(-DDBG_TARGET_WIN64=1) + if(WIN32) + add_definitions(-DSOS_TARGET_ARM64=1) + endif(WIN32) + remove_definitions(-D_TARGET_ARM64_=1) + add_definitions(-D_TARGET_AMD64_) + add_definitions(-DDBG_TARGET_AMD64) elseif(CLR_CMAKE_PLATFORM_ARCH_I386) add_definitions(-DSOS_TARGET_X86=1) add_definitions(-D_TARGET_X86_=1) add_definitions(-DDBG_TARGET_32BIT) + add_definitions(-DSOS_TARGET_ARM=1) elseif(CLR_CMAKE_PLATFORM_ARCH_ARM) add_definitions(-DSOS_TARGET_ARM=1) add_definitions(-D_TARGET_WIN32_=1) add_definitions(-DDBG_TARGET_32BIT) +elseif(CLR_CMAKE_PLATFORM_ARCH_ARM64) + add_definitions(-DSOS_TARGET_ARM64=1) + add_definitions(-D_TARGET_WIN64_=1) + add_definitions(-DDBG_TARGET_64BIT) + add_definitions(-DDBG_TARGET_WIN64=1) endif() add_definitions(-DSTRIKE) @@ -130,14 +142,25 @@ if(CLR_CMAKE_PLATFORM_ARCH_AMD64) set(SOS_SOURCES_ARCH disasmX86.cpp ) + if(WIN32) + list(APPEND + SOS_SOURCES_ARCH + disasmARM64.cpp + ) + endif(WIN32) elseif(CLR_CMAKE_PLATFORM_ARCH_I386) set(SOS_SOURCES_ARCH disasmX86.cpp + disasmARM.cpp ) elseif(CLR_CMAKE_PLATFORM_ARCH_ARM) set(SOS_SOURCES_ARCH disasmARM.cpp ) +elseif(CLR_CMAKE_PLATFORM_ARCH_ARM64) + set(SOS_SOURCES_ARCH + disasmARM64.cpp + ) endif() list(APPEND SOS_SOURCES ${SOS_SOURCES_ARCH}) diff --git a/src/ToolBox/SOS/Strike/DisasmARM64.cpp b/src/ToolBox/SOS/Strike/DisasmARM64.cpp index b726caac7d..ffe55bfd7a 100644 --- a/src/ToolBox/SOS/Strike/DisasmARM64.cpp +++ b/src/ToolBox/SOS/Strike/DisasmARM64.cpp @@ -23,9 +23,9 @@ #include "disasm.h" -#include "..\..\..\inc\corhdr.h" -#include "..\..\..\inc\cor.h" -#include "..\..\..\inc\dacprivate.h" +#include "../../../inc/corhdr.h" +#include "../../../inc/cor.h" +#include "../../../inc/dacprivate.h" namespace ARM64GCDump { diff --git a/src/ToolBox/SOS/lldbplugin/CMakeLists.txt b/src/ToolBox/SOS/lldbplugin/CMakeLists.txt index d8d05b9d2f..69823933a6 100644 --- a/src/ToolBox/SOS/lldbplugin/CMakeLists.txt +++ b/src/ToolBox/SOS/lldbplugin/CMakeLists.txt @@ -86,7 +86,7 @@ if(UPPERCASE_CMAKE_BUILD_TYPE STREQUAL DEBUG OR UPPERCASE_CMAKE_BUILD_TYPE STREQ ) endif(UPPERCASE_CMAKE_BUILD_TYPE STREQUAL DEBUG OR UPPERCASE_CMAKE_BUILD_TYPE STREQUAL CHECKED) -add_library(sosplugin SHARED ${SOURCES}) +_add_library(sosplugin SHARED ${SOURCES}) add_dependencies(sosplugin sos) if (CLR_CMAKE_PLATFORM_UNIX) diff --git a/src/classlibnative/CMakeLists.txt b/src/classlibnative/CMakeLists.txt index 4db05298ae..1c8d82566f 100644 --- a/src/classlibnative/CMakeLists.txt +++ b/src/classlibnative/CMakeLists.txt @@ -4,24 +4,6 @@ include_directories(BEFORE "../vm/${ARCH_SOURCES_DIR}") include_directories("../debug/inc") include_directories("../debug/inc/dump") -if(CLR_CMAKE_PLATFORM_ARCH_AMD64) - add_definitions(-DDBG_TARGET_64BIT=1) - add_definitions(-DDBG_TARGET_AMD64=1) - add_definitions(-DDBG_TARGET_WIN64=1) -elseif(CLR_CMAKE_PLATFORM_ARCH_I386) - add_definitions(-DDBG_TARGET_32BIT=1) - add_definitions(-DDBG_TARGET_X86=1) -elseif(CLR_CMAKE_PLATFORM_ARCH_ARM) - add_definitions(-DDBG_TARGET_32BIT=1) - add_definitions(-DDBG_TARGET_ARM=1) -elseif(CLR_CMAKE_PLATFORM_ARCH_ARM64) - add_definitions(-DDBG_TARGET_64BIT=1) - add_definitions(-DDBG_TARGET_ARM64=1) - add_definitions(-DDBG_TARGET_WIN64=1) -else() - clr_unknown_arch() -endif() - add_subdirectory(bcltype) add_subdirectory(float) diff --git a/src/coreclr/hosts/coreconsole/CMakeLists.txt b/src/coreclr/hosts/coreconsole/CMakeLists.txt index fdc0020126..a8eae3209b 100644 --- a/src/coreclr/hosts/coreconsole/CMakeLists.txt +++ b/src/coreclr/hosts/coreconsole/CMakeLists.txt @@ -10,14 +10,14 @@ add_definitions(-DFX_VER_INTERNALNAME_STR=CoreConsole.exe) if(CLR_CMAKE_PLATFORM_UNIX) # This does not compile on Linux yet if(CAN_BE_COMPILED_ON_LINUX) - add_executable(CoreConsole + _add_executable(CoreConsole ${CoreConsole_SOURCES} ${CoreConsole_RESOURCES} ) endif(CAN_BE_COMPILED_ON_LINUX) else() - add_executable(CoreConsole + _add_executable(CoreConsole ${CoreConsole_SOURCES} ${CoreConsole_RESOURCES} ) diff --git a/src/coreclr/hosts/corerun/CMakeLists.txt b/src/coreclr/hosts/corerun/CMakeLists.txt index 93bb9c2bcc..6868bb12c3 100644 --- a/src/coreclr/hosts/corerun/CMakeLists.txt +++ b/src/coreclr/hosts/corerun/CMakeLists.txt @@ -10,14 +10,14 @@ add_definitions(-DFX_VER_INTERNALNAME_STR=CoreRun.exe) if(CLR_CMAKE_PLATFORM_UNIX) # This does not compile on Linux yet if(CAN_BE_COMPILED_ON_LINUX) - add_executable(CoreRun + _add_executable(CoreRun ${CoreRun_SOURCES} ${CoreRun_RESOURCES} ) endif(CAN_BE_COMPILED_ON_LINUX) else() - add_executable(CoreRun + _add_executable(CoreRun ${CoreRun_SOURCES} ${CoreRun_RESOURCES} ) diff --git a/src/coreclr/hosts/osxbundlerun/CMakeLists.txt b/src/coreclr/hosts/osxbundlerun/CMakeLists.txt index 2ccc881dbe..49e2248ee7 100644 --- a/src/coreclr/hosts/osxbundlerun/CMakeLists.txt +++ b/src/coreclr/hosts/osxbundlerun/CMakeLists.txt @@ -9,7 +9,7 @@ set(CORERUN_SOURCES osxbundlerun.cpp ) -add_executable(osxbundlerun +_add_executable(osxbundlerun ${CORERUN_SOURCES} ) diff --git a/src/coreclr/hosts/unixcoreconsole/CMakeLists.txt b/src/coreclr/hosts/unixcoreconsole/CMakeLists.txt index cb18e82776..8988e60dcf 100644 --- a/src/coreclr/hosts/unixcoreconsole/CMakeLists.txt +++ b/src/coreclr/hosts/unixcoreconsole/CMakeLists.txt @@ -8,7 +8,7 @@ set(CORECONSOLE_SOURCES coreconsole.cpp ) -add_executable(coreconsole +_add_executable(coreconsole ${CORECONSOLE_SOURCES} ) diff --git a/src/coreclr/hosts/unixcorerun/CMakeLists.txt b/src/coreclr/hosts/unixcorerun/CMakeLists.txt index 1f0c75995e..b32c9833bf 100644 --- a/src/coreclr/hosts/unixcorerun/CMakeLists.txt +++ b/src/coreclr/hosts/unixcorerun/CMakeLists.txt @@ -8,7 +8,7 @@ set(CORERUN_SOURCES corerun.cpp ) -add_executable(corerun +_add_executable(corerun ${CORERUN_SOURCES} ) diff --git a/src/coreclr/hosts/unixcoreruncommon/CMakeLists.txt b/src/coreclr/hosts/unixcoreruncommon/CMakeLists.txt index f71e979cc6..a17e0a0fd6 100644 --- a/src/coreclr/hosts/unixcoreruncommon/CMakeLists.txt +++ b/src/coreclr/hosts/unixcoreruncommon/CMakeLists.txt @@ -2,7 +2,7 @@ project(unixcoreruncommon) add_compile_options(-fPIC) -add_library(unixcoreruncommon +_add_library(unixcoreruncommon STATIC coreruncommon.cpp ) diff --git a/src/corefx/CMakeLists.txt b/src/corefx/CMakeLists.txt index 7bd522d3bf..5abcaa32c9 100644 --- a/src/corefx/CMakeLists.txt +++ b/src/corefx/CMakeLists.txt @@ -9,6 +9,8 @@ # assemblies) or System.Diagnostics.Process.Native (a native interop library for # System.Diagnostics.Process.dll). +remove_definitions(-D_WIN64) + if(CLR_CMAKE_PLATFORM_UNIX) add_subdirectory(System.Globalization.Native) endif(CLR_CMAKE_PLATFORM_UNIX) diff --git a/src/corefx/System.Globalization.Native/CMakeLists.txt b/src/corefx/System.Globalization.Native/CMakeLists.txt index bf279efe6a..3d9e392132 100644 --- a/src/corefx/System.Globalization.Native/CMakeLists.txt +++ b/src/corefx/System.Globalization.Native/CMakeLists.txt @@ -52,7 +52,7 @@ set(NATIVEGLOBALIZATION_SOURCES include_directories(${UTYPES_H}) -add_library(System.Globalization.Native +_add_library(System.Globalization.Native SHARED ${NATIVEGLOBALIZATION_SOURCES} ) diff --git a/src/debug/daccess/CMakeLists.txt b/src/debug/daccess/CMakeLists.txt index 77dc1c249d..30068450b4 100644 --- a/src/debug/daccess/CMakeLists.txt +++ b/src/debug/daccess/CMakeLists.txt @@ -3,29 +3,6 @@ include(${CLR_DIR}/dac.cmake) add_definitions(-DFEATURE_NO_HOST) -if(CLR_CMAKE_PLATFORM_ARCH_AMD64) - add_definitions(-D_TARGET_AMD64_=1) - add_definitions(-DDBG_TARGET_64BIT=1) - add_definitions(-DDBG_TARGET_AMD64=1) - add_definitions(-DDBG_TARGET_WIN64=1) - add_definitions(-D_WIN64=1) -elseif(CLR_CMAKE_PLATFORM_ARCH_I386) - add_definitions(-D_TARGET_X86_=1) - add_definitions(-DDBG_TARGET_X86=1) -elseif(CLR_CMAKE_PLATFORM_ARCH_ARM) - add_definitions(-D_TARGET_ARM_=1) - add_definitions(-DDBG_TARGET_32BIT=1) - add_definitions(-DDBG_TARGET_ARM=1) -elseif(CLR_CMAKE_PLATFORM_ARCH_ARM64) - add_definitions(-D_TARGET_ARM64_=1) - add_definitions(-DDBG_TARGET_64BIT=1) - add_definitions(-DDBG_TARGET_ARM64=1) - add_definitions(-DDBG_TARGET_WIN64=1) - add_definitions(-D_WIN64=1) -else() - clr_unknown_arch() -endif() - include_directories(BEFORE ${VM_DIR}) include_directories(BEFORE ${VM_DIR}/${ARCH_SOURCES_DIR}) include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR}) diff --git a/src/debug/debug-pal/CMakeLists.txt b/src/debug/debug-pal/CMakeLists.txt index d9a6cf2e84..c96d7f9e06 100644 --- a/src/debug/debug-pal/CMakeLists.txt +++ b/src/debug/debug-pal/CMakeLists.txt @@ -28,4 +28,4 @@ if(CLR_CMAKE_PLATFORM_UNIX) endif(CLR_CMAKE_PLATFORM_UNIX) -add_library(debug-pal STATIC ${TWO_WAY_PIPE_SOURCES}) +_add_library(debug-pal STATIC ${TWO_WAY_PIPE_SOURCES}) diff --git a/src/debug/di/CMakeLists.txt b/src/debug/di/CMakeLists.txt index 030e150434..8894813e73 100644 --- a/src/debug/di/CMakeLists.txt +++ b/src/debug/di/CMakeLists.txt @@ -1,25 +1,3 @@ -if(CLR_CMAKE_PLATFORM_ARCH_AMD64) - add_definitions(-D_TARGET_WIN64_=1) - add_definitions(-DDBG_TARGET_64BIT) - add_definitions(-DDBG_TARGET_WIN64=1) - add_definitions(-DDBG_TARGET_AMD64=1) -elseif(CLR_CMAKE_PLATFORM_ARCH_I386) - add_definitions(-D_TARGET_X86_=1) - add_definitions(-DDBG_TARGET_32BIT) - add_definitions(-DDBG_TARGET_X86=1) -elseif(CLR_CMAKE_PLATFORM_ARCH_ARM) - add_definitions(-D_TARGET_WIN32_=1) - add_definitions(-DDBG_TARGET_32BIT) - add_definitions(-DDBG_TARGET_ARM=1) -elseif(CLR_CMAKE_PLATFORM_ARCH_ARM64) - add_definitions(-D_TARGET_WIN64_=1) - add_definitions(-DDBG_TARGET_64BIT) - add_definitions(-DDBG_TARGET_WIN64=1) - add_definitions(-DDBG_TARGET_ARM64=1) -else() - clr_unknown_arch() -endif() - add_definitions(-DFEATURE_METADATA_CUSTOM_DATA_SOURCE -DFEATURE_METADATA_DEBUGGEE_DATA_SOURCE -DFEATURE_NO_HOST -DFEATURE_METADATA_LOAD_TRUSTED_IMAGES) set(CORDBDI_SOURCES @@ -56,7 +34,7 @@ if(WIN32) #use static crt add_definitions(-MT) - if (CLR_CMAKE_PLATFORM_ARCH_AMD64) + if (CLR_CMAKE_TARGET_ARCH_AMD64) set(CORDBDI_SOURCES ${CORDBDI_SOURCES} ${ARCH_SOURCES_DIR}/floatconversion.asm @@ -65,7 +43,7 @@ if(WIN32) elseif(CLR_CMAKE_PLATFORM_UNIX) add_compile_options(-fPIC) - if(CLR_CMAKE_PLATFORM_ARCH_AMD64) + if(CLR_CMAKE_TARGET_ARCH_AMD64) set(CORDBDI_SOURCES ${CORDBDI_SOURCES} ${ARCH_SOURCES_DIR}/floatconversion.S diff --git a/src/debug/ee/CMakeLists.txt b/src/debug/ee/CMakeLists.txt index ec703a15ac..85170df713 100644 --- a/src/debug/ee/CMakeLists.txt +++ b/src/debug/ee/CMakeLists.txt @@ -2,29 +2,6 @@ set(CMAKE_INCLUDE_CURRENT_DIR ON) add_definitions(-DFEATURE_NO_HOST) -if(CLR_CMAKE_PLATFORM_ARCH_AMD64) - add_definitions(-D_TARGET_AMD64_=1) - add_definitions(-DDBG_TARGET_64BIT=1) - add_definitions(-DDBG_TARGET_AMD64=1) - add_definitions(-DDBG_TARGET_WIN64=1) -elseif(CLR_CMAKE_PLATFORM_ARCH_I386) - add_definitions(-D_TARGET_X86_=1) - add_definitions(-DDBG_TARGET_32BIT=1) - add_definitions(-DDBG_TARGET_X86=1) -elseif(CLR_CMAKE_PLATFORM_ARCH_ARM) - add_definitions(-D_TARGET_ARM_=1) - add_definitions(-DDBG_TARGET_32BIT=1) - add_definitions(-DDBG_TARGET_ARM=1) -elseif(CLR_CMAKE_PLATFORM_ARCH_ARM64) - add_definitions(-D_TARGET_ARM64_=1) - add_definitions(-DDBG_TARGET_64BIT=1) - add_definitions(-DDBG_TARGET_ARM64=1) - add_definitions(-DDBG_TARGET_WIN64=1) -else() - clr_unknown_arch() -endif() - - include_directories(BEFORE ${VM_DIR}) include_directories(BEFORE ${VM_DIR}/${ARCH_SOURCES_DIR}) include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR}) @@ -60,19 +37,19 @@ if(CLR_CMAKE_PLATFORM_UNIX) ) endif(CLR_CMAKE_PLATFORM_UNIX) -if(CLR_CMAKE_PLATFORM_ARCH_AMD64) +if(CLR_CMAKE_TARGET_ARCH_AMD64) list(APPEND CORDBEE_SOURCES_WKS ${ARCH_SOURCES_DIR}/debuggerregdisplayhelper.cpp ${ARCH_SOURCES_DIR}/amd64walker.cpp ) -elseif(CLR_CMAKE_PLATFORM_ARCH_I386) +elseif(CLR_CMAKE_TARGET_ARCH_I386) list(APPEND CORDBEE_SOURCES_WKS ${ARCH_SOURCES_DIR}/debuggerregdisplayhelper.cpp ${ARCH_SOURCES_DIR}/x86walker.cpp ) -elseif(CLR_CMAKE_PLATFORM_ARCH_ARM) +elseif(CLR_CMAKE_TARGET_ARCH_ARM) list(APPEND CORDBEE_SOURCES_WKS ${ARCH_SOURCES_DIR}/armwalker.cpp) -elseif(CLR_CMAKE_PLATFORM_ARCH_ARM64) +elseif(CLR_CMAKE_TARGET_ARCH_ARM64) list(APPEND CORDBEE_SOURCES_WKS ${ARCH_SOURCES_DIR}/arm64walker.cpp) endif() diff --git a/src/dlls/mscordac/CMakeLists.txt b/src/dlls/mscordac/CMakeLists.txt index 9a28479fed..4a80ef46e7 100644 --- a/src/dlls/mscordac/CMakeLists.txt +++ b/src/dlls/mscordac/CMakeLists.txt @@ -89,7 +89,7 @@ if(WIN32) ) # ARM64_TODO: Enable this for Windows Arm64 - if (NOT CLR_CMAKE_PLATFORM_ARCH_ARM64) + if (NOT CLR_CMAKE_TARGET_ARCH_ARM64) list(APPEND COREDAC_LIBRARIES ${STATIC_MT_VCRT_LIB} ) diff --git a/src/dlls/mscorrc/full/CMakeLists.txt b/src/dlls/mscorrc/full/CMakeLists.txt index 2b26c576f9..30d93385ec 100644 --- a/src/dlls/mscorrc/full/CMakeLists.txt +++ b/src/dlls/mscorrc/full/CMakeLists.txt @@ -6,9 +6,7 @@ if(WIN32) ../include.rc ) - # add the install targets - install (TARGETS mscorrc.debug DESTINATION .) - install (FILES ${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>/mscorrc.debug.pdb DESTINATION PDB) + install_clr (mscorrc.debug) else() build_resources(${CMAKE_CURRENT_SOURCE_DIR}/../include.rc mscorrc_debug TARGET_CPP_FILE) diff --git a/src/dlls/mscorrc/small/CMakeLists.txt b/src/dlls/mscorrc/small/CMakeLists.txt index 48e7f48f00..7c359e075e 100644 --- a/src/dlls/mscorrc/small/CMakeLists.txt +++ b/src/dlls/mscorrc/small/CMakeLists.txt @@ -5,7 +5,4 @@ add_library_clr(mscorrc SHARED ) # add the install targets -install (TARGETS mscorrc DESTINATION .) -install (FILES ${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>/mscorrc.pdb DESTINATION PDB) - - +install_clr (mscorrc)
\ No newline at end of file diff --git a/src/gc/sample/CMakeLists.txt b/src/gc/sample/CMakeLists.txt index f0ba28edc7..572fba371f 100644 --- a/src/gc/sample/CMakeLists.txt +++ b/src/gc/sample/CMakeLists.txt @@ -29,6 +29,6 @@ else() gcenv.unix.cpp) endif() -add_executable(gcsample +_add_executable(gcsample ${SOURCES} ) diff --git a/src/gcinfo/CMakeLists.txt b/src/gcinfo/CMakeLists.txt index 53a1ad2591..11857184e3 100644 --- a/src/gcinfo/CMakeLists.txt +++ b/src/gcinfo/CMakeLists.txt @@ -22,5 +22,5 @@ endif(CLR_CMAKE_PLATFORM_UNIX) add_subdirectory(lib) add_subdirectory(crossgen) -install (FILES gcinfoencoder.cpp +_install (FILES gcinfoencoder.cpp DESTINATION gcinfo) diff --git a/src/ilasm/CMakeLists.txt b/src/ilasm/CMakeLists.txt index f155f48289..f9c6ba97af 100644 --- a/src/ilasm/CMakeLists.txt +++ b/src/ilasm/CMakeLists.txt @@ -38,7 +38,7 @@ if(CLR_CMAKE_PLATFORM_UNIX) set_source_files_properties( prebuilt/asmparse.c PROPERTIES COMPILE_FLAGS -O0 ) endif(CLR_CMAKE_PLATFORM_UNIX) -add_executable(ilasm +_add_executable(ilasm ${ILASM_SOURCES} ) diff --git a/src/ildasm/exe/CMakeLists.txt b/src/ildasm/exe/CMakeLists.txt index 8ce2bc3446..932c3850be 100644 --- a/src/ildasm/exe/CMakeLists.txt +++ b/src/ildasm/exe/CMakeLists.txt @@ -34,7 +34,7 @@ set(ILDASM_SOURCES ../windasm.cpp ) -add_executable(ildasm +_add_executable(ildasm ${ILDASM_SOURCES} ${ILDASM_RESOURCES} ) diff --git a/src/ildasm/rcdll/CMakeLists.txt b/src/ildasm/rcdll/CMakeLists.txt index 20af311045..93da34c3a8 100644 --- a/src/ildasm/rcdll/CMakeLists.txt +++ b/src/ildasm/rcdll/CMakeLists.txt @@ -22,7 +22,4 @@ target_link_libraries(ildasmrc ${STATIC_MT_VCRT_LIB} ) -# We will generate PDB only for the debug configuration -install (FILES ${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>/ildasmrc.pdb DESTINATION PDB) - -install (TARGETS ildasmrc DESTINATION .) +install_clr (ildasmrc)
\ No newline at end of file diff --git a/src/inc/CMakeLists.txt b/src/inc/CMakeLists.txt index 87d7536d02..803ca3bcc7 100644 --- a/src/inc/CMakeLists.txt +++ b/src/inc/CMakeLists.txt @@ -67,11 +67,11 @@ add_compile_options(-fPIC) endif(WIN32) # Compile *_i.c to lib -add_library(corguids ${CORGUIDS_SOURCES}) +_add_library(corguids ${CORGUIDS_SOURCES}) # Binplace the inc files for packaging later. -install (FILES cfi.h +_install (FILES cfi.h cor.h cordebuginfo.h coredistools.h @@ -84,4 +84,4 @@ install (FILES cfi.h gcinfoencoder.h gcinfotypes.h DESTINATION inc) -install (TARGETS corguids DESTINATION lib) +_install (TARGETS corguids DESTINATION lib) diff --git a/src/inc/clrnt.h b/src/inc/clrnt.h index bd25ab39ff..4fb85f4eda 100644 --- a/src/inc/clrnt.h +++ b/src/inc/clrnt.h @@ -1085,6 +1085,14 @@ RtlVirtualUnwind( IN OUT PKNONVOLATILE_CONTEXT_POINTERS ContextPointers OPTIONAL ); +#ifndef IMAGE_FILE_MACHINE_ARM64 +#define IMAGE_FILE_MACHINE_ARM64 0xAA64 // ARM64 Little-Endian +#endif + +#ifndef IMAGE_REL_ARM64_BRANCH26 +#define IMAGE_REL_ARM64_BRANCH26 0x0003 // 26 bit offset << 2 & sign ext. for B & BL +#endif + #endif #endif // CLRNT_H_ diff --git a/src/jit/CMakeLists.txt b/src/jit/CMakeLists.txt index 73ecac3b03..577be87966 100644 --- a/src/jit/CMakeLists.txt +++ b/src/jit/CMakeLists.txt @@ -6,10 +6,10 @@ include_directories("../inc") # Enable the following for UNIX altjit on Windows # add_definitions(-DALT_JIT) -if (CLR_CMAKE_PLATFORM_ARCH_AMD64) +if (CLR_CMAKE_TARGET_ARCH_AMD64) add_definitions(-DFEATURE_SIMD) add_definitions(-DFEATURE_AVX_SUPPORT) -endif (CLR_CMAKE_PLATFORM_ARCH_AMD64) +endif () if (ARM_SOFTFP) add_definitions(-DARM_SOFTFP) @@ -70,7 +70,7 @@ set( JIT_SOURCES valuenum.cpp ) -if(CLR_CMAKE_PLATFORM_ARCH_AMD64) +if(CLR_CMAKE_TARGET_ARCH_AMD64) set( ARCH_SOURCES codegenxarch.cpp emitxarch.cpp @@ -80,7 +80,7 @@ if(CLR_CMAKE_PLATFORM_ARCH_AMD64) targetamd64.cpp unwindamd64.cpp ) -elseif(CLR_CMAKE_PLATFORM_ARCH_ARM) +elseif(CLR_CMAKE_TARGET_ARCH_ARM) set( ARCH_SOURCES codegenarm.cpp emitarm.cpp @@ -88,7 +88,7 @@ elseif(CLR_CMAKE_PLATFORM_ARCH_ARM) targetarm.cpp unwindarm.cpp ) -elseif(CLR_CMAKE_PLATFORM_ARCH_I386) +elseif(CLR_CMAKE_TARGET_ARCH_I386) set( ARCH_SOURCES codegenxarch.cpp emitxarch.cpp @@ -97,7 +97,7 @@ elseif(CLR_CMAKE_PLATFORM_ARCH_I386) simdcodegenxarch.cpp targetx86.cpp ) -elseif(CLR_CMAKE_PLATFORM_ARCH_ARM64) +elseif(CLR_CMAKE_TARGET_ARCH_ARM64) set( ARCH_SOURCES codegenarm64.cpp emitarm64.cpp @@ -115,20 +115,20 @@ endif() # #ifdef'ed, though it makes the build slightly slower to do so. Note there is only a legacy backend for # x86 and ARM. -if(CLR_CMAKE_PLATFORM_ARCH_AMD64) +if(CLR_CMAKE_TARGET_ARCH_AMD64) set( ARCH_LEGACY_SOURCES ) -elseif(CLR_CMAKE_PLATFORM_ARCH_ARM) +elseif(CLR_CMAKE_TARGET_ARCH_ARM) set( ARCH_LEGACY_SOURCES codegenlegacy.cpp registerfp.cpp ) -elseif(CLR_CMAKE_PLATFORM_ARCH_I386) +elseif(CLR_CMAKE_TARGET_ARCH_I386) set( ARCH_LEGACY_SOURCES codegenlegacy.cpp stackfp.cpp ) -elseif(CLR_CMAKE_PLATFORM_ARCH_ARM64) +elseif(CLR_CMAKE_TARGET_ARCH_ARM64) set( ARCH_LEGACY_SOURCES ) else() @@ -174,4 +174,4 @@ add_subdirectory(standalone) if (CLR_CMAKE_PLATFORM_ARCH_I386 OR CLR_CMAKE_PLATFORM_ARCH_ARM) add_subdirectory(protojit) -endif (CLR_CMAKE_PLATFORM_ARCH_I386 OR CLR_CMAKE_PLATFORM_ARCH_ARM) +endif (CLR_CMAKE_PLATFORM_ARCH_I386 OR CLR_CMAKE_PLATFORM_ARCH_ARM)
\ No newline at end of file diff --git a/src/jit/crossgen/CMakeLists.txt b/src/jit/crossgen/CMakeLists.txt index c4950b1882..981369e768 100644 --- a/src/jit/crossgen/CMakeLists.txt +++ b/src/jit/crossgen/CMakeLists.txt @@ -1,7 +1,7 @@ include(${CLR_DIR}/crossgen.cmake) -if(CLR_CMAKE_PLATFORM_ARCH_I386 OR CLR_CMAKE_PLATFORM_ARCH_ARM) +if(CLR_CMAKE_TARGET_ARCH_I386 OR CLR_CMAKE_TARGET_ARCH_ARM) add_definitions(-DLEGACY_BACKEND) -endif(CLR_CMAKE_PLATFORM_ARCH_I386 OR CLR_CMAKE_PLATFORM_ARCH_ARM) +endif() add_library_clr(jit_crossgen ${SOURCES}) diff --git a/src/jit/gcencode.cpp b/src/jit/gcencode.cpp index 2c4e83564f..196507342c 100644 --- a/src/jit/gcencode.cpp +++ b/src/jit/gcencode.cpp @@ -4184,7 +4184,7 @@ void GCInfo::gcInfoRecordGCRegStateChange(GcInfoEncoder* gcInfoEn while (regMask) { // Get hold of the next register bit. - unsigned tmpMask = genFindLowestReg(regMask); assert(tmpMask); + regMaskTP tmpMask = genFindLowestReg(regMask); assert(tmpMask); // Remember the new state of this register. if (pPtrRegs != NULL) diff --git a/src/pal/CMakeLists.txt b/src/pal/CMakeLists.txt index 5d9ce4e9e9..cb8b05586c 100644 --- a/src/pal/CMakeLists.txt +++ b/src/pal/CMakeLists.txt @@ -2,6 +2,13 @@ cmake_minimum_required(VERSION 2.8.12.2) project(COREPAL) +if (WIN32) + set(FEATURE_EVENT_TRACE 1) +endif() +if(CLR_CMAKE_PLATFORM_LINUX AND CLR_CMAKE_PLATFORM_ARCH_AMD64) + set(FEATURE_EVENT_TRACE 1) +endif() + include_directories(${COREPAL_SOURCE_DIR}/inc) include_directories(${COREPAL_SOURCE_DIR}/src) include_directories(${COREPAL_SOURCE_DIR}/../inc) diff --git a/src/pal/prebuilt/inc/CMakeLists.txt b/src/pal/prebuilt/inc/CMakeLists.txt index 69854e68e8..ae9892bb77 100644 --- a/src/pal/prebuilt/inc/CMakeLists.txt +++ b/src/pal/prebuilt/inc/CMakeLists.txt @@ -2,5 +2,5 @@ cmake_minimum_required(VERSION 2.8.12.2) project(COREPAL) -install (FILES corerror.h corprof.h DESTINATION inc) +_install (FILES corerror.h corprof.h DESTINATION inc) diff --git a/src/pal/tools/gen-buildsys-win.bat b/src/pal/tools/gen-buildsys-win.bat index cccd342b79..5592fe5930 100644 --- a/src/pal/tools/gen-buildsys-win.bat +++ b/src/pal/tools/gen-buildsys-win.bat @@ -1,4 +1,4 @@ -@echo off +@if not defined __echo @echo off rem rem This file invokes cmake and generates the build system for windows. @@ -26,13 +26,13 @@ set __BuildJit32=%4 if defined CMakePath goto DoGen :: Eval the output from probe-win1.ps1 -for /f "delims=" %%a in ('powershell -NoProfile -ExecutionPolicy RemoteSigned "& .\probe-win.ps1"') do %%a +for /f "delims=" %%a in ('powershell -NoProfile -ExecutionPolicy RemoteSigned "& "%basePath%\probe-win.ps1""') do %%a :DoGen if "%UseVS%" == "0" ( - "%CMakePath%" "-DCMAKE_USER_MAKE_RULES_OVERRIDE=%basePath%\windows-compiler-override.txt" "-DCLR_CMAKE_TARGET_ARCH=%3" -G "Visual Studio %__VSString% Win64" %1 + "%CMakePath%" "-DCMAKE_USER_MAKE_RULES_OVERRIDE=%basePath%\windows-compiler-override.txt" "-DCMAKE_INSTALL_PREFIX:PATH=$ENV{__CMakeBinDir}" "-DCLR_CMAKE_HOST_ARCH=%3" -G "Visual Studio %__VSString% Win64" %1 ) else ( - "%CMakePath%" "-DCMAKE_USER_MAKE_RULES_OVERRIDE=%basePath%\windows-compiler-override.txt" "-DCLR_CMAKE_TARGET_ARCH=%3" %__BuildJit32% -G "Visual Studio %__VSString%" %1 + "%CMakePath%" "-DCMAKE_USER_MAKE_RULES_OVERRIDE=%basePath%\windows-compiler-override.txt" "-DCMAKE_INSTALL_PREFIX:PATH=$ENV{__CMakeBinDir}" "-DCLR_CMAKE_HOST_ARCH=%3" %__BuildJit32% -G "Visual Studio %__VSString%" %1 ) endlocal GOTO :DONE diff --git a/src/pal/tools/windows-compiler-override.txt b/src/pal/tools/windows-compiler-override.txt index 7f3c63c24e..f6cb16856c 100644 --- a/src/pal/tools/windows-compiler-override.txt +++ b/src/pal/tools/windows-compiler-override.txt @@ -13,5 +13,4 @@ SET (CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT "/O2 /Zi") SET (CLR_DEFINES_DEBUG_INIT DEBUG _DEBUG _DBG URTBLDENV_FRIENDLY=Checked BUILDENV_CHECKED=1) SET (CLR_DEFINES_CHECKED_INIT DEBUG _DEBUG _DBG URTBLDENV_FRIENDLY=Checked BUILDENV_CHECKED=1) SET (CLR_DEFINES_RELEASE_INIT NDEBUG URTBLDENV_FRIENDLY=Retail) -SET (CLR_DEFINES_RELWITHDEBINFO_INIT NDEBUG URTBLDENV_FRIENDLY=Retail) -SET (CMAKE_INSTALL_PREFIX $ENV{__CMakeBinDir}) +SET (CLR_DEFINES_RELWITHDEBINFO_INIT NDEBUG URTBLDENV_FRIENDLY=Retail)
\ No newline at end of file diff --git a/src/unwinder/dac/CMakeLists.txt b/src/unwinder/dac/CMakeLists.txt index dcbfb0e1c0..ff7bd73114 100644 --- a/src/unwinder/dac/CMakeLists.txt +++ b/src/unwinder/dac/CMakeLists.txt @@ -2,28 +2,4 @@ include(${CLR_DIR}/dac.cmake) add_definitions(-DFEATURE_NO_HOST) -if(CLR_CMAKE_PLATFORM_ARCH_AMD64) - add_definitions(-D_TARGET_AMD64_=1) - add_definitions(-DDBG_TARGET_64BIT=1) - add_definitions(-DDBG_TARGET_AMD64=1) - add_definitions(-DDBG_TARGET_WIN64=1) - add_definitions(-D_WIN64=1) -elseif(CLR_CMAKE_PLATFORM_ARCH_I386) - add_definitions(-D_TARGET_X86_=1) - add_definitions(-DDBG_TARGET_32BIT=1) - add_definitions(-DDBG_TARGET_X86=1) -elseif(CLR_CMAKE_PLATFORM_ARCH_ARM) - add_definitions(-D_TARGET_ARM_=1) - add_definitions(-DDBG_TARGET_32BIT=1) - add_definitions(-DDBG_TARGET_ARM=1) -elseif(CLR_CMAKE_PLATFORM_ARCH_ARM64) - add_definitions(-D_TARGET_ARM64_=1) - add_definitions(-DDBG_TARGET_64BIT=1) - add_definitions(-DDBG_TARGET_ARM64=1) - add_definitions(-DDBG_TARGET_WIN64=1) - add_definitions(-D_WIN64=1) -else() - clr_unknown_arch() -endif() - add_library_clr(unwinder_dac ${UNWINDER_SOURCES}) diff --git a/src/vm/CMakeLists.txt b/src/vm/CMakeLists.txt index 346acb264f..5704624ee5 100644 --- a/src/vm/CMakeLists.txt +++ b/src/vm/CMakeLists.txt @@ -5,28 +5,6 @@ include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR}) include_directories(${CLR_DIR}/src/gc) -if(CLR_CMAKE_PLATFORM_ARCH_AMD64) - add_definitions(-D_TARGET_AMD64_=1) - add_definitions(-DDBG_TARGET_64BIT=1) - add_definitions(-DDBG_TARGET_AMD64=1) - add_definitions(-DDBG_TARGET_WIN64=1) -elseif(CLR_CMAKE_PLATFORM_ARCH_I386) - add_definitions(-D_TARGET_X86_=1) - add_definitions(-DDBG_TARGET_32BIT=1) - add_definitions(-DDBG_TARGET_X86=1) -elseif(CLR_CMAKE_PLATFORM_ARCH_ARM) - add_definitions(-D_TARGET_ARM_=1) - add_definitions(-DDBG_TARGET_32BIT=1) - add_definitions(-DDBG_TARGET_ARM=1) -elseif(CLR_CMAKE_PLATFORM_ARCH_ARM64) - add_definitions(-D_TARGET_ARM64_=1) - add_definitions(-DDBG_TARGET_64BIT=1) - add_definitions(-DDBG_TARGET_ARM64=1) - add_definitions(-DDBG_TARGET_WIN64=1) -else() - clr_unknown_arch() -endif() - include_directories(${ARCH_SOURCES_DIR}) add_definitions(-DFEATURE_LEAVE_RUNTIME_HOLDER=1) @@ -324,7 +302,7 @@ list(APPEND VM_SOURCES_DAC clrprivtypecachewinrt.cpp ) -if(CLR_CMAKE_PLATFORM_ARCH_AMD64) +if(CLR_CMAKE_TARGET_ARCH_AMD64) set(VM_SOURCES_WKS_ARCH_ASM ${ARCH_SOURCES_DIR}/AsmHelpers.asm ${ARCH_SOURCES_DIR}/CallDescrWorkerAMD64.asm @@ -347,7 +325,7 @@ if(CLR_CMAKE_PLATFORM_ARCH_AMD64) ${ARCH_SOURCES_DIR}/UMThunkStub.asm ${ARCH_SOURCES_DIR}/VirtualCallStubAMD64.asm ) -elseif(CLR_CMAKE_PLATFORM_ARCH_I386) +elseif(CLR_CMAKE_TARGET_ARCH_I386) set(VM_SOURCES_WKS_ARCH_ASM ${ARCH_SOURCES_DIR}/RedirectedHandledJITCase.asm ${ARCH_SOURCES_DIR}/asmhelpers.asm @@ -355,7 +333,7 @@ elseif(CLR_CMAKE_PLATFORM_ARCH_I386) ${ARCH_SOURCES_DIR}/gmsasm.asm ${ARCH_SOURCES_DIR}/jithelp.asm ) -elseif(CLR_CMAKE_PLATFORM_ARCH_ARM64) +elseif(CLR_CMAKE_TARGET_ARCH_ARM64) set(VM_SOURCES_WKS_ARCH_ASM ${ARCH_SOURCES_DIR}/AsmHelpers.asm ${ARCH_SOURCES_DIR}/CallDescrWorkerARM64.asm @@ -367,7 +345,7 @@ endif() else(WIN32) - if(CLR_CMAKE_PLATFORM_ARCH_AMD64) + if(CLR_CMAKE_TARGET_ARCH_AMD64) set(VM_SOURCES_WKS_ARCH_ASM ${ARCH_SOURCES_DIR}/calldescrworkeramd64.S ${ARCH_SOURCES_DIR}/crthelpers.S @@ -382,7 +360,7 @@ else(WIN32) ${ARCH_SOURCES_DIR}/umthunkstub.S ${ARCH_SOURCES_DIR}/virtualcallstubamd64.S ) - elseif(CLR_CMAKE_PLATFORM_ARCH_ARM) + elseif(CLR_CMAKE_TARGET_ARCH_ARM) set(VM_SOURCES_WKS_ARCH_ASM ${ARCH_SOURCES_DIR}/asmhelpers.S ${ARCH_SOURCES_DIR}/crthelpers.S @@ -391,7 +369,7 @@ else(WIN32) ${ARCH_SOURCES_DIR}/patchedcode.S ${ARCH_SOURCES_DIR}/pinvokestubs.S ) - elseif(CLR_CMAKE_PLATFORM_ARCH_ARM64) + elseif(CLR_CMAKE_TARGET_ARCH_ARM64) set(VM_SOURCES_WKS_ARCH_ASM ${ARCH_SOURCES_DIR}/asmhelpers.S ${ARCH_SOURCES_DIR}/calldescrworkerarm64.S @@ -403,7 +381,7 @@ else(WIN32) endif(WIN32) -if(CLR_CMAKE_PLATFORM_ARCH_AMD64) +if(CLR_CMAKE_TARGET_ARCH_AMD64) set(VM_SOURCES_DAC_AND_WKS_ARCH ${ARCH_SOURCES_DIR}/cgenamd64.cpp ${ARCH_SOURCES_DIR}/excepamd64.cpp @@ -419,7 +397,7 @@ if(CLR_CMAKE_PLATFORM_ARCH_AMD64) gcinfodecoder.cpp jitinterfacegen.cpp ) -elseif(CLR_CMAKE_PLATFORM_ARCH_I386) +elseif(CLR_CMAKE_TARGET_ARCH_I386) set(VM_SOURCES_DAC_AND_WKS_ARCH gcdecode.cpp exinfo.cpp @@ -434,7 +412,7 @@ elseif(CLR_CMAKE_PLATFORM_ARCH_I386) ${ARCH_SOURCES_DIR}/jitinterfacex86.cpp ${ARCH_SOURCES_DIR}/profiler.cpp ) -elseif(CLR_CMAKE_PLATFORM_ARCH_ARM) +elseif(CLR_CMAKE_TARGET_ARCH_ARM) set(VM_SOURCES_DAC_AND_WKS_ARCH ${ARCH_SOURCES_DIR}/exceparm.cpp ${ARCH_SOURCES_DIR}/stubs.cpp @@ -447,7 +425,7 @@ elseif(CLR_CMAKE_PLATFORM_ARCH_ARM) exceptionhandling.cpp gcinfodecoder.cpp ) -elseif(CLR_CMAKE_PLATFORM_ARCH_ARM64) +elseif(CLR_CMAKE_TARGET_ARCH_ARM64) set(VM_SOURCES_DAC_AND_WKS_ARCH ${ARCH_SOURCES_DIR}/cgenarm64.cpp ${ARCH_SOURCES_DIR}/stubs.cpp diff --git a/src/vm/crossgen/CMakeLists.txt b/src/vm/crossgen/CMakeLists.txt index 24a6fbdc53..928d9deb0f 100644 --- a/src/vm/crossgen/CMakeLists.txt +++ b/src/vm/crossgen/CMakeLists.txt @@ -107,20 +107,20 @@ include_directories(BEFORE ..) include_directories(${CLR_DIR}/src/gc) include_directories(../${ARCH_SOURCES_DIR}) -if(CLR_CMAKE_PLATFORM_ARCH_AMD64) +if(CLR_CMAKE_TARGET_ARCH_AMD64) list(APPEND VM_CROSSGEN_SOURCES ../${ARCH_SOURCES_DIR}/stublinkeramd64.cpp ) -elseif(CLR_CMAKE_PLATFORM_ARCH_I386) +elseif(CLR_CMAKE_TARGET_ARCH_I386) list(APPEND VM_CROSSGEN_SOURCES ../${ARCH_SOURCES_DIR}/stublinkerx86.cpp ../gcdecode.cpp ) -elseif(CLR_CMAKE_PLATFORM_ARCH_ARM) +elseif(CLR_CMAKE_TARGET_ARCH_ARM) list(APPEND VM_CROSSGEN_SOURCES ../${ARCH_SOURCES_DIR}/stubs.cpp ) -elseif(CLR_CMAKE_PLATFORM_ARCH_ARM64) +elseif(CLR_CMAKE_TARGET_ARCH_ARM64) list(APPEND VM_CROSSGEN_SOURCES ../${ARCH_SOURCES_DIR}/stubs.cpp ) |