This patch disables some glibc-specific features on musl. Upstream appears to support
many different platforms, some of which also lack the features musl lacks, but
upstream provides no musl specific checks. This means that no extra code has to be
added to support musl, only some of the preprocessor conditional statements have to
be altered to also take musl into consideration.

This patch only fixes compilation errors, there may still be some musl-related
runtime errors.

This patch is inspired by
void-linux/void-packages@da8876faa6fc1792f4d2ea2d4b667d3bbe46d868.
--- a/JuceLibraryCode/modules/juce_core/juce_core.cpp
+++ b/JuceLibraryCode/modules/juce_core/juce_core.cpp
@@ -102,7 +102,7 @@
  #include <net/if.h>
  #include <sys/ioctl.h>
 
- #if ! (JUCE_ANDROID || JUCE_WASM)
+ #if ! (JUCE_ANDROID || JUCE_WASM) && defined(__GLIBC__)
   #include <execinfo.h>
  #endif
 #endif
--- a/JuceLibraryCode/modules/juce_core/native/juce_SystemStats_linux.cpp
+++ b/JuceLibraryCode/modules/juce_core/native/juce_SystemStats_linux.cpp
@@ -198,7 +198,7 @@
 
 String SystemStats::getUserLanguage()
 {
-   #if JUCE_BSD
+   #if JUCE_BSD || !defined(__GLIBC__)
     if (auto langEnv = getenv ("LANG"))
         return String::fromUTF8 (langEnv).upToLastOccurrenceOf (".UTF-8", false, true);
 
@@ -210,7 +210,7 @@
 
 String SystemStats::getUserRegion()
 {
-   #if JUCE_BSD
+   #if JUCE_BSD || !defined(__GLIBC__)
     return {};
    #else
     return getLocaleValue (_NL_ADDRESS_COUNTRY_AB2);
--- a/JuceLibraryCode/modules/juce_core/system/juce_SystemStats.cpp
+++ b/JuceLibraryCode/modules/juce_core/system/juce_SystemStats.cpp
@@ -178,7 +178,7 @@
 {
     String result;
 
-   #if JUCE_ANDROID || JUCE_MINGW || JUCE_WASM
+   #if JUCE_ANDROID || JUCE_MINGW || JUCE_WASM || !defined(__GLIBC__)
     jassertfalse; // sorry, not implemented yet!
 
    #elif JUCE_WINDOWS
