SDL_mixer: ignore visibility attributes for irrelevant targets.

From a99f5261cb21028419e86fae651a4c86864d1ca4 Mon Sep 17 00:00:00 2001
From: Ozkan Sezer <[EMAIL REDACTED]>
Date: Tue, 14 Dec 2021 23:01:02 +0300
Subject: [PATCH] ignore visibility attributes for irrelevant targets.

---
 configure    | 12 +++++++++---
 configure.ac | 13 +++++++++----
 2 files changed, 18 insertions(+), 7 deletions(-)

diff --git a/configure b/configure
index 7b02573f..19784a79 100755
--- a/configure
+++ b/configure
@@ -11340,6 +11340,13 @@ CheckVisibilityHidden()
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GCC -fvisibility=hidden option" >&5
 $as_echo_n "checking for GCC -fvisibility=hidden option... " >&6; }
     have_gcc_fvisibility=no
+    case "$host" in
+    *-*-cygwin* | *-*-mingw* | *-*-os2*)
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: ignored for $host_os" >&5
+$as_echo "ignored for $host_os" >&6; }
+        return
+        ;;
+    esac
 
     visibility_CFLAGS="-fvisibility=hidden"
     save_CFLAGS="$CFLAGS"
@@ -11372,7 +11379,6 @@ $as_echo "$have_gcc_fvisibility" >&6; }
     fi
 }
 
-
 find_lib()
 {
     gcc_bin_path=`$CC -print-search-dirs 2>/dev/null | fgrep programs: | sed 's/[^=]*=\(.*\)/\1/' | sed 's/:/ /g'`
@@ -11835,6 +11841,8 @@ rm -f core conftest.err conftest.$ac_objext \
 EXTRA_CFLAGS="$EXTRA_CFLAGS $SDL_CFLAGS"
 EXTRA_LDFLAGS="$EXTRA_LDFLAGS $SDL_LIBS"
 
+CheckVisibilityHidden
+
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pow in -lm" >&5
 $as_echo_n "checking for pow in -lm... " >&6; }
 if ${ac_cv_lib_m_pow+:} false; then :
@@ -11901,8 +11909,6 @@ done
 
 
 
-CheckVisibilityHidden
-
 # Check whether --enable-music-cmd was given.
 if test "${enable_music_cmd+set}" = set; then :
   enableval=$enable_music_cmd;
diff --git a/configure.ac b/configure.ac
index 3cf2dc95..215574b5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -153,11 +153,16 @@ dnl set this to use on systems that use lib64 instead of lib
 base_libdir=`echo \${libdir} | sed 's/.*\/\(.*\)/\1/; q'`
 
 dnl See if GCC's -fvisibility=hidden is supported (gcc4 and later, usually).
-dnl  Details of this flag are here: http://gcc.gnu.org/wiki/Visibility
 CheckVisibilityHidden()
 {
     AC_MSG_CHECKING(for GCC -fvisibility=hidden option)
     have_gcc_fvisibility=no
+    case "$host" in
+    *-*-cygwin* | *-*-mingw* | *-*-os2*)
+        AC_MSG_RESULT([ignored for $host_os])
+        return
+        ;;
+    esac
 
     visibility_CFLAGS="-fvisibility=hidden"
     save_CFLAGS="$CFLAGS"
@@ -175,7 +180,6 @@ CheckVisibilityHidden()
     fi
 }
 
-
 dnl Function to find a library in the compiler search path
 find_lib()
 {
@@ -205,6 +209,9 @@ AM_PATH_SDL2($SDL_VERSION,
 EXTRA_CFLAGS="$EXTRA_CFLAGS $SDL_CFLAGS"
 EXTRA_LDFLAGS="$EXTRA_LDFLAGS $SDL_LIBS"
 
+dnl check for GCC visibility attributes
+CheckVisibilityHidden
+
 dnl Check for math library
 AC_CHECK_LIB(m, pow, [LIBM="-lm"])
 
@@ -213,8 +220,6 @@ AC_CHECK_FUNCS(setbuf, [EXTRA_CFLAGS="$EXTRA_CFLAGS -DHAVE_SETBUF"])
 
 dnl Check command-line options
 
-CheckVisibilityHidden
-
 AC_ARG_ENABLE([music-cmd],
 [AS_HELP_STRING([--enable-music-cmd], [support an external music player [default=yes]])],
               [], [enable_music_cmd=detect])