Skip to content
This repository has been archived by the owner on Jan 23, 2023. It is now read-only.

Build the legacy jit for x86. #2214

Merged
merged 1 commit into from
Dec 15, 2015
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions src/jit/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,8 @@ elseif(CLR_CMAKE_PLATFORM_ARCH_I386)
targetx86.cpp
lowerxarch.cpp
codegenxarch.cpp
codegenlegacy.cpp
stackfp.cpp
)
elseif(CLR_CMAKE_PLATFORM_ARCH_ARM64)
set( ARCH_SOURCES
Expand Down Expand Up @@ -137,3 +139,7 @@ set(CLR_EXPORTED_SYMBOL_FILE ${CLRJIT_EXPORTS_DEF})
add_subdirectory(dll)
add_subdirectory(crossgen)
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)
4 changes: 4 additions & 0 deletions src/jit/crossgen/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
include(${CLR_DIR}/crossgen.cmake)

if(CLR_CMAKE_PLATFORM_ARCH_I386 OR CLR_CMAKE_PLATFORM_ARCH_ARM)
add_definitions(-DLEGACY_BACKEND)
endif(CLR_CMAKE_PLATFORM_ARCH_I386 OR CLR_CMAKE_PLATFORM_ARCH_ARM)

add_library(jit_crossgen ${SOURCES})
4 changes: 4 additions & 0 deletions src/jit/dll/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
project(ClrJit)

if(CLR_CMAKE_PLATFORM_ARCH_I386 OR CLR_CMAKE_PLATFORM_ARCH_ARM)
add_definitions(-DLEGACY_BACKEND)
endif(CLR_CMAKE_PLATFORM_ARCH_I386 OR CLR_CMAKE_PLATFORM_ARCH_ARM)

# Disable the following for UNIX altjit on Windows
if(CLR_CMAKE_PLATFORM_UNIX)
add_compile_options(-fPIC)
Expand Down
46 changes: 46 additions & 0 deletions src/jit/protojit/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
project(protojit)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You should add .gitmirror file on the TFS into this directory first (since it exists on TFS side), wait for it to be mirrored and merged, and then commit this. The mirror is likely going to choke on it otherwise.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have just added it for you, it will get propagated in a couple of minutes ... you do not need to worry about it.


remove_definitions(-DFEATURE_MERGE_JIT_AND_ENGINE)

add_library(protojit
SHARED
${SHARED_LIB_SOURCES}
)

set(RYUJIT_LINK_LIBRARIES
utilcodestaticnohost
gcinfo
)

if(CLR_CMAKE_PLATFORM_UNIX)
list(APPEND RYUJIT_LINK_LIBRARIES
mscorrc_debug
coreclrpal
palrt
)
else()
list(APPEND RYUJIT_LINK_LIBRARIES
msvcrt.lib
kernel32.lib
advapi32.lib
ole32.lib
oleaut32.lib
uuid.lib
user32.lib
version.lib
shlwapi.lib
bcrypt.lib
crypt32.lib
RuntimeObject.lib
)
endif(CLR_CMAKE_PLATFORM_UNIX)

target_link_libraries(protojit
${RYUJIT_LINK_LIBRARIES}
)

# add the install targets
install (TARGETS protojit DESTINATION .)
if(WIN32)
install (FILES ${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>/protojit.pdb DESTINATION PDB)
endif(WIN32)