Skip to content

Commit fabe9a4

Browse files
RestorerZchrisbra
authored andcommitted
nsis: Getting the Vim version number via makensis
closes: #18470 Signed-off-by: RestorerZ <[email protected]> Signed-off-by: Christian Brabandt <[email protected]>
1 parent 8feaa94 commit fabe9a4

File tree

6 files changed

+17
-98
lines changed

6 files changed

+17
-98
lines changed

Filelist

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -641,7 +641,6 @@ SRC_DOS = \
641641
src/xxd/Make_mvc.mak \
642642
nsis/auxiliary.nsh \
643643
nsis/gvim.nsi \
644-
nsis/gvim_version.nsh \
645644
nsis/Makefile \
646645
nsis/Make_mvc.mak \
647646
nsis/README.txt \

Makefile

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ MINOR = 1
105105
# - Update Vim version number. For a test version in: src/version.h,
106106
# READMEdir/Contents, MAJOR/MINOR above, VIMMAJOR and VIMMINOR in
107107
# src/Makefile, README.txt, README.md, src/README.md, READMEdir/README*.txt,
108-
# runtime/doc/*.txt and make nsis/gvim_version.nsh.
108+
# runtime/doc/*.txt.
109109
# For a minor/major version: src/GvimExt/GvimExt.reg, src/vim.manifest.
110110
# - Compile Vim with GTK, Perl, Python, Python3, TCL, Ruby, Lua, Cscope and
111111
# "huge" features. Add MZscheme if you can make it work.
@@ -410,7 +410,7 @@ amisrc: dist prepare
410410
mv dist/vim$(VERSION)src.tar.gz dist/vim$(VERSION)src.tgz
411411

