summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShao Miller <Shao.Miller@yrdsb.edu.on.ca>2009-04-06 19:07:37 -0700
committerH. Peter Anvin <hpa@zytor.com>2009-04-06 19:07:37 -0700
commita606aced2c64461bfe90a1647865b4e14cce2e1c (patch)
tree48d5ca63bed785be5e21076327a28e363a660410
parentb32536cc534688c3590b856520ba17f4820cf421 (diff)
downloadnasm-a606aced2c64461bfe90a1647865b4e14cce2e1c.tar.gz
Add NSIS script to make a Windows installer
Here is an NSIS script for making a simple NASM package. It creates a NASM folder with some of the important binaries in it, as well as a simple batch file to get a CLI with the NASM folder included in the PATH. Expects to be built from inside the bin/ directory. Fairly primitive. Feedback welcome. - Shao
-rw-r--r--nasm.nsis104
1 files changed, 104 insertions, 0 deletions
diff --git a/nasm.nsis b/nasm.nsis
new file mode 100644
index 00000000..89a7b67b
--- /dev/null
+++ b/nasm.nsis
@@ -0,0 +1,104 @@
+#!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
+