PIKApp/build/windows/gitlab-ci/split-debug-msys2.sh

30 lines
776 B
Bash

#!/bin/bash
if [[ "$MSYSTEM" == "CLANGARM64" ]]; then
# Apparently -v is unknown argument for clangarm64 version of objcopy.exe.
export OBJCOPY_OPTIONS=""
else
export OBJCOPY_OPTIONS="-v"
fi
if [ -z "$1" ]
then
find . \( -iname '*.dll' -or -iname '*.exe' -or -iname '*.pyd' \) -type f -exec objcopy ${OBJCOPY_OPTIONS} --only-keep-debug '{}' '{}'.debug \;
find . \( -iname '*.dll' -or -iname '*.exe' -or -iname '*.pyd' \) -type f -exec objcopy ${OBJCOPY_OPTIONS} --add-gnu-debuglink='{}'.debug '{}' --strip-unneeded \;
find . -iname '*.debug' -exec "$0" {} +
else
while [ -n "$1" ]
do
FP="$1"
NAME="${FP##*/}"
DIR="${FP%/*}"
echo "$FP -> $DIR/.debug"
if [ ! -d "$DIR/.debug" ]
then
mkdir "$DIR/.debug"
fi
mv "$FP" "$DIR/.debug"
shift
done
fi