412412
# MS-DOS sources
413-
dossrc: dist dist/$(COMMENT_SRC) license nsis/gvim_version.nsh
413+
dossrc: dist dist/$(COMMENT_SRC) license
414414
-rm -rf dist/vim$(VERSION)src.zip
415415
-rm -rf dist/vim
416416
mkdir dist/vim
@@ -423,7 +423,6 @@ dossrc: dist dist/$(COMMENT_SRC) license nsis/gvim_version.nsh
423423
$(SRC_DOS_UNIX) \
424424
lang/LICENSE.*.txt \
425425
lang/README.*.txt \
426-
nsis/gvim_version.nsh \
427426
| (cd dist/vim/$(VIMRTDIR); tar xf -)
428427
mv dist/vim/$(VIMRTDIR)/runtime/* dist/vim/$(VIMRTDIR)
429428
rmdir dist/vim/$(VIMRTDIR)/runtime
@@ -432,9 +431,6 @@ dossrc: dist dist/$(COMMENT_SRC) license nsis/gvim_version.nsh
432431
license:
433432
cd nsis && $(MAKE) -f Makefile $@
434433

435-
nsis/gvim_version.nsh: Makefile
436-
cd nsis && $(MAKE) -f Makefile $(@F)
437-
438434
dosrt: dist dist/$(COMMENT_RT) dosrt_files
439435
-rm -rf dist/vim$(VERSION)rt.zip
440436
cd dist && zip -9 -rD -z vim$(VERSION)rt.zip vim <$(COMMENT_RT)

nsis/Make_mvc.mak

Lines changed: 3 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -1,60 +1,12 @@
11
#
22
# Makefile for MS Windows for create self-installing exe of Vim.
3-
# 2024‐04-05, Restorer, [email protected]
3+
# 2025-10-03, Restorer, [email protected]
44
#
55

66

77
# included common tools
88
!INCLUDE ..\src\auto\nmake\tools.mak
99

10-
# Read MAJOR and MINOR from version.h.
11-
!IFNDEF MAJOR
12-
! IF ![for /F "tokens=3" %G in \
13-
('findstr /RC:"VIM_VERSION_MAJOR[ ^]*[0-9^]" ..\src\version.h') \
14-
do @(echo:MAJOR=%G>> .\_major.tmp)]
15-
! INCLUDE .\_major.tmp
16-
! IF [$(RM) .\_major.tmp]
17-
! ENDIF
18-
! ELSE
19-
MAJOR = 9
20-
! ENDIF
21-
!ENDIF
22-
23-
!IFNDEF MINOR
24-
! IF ![for /F "tokens=3" %G in \
25-
('findstr /RC:"VIM_VERSION_MINOR[ ^]*[0-9^]" ..\src\version.h') \
26-
do @(echo:MINOR=%G>> .\_minor.tmp)]
27-
! INCLUDE .\_minor.tmp
28-
! IF [$(RM) .\_minor.tmp]
29-
! ENDIF
30-
! ELSE
31-
MINOR = 1
32-
! ENDIF
33-
!ENDIF
34-
35-
# Read PATCHLEVEL from version.c
36-
!IFNDEF PATCHLEVEL
37-
! IF ![for /F %G in \
38-
('findstr /NBLC:"static int included_patches" ..\src\version.c \
39-
^| (set /p "_t=" ^& set /a _t+=2 ^)') do \
40-
@$(CMD) $(CMDFLAGS) "for /F "skip=%G delims=, " %H in \
41-
(..\src\version.c) do (echo:PATCHLEVEL=%H> .\_patchlvl.tmp & exit /b)"]
42-
! INCLUDE .\_patchlvl.tmp
43-
! IF [$(RM) .\_patchlvl.tmp]
44-
! ENDIF
45-
! ELSE
46-
PATCHLEVEL = 0
47-
! ENDIF
48-
!ENDIF
49-
50-
!IF $(PATCHLEVEL) < 10
51-
PATCHLEVEL = 000$(PATCHLEVEL)
52-
!ELSEIF $(PATCHLEVEL) < 100
53-
PATCHLEVEL = 00$(PATCHLEVEL)
54-
!ELSEIF $(PATCHLEVEL) < 1000
55-
PATCHLEVEL = 0$(PATCHLEVEL)
56-
!ENDIF
57-
5810
.SUFFIXES :
5911

6012
!IFDEF PROGRAMW6432
@@ -119,23 +71,13 @@ all : makeinst
11971
makeinst : prepare
12072
^"$(MKNSIS)" $(MKNSISFLAGS) gvim.nsi $(XX)
12173

122-
prepare : unzipicons gvim_version.nsh license rename
74+
prepare : unzipicons license rename
12375

12476
unzipicons : icons.zip
12577
@ if exist %|fF\nul $(RD) %|fF
12678
@ $(PS) $(PSFLAGS) \
12779
Add-Type -AssemblyName 'System.IO.Compression.FileSystem'; \
128-
[System.IO.Compression.ZipFile]::ExtractToDirectory(\"$**\", \
129-
\".\")
130-
131-
gvim_version.nsh : Make_mvc.mak
132-
@ 1> $@ echo:^# Generated from Makefile: define the version numbers
133-
@ 1>> $@ echo:^!ifndef __GVIM_VER__NSH__
134-
@ 1>> $@ echo:^!define __GVIM_VER__NSH__
135-
@ 1>> $@ echo:^!define VER_MAJOR $(MAJOR)
136-
@ 1>> $@ echo:^!define VER_MINOR $(MINOR)
137-
@ 1>> $@ echo:^!define PATCHLEVEL $(PATCHLEVEL)
138-
@ 1>> $@ echo:^!endif
80+
[System.IO.Compression.ZipFile]::ExtractToDirectory('$**', '.')
13981

14082
license : ..\lang\LICENSE.*.txt ..\LICENSE
14183
!@ $(PS) $(PSFLAGS) \
@@ -146,7 +88,6 @@ rename :
14688
@ ..\tools\rename.bat "$(SRC)" "$(DST)" 1> nul
14789

14890
clean :
149-
@ if exist .\gvim_version.nsh $(RM) .\gvim_version.nsh
15091
@ if exist ..\lang\LICENSE*.nsis.txt $(RM) ..\lang\LICENSE*.nsis.txt
15192
@ if exist .\icons\nul $(RD) .\icons
15293
@ if exist .\gvim??.exe $(RM) .\gvim??.exe

nsis/Makefile

Lines changed: 2 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#
22
# Makefile for UNIX-like for create self-installing exe of Vim.
3-
# 15/12/2024, Restorer [email protected]
3+
# 2025-10-03, Restorer, [email protected]
44
#
55

66

@@ -51,35 +51,19 @@ ifdef X
5151
XX := -X"$(X:;=" -X")"
5252
endif
5353

54-
MAJOR != grep -E 'VIM_VERSION_MAJOR\s{2,}' ../src/version.h | \
55-
awk '{ printf "%d",$$3 }'
56-
MINOR != grep -E 'VIM_VERSION_MINOR\s{2,}' ../src/version.h | \
57-
awk '{ printf "%d",$$3 }'
58-
PATCH != awk '/number below this line/,/,/' ../src/version.c | \
59-
awk 'NR == 3 { printf "%04d",$$1 }' | sed -e 's/[ ,]//g'
60-
6154
MKNSISFLAGS := -INPUTCHARSET UTF8 $(MKNSISFLAGS)
6255

6356
all: makeinst
6457

6558
makeinst: prepare
6659
makensis $(MKNSISFLAGS) gvim.nsi $(XX)
6760

68-
prepare: unzipicons gvim_version.nsh license rename
61+
prepare: unzipicons license rename
6962

7063
unzipicons: icons.zip
7164
if test -d `basename $? .zip` ; then rm -rf `basename $? .zip` ; fi
7265
unzip $?
7366

74-
gvim_version.nsh: Makefile
75-
echo "# Generated from Makefile: define the version numbers" > $@
76-
echo "!ifndef __GVIM_VER__NSH__" >> $@
77-
echo "!define __GVIM_VER__NSH__" >> $@
78-
echo "!define VER_MAJOR $(MAJOR)" >> $@
79-
echo "!define VER_MINOR $(MINOR)" >> $@
80-
echo "!define PATCHLEVEL $(PATCH)" >> $@
81-
echo "!endif" >> $@
82-
8367
license: ../lang/LICENSE.*.txt ../LICENSE
8468
for lic in $? ; do \
8569
bn=`basename $$lic .txt` ; \
@@ -91,7 +75,6 @@ rename:
9175
../tools/rename.bat "$(SRC)" "$(DST)"
9276

9377
clean:
94-
if test -f gvim_version.nsh ; then rm -f gvim_version.nsh ; fi
9578
rm -f ../lang/LICENSE*.nsis.txt
9679
if test -d icons ; then rm -rf icons ; fi
9780
if test -f gvim??.exe ; then rm -f gvim??.exe ; fi

nsis/gvim.nsi

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -73,11 +73,18 @@ Unicode true ; !include defaults to UTF-8 after Unicode True since 3.0 Alpha 2
7373
!define INCLUDE_LIBGCC 1
7474
!endif
7575

76-
!include .\gvim_version.nsh ; for version numbers
76+
# Get version numbers
77+
!getdllversion "${VIMSRC}\gvim_ole.exe" VimVer_
78+
!echo "Vim version MAJOR=${VimVer_1} MINOR=${VimVer_2} PATCHLEVEL=${VimVer_3}"
7779

78-
# Definition of Patch for Vim.
80+
!ifndef VER_MAJOR
81+
!define VER_MAJOR ${VimVer_1}
82+
!endif
83+
!ifndef VER_MINOR
84+
!define VER_MINOR ${VimVer_2}
85+
!endif
7986
!ifndef PATCHLEVEL
80-
!define PATCHLEVEL 0
87+
!define PATCHLEVEL ${VimVer_3}
8188
!endif
8289

8390
# ----------- No configurable settings below this line -----------

nsis/gvim_version.nsh

Lines changed: 0 additions & 7 deletions
This file was deleted.

0 commit comments

Comments
 (0)