Skip to content

Instantly share code, notes, and snippets.

@LAGonauta
Last active February 27, 2021 20:24
Show Gist options
  • Save LAGonauta/a2ad1759d8fae5c91ca31ba279982859 to your computer and use it in GitHub Desktop.
Save LAGonauta/a2ad1759d8fae5c91ca31ba279982859 to your computer and use it in GitHub Desktop.
Script for building 32-bit Dino on MSYS2. DLLs must be copied manually as ldd is not working correctly.
#!/bin/bash
pacman -S --needed \
mingw32/mingw-w64-i686-gcc \
mingw32/mingw-w64-i686-cmake \
mingw32/mingw-w64-i686-enchant \
mingw32/mingw-w64-i686-ninja \
mingw32/mingw-w64-i686-libsoup \
mingw32/mingw-w64-i686-gtk3 \
mingw32/mingw-w64-i686-sqlite3 \
mingw32/mingw-w64-i686-gobject-introspection \
mingw32/mingw-w64-i686-glib2 \
mingw32/mingw-w64-i686-glib-networking \
mingw32/mingw-w64-i686-libgcrypt \
mingw32/mingw-w64-i686-libgee \
mingw32/mingw-w64-i686-gpgme \
mingw32/mingw-w64-i686-pkg-config \
mingw32/mingw-w64-i686-vala \
mingw32/mingw-w64-i686-gsettings-desktop-schemas \
mingw32/mingw-w64-i686-qrencode \
mingw32/mingw-w64-i686-libsignal-protocol-c \
mingw32/mingw-w64-i686-libwmf \
mingw32/mingw-w64-i686-ntldd-git
cd dino32 && \
./configure --program-prefix=${PWD}/dist --no-debug --release --disable-fast-vapi && \
make -j5 && \
make install && \
cd dist && \
cp /mingw32/bin/gdbus.exe ./bin && \
cp /mingw32/bin/gspawn-win32-helper.exe ./bin && \
cp -r /mingw64/share/xml ./share && \
cp -r /mingw64/lib/enchant-2 ./lib && \
mkdir -p ./lib/gdk-pixbuf-2.0/ && cp -r /mingw32/lib/gdk-pixbuf-2.0 ./lib/ && \
mkdir -p ./lib/gio/ && cp -r /mingw32/lib/gio ./lib/ && \
mkdir -p ./share/icons && cp -r /mingw32/share/icons ./share/ && \
mkdir -p ./share/locale && cp -r /mingw32/share/locale ./share/ && \
mkdir -p ./share/glib-2.0/schemas && cp -r /mingw32/share/glib-2.0/schemas ./share/glib-2.0/ && \
rm -r ./include &&
find . -iname "*.dll.a" -exec rm {} + && \
cp /mingw32/bin/libassuan-0.dll \
/mingw32/bin/libatk-1.0-0.dll \
/mingw32/bin/libbrotlicommon.dll \
/mingw32/bin/libbrotlidec.dll \
/mingw32/bin/libbz2-1.dll \
/mingw32/bin/libcairo-2.dll \
/mingw32/bin/libcairo-gobject-2.dll \
/mingw32/bin/libcrypto-1_1.dll \
/mingw32/bin/libdatrie-1.dll \
/mingw32/bin/libepoxy-0.dll \
/mingw32/bin/libexpat-1.dll \
/mingw32/bin/libffi-7.dll \
/mingw32/bin/libfontconfig-1.dll \
/mingw32/bin/libfreetype-6.dll \
/mingw32/bin/libfribidi-0.dll \
/mingw32/bin/libgcrypt-20.dll \
/mingw32/bin/libgdk_pixbuf-2.0-0.dll \
/mingw32/bin/libgdk-3-0.dll \
/mingw32/bin/libgee-0.8-2.dll \
/mingw32/bin/libgio-2.0-0.dll \
/mingw32/bin/libglib-2.0-0.dll \
/mingw32/bin/libgmodule-2.0-0.dll \
/mingw32/bin/libgmp-10.dll \
/mingw32/bin/libgnutls-30.dll \
/mingw32/bin/libgobject-2.0-0.dll \
/mingw32/bin/libgpg-error-0.dll \
/mingw32/bin/libgpgme-11.dll \
/mingw32/bin/libgraphite2.dll \
/mingw32/bin/libgtk-3-0.dll \
/mingw32/bin/libharfbuzz-0.dll \
/mingw32/bin/libhogweed-6.dll \
/mingw32/bin/libiconv-2.dll \
/mingw32/bin/libicudt68.dll \
/mingw32/bin/libicuuc68.dll \
/mingw32/bin/libidn2-0.dll \
/mingw32/bin/libintl-8.dll \
/mingw32/bin/libjpeg-8.dll \
/mingw32/bin/liblzma-5.dll \
/mingw32/bin/libnettle-8.dll \
/mingw32/bin/libopenal-1.dll \
/mingw32/bin/libp11-kit-0.dll \
/mingw32/bin/libpango-1.0-0.dll \
/mingw32/bin/libpangocairo-1.0-0.dll \
/mingw32/bin/libpangoft2-1.0-0.dll \
/mingw32/bin/libpangowin32-1.0-0.dll \
/mingw32/bin/libpcre-1.dll \
/mingw32/bin/libpixman-1-0.dll \
/mingw32/bin/libpng16-16.dll \
/mingw32/bin/libproxy-1.dll \
/mingw32/bin/libpsl-5.dll \
/mingw32/bin/libqrencode.dll \
/mingw32/bin/librsvg-2-2.dll \
/mingw32/bin/libsignal-protocol-c.dll \
/mingw32/bin/libsoup-2.4-1.dll \
/mingw32/bin/libsqlite3-0.dll \
/mingw32/bin/libssl-1_1.dll \
/mingw32/bin/libstdc++-6.dll \
/mingw32/bin/libtasn1-6.dll \
/mingw32/bin/libthai-0.dll \
/mingw32/bin/libtiff-5.dll \
/mingw32/bin/libunistring-2.dll \
/mingw32/bin/libwinpthread-1.dll \
/mingw32/bin/libwmf-0-2-7.dll \
/mingw32/bin/libwmflite-0-2-7.dll \
/mingw32/bin/libxml2-2.dll \
/mingw32/bin/libzstd.dll \
/mingw32/bin/zlib1.dll \
/mingw32/bin/libgcc_s_dw2-1.dll \
. && \
find . -iname "*.exe" -exec ntldd {} + | grep mingw32 | awk '{print "cp /mingw32/bin/"$1" ."}' | sh && \
find . -iname "*.dll" -exec ntldd {} + | grep mingw32 | awk '{print "cp /mingw32/bin/"$1" ."}' | sh && \
find . -iname "*.exe" -exec ldd {} + | grep mingw32 | awk '{print "cp /mingw32/bin/"$1" ."}' | sh && \
find . -iname "*.dll" -exec ldd {} + | grep mingw32 | awk '{print "cp /mingw32/bin/"$1" ."}' | sh && \
find . -iname "*.exe" -exec strip -s {} + && \
find . -iname "*.dll" -exec strip -s {} + && \
mv *.dll ./bin
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment