From e6a84ca0f90ee76e3c9d0043aebd4456c1a65e5f Mon Sep 17 00:00:00 2001
From: a-maurice <amaurice@google.com>
Date: Wed, 6 Jul 2022 14:33:36 -0700
Subject: [PATCH] Add link xml file for Crashlytics (#394)

* Add link xml file for Crashlytics

Add a link xml file for Crashlytics to prevent symbols from being stripped when using il2cpp

* Update readme.md

* Update link.xml
---
 crashlytics/CMakeLists.txt | 6 ++++++
 crashlytics/link.xml       | 5 +++++
 docs/readme.md             | 4 ++++
 3 files changed, 15 insertions(+)
 create mode 100644 crashlytics/link.xml

diff --git a/crashlytics/CMakeLists.txt b/crashlytics/CMakeLists.txt
index 6144057a..083ae368 100644
--- a/crashlytics/CMakeLists.txt
+++ b/crashlytics/CMakeLists.txt
@@ -103,6 +103,12 @@ endif()
 
 unity_pack_cs(firebase_crashlytics_cs)
 
+# Crashlytics has a special file to prevent il2cpp from stripping symbols.
+unity_pack_file(
+  "link.xml"
+  PACK_PATH "Firebase/Plugins/Crashlytics"
+)
+
 if (FIREBASE_INCLUDE_UNITY)
   generate_dependencies_xml(Crashlytics
     IOS_DEPS
diff --git a/crashlytics/link.xml b/crashlytics/link.xml
new file mode 100644
index 00000000..63dde2f0
--- /dev/null
+++ b/crashlytics/link.xml
@@ -0,0 +1,5 @@
+<linker>
+<assembly fullname="Firebase.Crashlytics" ignoreIfMissing="1">
+    <namespace fullname="Firebase.Crashlytics" preserve="all"/>
+</assembly>
+</linker>
diff --git a/docs/readme.md b/docs/readme.md
index c58a563e..4a462d48 100644
--- a/docs/readme.md
+++ b/docs/readme.md
@@ -155,6 +155,10 @@ Support
 
 Release Notes
 -------------
+### 9.2.0
+- Changes
+    - Crashlytics: Fix requiring user code to reference Crashlytics when using il2cpp.
+
 ### 9.1.0
 - Changes
     - General: Added a missing namespace to the Google.MiniJson.dll.