blob: de49a9a9fa2f0a0441b9cc69e7cba2b099f1cccf [file] [log] [blame]
From 43a9b7e0d72ee97dcdbc102254ada20278eac80b Mon Sep 17 00:00:00 2001
From: Christopher Degawa <ccom@randomderp.com>
Date: Wed, 23 Sep 2020 16:31:17 +0000
Subject: [PATCH] macros/neon.m4: add prologue to NE_SEARCH_LIBS
This check kept on failing with 32-bit windows gcc and clang
This does remove the on-by-default `__stdcall` for ws2_32, but instead
uses the proper <winsock2.h> header
Signed-off-by: Christopher Degawa <ccom@randomderp.com>
---
macros/neon.m4 | 19 +++++++++++++++----
1 file changed, 15 insertions(+), 4 deletions(-)
diff --git a/macros/neon.m4 b/macros/neon.m4
index ccdc4a6..9a2deaa 100644
--- a/macros/neon.m4
+++ b/macros/neon.m4
@@ -371,16 +371,27 @@ ne_cv_libsfor_$1="not found"
for lib in $2; do
# The w32api libraries link using the stdcall calling convention.
case ${lib}-${ne_cv_os_uname} in
- ws2_32-MINGW*) ne__code="__stdcall $1();" ;;
- *) ne__code="$1();" ;;
+ ws2_32-MINGW*)
+ ne__prologue="#include <winsock2.h>"
+ case $1 in
+ socket) ne__code="socket(0,0,0);" ;;
+ gethostbyname) ne__code="gethostbyname(\"\")" ;;
+ *) ne__code="$1();" ;;
+ esac
+ ;;
+ *)
+ ne__prologue=""
+ ne__code="$1();"
+ ;;
esac
+
LIBS="$ne_sl_save_LIBS -l$lib $NEON_LIBS"
- AC_LINK_IFELSE([AC_LANG_PROGRAM([], [$ne__code])],
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([$ne__prologue], [$ne__code])],
[ne_cv_libsfor_$1="-l$lib"; break])
m4_if($3, [], [], dnl If $3 is specified, then...
[LIBS="$ne_sl_save_LIBS -l$lib $3 $NEON_LIBS"
- AC_LINK_IFELSE([AC_LANG_PROGRAM([], [$ne__code])],
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([$ne__prologue], [$ne__code])],
[ne_cv_libsfor_$1="-l$lib $3"; break])])
done
LIBS=$ne_sl_save_LIBS])])