$(PERL) $(srcdir)/version.pl sed < $(srcdir)/version > version.sed
version.mak: version version.pl
$(PERL) $(srcdir)/version.pl make < $(srcdir)/version > version.mak
+version.nsh: version version.pl
+ $(PERL) $(srcdir)/version.pl nsis < $(srcdir)/version > version.nsh
# This source file is generated from the standard macros file
# `standard.mac' by another Perl script. Again, it's part of the
PERLREQ = macros.c insnsb.c insnsa.c insnsd.c insnsi.h insnsn.c \
regs.c regs.h regflags.c regdis.c regdis.h regvals.c \
tokhash.c tokens.h pptok.h pptok.c pptok.ph \
- version.h version.mac version.mak
+ version.h version.mac version.mak version.nsh
perlreq: $(PERLREQ)
install: nasm$(X) ndisasm$(X)
--- /dev/null
+#!Nsis Installer Command Script
+
+# Copyright (c) 2009, Shao Miller (shao.miller@yrdsb.edu.on.ca)
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+# * Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# * Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL <copyright holder> BE LIABLE FOR
+# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+!include "version.nsh"
+!define PRODUCT_NAME "Netwide Assembler"
+!define PRODUCT_SHORT_NAME "nasm"
+!define PACKAGE_NAME "${PRODUCT_NAME} ${VERSION}"
+!define PACKAGE_SHORT_NAME "${PRODUCT_SHORT_NAME}-${VERSION}"
+
+Name "${PACKAGE_NAME}"
+OutFile "${PACKAGE_SHORT_NAME}-installer.exe"
+InstallDir "$PROGRAMFILES\NASM"
+InstallDirRegKey HKLM "SOFTWARE\${PACKAGE_SHORT_NAME}" "InstallDir"
+SetCompressor bzip2
+
+XPStyle on
+
+DirText "Please select the installation folder."
+Page directory
+
+ComponentText "Select which optional components you want to install."
+Page components
+
+ShowInstDetails hide
+ShowUninstDetails hide
+Page instfiles
+
+Section "${PACKAGE_NAME}"
+ SectionIn RO
+
+ SetOutPath "$INSTDIR\."
+ File "nasm.exe"
+ File "ndisasm.exe"
+ File "doc/nasmdoc.pdf"
+ File "rdoff/ldrdf.exe"
+ File "rdoff/rdf2bin.exe"
+ File "rdoff/rdf2com.exe"
+ File "rdoff/rdf2ihx.exe"
+ File "rdoff/rdfdump.exe"
+ File "rdoff/rdflib.exe"
+ File "rdoff/rdx.exe"
+ FileOpen $0 "nasmpath.bat" w
+ IfErrors skip
+ FileWrite $0 "@set path=%path%;$INSTDIR$\r$\n"
+ FileWrite $0 "@%comspec%"
+ FileClose $0
+ skip:
+SectionEnd
+
+Section "Start Menu Shortcuts"
+ CreateDirectory "$SMPROGRAMS\${PACKAGE_NAME}"
+ CreateShortCut "$SMPROGRAMS\${PACKAGE_NAME}\Uninstall ${PACKAGE_NAME}.lnk" "$INSTDIR\Uninstall ${PACKAGE_NAME}.exe" "" "$INSTDIR\Uninstall ${PACKAGE_NAME}.exe" 0
+ CreateShortCut "$SMPROGRAMS\${PACKAGE_NAME}\NASM Shell.lnk" "$INSTDIR\nasmpath.bat" "" "$INSTDIR\nasmpath.bat" 0
+ CreateShortCut "$SMPROGRAMS\${PACKAGE_NAME}\NASM Manual.lnk" "$INSTDIR\nasmdoc.pdf" "" "$INSTDIR\nasmdoc.pdf" 0
+SectionEnd
+
+Section "Desktop Icons"
+ CreateShortCut "$DESKTOP\NASM.lnk" "$INSTDIR\nasmpath.bat" "" "$INSTDIR\nasmpath.bat" 0
+SectionEnd
+
+Section "Uninstall"
+ Delete /rebootok "$DESKTOP\NASM.lnk"
+ Delete /rebootok "$SMPROGRAMS\${PACKAGE_NAME}\NASM Shell.lnk"
+ Delete /rebootok "$SMPROGRAMS\${PACKAGE_NAME}\NASM Manual.lnk"
+ Delete /rebootok "$SMPROGRAMS\${PACKAGE_NAME}\Uninstall ${PACKAGE_NAME}.lnk"
+ RMDir "$SMPROGRAMS\${PACKAGE_NAME}"
+
+ Delete /rebootok "$INSTDIR\nasmpath.bat"
+ Delete /rebootok "$INSTDIR\rdx.exe"
+ Delete /rebootok "$INSTDIR\rdflib.exe"
+ Delete /rebootok "$INSTDIR\rdfdump.exe"
+ Delete /rebootok "$INSTDIR\rdf2ihx.exe"
+ Delete /rebootok "$INSTDIR\rdf2com.exe"
+ Delete /rebootok "$INSTDIR\rdf2bin.exe"
+ Delete /rebootok "$INSTDIR\ndisasm.exe"
+ Delete /rebootok "$INSTDIR\nasmdoc.pdf"
+ Delete /rebootok "$INSTDIR\nasm.exe"
+ Delete /rebootok "$INSTDIR\ldrdf.exe"
+ RMDir "$INSTDIR"
+SectionEnd
+
+Section -post
+ WriteUninstaller "$INSTDIR\Uninstall ${PACKAGE_NAME}.exe"
+SectionEnd
+
+++ /dev/null
-#!Nsis Installer Command Script
-
-# Copyright (c) 2009, Shao Miller (shao.miller@yrdsb.edu.on.ca)
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are met:
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# * Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
-# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL <copyright holder> BE LIABLE FOR
-# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-!define PRODUCT_NAME "Netwide Assembler"
-!define PRODUCT_SHORT_NAME "nasm"
-!define VERSION "2.06rc7"
-!define PACKAGE_NAME "${PRODUCT_NAME} ${VERSION}"
-!define PACKAGE_SHORT_NAME "${PRODUCT_SHORT_NAME}-${VERSION}"
-
-Name "${PACKAGE_NAME}"
-OutFile "${PACKAGE_SHORT_NAME}-installer.exe"
-InstallDir "$PROGRAMFILES\NASM"
-InstallDirRegKey HKLM "SOFTWARE\${PACKAGE_SHORT_NAME}" "InstallDir"
-SetCompressor bzip2
-
-XPStyle on
-
-DirText "Please select the installation folder."
-Page directory
-
-ComponentText "Select which optional components you want to install."
-Page components
-
-ShowInstDetails hide
-ShowUninstDetails hide
-Page instfiles
-
-Section "${PACKAGE_NAME}"
- SectionIn RO
-
- SetOutPath "$INSTDIR\."
- File "ldrdf.exe"
- File "nasm.exe"
-# File "nasmdoc.pdf"
- File "ndisasm.exe"
- File "rdf2bin.exe"
-# File "rdf2com.exe"
- File "rdf2ihx.exe"
- File "rdfdump.exe"
- File "rdflib.exe"
- File "rdx.exe"
- FileOpen $0 "nasmpath.bat" w
- IfErrors skip
- FileWrite $0 "@set path=%path%;$INSTDIR$\r$\n"
- FileWrite $0 "@%comspec%"
- FileClose $0
- skip:
-SectionEnd
-
-Section "Start Menu Shortcuts"
- CreateDirectory "$SMPROGRAMS\${PACKAGE_NAME}"
- CreateShortCut "$SMPROGRAMS\${PACKAGE_NAME}\Uninstall ${PACKAGE_NAME}.lnk" "$INSTDIR\Uninstall ${PACKAGE_NAME}.exe" "" "$INSTDIR\Uninstall ${PACKAGE_NAME}.exe" 0
- CreateShortCut "$SMPROGRAMS\${PACKAGE_NAME}\NASM.lnk" "$INSTDIR\nasmpath.bat" "" "$INSTDIR\nasmpath.bat" 0
-SectionEnd
-
-Section "Desktop Icons"
- CreateShortCut "$DESKTOP\NASM.lnk" "$INSTDIR\nasmpath.bat" "" "$INSTDIR\nasmpath.bat" 0
-SectionEnd
-
-Section "Uninstall"
- Delete /rebootok "$DESKTOP\NASM.lnk"
- Delete /rebootok "$SMPROGRAMS\${PACKAGE_NAME}\NASM.lnk"
- Delete /rebootok "$SMPROGRAMS\${PACKAGE_NAME}\Uninstall ${PACKAGE_NAME}.lnk"
- RMDir "$SMPROGRAMS\${PACKAGE_NAME}"
-
- Delete /rebootok "$INSTDIR\nasmpath.bat"
- Delete /rebootok "$INSTDIR\rdx.exe"
- Delete /rebootok "$INSTDIR\rdflib.exe"
- Delete /rebootok "$INSTDIR\rdfdump.exe"
- Delete /rebootok "$INSTDIR\rdf2ihx.exe"
- Delete /rebootok "$INSTDIR\rdf2com.exe"
- Delete /rebootok "$INSTDIR\rdf2bin.exe"
- Delete /rebootok "$INSTDIR\ndisasm.exe"
- Delete /rebootok "$INSTDIR\nasmdoc.pdf"
- Delete /rebootok "$INSTDIR\nasm.exe"
- Delete /rebootok "$INSTDIR\ldrdf.exe"
- RMDir "$INSTDIR"
-SectionEnd
-
-Section -post
- WriteUninstaller "$INSTDIR\Uninstall ${PACKAGE_NAME}.exe"
-SectionEnd
-
printf "NASM_MINOR_VER=%d\n", $nmin;
printf "NASM_SUBMINOR_VER=%d\n", $nsmin;
printf "NASM_PATCHLEVEL_VER=%d\n", $nplvl;
+} elsif ( $what eq 'nsis' ) {
+ printf "!define VERSION \"%s\"\n", $line;
+ printf "!define MAJOR_VER %d\n", $nmin;
+ printf "!define MINOR_VER %d\n", $nmin;
+ printf "!define SUBMINOR_VER %d\n", $nsmin;
+ printf "!define PATCHLEVEL_VER %d\n", $nplvl;
} elsif ( $what eq 'id' ) {
print $nasm_id, "\n"; # Print ID in decimal
} elsif ( $what eq 'xid' ) {