view mupdf-source/scripts/destatic.sh @ 7:5ab937c03c27

Apply full RELRO to all generated binaries. Also strip the generated binaries.
author Franz Glasner <fzglas.hg@dom66.de>
date Tue, 16 Sep 2025 12:37:32 +0200
parents b50eed0cc0ef
children
line wrap: on
line source

# 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')