Skip to content

Commit 89f87d9

Browse files
committed
yokai: use TARGET_ARCH
1 parent 59a63fb commit 89f87d9

5 files changed

Lines changed: 35 additions & 34 deletions

File tree

CMakeLists.txt

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ if (USE_EXTERNAL_DEPS AND NOT YOKAI_TARGET_SYSTEM_NACL)
205205

206206
set(DEPS_EXT ".tar.xz")
207207

208-
set(DEPS_ARCH "${YOKAI_ARCH_NAME}")
208+
set(DEPS_ARCH "${YOKAI_TARGET_ARCH_NAME}")
209209

210210
if (YOKAI_CXX_COMPILER_MSVC_COMPATIBILITY)
211211
set(DEPS_COMPILER msvc)
@@ -222,7 +222,7 @@ if (USE_EXTERNAL_DEPS AND NOT YOKAI_TARGET_SYSTEM_NACL)
222222
set(DEPS_SYSTEM macos)
223223
set(SUPPORTED_${DEPS_SYSTEM}_ARCH amd64)
224224

225-
if (YOKAI_ARCH_ARM64)
225+
if (YOKAI_TARGET_ARCH_ARM64)
226226
set(DEPS_ARCH amd64)
227227

228228
set_deps_dir()
@@ -682,10 +682,10 @@ if (BUILD_CLIENT OR YOKAI_TARGET_SYSTEM_WINDOWS)
682682
set(sdlvar_amd64 SDL_CPU_X64)
683683
set(sdlvar_armhf SDL_CPU_ARM32)
684684
set(sdlvar_arm64 SDL_CPU_ARM64)
685-
if (sdlvar_${YOKAI_ARCH_NAME})
686-
set(${sdlvar_${YOKAI_ARCH_NAME}} 1)
685+
if (sdlvar_${YOKAI_TARGET_ARCH_NAME})
686+
set(${sdlvar_${YOKAI_TARGET_ARCH_NAME}} 1)
687687
else()
688-
message("Developer TODO: translate architecture ${YOKAI_ARCH_NAME} for SDL")
688+
message("Developer TODO: translate architecture ${YOKAI_TARGET_ARCH_NAME} for SDL")
689689
endif()
690690

