# HG changeset patch # User Matti Hamalainen # Date 1577158692 -7200 # Node ID f6a99b984b8ea932a314bb839ac5711e86a3d782 # Parent 2552756f2876549e55493d5cafb77c701638dd11 Clean up build script a bit. diff -r 2552756f2876 -r f6a99b984b8e build-win32.sh --- a/build-win32.sh Tue Dec 24 05:15:09 2019 +0200 +++ b/build-win32.sh Tue Dec 24 05:38:12 2019 +0200 @@ -8,7 +8,28 @@ QT5_PREFIX="/misc/packages/qt5-src" QT5_BASE="${QT5_PREFIX}/qtbase" -MINGWPATH=$(dirname $(i686-w64-mingw32-g++ -print-prog-name=cc1)) +MINGWPATH="$(dirname $(i686-w64-mingw32-g++ -print-prog-name=cc1))" +MINGWLIBS="/usr/i686-w64-mingw32/lib/" + + +fatal() +{ + echo "ERROR: $1" + exit 1 +} + + +do_cp() +{ + cp -f "$1" "$2" || fatal "Could not copy file '$1' to '$2'." +} + + +do_mkdir() +{ + mkdir -p "$1" || fatal "Could not create directory '$1'." +} + do_cpinstall() { @@ -17,41 +38,44 @@ # $3 common sub path # $4 filename - mkdir -p "$2/$3" - cp -f "$1/$3/$4" "$2/$3/$4" + do_mkdir "$2/$3" + do_cp "$1/$3/$4" "$2/$3/$4" } do_install() { TARGET="$1" + if test -d "$TARGET"; then rm -fr "$TARGET" - else - echo "ERROR: Target '$TARGET' exists but is not a directory!" - return 1 - fi - if ! mkdir -p "$TARGET"; then - echo "ERROR: Could not create target directory '$TARGET'." - return 1 + elif test -e "$TARGET"; then + fatal "Target '$TARGET' exists but is not a directory!" fi - echo "Installing to '$TARGET' ..." + mkdir -p "$TARGET" || fatal "Could not create target directory '$TARGET'." + + echo "Installing to '${TARGET}' ..." - do_cpinstall "$QT5_BASE/plugins/" "$TARGET" "platforms" "qwindows.dll" - do_cpinstall "$QT5_BASE/plugins/" "$TARGET" "sqldrivers" "qsqlite.dll" - do_cpinstall "$QT5_BASE/plugins/" "$TARGET" "printsupport" "windowsprintersupport.dll" + do_cpinstall "${QT5_BASE}/plugins/" "$TARGET" "platforms" "qwindows.dll" + do_cpinstall "${QT5_BASE}/plugins/" "$TARGET" "sqldrivers" "qsqlite.dll" + do_cpinstall "${QT5_BASE}/plugins/" "$TARGET" "printsupport" "windowsprintersupport.dll" for i in Core Gui Sql Widgets PrintSupport Network; do - cp -f "$QT5_BASE/lib/Qt5$i.dll" "$TARGET" + do_cp "${QT5_BASE}/lib/Qt5${i}.dll" "$TARGET" done for i in libstdc++-6 libgcc_s_sjlj-1; do - cp -f "$MINGWPATH/$i.dll" "$TARGET" - strip "$TARGET/$i.dll" + do_cp "${MINGWPATH}/${i}.dll" "$TARGET" + strip "${TARGET}/${i}.dll" done - cp -f "$BUILDPATH/Syntilista.exe" "$TARGET" - unix2dos -n "COPYING.html" "$TMPFILE" && cp -f "$TMPFILE" "$TARGET/COPYING.txt" + for i in zlib1.dll; do + do_cp "${MINGWLIBS}/${i}" "$TARGET" + done + + do_cp "$BUILDPATH/Syntilista.exe" "$TARGET" + unix2dos -n "COPYING.html" "$TMPFILE" || fatal "Could not unix2dos." + do_cp "$TMPFILE" "$TARGET/COPYING.txt" rm -f "$TMPFILE" return 0 }