diff options
author | Přemysl Eric Janouch <p@janouch.name> | 2023-06-22 01:48:02 +0200 |
---|---|---|
committer | Přemysl Eric Janouch <p@janouch.name> | 2023-06-22 04:06:38 +0200 |
commit | 86622e0c311a80bb26666688b88b8c5d853119e5 (patch) | |
tree | 85a1ab3e57b126262bb340be2efea4999c36905f /msys2-cross-install.sh | |
parent | a4772ce3194484c56595a8f5e9c0535fd86254fd (diff) | |
download | fiv-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-x | msys2-cross-install.sh | 69 |
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 |