summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2009-04-06 19:12:34 -0700
committerH. Peter Anvin <hpa@zytor.com>2009-04-06 19:12:34 -0700
commitd8979222e97d3aeb6f6ab8e31f2c7208e2ef0855 (patch)
treeab1250790be5e716319254f19a9b66064be53efc
parenta606aced2c64461bfe90a1647865b4e14cce2e1c (diff)
downloadnasm-d8979222e97d3aeb6f6ab8e31f2c7208e2ef0855.tar.gz
nasm.nsi: add NASM Manual; automate version generation
Add the NASM Manual (as a PDF) to the Windows installer, and abstract out the version number.
-rw-r--r--Makefile.in4
-rw-r--r--nasm.nsi (renamed from nasm.nsis)24
-rwxr-xr-xversion.pl6
3 files changed, 22 insertions, 12 deletions
diff --git a/Makefile.in b/Makefile.in
index 0471aaf4..719d375e 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -111,6 +111,8 @@ version.sed: version version.pl
$(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
@@ -158,7 +160,7 @@ pptok.ph: pptok.dat pptok.pl perllib/phash.ph
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)
diff --git a/nasm.nsis b/nasm.nsi
index 89a7b67b..5c33c981 100644
--- a/nasm.nsis
+++ b/nasm.nsi
@@ -22,9 +22,9 @@
# 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 VERSION "2.06rc7"
!define PACKAGE_NAME "${PRODUCT_NAME} ${VERSION}"
!define PACKAGE_SHORT_NAME "${PRODUCT_SHORT_NAME}-${VERSION}"
@@ -50,16 +50,16 @@ 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"
+ 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"
@@ -71,7 +71,8 @@ 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
+ 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"
@@ -80,7 +81,8 @@ SectionEnd
Section "Uninstall"
Delete /rebootok "$DESKTOP\NASM.lnk"
- Delete /rebootok "$SMPROGRAMS\${PACKAGE_NAME}\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}"
diff --git a/version.pl b/version.pl
index 82aa8832..d9e97330 100755
--- a/version.pl
+++ b/version.pl
@@ -135,6 +135,12 @@ if ( $what eq 'h' ) {
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' ) {