mingw64-filesystem/mingw64-find-provides.sh
Ralf Habacker f9169a1ad9 - Update to version 20250220
- mingw64.macros:
  * Add parameter '-N' to %_mingw64_debug_package
    to be able to specify a full package name, which is required
    by the wine package
  * Add parameter '-C' to %_mingw64_debug_package to be able
    to add a Conflicts tag, which is required
    by the wine package
  * In %_mingw64_debug_package use actual directory to find
    the debuginfo files list to be in sync with the native
    debug package

OBS-URL: https://build.opensuse.org/package/show/windows:mingw:win64/mingw64-filesystem?expand=0&rev=172
2025-02-21 09:00:04 +00:00

36 lines
940 B
Bash

#!/bin/bash
# This script reads filenames from STDIN and outputs any relevant provides
# information that needs to be included in the package.
target="mingw64"
host="x86_64-w64-mingw32"
if [ -n "$1" ]; then
package_name="$1"
fi
[ -z "$OBJDUMP" ] && OBJDUMP="$host-objdump"
filelist=`sed "s/['\"]/\\\&/g"`
dlls=$(echo "$filelist" | grep '\.dll$')
pcs=$(echo "$filelist" | grep '\.pc$')
libs=$(echo "$filelist" | grep '\.a$')
for f in $dlls; do
[ ! -f "$f" ] && continue
basename=`basename "$f" | tr "[:upper:]" "[:lower:]"`
echo "$target($basename)"
done
for g in $pcs; do
[ ! -f "$g" ] && continue
PKG_CONFIG_PATH="${g%/*}" "$host-pkgconf" --print-errors --print-provides "$g" | awk '{ print "'"$target"'(pkg:"$1")", $2, $3 }'
done | sort -u
for h in $libs; do
[ ! -f "$h" ] && continue
libname=`basename "$h" | sed 's#^lib##g' | sed 's#\.dll\.#\.#g' | sed 's#\.a##g'`
echo "$target(lib:$libname)"
done