configure: check SDL2 function with a header
authorKO Myung-Hun <komh@chollian.net>
Thu, 28 Dec 2017 14:41:30 +0000 (23:41 +0900)
committerJames Almer <jamrial@gmail.com>
Sun, 7 Jan 2018 03:09:40 +0000 (00:09 -0300)
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>
configure

index d2a03da..ab05b9c 100755 (executable)
--- a/configure
+++ b/configure
@@ -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