691691
find_package(SDL3 REQUIRED CONFIG)
@@ -985,7 +985,7 @@ if (DEPS_DIR AND HAS_NACL AND (BUILD_CLIENT OR BUILD_TTY_CLIENT OR BUILD_SERVER
985985

986986
# Linux uses a bootstrap program to reserve address space
987987
if (YOKAI_TARGET_SYSTEM_LINUX_COMPATIBILITY)
988-
if (YOKAI_ARCH_ARM64)
988+
if (YOKAI_TARGET_ARCH_ARM64)
989989
add_executable(nacl_helper_bootstrap-armhf tools/nacl_helper_bootstrap-armhf/nacl_helper_bootstrap-armhf.cpp)
990990
add_dependencies(runtime_deps nacl_helper_bootstrap-armhf)
991991

@@ -1009,7 +1009,7 @@ if (DEPS_DIR AND HAS_NACL AND (BUILD_CLIENT OR BUILD_TTY_CLIENT OR BUILD_SERVER
10091009
endif()
10101010

10111011
# Win32 requires nacl_loader_amd64.exe in order to run on Win64
1012-
if (YOKAI_TARGET_SYSTEM_WINDOWS AND YOKAI_ARCH_I686)
1012+
if (YOKAI_TARGET_SYSTEM_WINDOWS AND YOKAI_TARGET_ARCH_I686)
10131013
add_custom_command(TARGET runtime_deps PRE_BUILD
10141014
COMMAND ${CMAKE_COMMAND} -E copy_if_different
10151015
${DEPS_DIR}/nacl_loader-amd64${CMAKE_EXECUTABLE_SUFFIX}

cmake/DaemonFlags.cmake

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -531,12 +531,12 @@ else()
531531

532532
if ("${FLAG_LINKER_PIE}" AND MINGW)
533533
# https://github.com/msys2/MINGW-packages/issues/4100
534-
if (YOKAI_ARCH_I686)
534+
if (YOKAI_TARGET_ARCH_I686)
535535
set_linker_flag("-Wl,-e,_mainCRTStartup")
536-
elseif(YOKAI_ARCH_AMD64)
536+
elseif(YOKAI_TARGET_ARCH_AMD64)
537537
set_linker_flag("-Wl,-e,mainCRTStartup")
538538
else()
539-
message(FATAL_ERROR "Unsupported architecture ${YOKAI_ARCH_NAME}")
539+
message(FATAL_ERROR "Unsupported architecture ${YOKAI_TARGET_ARCH_NAME}")
540540
endif()
541541
endif()
542542
endif()
@@ -606,7 +606,7 @@ option(USE_CPU_RECOMMENDED_FEATURES "Use some common hardware features like SSE2
606606

607607
# Target options.
608608
if (YOKAI_CXX_COMPILER_MSVC_COMPATIBILITY)
609-
if (YOKAI_ARCH_I686)
609+
if (YOKAI_TARGET_ARCH_I686)
610610
if (USE_CPU_RECOMMENDED_FEATURES)
611611
set_c_cxx_flag("/arch:SSE2") # This is the default
612612
else()
@@ -626,7 +626,7 @@ elseif (NOT YOKAI_TARGET_SYSTEM_NACL)
626626
# Running a server with a native executable game is also a valid usage
627627
# not requiring the NX bit.
628628

629-
if (YOKAI_ARCH_AMD64)
629+
if (YOKAI_TARGET_ARCH_AMD64)
630630
# K8 or EM64T minimum: AMD Athlon 64 ClawHammer, Intel Xeon Nocona, Intel Pentium 4 model F (Prescott revision EO), VIA Nano.
631631
if (YOKAI_CXX_COMPILER_ICC)
632632
set(GCC_GENERIC_ARCH "pentium4")
@@ -636,15 +636,15 @@ elseif (NOT YOKAI_TARGET_SYSTEM_NACL)
636636
set(GCC_GENERIC_ARCH "x86-64")
637637
endif()
638638
set(GCC_GENERIC_TUNE "generic")
639-
elseif (YOKAI_ARCH_I686)
639+
elseif (YOKAI_TARGET_ARCH_I686)
640640
# P6 or K6 minimum: Intel Pentium Pro, AMD K6, Via Cyrix III, Via C3.
641641
set(GCC_GENERIC_ARCH "i686")
642642
set(GCC_GENERIC_TUNE "generic")
643-
elseif (YOKAI_ARCH_ARM64)
643+
elseif (YOKAI_TARGET_ARCH_ARM64)
644644
# Armv8-A minimum: Cortex-A50.
645645
set(GCC_GENERIC_ARCH "armv8-a")
646646
set(GCC_GENERIC_TUNE "generic")
647-
elseif (YOKAI_ARCH_ARMHF)
647+
elseif (YOKAI_TARGET_ARCH_ARMHF)
648648
# Armv7-A minimum with VFPv3 and optional NEONv1: Cortex-A5.
649649
# Hard float ABI (mainstream 32-bit ARM Linux distributions).
650650
# An FPU should be explicitly set on recent compilers or this
@@ -653,7 +653,7 @@ elseif (NOT YOKAI_TARGET_SYSTEM_NACL)
653653
# lacks an FPU
654654
set(GCC_GENERIC_ARCH "armv7-a+fp")
655655
set(GCC_GENERIC_TUNE "generic-armv7-a")
656-
elseif (YOKAI_ARCH_ARMEL)
656+
elseif (YOKAI_TARGET_ARCH_ARMEL)
657657
# Armv6 minimum with optional VFP: ARM11.
658658
# Soft float ABI (previous mainstream 32-bit ARM Linux
659659
# distributions, mainstream 32-bit ARM Android distributions).
@@ -673,7 +673,7 @@ elseif (NOT YOKAI_TARGET_SYSTEM_NACL)
673673
unset(GCC_GENERIC_TUNE)
674674
set(GCC_GENERIC_CPU "power5")
675675
else()
676-
message(WARNING "Unknown architecture ${YOKAI_ARCH_NAME}")
676+
message(WARNING "Unknown architecture ${YOKAI_TARGET_ARCH_NAME}")
677677
endif()
678678

679679
if ("${YOKAI_CXX_COMPILER_NAME}" STREQUAL "Zig")
@@ -697,18 +697,18 @@ elseif (NOT YOKAI_TARGET_SYSTEM_NACL)
697697
endif()
698698

699699
if (USE_CPU_RECOMMENDED_FEATURES)
700-
if (YOKAI_ARCH_AMD64)
700+
if (YOKAI_TARGET_ARCH_AMD64)
701701
# CMPXCHG16B minimum (x86-64-v2): AMD64 revision F.
702702
try_c_cxx_flag_werror(MCX16 "-mcx16")
703-
elseif (YOKAI_ARCH_I686)
703+
elseif (YOKAI_TARGET_ARCH_I686)
704704
# SSE2 minimum: Intel Pentium 4 (Prescott),
705705
# Intel Pentium M (Banias), AMD K8, Via C7.
706706
try_c_cxx_flag_werror(MSSE2 "-msse2")
707707
try_c_cxx_flag_werror(MFPMATH_SSE "-mfpmath=sse")
708-
elseif (YOKAI_ARCH_ARMHF)
708+
elseif (YOKAI_TARGET_ARCH_ARMHF)
709709
# NEONv1 minimum.
710710
try_c_cxx_flag_werror(MFPU_NEON "-mfpu=neon")
711-
elseif (YOKAI_ARCH_ARMEL)
711+
elseif (YOKAI_TARGET_ARCH_ARMEL)
712712
# VFP minimum, hard float with soft float ABI.
713713
try_c_cxx_flag_werror(MFPU_VFP "-mfpu=vfp")
714714
try_c_cxx_flag_werror(MFLOAT_ABI_SOFTFP "-mfloat-abi=softfp")

cmake/DaemonGame.cmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ include(CMakeParseArguments)
7171
# The NaCl SDK only runs on amd64 or i686.
7272
if (NOT FORK EQUAL 2)
7373
if (CMAKE_SYSTEM_NAME STREQUAL CMAKE_HOST_SYSTEM_NAME
74-
AND (YOKAI_ARCH_AMD64 OR YOKAI_ARCH_I686))
74+
AND (YOKAI_TARGET_ARCH_AMD64 OR YOKAI_TARGET_ARCH_I686))
7575
# can be loaded by daemon with vm.[sc]game.type 0 or 1
7676
option(BUILD_GAME_NACL "Build the NaCl \"pexe\" and \"nexe\" gamelogic modules for enabled architecture targets, required to host mods." OFF)
7777

@@ -82,7 +82,7 @@ if (NOT FORK EQUAL 2)
8282
if (BUILD_GAME_NACL_TARGETS STREQUAL "all")
8383
set(NACL_TARGETS "${NACL_ALL_TARGETS}")
8484
elseif (BUILD_GAME_NACL_TARGETS STREQUAL "native")
85-
set(NACL_TARGETS "${YOKAI_ARCH_NAME}")
85+
set(NACL_TARGETS "${YOKAI_TARGET_ARCH_NAME}")
8686
elseif (BUILD_GAME_NACL_TARGETS STREQUAL "none")
8787
set(NACL_TARGETS "")
8888
else()

cmake/Yokai/Architecture.cmake

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -28,16 +28,16 @@
2828
# Architecture detection.
2929
################################################################################
3030

31-
# When adding a new architecture, look at all the places YOKAI_ARCH is used.
31+
# When adding a new architecture, look at all the places YOKAI_TARGET_ARCH is used.
3232

3333
option(USE_ARCH_INTRINSICS "Enable custom code using intrinsics functions or asm declarations" ON)
3434
mark_as_advanced(USE_ARCH_INTRINSICS)
3535

3636
function(yokai_detect_arch)
37-
yokai_run_detection("" "ARCH" "Architecture.c" "")
37+
yokai_run_detection("TARGET_" "ARCH" "Architecture.c" "")
3838

39-
set(YOKAI_ARCH_NAME "${arch_name}" PARENT_SCOPE)
40-
set(YOKAI_ARCH_NAME_UPPER "${arch_name_upper}" PARENT_SCOPE)
39+
set(YOKAI_TARGET_ARCH_NAME "${arch_name}" PARENT_SCOPE)
40+
set(YOKAI_TARGET_ARCH_NAME_UPPER "${arch_name_upper}" PARENT_SCOPE)
4141

4242
message(STATUS "Detected target architecture: ${arch_name}")
4343

@@ -105,35 +105,35 @@ function(yokai_set_intrinsics)
105105
# Makes possible to do that in C++ code:
106106
# > if defined(YOKAI_USE_ARCH_INTRINSICS_AMD64)
107107
# > if defined(YOKAI_USE_ARCH_INTRINSICS_I686)
108-
yokai_set_arch_intrinsics("${YOKAI_ARCH_NAME}")
108+
yokai_set_arch_intrinsics("${YOKAI_TARGET_ARCH_NAME}")
109109

110110
set(amd64_PARENT "i686")
111111
set(arm64_PARENT "armhf")
112112
set(ppc64el_PARENT "ppc64")
113113

114-
if ("${YOKAI_ARCH_NAME}_PARENT")
115-
yokai_set_arch_intrinsics("${${YOKAI_ARCH_NAME}_PARENT}")
114+
if ("${YOKAI_TARGET_ARCH_NAME}_PARENT")
115+
yokai_set_arch_intrinsics("${${YOKAI_TARGET_ARCH_NAME}_PARENT}")
116116
endif()
117117
else()
118-
message(STATUS "Disabling ${YOKAI_ARCH_NAME} architecture intrinsics")
118+
message(STATUS "Disabling ${YOKAI_TARGET_ARCH_NAME} architecture intrinsics")
119119
endif()
120120
endfunction()
121121

122122
yokai_detect_arch()
123123
yokai_set_intrinsics()
124124

125125
# Makes possible to do that in CMake code:
126-
# > if (YOKAI_ARCH_ARM64)
126+
# > if (YOKAI_TARGET_ARCH_ARM64)
127127
# > if (YOKAI_NACL_ARCH_ARMHF)
128-
set("YOKAI_ARCH_${YOKAI_ARCH_NAME_UPPER}" ON)
128+
set("YOKAI_TARGET_ARCH_${YOKAI_TARGET_ARCH_NAME_UPPER}" ON)
129129

130130
if (YOKAI_NACL_HOST)
131131
set("YOKAI_NACL_ARCH_${YOKAI_NACL_ARCH_NAME_UPPER}" ON)
132132
endif()
133133

134134
if (YOKAI_SOURCE_GENERATOR)
135135
# Add printable strings to the executable.
136-
yokai_add_buildinfo("char*" "YOKAI_ARCH_STRING" "\"${YOKAI_ARCH_NAME}\"")
136+
yokai_add_buildinfo("char*" "YOKAI_ARCH_STRING" "\"${YOKAI_TARGET_ARCH_NAME}\"")
137137

138138
if (YOKAI_NACL_HOST)
139139
yokai_add_buildinfo("char*" "YOKAI_NACL_ARCH_STRING" "\"${YOKAI_NACL_ARCH_NAME}\"")

cmake/Yokai/Detection/detect

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ do
5454
| grep '<REPORT<' \
5555
| sed -e 's/.*<REPORT<//;s/>REPORT>.*//' \
5656
| sed -e 's/YOKAI_SYSTEM/YOKAI_TARGET_SYSTEM/' \
57+
| sed -e 's/YOKAI_ARCH/YOKAI_TARGET_ARCH/' \
5758
| sed -E 's/^([^=]+)=/\U\1=/' \
5859
|| "${@}" "${file_path}" -o "${temp_file}"
5960

0 commit comments

Comments
 (0)