2009-04-08 13:11:27 +00:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
# This script reads filenames from STDIN and outputs any relevant provides
|
|
|
|
# information that needs to be included in the package.
|
2014-10-21 14:21:40 +00:00
|
|
|
target="mingw64"
|
|
|
|
host="x86_64-w64-mingw32"
|
2009-04-08 13:11:27 +00:00
|
|
|
|
2014-10-21 14:21:40 +00:00
|
|
|
if [ -n "$1" ]; then
|
2009-04-08 13:11:27 +00:00
|
|
|
package_name="$1"
|
|
|
|
fi
|
|
|
|
|
2014-10-21 14:21:40 +00:00
|
|
|
[ -z "$OBJDUMP" ] && OBJDUMP="$host-objdump"
|
2009-04-08 13:11:27 +00:00
|
|
|
|
2022-05-24 08:26:51 +00:00
|
|
|
filelist=`sed "s/['\"]/\\\&/g"`
|
2009-04-08 13:11:27 +00:00
|
|
|
|
2022-05-24 08:26:51 +00:00
|
|
|
dlls=$(echo "$filelist" | grep '\.dll$')
|
|
|
|
pcs=$(echo "$filelist" | grep '\.pc$')
|
|
|
|
libs=$(echo "$filelist" | grep '\.a$')
|
2009-04-08 13:11:27 +00:00
|
|
|
|
|
|
|
for f in $dlls; do
|
2014-08-29 20:25:29 +00:00
|
|
|
[ ! -f "$f" ] && continue
|
2014-10-21 14:21:40 +00:00
|
|
|
basename=`basename "$f" | tr "[:upper:]" "[:lower:]"`
|
|
|
|
echo "$target($basename)"
|
2009-04-08 13:11:27 +00:00
|
|
|
done
|
2011-04-13 08:48:20 +00:00
|
|
|
|
|
|
|
for g in $pcs; do
|
2014-08-29 20:25:29 +00:00
|
|
|
[ ! -f "$g" ] && continue
|
2022-07-28 13:39:51 +00:00
|
|
|
PKG_CONFIG_PATH="${g%/*}" "$host-pkgconf" --print-errors --print-provides "$g" | awk '{ print "'"$target"'(pkg:"$1")", $2, $3 }'
|
2011-04-13 08:48:20 +00:00
|
|
|
done | sort -u
|
2011-04-18 12:05:33 +00:00
|
|
|
|
2014-10-23 10:19:30 +00:00
|
|
|
for h in $libs; do
|
2014-08-29 20:25:29 +00:00
|
|
|
[ ! -f "$h" ] && continue
|
2014-10-21 14:21:40 +00:00
|
|
|
libname=`basename "$h" | sed 's#^lib##g' | sed 's#\.dll\.#\.#g' | sed 's#\.a##g'`
|
|
|
|
echo "$target(lib:$libname)"
|
2011-04-18 12:05:33 +00:00
|
|
|
done
|