Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for mixed references mode in CMake builds #5657

Merged
merged 2 commits into from
Dec 3, 2020
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
9 changes: 9 additions & 0 deletions cmake/config.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,7 @@ set(OMR_TOOLS_USE_NATIVE_ENCODING ON CACHE BOOL
###

set(OMR_GC_LIB "omrgc" CACHE STRING "Name of the GC library to use")
set(OMR_GC_FULL_LIB "omrgc_full" CACHE STRING "Name of the Full References GC library to use for Mixed References Mode")
set(OMR_HOOK_LIB "j9hookstatic" CACHE STRING "Name of the hook library to link against")
set(OMR_PORT_LIB "omrport" CACHE STRING "Name of the port library to link against")
set(OMR_THREAD_LIB "j9thrstatic" CACHE STRING "Name of the thread library to link against")
Expand All @@ -115,6 +116,7 @@ set(OMR_TRACE_LIB "omrtrace" CACHE STRING "Name of the trace library to link aga
###

set(OMR_GC_GLUE_TARGET "NOTFOUND" CACHE STRING "The gc glue target, must be interface library")
set(OMR_GC_GLUE_FULL_TARGET "NOTFOUND" CACHE STRING "The gc glue full target, must be interface library")
set(OMR_UTIL_GLUE_TARGET "NOTFOUND" CACHE STRING "The util glue target, must be interface library")
set(OMR_RAS_GLUE_TARGET "NOTFOUND" CACHE STRING "The ras glue target, must be interface library")
set(OMR_CORE_GLUE_TARGET "NOTFOUND" CACHE STRING "The core glue target, must be and interface library")
Expand Down Expand Up @@ -161,14 +163,21 @@ set_property(CACHE OMR_GC_POINTER_MODE PROPERTY STRINGS "full" "compressed" "mix
if(OMR_GC_POINTER_MODE STREQUAL "full")
set(OMR_GC_COMPRESSED_POINTERS OFF CACHE INTERNAL "")
set(OMR_GC_FULL_POINTERS ON CACHE INTERNAL "")
set(OMR_MIXED_REFERENCES_MODE_STATIC OFF CACHE INTERNAL "")
elseif(OMR_GC_POINTER_MODE STREQUAL "compressed")
omr_assert(FATAL_ERROR TEST NOT OMR_ENV_DATA32 MESSAGE "OMR_GC_POINTER_MODE must be \"full\" on 32 bit platforms")
set(OMR_GC_COMPRESSED_POINTERS ON CACHE INTERNAL "")
set(OMR_GC_FULL_POINTERS OFF CACHE INTERNAL "")
set(OMR_MIXED_REFERENCES_MODE_STATIC OFF CACHE INTERNAL "")
elseif(OMR_GC_POINTER_MODE STREQUAL "mixed")
omr_assert(FATAL_ERROR TEST NOT OMR_ENV_DATA32 MESSAGE "OMR_GC_POINTER_MODE must be \"full\" on 32 bit platforms")
set(OMR_GC_COMPRESSED_POINTERS ON CACHE INTERNAL "")
set(OMR_GC_FULL_POINTERS ON CACHE INTERNAL "")
if(OMR_MIXED_REFERENCES_MODE STREQUAL "static")
set(OMR_MIXED_REFERENCES_MODE_STATIC ON CACHE INTERNAL "")
else()
set(OMR_MIXED_REFERENCES_MODE_STATIC OFF CACHE INTERNAL "")
endif()
else()
message(FATAL_ERROR "OMR_GC_FULL_POINTERS must be set to one of \"full\", \"compressed\", or \"mixed\"")
endif()
Expand Down
Loading