diff options
author | Jan Kotas <jkotas@microsoft.com> | 2016-01-03 16:12:21 -0800 |
---|---|---|
committer | Jan Kotas <jkotas@microsoft.com> | 2016-01-03 16:12:21 -0800 |
commit | 215fb944857693e3bcc372d684b4ab2aa98d00cc (patch) | |
tree | 4692fbf3e73f6027dd81df25aa0441b0505beff1 | |
parent | 8c7e7db8ca4f231b4b82c2c06990520efd2e7ee1 (diff) | |
parent | 44ce49211382594729a6801c45ccea457ac6452d (diff) | |
download | coreclr-215fb944857693e3bcc372d684b4ab2aa98d00cc.tar.gz coreclr-215fb944857693e3bcc372d684b4ab2aa98d00cc.tar.bz2 coreclr-215fb944857693e3bcc372d684b4ab2aa98d00cc.zip |
Merge pull request #2498 from taylorjonl/smartos
Fixed issue where files in /opt/local/include are not found and LTTng is required on SmartOS
-rw-r--r-- | CMakeLists.txt | 11 | ||||
-rw-r--r-- | src/pal/src/configure.cmake | 24 |
2 files changed, 33 insertions, 2 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 15bed4dd3b..f72780c8a7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -69,7 +69,16 @@ endif(CMAKE_SYSTEM_NAME STREQUAL NetBSD) if(CMAKE_SYSTEM_NAME STREQUAL SunOS) set(CLR_CMAKE_PLATFORM_UNIX 1) - set(CLR_CMAKE_PLATFORM_UNIX_TARGET_AMD64 1) + EXECUTE_PROCESS( + COMMAND isainfo -n + OUTPUT_VARIABLE SUNOS_NATIVE_INSTRUCTION_SET + ) + if(SUNOS_NATIVE_INSTRUCTION_SET MATCHES "amd64") + set(CLR_CMAKE_PLATFORM_UNIX_TARGET_AMD64 1) + set(CMAKE_SYSTEM_PROCESSOR "amd64") + else() + clr_unknown_arch() + endif() set(CLR_CMAKE_PLATFORM_SUNOS 1) endif(CMAKE_SYSTEM_NAME STREQUAL SunOS) diff --git a/src/pal/src/configure.cmake b/src/pal/src/configure.cmake index d130e14123..a210a8e055 100644 --- a/src/pal/src/configure.cmake +++ b/src/pal/src/configure.cmake @@ -9,7 +9,10 @@ include(CheckLibraryExists) if(CMAKE_SYSTEM_NAME STREQUAL FreeBSD) set(CMAKE_REQUIRED_INCLUDES /usr/local/include) -elseif(NOT CMAKE_SYSTEM_NAME STREQUAL Darwin) +elseif(CMAKE_SYSTEM_NAME STREQUAL SunOS) + set(CMAKE_REQUIRED_INCLUDES /opt/local/include) +endif() +if(NOT CMAKE_SYSTEM_NAME STREQUAL Darwin AND NOT CMAKE_SYSTEM_NAME STREQUAL FreeBSD) set(CMAKE_REQUIRED_DEFINITIONS "-D_DEFAULT_SOURCE -D_POSIX_C_SOURCE=200809L") endif() @@ -941,6 +944,25 @@ elseif(CMAKE_SYSTEM_NAME STREQUAL FreeBSD) message(FATAL_ERROR "Cannot find libc on this system.") endif() +elseif(CMAKE_SYSTEM_NAME STREQUAL SunOS) + if(NOT HAVE_LIBUNWIND_H) + unset(HAVE_LIBUNWIND_H CACHE) + message(FATAL_ERROR "Cannot find libunwind. Try installing libunwind8 and libunwind8-dev (or the appropriate packages for your platform)") + endif() + if(NOT HAVE_LIBUUID_H) + unset(HAVE_LIBUUID_H CACHE) + message(FATAL_ERROR "Cannot find libuuid. Try installing uuid-dev or the appropriate packages for your platform") + endif() + set(DEADLOCK_WHEN_THREAD_IS_SUSPENDED_WHILE_BLOCKED_ON_MUTEX 0) + set(PAL_PTRACE "ptrace((cmd), (pid), (caddr_t)(addr), (data))") + set(PAL_PT_ATTACH PT_ATTACH) + set(PAL_PT_DETACH PT_DETACH) + set(PAL_PT_READ_D PT_READ_D) + set(PAL_PT_WRITE_D PT_WRITE_D) + set(JA_JP_LOCALE_NAME ja_JP_LOCALE_NOT_FOUND) + set(KO_KR_LOCALE_NAME ko_KR_LOCALE_NOT_FOUND) + set(ZH_TW_LOCALE_NAME zh_TW_LOCALE_NOT_FOUND) + set(HAS_FTRUNCATE_LENGTH_ISSUE 0) else() # Anything else is Linux if(NOT HAVE_LIBUNWIND_H) unset(HAVE_LIBUNWIND_H CACHE) |