cmake+video: always use altivec.h header for detection + introduce SDL_ENABLE_ALTIVEC

This commit is contained in:
Anonymous Maarten
2023-03-15 04:56:55 +01:00
committed by Anonymous Maarten
parent 684709a5b6
commit d27db3defa
7 changed files with 14 additions and 20 deletions

View File

@@ -856,23 +856,17 @@ if(SDL_ASSEMBLY)
set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -maltivec")
check_c_source_compiles("
#include <altivec.h>
vector unsigned int vzero() {
return vec_splat_u32(0);
}
int main(int argc, char **argv) { return 0; }" HAVE_ALTIVEC_H_HDR)
check_c_source_compiles("
vector unsigned int vzero() {
return vec_splat_u32(0);
}
int main(int argc, char **argv) { return 0; }" CPU_SUPPORTS_ALTIVEC)
cmake_pop_check_state()
if(CPU_SUPPORTS_ALTIVEC OR HAVE_ALTIVEC_H_HDR)
set(HAVE_ALTIVEC TRUE) # if only HAVE_ALTIVEC_H_HDR is set
target_compile_options(sdl-build-options INTERFACE "-maltivec")
if(CPU_SUPPORTS_ALTIVEC)
set(HAVE_ALTIVEC TRUE)
set(SDL_ALTIVEC_BLITTERS 1)
if(HAVE_ALTIVEC_H_HDR)
set(HAVE_ALTIVEC_H 1)
endif()
target_compile_options(sdl-build-options INTERFACE "-maltivec")
set_property(SOURCE "${SDL3_SOURCE_DIR}/src/video/SDL_blit_N.c" APPEND PROPERTY COMPILE_DEFINITIONS "SDL_ENABLE_ALTIVEC")
set_property(SOURCE "${SDL3_SOURCE_DIR}/src/video/SDL_blit_N.c" APPEND PROPERTY SKIP_PRECOMPILE_HEADERS 1)
endif()
endif()