mirror of
https://bitbucket.org/smil3y/katie.git
synced 2025-02-23 18:32:55 +00:00
deal with TODO related to sh4a architecture detection, do not rely on uname output as it can be wrong in chroot
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
This commit is contained in:
parent
ce694aea2e
commit
e611701095
2 changed files with 50 additions and 35 deletions
|
@ -315,41 +315,13 @@ else()
|
|||
message(FATAL_ERROR "Unknown platform '${CMAKE_SYSTEM_NAME}'")
|
||||
endif()
|
||||
|
||||
# https://en.wikipedia.org/wiki/Uname
|
||||
if(KATIE_PROCESSOR MATCHES "^alpha")
|
||||
set(KATIE_ARCH "ALPHA")
|
||||
elseif(KATIE_PROCESSOR MATCHES "^arm64")
|
||||
set(KATIE_ARCH "ARM64")
|
||||
elseif(KATIE_PROCESSOR MATCHES "^arm")
|
||||
set(KATIE_ARCH "ARM")
|
||||
elseif(KATIE_PROCESSOR MATCHES "^avr")
|
||||
set(KATIE_ARCH "AVR32")
|
||||
elseif(KATIE_PROCESSOR MATCHES "^blackfin")
|
||||
set(KATIE_ARCH "BFIN")
|
||||
elseif(KATIE_PROCESSOR MATCHES "^ia64")
|
||||
set(KATIE_ARCH "IA64")
|
||||
elseif(KATIE_PROCESSOR MATCHES "^m68k")
|
||||
set(KATIE_ARCH "M68K")
|
||||
elseif(KATIE_PROCESSOR MATCHES "^mips")
|
||||
set(KATIE_ARCH "MIPS")
|
||||
elseif(KATIE_PROCESSOR MATCHES "^hppa")
|
||||
set(KATIE_ARCH "PARISC")
|
||||
elseif(KATIE_PROCESSOR MATCHES "^ppc64")
|
||||
set(KATIE_ARCH "POWERPC64")
|
||||
elseif(KATIE_PROCESSOR MATCHES "^ppc")
|
||||
set(KATIE_ARCH "POWERPC")
|
||||
elseif(KATIE_PROCESSOR MATCHES "^s390")
|
||||
set(KATIE_ARCH "S390")
|
||||
elseif(KATIE_PROCESSOR MATCHES "^sparc")
|
||||
set(KATIE_ARCH "SPARC")
|
||||
elseif(KATIE_PROCESSOR MATCHES "^sh")
|
||||
# TODO: SH4A
|
||||
set(KATIE_ARCH "SH")
|
||||
elseif(KATIE_PROCESSOR MATCHES "(x86_64|amd64)")
|
||||
set(KATIE_ARCH "X86_64")
|
||||
elseif(KATIE_PROCESSOR MATCHES "(x86|i[3-6]86|i86pc)")
|
||||
set(KATIE_ARCH "I386")
|
||||
else()
|
||||
|
||||
try_run(
|
||||
KATIE_ARCH_RUN_RESULT KATIE_ARCH_COMPILE_RESULT
|
||||
"${CMAKE_BINARY_DIR}" "${CMAKE_SOURCE_DIR}/cmake/arch.cpp"
|
||||
RUN_OUTPUT_VARIABLE KATIE_ARCH
|
||||
)
|
||||
if(NOT KATIE_ARCH_RUN_RESULT EQUAL 0 OR NOT KATIE_ARCH_COMPILE_RESULT)
|
||||
message(FATAL_ERROR "Unknown CPU '${KATIE_PROCESSOR}'")
|
||||
endif()
|
||||
|
||||
|
|
43
cmake/arch.cpp
Normal file
43
cmake/arch.cpp
Normal file
|
@ -0,0 +1,43 @@
|
|||
#include <stdio.h>
|
||||
|
||||
int main() {
|
||||
#if defined(__alpha__)
|
||||
printf("ALPHA");
|
||||
#elif defined(__arm__)
|
||||
printf("ARM");
|
||||
#elif defined(__aarch64__)
|
||||
printf("ARM64");
|
||||
#elif defined(__avr__)
|
||||
printf("AVR32");
|
||||
#elif defined(__bfin__)
|
||||
printf("BFIN");
|
||||
#elif defined(__i386__)
|
||||
printf("I386");
|
||||
#elif defined(__ia64__)
|
||||
printf("IA64");
|
||||
#elif defined(__m68k__)
|
||||
printf("M68K");
|
||||
#elif defined(__mips__)
|
||||
printf("MIPS");
|
||||
#elif defined(__hppa__)
|
||||
printf("PARISC");
|
||||
#elif defined(__powerpc__)
|
||||
printf("POWERPC");
|
||||
#elif defined(__powerpc64__)
|
||||
printf("POWERPC64");
|
||||
#elif defined(__s390__)
|
||||
printf("S390");
|
||||
#elif defined(__sparc__)
|
||||
printf("SPARC");
|
||||
#elif defined(__sh__)
|
||||
printf("SH");
|
||||
#elif defined(__sh4a__)
|
||||
printf("SH4A");
|
||||
#elif defined(__x86_64__)
|
||||
printf("X86_64");
|
||||
#else
|
||||
printf("Unable to detect architecture, please update above list\n");
|
||||
return 1;
|
||||
#endif
|
||||
return 0;
|
||||
}
|
Loading…
Add table
Reference in a new issue