0
0
mirror of https://github.com/vim/vim.git synced 2025-09-23 03:43:49 -04:00

NSIS: Fix a few issues with gvim.nsi

- correctly find libsodium.dll
- disable inclusion of libgcc_s_sjlj-1.dll
- generate PATCHLEVEL correctly

related: #14214
closes: #14465

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
RestorerZ
2024-04-09 23:04:44 +02:00
committed by Christian Brabandt
parent 7a27c108e0
commit 49f1e1979f
2 changed files with 63 additions and 18 deletions

View File

@@ -409,9 +409,6 @@ Section "$(str_section_exe)" id_section_exe
File /oname=gvim.exe ${VIMSRC}\gvim_ole.exe File /oname=gvim.exe ${VIMSRC}\gvim_ole.exe
!if /FileExists "${VIMSRC}\vim${BIT}.dll" !if /FileExists "${VIMSRC}\vim${BIT}.dll"
File ${VIMSRC}\vim${BIT}.dll File ${VIMSRC}\vim${BIT}.dll
!endif
!if /FileExists "${VIMRT}\libsodium.dll"
File ${VIMRT}\libsodium.dll
!endif !endif
File /oname=install.exe ${VIMSRC}\installw32.exe File /oname=install.exe ${VIMSRC}\installw32.exe
File /oname=uninstall.exe ${VIMSRC}\uninstallw32.exe File /oname=uninstall.exe ${VIMSRC}\uninstallw32.exe
@@ -432,6 +429,9 @@ Section "$(str_section_exe)" id_section_exe
!if /FileExists "${VIMTOOLS}\winpty-agent.exe" !if /FileExists "${VIMTOOLS}\winpty-agent.exe"
File ${VIMTOOLS}\winpty-agent.exe File ${VIMTOOLS}\winpty-agent.exe
!endif !endif
!if /FileExists "${VIMTOOLS}\libsodium.dll"
File ${VIMTOOLS}\libsodium.dll
!endif
SetOutPath $0\colors SetOutPath $0\colors
File /r ${VIMRT}\colors\*.* File /r ${VIMRT}\colors\*.*
@@ -728,12 +728,12 @@ Section "$(str_section_nls)" id_section_nls
!insertmacro InstallLib DLL NOTSHARED REBOOT_NOTPROTECTED \ !insertmacro InstallLib DLL NOTSHARED REBOOT_NOTPROTECTED \
"${GETTEXT}\gettext${BIT}\libiconv-2.dll" \ "${GETTEXT}\gettext${BIT}\libiconv-2.dll" \
"$0\libiconv-2.dll" "$0" "$0\libiconv-2.dll" "$0"
!if /FileExists "${GETTEXT}\gettext${BIT}\libgcc_s_sjlj-1.dll" # Install libgcc_s_sjlj-1.dll only if it is needed.
# Install libgcc_s_sjlj-1.dll only if it is needed. # !if /FileExists "${GETTEXT}\gettext${BIT}\libgcc_s_sjlj-1.dll"
!insertmacro InstallLib DLL NOTSHARED REBOOT_NOTPROTECTED \ # !insertmacro InstallLib DLL NOTSHARED REBOOT_NOTPROTECTED \
"${GETTEXT}\gettext${BIT}\libgcc_s_sjlj-1.dll" \ # "${GETTEXT}\gettext${BIT}\libgcc_s_sjlj-1.dll" \
"$0\libgcc_s_sjlj-1.dll" "$0" # "$0\libgcc_s_sjlj-1.dll" "$0"
!endif # !endif
${If} ${SectionIsSelected} ${id_section_editwith} ${If} ${SectionIsSelected} ${id_section_editwith}
${If} ${RunningX64} ${If} ${RunningX64}
@@ -759,12 +759,12 @@ Section "$(str_section_nls)" id_section_nls
!insertmacro InstallLib DLL NOTSHARED REBOOT_NOTPROTECTED \ !insertmacro InstallLib DLL NOTSHARED REBOOT_NOTPROTECTED \
"${GETTEXT}\gettext32\libiconv-2.dll" \ "${GETTEXT}\gettext32\libiconv-2.dll" \
"$0\GvimExt32\libiconv-2.dll" "$0\GvimExt32" "$0\GvimExt32\libiconv-2.dll" "$0\GvimExt32"
!if /FileExists "${GETTEXT}\gettext32\libgcc_s_sjlj-1.dll" # Install libgcc_s_sjlj-1.dll only if it is needed.
# Install libgcc_s_sjlj-1.dll only if it is needed. # !if /FileExists "${GETTEXT}\gettext32\libgcc_s_sjlj-1.dll"
!insertmacro InstallLib DLL NOTSHARED REBOOT_NOTPROTECTED \ # !insertmacro InstallLib DLL NOTSHARED REBOOT_NOTPROTECTED \
"${GETTEXT}\gettext32\libgcc_s_sjlj-1.dll" \ # "${GETTEXT}\gettext32\libgcc_s_sjlj-1.dll" \
"$0\GvimExt32\libgcc_s_sjlj-1.dll" "$0\GvimExt32" # "$0\GvimExt32\libgcc_s_sjlj-1.dll" "$0\GvimExt32"
!endif # !endif
${EndIf} ${EndIf}
SectionEnd SectionEnd
!endif !endif

