diff --git a/data/win32/fldigi.nsi b/data/win32/fldigi.nsi index 081d6130..746a8f24 100644 --- a/data/win32/fldigi.nsi +++ b/data/win32/fldigi.nsi @@ -122,6 +122,7 @@ SectionEnd SectionIn RO SetOutPath $INSTDIR File "${FLDIGI_BINARY}" + File /nonfatal "${MINGWM_DLL}" "${PTW32_DLL}" !ifdef FLDIGI_LOCALE_DIR File /r "${FLDIGI_LOCALE_PATH}/${FLDIGI_LOCALE_DIR}" !endif @@ -138,6 +139,9 @@ SectionEnd !endif SetOutPath $INSTDIR File "${FLARQ_BINARY}" +!ifndef HAVE_FLDIGI + File /nonfatal "${MINGWM_DLL}" "${PTW32_DLL}" +!endif StrCpy $WANT_FLARQ "true" SectionEnd !endif @@ -217,6 +221,8 @@ Section "Uninstall" !ifdef HAVE_FLARQ Delete /REBOOTOK $INSTDIR\${FLARQ_BINARY} !endif + Delete /REBOOTOK $INSTDIR\${MINGWM_DLL} + Delete /REBOOTOK $INSTDIR\${PTW32_DLL} Delete /REBOOTOK $INSTDIR\uninstall.exe # Remove shortcuts, if any diff --git a/scripts/mkhamlibstatic.sh b/scripts/mkhamlibstatic.sh index ed9383fb..2f47aa73 100755 --- a/scripts/mkhamlibstatic.sh +++ b/scripts/mkhamlibstatic.sh @@ -13,7 +13,7 @@ if test "x$PKG_CONFIG" != "x"; then else hamlib_dir="${HAMLIB_LIBS#*-L}" hamlib_dir="${HAMLIB_LIBS%% *}" - if test "x$hamlib_dir" = "x"; then\ + if test "x$hamlib_dir" = "x"; then hamlib_dir=/usr/lib fi fi diff --git a/scripts/mknsisinst.sh b/scripts/mknsisinst.sh index 8487835b..962cc0e5 100755 --- a/scripts/mknsisinst.sh +++ b/scripts/mknsisinst.sh @@ -35,8 +35,6 @@ fldigi_bin=dl-fldigi.exe flarq_name=Flarq flarq_bin=flarq.exe -def= - if test "x$WANT_FLDIGI" != "xyes" && test "x$WANT_FLARQ" != "xyes"; then echo "E: refusing to create empty installer" >&2 exit 1 @@ -50,6 +48,43 @@ if test "x$WANT_FLARQ" = "xyes"; then def="$def -DHAVE_FLARQ -DFLARQ_NAME=$flarq_name -DFLARQ_BINARY=$flarq_bin -DFLARQ_VERSION=$FLARQ_VERSION" fi +# Look for pthreadGC2.dll and mingwm10.dll +MINGWM_DLL=mingwm10.dll +PTW32_DLL=pthreadGC2.dll +if ! test -r "$build/$MINGWM_DLL" || ! test -r "$build/$PTW32_DLL"; then + IFS_saved="$IFS" + IFS=: + MINGWM_PATH="" + PTW32_PATH="" + for dir in $LIB_PATH; do + test "x$MINGWM_PATH" = "x" && test -r "$dir/$MINGWM_DLL" && MINGWM_PATH="$dir/$MINGWM_DLL" + test "x$PTW32_PATH" = "x" && test -r "$dir/$PTW32_DLL" && PTW32_PATH="$dir/$PTW32_DLL" + done + IFS="$IFS_saved" +fi +if ! test -r "$build/$MINGWM_DLL"; then + if test "x$MINGWM_PATH" != "x"; then + cp "$MINGWM_PATH" "$build" + elif test -r /usr/share/doc/mingw32-runtime/${MINGWM_DLL}.gz; then + # Debian and Ubuntu + gzip -dc /usr/share/doc/mingw32-runtime/${MINGWM_DLL}.gz > "$build/$MINGWM_DLL" + fi +fi +if ! test -r "$build/$PTW32_DLL"; then + if test "x$PTW32_PATH" != "x"; then + cp "$PTW32_PATH" "$build" + else + # look for dll in PTW32_LIBS + dir=$(echo $PTW32_LIBS | sed -r 's/.*-L([[:graph:]]+).*/\1/g') + lib=$(echo $PTW32_LIBS | sed -r 's/.*-l(pthreadGC[[:graph:]]+).*/\1/g') + lib="${lib}.dll" + if test -r "$dir/$lib"; then + cp "$dir/$lib" "$build" + fi + fi +fi +def="$def -DMINGWM_DLL=$MINGWM_DLL -DPTW32_DLL=$PTW32_DLL" + if test "x$USE_NLS" = "xyes" && make -C "$srcdir/../po" install prefix="$build" >/dev/null; then def="$def -DFLDIGI_LOCALE_PATH=$build/share -DFLDIGI_LOCALE_DIR=locale" fi