Fixed runtime to compile with gcc.

Since the SIMD implementation currently only compiles on clang, this patch fixes the gcc compilation path by relying on the SIMD polyfill when compiling with gcc.

Also fixes some small issues when building Vello with gcc.

Diffs=
4335a2cd2 Fixed runtime to compile with gcc. (#5870)

Co-authored-by: DragoČ™ Tiselice <dragos@rive.app>
diff --git a/.rive_head b/.rive_head
index 9c0ace2..902ce9d 100644
--- a/.rive_head
+++ b/.rive_head
@@ -1 +1 @@
-c6b867df9f26298c1990143a26e495f56aa2ec61
+4335a2cd2f18b8f8cb30555ff5a6fa24a1d54143
diff --git a/include/rive/math/simd.hpp b/include/rive/math/simd.hpp
index 7f45c24..219e45a 100644
--- a/include/rive/math/simd.hpp
+++ b/include/rive/math/simd.hpp
@@ -36,7 +36,7 @@
 static_assert(std::numeric_limits<float>::is_iec559,
               "Conformant IEEE 754 behavior for NaN and Inf is required.");
 
-#if defined(__clang__) || defined(__GNUC__)
+#if defined(__clang__)
 
 namespace rive
 {
diff --git a/include/rive/runtime_header.hpp b/include/rive/runtime_header.hpp
index 122f298..4d76009 100644
--- a/include/rive/runtime_header.hpp
+++ b/include/rive/runtime_header.hpp
@@ -6,16 +6,16 @@
 
 namespace rive
 {
+
 /// Rive file runtime header. The header is fonud at the beginning of every
 /// Rive runtime file, and begins with a specific 4-byte format: "RIVE".
 /// This is followed by the major and minor version of Rive used to create
 /// the file. Finally the owner and file ids are at the end of header; these
 /// unsigned integers may be zero.
+static constexpr char kRuntimeHeaderFingerprint[] = "RIVE";
 class RuntimeHeader
 {
 private:
-    static constexpr char fingerprint[] = "RIVE";
-
     int m_MajorVersion;
     int m_MinorVersion;
     int m_FileId;
@@ -49,7 +49,7 @@
         for (int i = 0; i < 4; i++)
         {
             auto b = reader.readByte();
-            if (fingerprint[i] != b)
+            if (kRuntimeHeaderFingerprint[i] != b)
             {
                 return false;
             }
diff --git a/vello/build.rs b/vello/build.rs
index c2105ca..0f7163d 100644
--- a/vello/build.rs
+++ b/vello/build.rs
@@ -65,8 +65,7 @@
     let profile = env::var("PROFILE").unwrap();
 
     let mut cfg = cc::Build::new();
-    cfg.compiler("clang")
-        .cpp(true)
+    cfg.cpp(true)
         .flag_if_supported("-std=c++11") // for unix
         .warnings(false)
         .file(harfbuzz.join("src/harfbuzz.cc"));
@@ -90,13 +89,12 @@
     cfg.compile("harfbuzz");
 
     cc::Build::new()
-        .compiler("clang")
         .files(all_files_with_extension(sheen_bidi.join("Source"), "c"))
         .include(sheen_bidi.join("Headers"))
+        .warnings(false)
         .compile("sheenbidi");
 
     cc::Build::new()
-        .compiler("clang")
         .cpp(true)
         .files(all_files_with_extension("../src", "cpp"))
         .files(all_files_with_extension(
@@ -111,7 +109,7 @@
         .include(harfbuzz.join("src"))
         .include(sheen_bidi.join("Headers"))
         .flag("-std=c++14")
-        .flag("-Wno-everything")
+        .warnings(false)
         .define("RIVE_SKIP_IMGUI", None)
         .define("WITH_RIVE_TEXT", None)
         .compile("rive");