3fc8958472
Commit f3b87dde
removed a needed 'shift' from mingw-find-debuginfo.sh,
which made debuginfo generation often complain about directories not
found.
Add the 'shift' back and at the same time improve argument parsing error
messages.
37 lines
1.0 KiB
Bash
Executable File
37 lines
1.0 KiB
Bash
Executable File
#!/bin/sh
|
|
# mingw-find-debuginfo.sh - automagically generate debug info and file list
|
|
# for inclusion in an rpm spec file for mingw-* packages.
|
|
|
|
if [ "$#" -lt 2 ] ; then
|
|
echo "Usage: $0 <BUILDDIR> [TARGET]..."
|
|
exit 1
|
|
fi
|
|
|
|
BUILDDIR=$1
|
|
shift
|
|
|
|
for f in `find $RPM_BUILD_ROOT -type f -name "*.exe" -or -name "*.dll"`
|
|
do
|
|
case $(mingw-objdump -h $f 2>/dev/null | egrep -o '(debug[\.a-z_]*|gnu.version)') in
|
|
*debuglink*) continue ;;
|
|
*debug*) ;;
|
|
*gnu.version*)
|
|
echo "WARNING: "`echo $f | sed -e "s,^$RPM_BUILD_ROOT/*,/,"`" is already stripped!"
|
|
continue
|
|
;;
|
|
*) continue ;;
|
|
esac
|
|
|
|
echo extracting debug info from $f
|
|
mingw-objcopy --only-keep-debug $f $f.debug || :
|
|
pushd `dirname $f`
|
|
mingw-objcopy --add-gnu-debuglink=`basename $f.debug` --strip-unneeded `basename $f` || :
|
|
popd
|
|
done
|
|
|
|
for target in $@; do
|
|
prefix=`rpm --eval "%{${target}_prefix}"`
|
|
find $RPM_BUILD_ROOT$prefix -type f -name "*.exe.debug" -or -name "*.dll.debug" |
|
|
sed -n -e "s#^$RPM_BUILD_ROOT##p" > $BUILDDIR/${target}-debugfiles.list
|
|
done
|