aboutsummaryrefslogtreecommitdiff
path: root/msys2-cross-install.sh
diff options
context:
space:
mode:
authorPřemysl Eric Janouch <p@janouch.name>2023-06-22 01:48:02 +0200
committerPřemysl Eric Janouch <p@janouch.name>2023-06-22 04:06:38 +0200
commit86622e0c311a80bb26666688b88b8c5d853119e5 (patch)
tree85a1ab3e57b126262bb340be2efea4999c36905f /msys2-cross-install.sh
parenta4772ce3194484c56595a8f5e9c0535fd86254fd (diff)
downloadfiv-86622e0c311a80bb26666688b88b8c5d853119e5.tar.gz
fiv-86622e0c311a80bb26666688b88b8c5d853119e5.tar.xz
fiv-86622e0c311a80bb26666688b88b8c5d853119e5.zip
Make cross-compilation scripts work from MSYS2
This is weird and runs very slowly. Meson can also find libraries outside the subroot, in particular the fast float plugin.
Diffstat (limited to 'msys2-cross-install.sh')
-rwxr-xr-xmsys2-cross-install.sh69
1 files changed, 0 insertions, 69 deletions
diff --git a/msys2-cross-install.sh b/msys2-cross-install.sh
deleted file mode 100755
index 7cbc2cc..0000000
--- a/msys2-cross-install.sh
+++ /dev/null
@@ -1,69 +0,0 @@
-#!/bin/sh -e
-export LC_ALL=C
-cd "$MESON_INSTALL_DESTDIR_PREFIX"
-msys2_root=$1
-
-# Copy binaries we directly or indirectly depend on.
-cp -p "$msys2_root"/bin/*.dll .
-cp -p "$msys2_root"/bin/wperl.exe .
-cp -p "$msys2_root"/bin/exiftool .
-# The console helper is only useful for debug builds.
-cp -p "$msys2_root"/bin/gspawn-*-helper*.exe .
-cp -pR "$msys2_root"/etc/ .
-
-mkdir -p lib
-cp -pR "$msys2_root"/lib/gdk-pixbuf-2.0/ lib
-cp -pR "$msys2_root"/lib/perl5/ lib
-mkdir -p share/glib-2.0/schemas
-cp -pR "$msys2_root"/share/glib-2.0/schemas/*.Settings.* share/glib-2.0/schemas
-mkdir -p share
-cp -pR "$msys2_root"/share/mime/ share
-mkdir -p share/icons
-cp -pR "$msys2_root"/share/icons/Adwaita/ share/icons
-mkdir -p share/icons/hicolor
-cp -p "$msys2_root"/share/icons/hicolor/index.theme share/icons/hicolor
-
-# Remove unreferenced libraries.
-find lib -name '*.a' -exec rm -- {} +
-awk 'function whitelist(binary) {
- if (seen[binary]++)
- return
-
- delete orphans[binary]
- while (("strings -a \"" binary "\" 2>/dev/null" | getline string) > 0)
- if (match(string, /[-.+_a-zA-Z0-9]+[.][Dd][Ll][Ll]$/))
- whitelist("./" substr(string, RSTART, RLENGTH))
-} BEGIN {
- while (("find . -type f -path \"./*.[Dd][Ll][Ll]\"" | getline) > 0)
- orphans[$0]++
- while (("find . -type f -path \"./*.[Ee][Xx][Ee]\"" | getline) > 0)
- whitelist($0)
- while (("find ./lib -type f -path \"./*.[Dd][Ll][Ll]\"" | getline) > 0)
- whitelist($0)
- for (library in orphans)
- print library
-}' | xargs rm --
-
-# Removes unused icons from the Adwaita theme. It could be even more aggressive,
-# since it keeps around lots of sizes and all the GTK+ stock icons.
-find share/icons/Adwaita -type f | awk 'BEGIN {
- while (("grep -aho \"[a-z][a-z-]*\" *.dll *.exe" | getline) > 0)
- good[$0] = 1
-} /[.](png|svg|cur|ani)$/ {
- # Cut out the basename without extensions.
- match($0, /[^\/]+$/)
- base = substr($0, RSTART)
- sub(/[.].+$/, "", base)
-
- # Try matching while cutting off suffixes.
- # Disregarding the not-much-used GTK_ICON_LOOKUP_GENERIC_FALLBACK.
- while (!(keep = good[base]) &&
- sub(/-(ltr|rtl|symbolic)$/, "", base)) {}
- if (!keep)
- print
-}' | xargs rm --
-
-wine64 "$msys2_root"/bin/glib-compile-schemas.exe share/glib-2.0/schemas
-
-# This may speed up program start-up a little bit.
-wine64 "$msys2_root"/bin/gtk-update-icon-cache-3.0.exe share/icons/Adwaita