View File

@@ -157,10 +157,55 @@
# you can set DEFINES on the command line, e.g., # you can set DEFINES on the command line, e.g.,
# nmake -f Make_mvc.mvc "DEFINES=-DEMACS_TAGS" # nmake -f Make_mvc.mvc "DEFINES=-DEMACS_TAGS"
RM= del /f /q
PS= powershell.exe
PSFLAGS= -NoLogo -NoProfile -Command
!IF ![$(PS) $(PSFLAGS) try{Out-File -FilePath '.\major.tmp' -InputObject \
\"MAJOR=$$(((Select-String -Pattern 'VIM_VERSION_MAJOR\s+\d{1,2}' \
-Path '.\version.h').Line[-2..-1^]-join '').Trim())\"} \
catch{exit 1}]
! INCLUDE .\major.tmp
! IF [$(RM) .\major.tmp]
! ENDIF
!ELSE
# Change this value for the new version
MAJOR= 9
!ENDIF
!IF ![$(PS) $(PSFLAGS) try{Out-File -FilePath '.\minor.tmp' -InputObject \
\"MINOR=$$(((Select-String -Pattern 'VIM_VERSION_MINOR\s+\d{1,2}' \
-Path '.\version.h').Line[-2..-1^]-join '').Trim())\"} \
catch{exit 1}]
! INCLUDE .\minor.tmp
! IF [$(RM) .\minor.tmp]
! ENDIF
!ELSE
# Change this value for the new version
MINOR= 1
!ENDIF
!IF ![$(PS) $(PSFLAGS) try{Out-File -FilePath '.\patchlvl.tmp' -InputObject \
\"PATCHLEVEL=$$(((Get-Content -Path '.\version.c' \
-TotalCount ((Select-String -Pattern 'static int included_patches' \
-Path '.\version.c').LineNumber+3))[-1^]).Trim().TrimEnd(','))\"} \
catch{exit 1}]
! INCLUDE .\patchlvl.tmp
! IF [$(RM) .\patchlvl.tmp]
! ENDIF
!ENDIF
# Build on Windows NT/XP # Build on Windows NT/XP
TARGETOS = WINNT TARGETOS = WINNT
!IFDEF PATCHLEVEL
RCFLAGS= -DVIM_VERSION_PATCHLEVEL=$(PATCHLEVEL)
!ENDIF
!if "$(VIMDLL)" == "yes" !if "$(VIMDLL)" == "yes"
GUI = yes GUI = yes
!endif !endif
@@ -591,7 +636,7 @@ OPTFLAG = $(OPTFLAG) /GL
! endif ! endif
CFLAGS = $(CFLAGS) $(OPTFLAG) -DNDEBUG $(CPUARG) CFLAGS = $(CFLAGS) $(OPTFLAG) -DNDEBUG $(CPUARG)
RCFLAGS = -DNDEBUG RCFLAGS = $(RCFLAGS) -DNDEBUG
! ifdef USE_MSVCRT ! ifdef USE_MSVCRT
CFLAGS = $(CFLAGS) /MD CFLAGS = $(CFLAGS) /MD
LIBC = msvcrt.lib LIBC = msvcrt.lib
@@ -607,7 +652,7 @@ VIM = vimd
DEBUGINFO = /ZI DEBUGINFO = /ZI
! endif ! endif
CFLAGS = $(CFLAGS) -D_DEBUG -DDEBUG /Od CFLAGS = $(CFLAGS) -D_DEBUG -DDEBUG /Od
RCFLAGS = -D_DEBUG -DDEBUG RCFLAGS = $(RCFLAGS) -D_DEBUG -DDEBUG
# The /fixed:no is needed for Quantify. # The /fixed:no is needed for Quantify.
LIBC = /fixed:no LIBC = /fixed:no
! ifdef USE_MSVCRT ! ifdef USE_MSVCRT
@@ -621,7 +666,7 @@ LIBC = $(LIBC) libcmtd.lib
!endif # DEBUG !endif # DEBUG
# Visual Studio 2005 has 'deprecated' many of the standard CRT functions # Visual Studio 2005 has 'deprecated' many of the standard CRT functions
CFLAGS_DEPR = /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE CFLAGS_DEPR = -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE
CFLAGS = $(CFLAGS) $(CFLAGS_DEPR) CFLAGS = $(CFLAGS) $(CFLAGS_DEPR)
!include Make_all.mak !include Make_all.mak