Mercurial > minori
comparison scripts/win32/deploy_build.sh @ 300:8eb0cfe59992
CI/windows: attempt to fix the build
| author | Paper <paper@paper.us.eu.org> |
|---|---|
| date | Mon, 13 May 2024 14:56:37 -0400 |
| parents | dec4d3c9a909 |
| children | 1faa72660932 |
comparison
equal
deleted
inserted
replaced
| 299:246017a7907a | 300:8eb0cfe59992 |
|---|---|
| 2 # | 2 # |
| 3 # deploys needed libraries for minori on win32 | 3 # deploys needed libraries for minori on win32 |
| 4 # | 4 # |
| 5 # this also runs windeployqt to deploy qt crap | 5 # this also runs windeployqt to deploy qt crap |
| 6 # as well | 6 # as well |
| 7 # | |
| 8 # note: ldd is NOT a standard ldd; it's mingw-ldd | |
| 9 # from pypi which works much well when cross | |
| 10 # compiling using something like quasi-msys2 | |
| 7 | 11 |
| 12 # you can override the paths to these at runtime | |
| 8 DIR="${DIR:-minori}" | 13 DIR="${DIR:-minori}" |
| 14 LDD="${LDD:-mingw-ldd}" | |
| 9 | 15 |
| 10 GetNeededLibraries() { | 16 GetNeededLibraries() { |
| 11 # do not run this on untrusted executables. | 17 # do not run this on untrusted executables. |
| 12 # see: ldd(1) | 18 # see: ldd(1) |
| 13 system="$(echo "$MSYSTEM" | tr "[:upper:]" "[:lower:]")" | 19 system="$(echo "$MSYSTEM" | tr "[:upper:]" "[:lower:]")" |
| 14 ldd "$1" | while IFS="" read -r dependency; do | 20 "$LDD" --output-format ldd-like --dll-lookup-dirs "/$system/bin" -- "$1" | while IFS="" read -r dependency; do |
| 15 lib="$(printf -- "$dependency" | cut -d' ' -f3)" | 21 # trim whitespace, then get the value; mingw-ldd's "ldd-like" output doesn't use tabs like regular ldd |
| 22 lib="$(printf -- "%s" "$dependency" | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//' | cut -d' ' -f3)" | |
| 16 case $lib in | 23 case $lib in |
| 17 "/$system/"*) | 24 "/$system/"*) |
| 18 printf -- "$lib\n" | 25 printf -- "$lib\n" |
| 19 ;; | 26 ;; |
| 20 *) | 27 *) |
| 22 esac | 29 esac |
| 23 done | 30 done |
| 24 } | 31 } |
| 25 | 32 |
| 26 | 33 |
| 27 if [ -d "$DIR" ]; then | 34 if test -d "$DIR"; then |
| 28 rm -r "$DIR" | 35 rm -r "$DIR" |
| 29 fi | 36 fi |
| 30 | 37 |
| 31 mkdir "$DIR" | 38 mkdir "$DIR" |
| 32 | 39 |
