summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rw-r--r--scripts/destatic.sh16
-rw-r--r--scripts/restatic.sh8
2 files changed, 24 insertions, 0 deletions
diff --git a/scripts/destatic.sh b/scripts/destatic.sh
new file mode 100644
index 00000000..b6b80701
--- /dev/null
+++ b/scripts/destatic.sh
@@ -0,0 +1,16 @@
+# Simple script to make all static functions in the main source
+# unstatic. This allows backtracing functions (such as that used
+# in Memento, in particular on Android) to pick up symbol names
+# nicely.
+#
+# This script can be reversed using restatic.sh
+
+# Allow for the fact that mujs might not be present
+MUJS_SRC=
+test -d thirdparty/mujs && MUJS_SRC=thirdparty/mujs
+
+# Convert everything
+sed -i '/^static inline/b;/^static const/b;s!^static !/\*static \*/!' $(find source platform/android/viewer platform/java $MUJS_SRC -name '*.c')
+
+# Convert source/tools back again.
+sed -i 's!/\*static \*/!static !' $(find source/tools -name '*.c')
diff --git a/scripts/restatic.sh b/scripts/restatic.sh
new file mode 100644
index 00000000..f3f5b7a4
--- /dev/null
+++ b/scripts/restatic.sh
@@ -0,0 +1,8 @@
+# Simple script to revert the changes made by destatic.sh
+
+# Allow for the fact that mujs might not be present
+MUJS_SRC=
+test -d thirdparty/mujs && MUJS_SRC=thirdparty/mujs
+
+# Convert it all back
+sed -i 's!/\*static \*/!static !' $(find source platform/android/viewer platform/java $MUJS_SRC -name '*.c')