configure: check SDL2 function with a header

SDL2 uses SDLCALL to specify a calling convention. On OS/2, it's defined
to `_System' which is similar to `_cdecl' but does not prepend '_'.

After all, without a header, a function is used without `_System'. And
linker will try to `_func' but fail because the function is `func' not
`_func'.

Reviewed-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
This commit is contained in:
KO Myung-Hun 2017-12-28 23:41:30 +09:00 committed by James Almer
parent 9e68f472ec
commit d03c39b46b
1 changed files with 2 additions and 2 deletions

4
configure vendored
View File

@ -6009,14 +6009,14 @@ fi
if enabled sdl2; then
SDL2_CONFIG="${cross_prefix}sdl2-config"
if test_pkg_config sdl2 "sdl2 >= 2.0.1 sdl2 < 2.1.0" SDL_events.h SDL_PollEvent; then
check_func SDL_Init $sdl2_extralibs $sdl2_cflags ||
check_func_headers SDL.h SDL_Init $sdl2_extralibs $sdl2_cflags ||
disable sdl2
elif "${SDL2_CONFIG}" --version > /dev/null 2>&1; then
sdl2_cflags=$("${SDL2_CONFIG}" --cflags)
sdl2_extralibs=$("${SDL2_CONFIG}" --libs)
check_cpp_condition SDL.h "(SDL_MAJOR_VERSION<<16 | SDL_MINOR_VERSION<<8 | SDL_PATCHLEVEL) >= 0x020001" $sdl2_cflags &&
check_cpp_condition SDL.h "(SDL_MAJOR_VERSION<<16 | SDL_MINOR_VERSION<<8 | SDL_PATCHLEVEL) < 0x020100" $sdl2_cflags &&
check_func SDL_Init $sdl2_extralibs $sdl2_cflags &&
check_func_headers SDL.h SDL_Init $sdl2_extralibs $sdl2_cflags &&
enable sdl2
fi
if test $target_os = "mingw32"; then