From 70688874f84607f272ea0028ce8982f5db00cd52 Mon Sep 17 00:00:00 2001 From: Jiajie Chen Date: Mon, 4 Sep 2023 09:05:45 +0800 Subject: [PATCH 1/4] Fix processor detection in CMakeLists.txt --- CMakeLists.txt | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ca593f2bb0..f3c8a05e5c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -333,32 +333,32 @@ endif() # single architecture work on macOS at least. # # Don't set CMAKE_OSX_ARCHITECTURES to more than a single value for now. -if(APPLE) +if(APPLE AND (NOT CMAKE_OSX_ARCHITECTURES STREQUAL "")) set(CMAKE_SYSTEM_PROCESSOR "${CMAKE_OSX_ARCHITECTURES}") endif() -if("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "(aarch64|arm64)") +if("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "(aarch64|arm64|ARM64)") set(HOST_AARCH64 true) elseif("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "arm") set(HOST_ARM true) elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "SunOS" AND "${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "i386") set(HOST_X86_64 true) -elseif("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "(x86_64|amd64)") +elseif("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "(x86_64|amd64|AMD64)") set(HOST_X86_64 true) -elseif("${CMAKE_SYSTEM_NAME}" MATCHES "[i?86|x86]") +elseif("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "(i[3-6]86|[xX]86)") set(ENABLE_ASM false) set(HOST_I386 true) -elseif("${CMAKE_SYSTEM_NAME}" MATCHES "mips64") +elseif("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "mips64") set(HOST_MIPS64 true) -elseif("${CMAKE_SYSTEM_NAME}" MATCHES "mips") +elseif("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "mips") set(HOST_MIPS true) -elseif("${CMAKE_SYSTEM_NAME}" MATCHES "powerpc") +elseif("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "powerpc") set(HOST_POWERPC true) -elseif("${CMAKE_SYSTEM_NAME}" MATCHES "ppc64") +elseif("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "ppc64") set(HOST_PPC64 true) -elseif("${CMAKE_SYSTEM_NAME}" MATCHES "riscv64") +elseif("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "riscv64") set(HOST_RISCV64 true) -elseif("${CMAKE_SYSTEM_NAME}" MATCHES "sparc64") +elseif("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "sparc64") set(HOST_SPARC64 true) else() set(ENABLE_ASM false) From fca20b23d6065af522c3f2a1b034fa0768d44730 Mon Sep 17 00:00:00 2001 From: Brent Cook Date: Mon, 2 Oct 2023 03:31:24 -0500 Subject: [PATCH 2/4] remove unneeded switch for MSVC, cleanup comment alignment --- CMakeLists.txt | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f3c8a05e5c..8aaaf6283a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -63,11 +63,7 @@ if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) endif() # Enable asserts regardless of build type -if(MSVC) - add_definitions(/UNDEBUG) -else() - add_definitions(-UNDEBUG) -endif() +add_definitions(-UNDEBUG) set(BUILD_NC true) @@ -152,17 +148,17 @@ if(MSVC) "C4100" # 'identifier' : unreferenced formal parameter "C4127" # conditional expression is constant "C4146" # unary minus operator applied to unsigned type, - # result still unsigned + # result still unsigned "C4244" # 'argument' : conversion from 'type1' to 'type2', - # possible loss of data + # possible loss of data "C4245" # 'conversion' : conversion from 'type1' to 'type2', - # signed/unsigned mismatch + # signed/unsigned mismatch "C4267" # 'var' : conversion from 'size_t' to 'type', - # possible loss of data + # possible loss of data "C4389" # 'operator' : signed/unsigned mismatch "C4706" # assignment within conditional expression "C4996" # The POSIX name for this item is deprecated. - # Instead, use the ISO C and C++ conformant name + # Instead, use the ISO C and C++ conformant name ) elseif(CMAKE_C_COMPILER_ID MATCHES "Intel") add_definitions(-D_CRT_SUPPRESS_RESTRICT) From 01e3b10f5087dc228696f4c1e8f79f6f6657149d Mon Sep 17 00:00:00 2001 From: Brent Cook Date: Sun, 29 Oct 2023 11:18:52 -0500 Subject: [PATCH 3/4] remove conflicting align directives for MASM --- update.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/update.sh b/update.sh index ef40eedf57..4c97ae3177 100755 --- a/update.sh +++ b/update.sh @@ -191,6 +191,7 @@ fixup_masm() { | sed -e 's/|/OR/g' \ | sed -e 's/~/NOT/g' \ | sed -e 's/1 << \([0-9]*\)/1 SHL \1/g' \ + | sed -e 's/^ALIGN.*//g' \ > $2 } From 321fa56d9af8f4cb0ce7cd69d4f91b8c1a37b7a8 Mon Sep 17 00:00:00 2001 From: Brent Cook Date: Mon, 9 Oct 2023 01:30:00 -0500 Subject: [PATCH 4/4] disable MSVC x64 asm --- CMakeLists.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8aaaf6283a..a1a007749f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -341,6 +341,9 @@ elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "SunOS" AND "${CMAKE_SYSTEM_PROCESSOR}" S set(HOST_X86_64 true) elseif("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "(x86_64|amd64|AMD64)") set(HOST_X86_64 true) + if (MSVC) + set(ENABLE_ASM false) + endif() elseif("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "(i[3-6]86|[xX]86)") set(ENABLE_ASM false) set(HOST_I386 true)