xref: /aosp_15_r20/external/flac/cmake/CheckCPUArch.cmake (revision 600f14f40d737144c998e2ec7a483122d3776fbc)
1*600f14f4SXin Limacro(_CHECK_CPU_ARCH ARCH ARCH_DEFINES VARIABLE)
2*600f14f4SXin Li    if(NOT DEFINED HAVE_${VARIABLE})
3*600f14f4SXin Li        message(STATUS "Check CPU architecture is ${ARCH}")
4*600f14f4SXin Li        set(CHECK_CPU_ARCH_DEFINES ${ARCH_DEFINES})
5*600f14f4SXin Li        configure_file(${PROJECT_SOURCE_DIR}/cmake/CheckCPUArch.c.in ${PROJECT_BINARY_DIR}/CMakeFiles/CMakeTmp/CheckCPUArch.c @ONLY)
6*600f14f4SXin Li        try_compile(HAVE_${VARIABLE} "${PROJECT_BINARY_DIR}"
7*600f14f4SXin Li            "${PROJECT_BINARY_DIR}/CMakeFiles/CMakeTmp/CheckCPUArch.c")
8*600f14f4SXin Li        if(HAVE_${VARIABLE})
9*600f14f4SXin Li            message(STATUS "Check CPU architecture is ${ARCH} - yes")
10*600f14f4SXin Li            set(${VARIABLE} 1 CACHE INTERNAL "Result of CHECK_CPU_ARCH" FORCE)
11*600f14f4SXin Li        else ()
12*600f14f4SXin Li            message(STATUS "Check CPU architecture is ${ARCH} - no")
13*600f14f4SXin Li        endif()
14*600f14f4SXin Li    endif ()
15*600f14f4SXin Liendmacro(_CHECK_CPU_ARCH)
16*600f14f4SXin Li
17*600f14f4SXin Limacro(CHECK_CPU_ARCH_X64 VARIABLE)
18*600f14f4SXin Li    _CHECK_CPU_ARCH(x64 "defined(__amd64__) || defined(__amd64) || defined(__x86_64__) || defined(__x86_64) || defined(_M_X64) || defined(_M_AMD64)" ${VARIABLE})
19*600f14f4SXin Liendmacro(CHECK_CPU_ARCH_X64)
20*600f14f4SXin Li
21*600f14f4SXin Limacro(CHECK_CPU_ARCH_X86 VARIABLE)
22*600f14f4SXin Li    _CHECK_CPU_ARCH(x86 "defined(__i386__) || defined(__i486__) || defined(__i586__) || defined(__i686__) ||defined( __i386) || defined(_M_IX86)" ${VARIABLE})
23*600f14f4SXin Liendmacro(CHECK_CPU_ARCH_X86)
24*600f14f4SXin Li
25*600f14f4SXin Limacro(CHECK_CPU_ARCH_ARM64 VARIABLE)
26*600f14f4SXin Li    _CHECK_CPU_ARCH(arm64 "defined(__aarch64__) || defined(__arm64__)" ${VARIABLE})
27*600f14f4SXin Liendmacro(CHECK_CPU_ARCH_ARM64)
28