[Scummvm-cvs-logs] scummvm-tools master -> b833fe928d5b9470b4338d8c911870bfdbe1021b

Littleboy littleboy22 at gmail.com
Tue Jun 21 21:46:24 CEST 2011


This automated email contains information about 3 new commits which have been
pushed to the 'scummvm-tools' repo located at https://github.com/scummvm/scummvm-tools .

Summary:
e3605bff56 TOOLS: Update revision number detection to use git instead of svn
238e95ae86 GIT: Ignore Visual Studio build files
b833fe928d DISTS: Add NSIS installer script


Commit: e3605bff56e6180d50a818ec06aad181c84fcd9b
    https://github.com/scummvm/scummvm-tools/commit/e3605bff56e6180d50a818ec06aad181c84fcd9b
Author: Julien (littleboy at users.sourceforge.net)
Date: 2011-06-21T12:33:41-07:00

Commit Message:
TOOLS: Update revision number detection to use git instead of svn

Changed paths:
    Makefile.common



diff --git a/Makefile.common b/Makefile.common
index 79e47e2..b534a63 100644
--- a/Makefile.common
+++ b/Makefile.common
@@ -391,22 +391,24 @@ VER_EXTRA = $(shell echo $(VERSION) | cut -d. -f 3 | cut -c2-)
 
 
 ######################################################################
-# Get Subversion's working copy information
+# Get git's working copy information
 ######################################################################
 
-ifeq ($(shell LANG=C svn stat $(srcdir) 2>&1 | grep "is not a working copy"),)
-SVNROOT := $(srcdir)
-ifeq ($(origin SVNREV), undefined)
+ifneq ($(shell cd $(srcdir); git rev-parse --verify HEAD 1>/dev/null 2>&1 || echo "error"),error)
+GITROOT := $(srcdir)
+ifeq ($(origin VER_REV), undefined)
+# Are there uncommitted changes? (describe --dirty is only available since 1.6.6)
+VER_DIRTY := $(shell cd $(srcdir); git update-index --refresh --unmerged 1>/dev/null 2>&1; git diff-index --quiet HEAD || echo "-dirty")
 # Get the working copy base revision
-VER_SVNREV := $(shell LANG=C svn info $(SVNROOT) | grep "^Revision" | cut -d ' ' -f 2)
+VER_REV := $(shell cd $(srcdir); git describe --match desc/\* | cut -d '-' -f 2-)$(VER_DIRTY)
 endif
 else
-SVNROOT := https://scummvm.svn.sourceforge.net/svnroot/scummvm/tools/trunk/
+GITROOT := git://github.com/scummvm/scummvm-tools.git
 endif
 
 # Define the Subversion revision if available, either autodetected or
-# specified by the user
-ifneq ($(origin VER_SVNREV), undefined)
-CXXFLAGS+= -DSCUMMVM_TOOLS_SVN_REVISION=\"$(VER_SVNREV)\"
+# specified by the user, but only for base/version.cpp.
+ifneq ($(origin VER_REV), undefined)
+base/version.o: CXXFLAGS:=$(CXXFLAGS) -DSCUMMVM_REVISION=\"$(VER_REV)\"
 endif
 


Commit: 238e95ae86352ba8c7567ee0b7e865432f0c3139
    https://github.com/scummvm/scummvm-tools/commit/238e95ae86352ba8c7567ee0b7e865432f0c3139
Author: Julien (littleboy at users.sourceforge.net)
Date: 2011-06-21T12:33:43-07:00

Commit Message:
GIT: Ignore Visual Studio build files

Changed paths:
    .gitignore



diff --git a/.gitignore b/.gitignore
index 6344a9c..3c1dd12 100644
--- a/.gitignore
+++ b/.gitignore
@@ -29,3 +29,38 @@
 /decompiler/test/runner
 /decompiler/test/runner.cpp
 /decompiler/test/*.dSYM
+
+/build
+
+#Ignore Visual Studio build-related files
+/dists/msvc*/[Dd]ebug*/
+/dists/msvc*/[Rr]elease*/
+*.obj
+*.exe
+*.pdb
+*.user
+*.aps
+*.pch
+*.vspscc
+*.ncb
+*.suo
+*.tlb
+*.tlh
+*.bak
+*.cache
+*.ilk
+*.log
+*.sbr
+*.sdf
+*.opensdf
+obj/
+_ReSharper*/
+ipch/
+[Tt]est[Rr]esult*
+*.vcproj
+*.sln
+*.vsprops
+*.props
+*.vcxproj*
+*.bat
+*.tss


Commit: b833fe928d5b9470b4338d8c911870bfdbe1021b
    https://github.com/scummvm/scummvm-tools/commit/b833fe928d5b9470b4338d8c911870bfdbe1021b
Author: Littleboy (littleboy at users.sourceforge.net)
Date: 2011-06-21T12:41:39-07:00

Commit Message:
DISTS: Add NSIS installer script

Changed paths:
  A dists/nsis/graphics/left.bmp
  A dists/nsis/graphics/scummvm-install.ico
  A dists/nsis/scummvm-tools.nsi
  A dists/nsis/scummvm-tools.nsi.in
    update-version.pl



diff --git a/dists/nsis/graphics/left.bmp b/dists/nsis/graphics/left.bmp
new file mode 100644
index 0000000..8b31d7d
Binary files /dev/null and b/dists/nsis/graphics/left.bmp differ
diff --git a/dists/nsis/graphics/scummvm-install.ico b/dists/nsis/graphics/scummvm-install.ico
new file mode 100644
index 0000000..b8b118c
Binary files /dev/null and b/dists/nsis/graphics/scummvm-install.ico differ
diff --git a/dists/nsis/scummvm-tools.nsi b/dists/nsis/scummvm-tools.nsi
new file mode 100644
index 0000000..967a272
--- /dev/null
+++ b/dists/nsis/scummvm-tools.nsi
@@ -0,0 +1,337 @@
+# ScummVM - Graphic Adventure Engine
+#
+# ScummVM is the legal property of its developers, whose names
+# are too numerous to list here. Please refer to the COPYRIGHT
+# file distributed with this source distribution.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+#!define _DEBUG
+
+Name "ScummVM Tools"
+
+# Included files
+!include MUI2.nsh
+
+#########################################################################################
+# Command line options
+#########################################################################################
+
+#!define top_srcdir   ""
+#!define build_dir    ""
+#!define text_dir     ""
+#!define ARCH         ""    ;(optional, defaults to win32)
+
+# Check parameters
+!ifndef top_srcdir
+	!error "Top source folder has not been passed to command line!"
+!endif
+
+!ifndef build_dir
+	!error "Build folder has not been passed to command line (this folder should contain the executable and linked DLLs)!"
+!endif
+
+!ifndef text_dir
+	!error "Text folder has not been passed to command line (this folder should contain all the text files used by the installer)!"
+!endif
+
+!ifndef ARCH
+	!warning "ARCH has not been defined, defaulting to 'win32'"
+	!define ARCH         "win32"
+!endif
+
+#########################################################################################
+# Folders
+#########################################################################################
+!define media_dir  "${top_srcdir}\gui\media"
+
+#########################################################################################
+# General Symbol Definitions
+#########################################################################################
+!define REGKEY      "Software\ScummVM\$(^Name)"
+!define VERSION     "1.4.0git"
+!define COMPANY     "ScummVM Team"
+!define URL         "http://scummvm.org/"
+!define DESCRIPTION "ScummVM Tools Installer. Look! A three headed monkey (TM)!"
+!define COPYRIGHT   "Copyright © 2001-2011 The ScummVM Team"
+
+#########################################################################################
+# Installer configuration
+#########################################################################################
+OutFile          ${build_dir}\scummvm-tools-${VERSION}-${ARCH}.exe
+InstallDir       $PROGRAMFILES\ScummVM\tools                             ; Default installation folder
+InstallDirRegKey HKCU "Software\ScummVM\ScummVM Tools" "InstallPath"    ; Get installation folder from registry if available
+                                                                        ; The application name needs to be refered directly instead of through ${REGKEY}
+                                                                        ; because lang strings aren't initialized at the point InstallDirRegKey is called
+
+CRCCheck on
+XPStyle  on
+#TargetMinimalOS 5.0    ; Minimal version of windows for installer: Windows 2000 or more recent
+                        ; (will build unicode installer with NSIS 2.50+)
+
+VIProductVersion 1.4.0.0
+VIAddVersionKey  ProductName      $(^Name)
+VIAddVersionKey  ProductVersion  "${VERSION}"
+VIAddVersionKey  CompanyName     "${COMPANY}"
+VIAddVersionKey  CompanyWebsite  "${URL}"
+VIAddVersionKey  FileVersion     "${VERSION}"
+VIAddVersionKey  FileDescription "${DESCRIPTION}"
+VIAddVersionKey  LegalCopyright  "${COPYRIGHT}"
+
+BrandingText "$(^Name) ${VERSION}"   ; Change branding text on the installer to show our name and version instead of NSIS's
+
+# Show Details when installing/uninstalling files
+ShowInstDetails   show
+ShowUninstDetails show
+
+!ifdef _DEBUG
+	SetCompress off                      ; for debugging the installer, lzma takes forever
+	RequestExecutionLevel user
+!else
+	SetCompressor /FINAL /SOLID lzma
+	SetCompressorDictSize 64
+	RequestExecutionLevel admin          ; for installation into program files folders
+!endif
+
+#########################################################################################
+# MUI Symbol Definitions
+#########################################################################################
+!define MUI_WELCOMEFINISHPAGE_BITMAP "graphics\left.bmp"
+!define MUI_ICON                     "graphics\scummvm-install.ico"
+!define MUI_UNICON                   "graphics\scummvm-install.ico"
+
+#Start menu
+!define MUI_STARTMENUPAGE_REGISTRY_ROOT      HKCU
+!define MUI_STARTMENUPAGE_REGISTRY_KEY       ${REGKEY}
+!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME StartMenuGroup
+!define MUI_STARTMENUPAGE_DEFAULTFOLDER      $(^Name)
+
+# Finish page
+!define MUI_FINISHPAGE_RUN        "$INSTDIR\scummvm-tools.exe"
+!define MUI_FINISHPAGE_SHOWREADME "$INSTDIR\README.txt"
+!define MUI_FINISHPAGE_RUN_NOTCHECKED
+!define MUI_FINISHPAGE_SHOWREADME_NOTCHECKED
+
+!define MUI_LICENSEPAGE_RADIOBUTTONS
+
+!define MUI_FINISHPAGE_NOAUTOCLOSE
+!define MUI_UNFINISHPAGE_NOAUTOCLOSE
+
+#########################################################################################
+# Installer pages
+#########################################################################################
+# Variables
+Var StartMenuGroup
+
+;Remember the installer language
+!define MUI_LANGDLL_REGISTRY_ROOT      HKCU
+!define MUI_LANGDLL_REGISTRY_KEY       ${REGKEY}
+!define MUI_LANGDLL_REGISTRY_VALUENAME "InstallerLanguage"
+
+!insertmacro MUI_PAGE_WELCOME
+!insertmacro MUI_PAGE_LICENSE ${top_srcdir}\COPYING
+!insertmacro MUI_PAGE_DIRECTORY
+!insertmacro MUI_PAGE_STARTMENU Application $StartMenuGroup
+!insertmacro MUI_PAGE_INSTFILES
+!insertmacro MUI_PAGE_FINISH
+!insertmacro MUI_UNPAGE_CONFIRM
+!insertmacro MUI_UNPAGE_INSTFILES
+
+# Installer languages
+!insertmacro MUI_LANGUAGE "English"    ;first language is the default language
+
+!ifndef _DEBUG    ; Skip other languages when building debug builds
+;!insertmacro MUI_LANGUAGE "Afrikaans"
+;!insertmacro MUI_LANGUAGE "Albanian"
+;!insertmacro MUI_LANGUAGE "Arabic"
+;!insertmacro MUI_LANGUAGE "Belarusian"
+;!insertmacro MUI_LANGUAGE "Bosnian"
+;!insertmacro MUI_LANGUAGE "Breton"
+;!insertmacro MUI_LANGUAGE "Bulgarian"
+!insertmacro MUI_LANGUAGE "Catalan"
+;!insertmacro MUI_LANGUAGE "Croatian"
+!insertmacro MUI_LANGUAGE "Czech"
+!insertmacro MUI_LANGUAGE "Danish"
+;!insertmacro MUI_LANGUAGE "Dutch"
+;!insertmacro MUI_LANGUAGE "Esperanto"
+;!insertmacro MUI_LANGUAGE "Estonian"
+;!insertmacro MUI_LANGUAGE "Farsi"
+;!insertmacro MUI_LANGUAGE "Finnish"
+!insertmacro MUI_LANGUAGE "French"
+;!insertmacro MUI_LANGUAGE "Galician"
+!insertmacro MUI_LANGUAGE "German"
+;!insertmacro MUI_LANGUAGE "Greek"
+;!insertmacro MUI_LANGUAGE "Hebrew"
+!insertmacro MUI_LANGUAGE "Hungarian"
+;!insertmacro MUI_LANGUAGE "Icelandic"
+;!insertmacro MUI_LANGUAGE "Indonesian"
+;!insertmacro MUI_LANGUAGE "Irish"
+!insertmacro MUI_LANGUAGE "Italian"
+;!insertmacro MUI_LANGUAGE "Japanese"
+;!insertmacro MUI_LANGUAGE "Korean"
+;!insertmacro MUI_LANGUAGE "Kurdish"
+;!insertmacro MUI_LANGUAGE "Latvian"
+;!insertmacro MUI_LANGUAGE "Lithuanian"
+;!insertmacro MUI_LANGUAGE "Luxembourgish"
+;!insertmacro MUI_LANGUAGE "Macedonian"
+;!insertmacro MUI_LANGUAGE "Malay"
+;!insertmacro MUI_LANGUAGE "Mongolian"
+!insertmacro MUI_LANGUAGE "Norwegian"
+!insertmacro MUI_LANGUAGE "NorwegianNynorsk"
+!insertmacro MUI_LANGUAGE "Polish"
+;!insertmacro MUI_LANGUAGE "Portuguese"
+!insertmacro MUI_LANGUAGE "PortugueseBR"
+;!insertmacro MUI_LANGUAGE "Romanian"
+!insertmacro MUI_LANGUAGE "Russian"
+;!insertmacro MUI_LANGUAGE "Serbian"
+;!insertmacro MUI_LANGUAGE "SerbianLatin"
+;!insertmacro MUI_LANGUAGE "SimpChinese"
+;!insertmacro MUI_LANGUAGE "Slovak"
+;!insertmacro MUI_LANGUAGE "Slovenian"
+!insertmacro MUI_LANGUAGE "Spanish"
+;!insertmacro MUI_LANGUAGE "SpanishInternational"
+!insertmacro MUI_LANGUAGE "Swedish"
+;!insertmacro MUI_LANGUAGE "Thai"
+;!insertmacro MUI_LANGUAGE "TradChinese"
+;!insertmacro MUI_LANGUAGE "Turkish"
+!insertmacro MUI_LANGUAGE "Ukrainian"
+;!insertmacro MUI_LANGUAGE "Uzbek"
+!endif
+
+;Reserve Files (will make sure the file will be stored first in the data block
+;               making the installer start faster when compressing in solid mode)
+!insertmacro MUI_RESERVEFILE_LANGDLL
+
+#########################################################################################
+# Installer sections
+#########################################################################################
+Section "ScummVM" SecMain
+	SetOutPath $INSTDIR
+	SetOverwrite on
+
+	# Text files
+	File /oname=COPYING.txt      "${text_dir}\COPYING"
+	File /oname=NEWS.txt         "${text_dir}\NEWS"
+	File /oname=README.txt       "${text_dir}\README"
+
+	# Tools and dlls
+	File "${build_dir}\construct_mohawk.exe"
+	File "${build_dir}\decine.exe"
+	File "${build_dir}\degob.exe"
+	File "${build_dir}\dekyra.exe"
+	File "${build_dir}\deriven.exe"
+	File "${build_dir}\descumm.exe"
+	File "${build_dir}\desword2.exe"
+	File "${build_dir}\extract_mohawk.exe"
+	File "${build_dir}\gob_loadcalc.exe"
+	File "${build_dir}\scummvm-tools.exe"
+	File "${build_dir}\scummvm-tools-cli.exe"
+	File "${build_dir}\mingwm10.dll"
+	
+	# Media
+	SetOutPath $INSTDIR\media
+	File "${media_dir}\detaillogo.jpg"
+	File "${media_dir}\logo.jpg"
+	File "${media_dir}\tile.gif"
+
+	WriteRegStr HKCU "${REGKEY}" InstallPath "$INSTDIR"    ; Store installation folder
+SectionEnd
+
+# Write Start menu entries and uninstaller
+Section -post SecMainPost
+	SetOutPath $INSTDIR
+	WriteUninstaller $INSTDIR\uninstall.exe
+	!insertmacro MUI_STARTMENU_WRITE_BEGIN Application
+	CreateDirectory "$SMPROGRAMS\$StartMenuGroup"
+	CreateShortCut "$SMPROGRAMS\$StartMenuGroup\$(^Name).lnk"           "$INSTDIR\scummvm-tools.exe" "" "$INSTDIR\scummvm-tools.exe" 0    ; Create shortcut with icon
+	CreateShortcut "$SMPROGRAMS\$StartMenuGroup\Readme.lnk"             "$INSTDIR\README.txt"
+	CreateShortcut "$SMPROGRAMS\$StartMenuGroup\Uninstall $(^Name).lnk" "$INSTDIR\uninstall.exe"
+	!insertmacro MUI_STARTMENU_WRITE_END
+	WriteRegStr   HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayName "$(^Name)"
+	WriteRegStr   HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayVersion "${VERSION}"
+	WriteRegStr   HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" Publisher "${COMPANY}"
+	WriteRegStr   HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" URLInfoAbout "${URL}"
+	WriteRegStr   HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayIcon $INSTDIR\uninstall.exe
+	WriteRegStr   HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" UninstallString $INSTDIR\uninstall.exe
+	WriteRegStr   HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" InstallLocation $INSTDIR
+	WriteRegDWORD HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" NoModify 1
+	WriteRegDWORD HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" NoRepair 1
+SectionEnd
+
+# Installer functions
+Function .onInit
+	!insertmacro MUI_LANGDLL_DISPLAY
+
+!ifdef _DEBUG && NSIS_CONFIG_LOG
+	LogSet on    ; Will write a log file to the install folder (when using the special NSIS logging build)
+!endif
+FunctionEnd
+
+#########################################################################################
+# Uninstaller sections
+#########################################################################################
+Section -un.Main SecUninstall
+	Delete /REBOOTOK $INSTDIR\COPYING.txt
+	Delete /REBOOTOK $INSTDIR\NEWS.txt
+	Delete /REBOOTOK $INSTDIR\README.txt
+
+	Delete /REBOOTOK $INSTDIR\construct_mohawk.exe"
+	Delete /REBOOTOK $INSTDIR\decine.exe"
+	Delete /REBOOTOK $INSTDIR\degob.exe"
+	Delete /REBOOTOK $INSTDIR\dekyra.exe"
+	Delete /REBOOTOK $INSTDIR\deriven.exe"
+	Delete /REBOOTOK $INSTDIR\descumm.exe"
+	Delete /REBOOTOK $INSTDIR\desword2.exe"
+	Delete /REBOOTOK $INSTDIR\extract_mohawk.exe"
+	Delete /REBOOTOK $INSTDIR\gob_loadcalc.exe"
+	Delete /REBOOTOK $INSTDIR\scummvm-tools.exe"
+	Delete /REBOOTOK $INSTDIR\scummvm-tools-cli.exe"
+	Delete /REBOOTOK $INSTDIR\mingwm10.dll"
+	
+	Delete /REBOOTOK $INSTDIR\media\detaillogo.jpg"
+	Delete /REBOOTOK $INSTDIR\media\logo.jpg"
+	Delete /REBOOTOK $INSTDIR\media\tile.gif"
+SectionEnd
+
+Section -un.post SecUninstallPost
+	# Remove start menu entries
+	SetShellVarContext all
+	Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\$(^Name).lnk"
+	Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\Readme.lnk"
+	Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\Uninstall $(^Name).lnk"
+	RmDir  /REBOOTOK  $SMPROGRAMS\$StartMenuGroup
+
+	Delete /REBOOTOK $INSTDIR\uninstall.exe
+
+	DeleteRegKey HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)"
+	DeleteRegValue HKCU "${REGKEY}" StartMenuGroup
+	DeleteRegValue HKCU "${REGKEY}" InstallPath
+	DeleteRegValue HKCU "${REGKEY}" InstallerLanguage
+	DeleteRegKey /IfEmpty HKCU "${REGKEY}"
+
+	RmDir $INSTDIR    ; will only remove if empty (pass /r flag for recursive behavior)
+	Push $R0
+	StrCpy $R0 $StartMenuGroup 1
+	StrCmp $R0 ">" no_smgroup
+no_smgroup:
+	Pop $R0
+SectionEnd
+
+# Uninstaller functions
+Function un.onInit
+	!insertmacro MUI_UNGETLANGUAGE
+	ReadRegStr   $INSTDIR HKCU "${REGKEY}" InstallPath
+	!insertmacro MUI_STARTMENU_GETFOLDER Application $StartMenuGroup
+FunctionEnd
diff --git a/dists/nsis/scummvm-tools.nsi.in b/dists/nsis/scummvm-tools.nsi.in
new file mode 100644
index 0000000..b2ffb7c
--- /dev/null
+++ b/dists/nsis/scummvm-tools.nsi.in
@@ -0,0 +1,337 @@
+# ScummVM - Graphic Adventure Engine
+#
+# ScummVM is the legal property of its developers, whose names
+# are too numerous to list here. Please refer to the COPYRIGHT
+# file distributed with this source distribution.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+#!define _DEBUG
+
+Name "ScummVM Tools"
+
+# Included files
+!include MUI2.nsh
+
+#########################################################################################
+# Command line options
+#########################################################################################
+
+#!define top_srcdir   ""
+#!define build_dir    ""
+#!define text_dir     ""
+#!define ARCH         ""    ;(optional, defaults to win32)
+
+# Check parameters
+!ifndef top_srcdir
+	!error "Top source folder has not been passed to command line!"
+!endif
+
+!ifndef build_dir
+	!error "Build folder has not been passed to command line (this folder should contain the executable and linked DLLs)!"
+!endif
+
+!ifndef text_dir
+	!error "Text folder has not been passed to command line (this folder should contain all the text files used by the installer)!"
+!endif
+
+!ifndef ARCH
+	!warning "ARCH has not been defined, defaulting to 'win32'"
+	!define ARCH         "win32"
+!endif
+
+#########################################################################################
+# Folders
+#########################################################################################
+!define media_dir  "${top_srcdir}\gui\media"
+
+#########################################################################################
+# General Symbol Definitions
+#########################################################################################
+!define REGKEY      "Software\ScummVM\$(^Name)"
+!define VERSION     "@VERSION@"
+!define COMPANY     "ScummVM Team"
+!define URL         "http://scummvm.org/"
+!define DESCRIPTION "ScummVM Tools Installer. Look! A three headed monkey (TM)!"
+!define COPYRIGHT   "Copyright © 2001-2011 The ScummVM Team"
+
+#########################################################################################
+# Installer configuration
+#########################################################################################
+OutFile          ${build_dir}\scummvm-tools-${VERSION}-${ARCH}.exe
+InstallDir       $PROGRAMFILES\ScummVM\tools                             ; Default installation folder
+InstallDirRegKey HKCU "Software\ScummVM\ScummVM Tools" "InstallPath"    ; Get installation folder from registry if available
+                                                                        ; The application name needs to be refered directly instead of through ${REGKEY}
+                                                                        ; because lang strings aren't initialized at the point InstallDirRegKey is called
+
+CRCCheck on
+XPStyle  on
+#TargetMinimalOS 5.0    ; Minimal version of windows for installer: Windows 2000 or more recent
+                        ; (will build unicode installer with NSIS 2.50+)
+
+VIProductVersion @VER_MAJOR at .@VER_MINOR at .@VER_PATCH at .0
+VIAddVersionKey  ProductName      $(^Name)
+VIAddVersionKey  ProductVersion  "${VERSION}"
+VIAddVersionKey  CompanyName     "${COMPANY}"
+VIAddVersionKey  CompanyWebsite  "${URL}"
+VIAddVersionKey  FileVersion     "${VERSION}"
+VIAddVersionKey  FileDescription "${DESCRIPTION}"
+VIAddVersionKey  LegalCopyright  "${COPYRIGHT}"
+
+BrandingText "$(^Name) ${VERSION}"   ; Change branding text on the installer to show our name and version instead of NSIS's
+
+# Show Details when installing/uninstalling files
+ShowInstDetails   show
+ShowUninstDetails show
+
+!ifdef _DEBUG
+	SetCompress off                      ; for debugging the installer, lzma takes forever
+	RequestExecutionLevel user
+!else
+	SetCompressor /FINAL /SOLID lzma
+	SetCompressorDictSize 64
+	RequestExecutionLevel admin          ; for installation into program files folders
+!endif
+
+#########################################################################################
+# MUI Symbol Definitions
+#########################################################################################
+!define MUI_WELCOMEFINISHPAGE_BITMAP "graphics\left.bmp"
+!define MUI_ICON                     "graphics\scummvm-install.ico"
+!define MUI_UNICON                   "graphics\scummvm-install.ico"
+
+#Start menu
+!define MUI_STARTMENUPAGE_REGISTRY_ROOT      HKCU
+!define MUI_STARTMENUPAGE_REGISTRY_KEY       ${REGKEY}
+!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME StartMenuGroup
+!define MUI_STARTMENUPAGE_DEFAULTFOLDER      $(^Name)
+
+# Finish page
+!define MUI_FINISHPAGE_RUN        "$INSTDIR\scummvm-tools.exe"
+!define MUI_FINISHPAGE_SHOWREADME "$INSTDIR\README.txt"
+!define MUI_FINISHPAGE_RUN_NOTCHECKED
+!define MUI_FINISHPAGE_SHOWREADME_NOTCHECKED
+
+!define MUI_LICENSEPAGE_RADIOBUTTONS
+
+!define MUI_FINISHPAGE_NOAUTOCLOSE
+!define MUI_UNFINISHPAGE_NOAUTOCLOSE
+
+#########################################################################################
+# Installer pages
+#########################################################################################
+# Variables
+Var StartMenuGroup
+
+;Remember the installer language
+!define MUI_LANGDLL_REGISTRY_ROOT      HKCU
+!define MUI_LANGDLL_REGISTRY_KEY       ${REGKEY}
+!define MUI_LANGDLL_REGISTRY_VALUENAME "InstallerLanguage"
+
+!insertmacro MUI_PAGE_WELCOME
+!insertmacro MUI_PAGE_LICENSE ${top_srcdir}\COPYING
+!insertmacro MUI_PAGE_DIRECTORY
+!insertmacro MUI_PAGE_STARTMENU Application $StartMenuGroup
+!insertmacro MUI_PAGE_INSTFILES
+!insertmacro MUI_PAGE_FINISH
+!insertmacro MUI_UNPAGE_CONFIRM
+!insertmacro MUI_UNPAGE_INSTFILES
+
+# Installer languages
+!insertmacro MUI_LANGUAGE "English"    ;first language is the default language
+
+!ifndef _DEBUG    ; Skip other languages when building debug builds
+;!insertmacro MUI_LANGUAGE "Afrikaans"
+;!insertmacro MUI_LANGUAGE "Albanian"
+;!insertmacro MUI_LANGUAGE "Arabic"
+;!insertmacro MUI_LANGUAGE "Belarusian"
+;!insertmacro MUI_LANGUAGE "Bosnian"
+;!insertmacro MUI_LANGUAGE "Breton"
+;!insertmacro MUI_LANGUAGE "Bulgarian"
+!insertmacro MUI_LANGUAGE "Catalan"
+;!insertmacro MUI_LANGUAGE "Croatian"
+!insertmacro MUI_LANGUAGE "Czech"
+!insertmacro MUI_LANGUAGE "Danish"
+;!insertmacro MUI_LANGUAGE "Dutch"
+;!insertmacro MUI_LANGUAGE "Esperanto"
+;!insertmacro MUI_LANGUAGE "Estonian"
+;!insertmacro MUI_LANGUAGE "Farsi"
+;!insertmacro MUI_LANGUAGE "Finnish"
+!insertmacro MUI_LANGUAGE "French"
+;!insertmacro MUI_LANGUAGE "Galician"
+!insertmacro MUI_LANGUAGE "German"
+;!insertmacro MUI_LANGUAGE "Greek"
+;!insertmacro MUI_LANGUAGE "Hebrew"
+!insertmacro MUI_LANGUAGE "Hungarian"
+;!insertmacro MUI_LANGUAGE "Icelandic"
+;!insertmacro MUI_LANGUAGE "Indonesian"
+;!insertmacro MUI_LANGUAGE "Irish"
+!insertmacro MUI_LANGUAGE "Italian"
+;!insertmacro MUI_LANGUAGE "Japanese"
+;!insertmacro MUI_LANGUAGE "Korean"
+;!insertmacro MUI_LANGUAGE "Kurdish"
+;!insertmacro MUI_LANGUAGE "Latvian"
+;!insertmacro MUI_LANGUAGE "Lithuanian"
+;!insertmacro MUI_LANGUAGE "Luxembourgish"
+;!insertmacro MUI_LANGUAGE "Macedonian"
+;!insertmacro MUI_LANGUAGE "Malay"
+;!insertmacro MUI_LANGUAGE "Mongolian"
+!insertmacro MUI_LANGUAGE "Norwegian"
+!insertmacro MUI_LANGUAGE "NorwegianNynorsk"
+!insertmacro MUI_LANGUAGE "Polish"
+;!insertmacro MUI_LANGUAGE "Portuguese"
+!insertmacro MUI_LANGUAGE "PortugueseBR"
+;!insertmacro MUI_LANGUAGE "Romanian"
+!insertmacro MUI_LANGUAGE "Russian"
+;!insertmacro MUI_LANGUAGE "Serbian"
+;!insertmacro MUI_LANGUAGE "SerbianLatin"
+;!insertmacro MUI_LANGUAGE "SimpChinese"
+;!insertmacro MUI_LANGUAGE "Slovak"
+;!insertmacro MUI_LANGUAGE "Slovenian"
+!insertmacro MUI_LANGUAGE "Spanish"
+;!insertmacro MUI_LANGUAGE "SpanishInternational"
+!insertmacro MUI_LANGUAGE "Swedish"
+;!insertmacro MUI_LANGUAGE "Thai"
+;!insertmacro MUI_LANGUAGE "TradChinese"
+;!insertmacro MUI_LANGUAGE "Turkish"
+!insertmacro MUI_LANGUAGE "Ukrainian"
+;!insertmacro MUI_LANGUAGE "Uzbek"
+!endif
+
+;Reserve Files (will make sure the file will be stored first in the data block
+;               making the installer start faster when compressing in solid mode)
+!insertmacro MUI_RESERVEFILE_LANGDLL
+
+#########################################################################################
+# Installer sections
+#########################################################################################
+Section "ScummVM" SecMain
+	SetOutPath $INSTDIR
+	SetOverwrite on
+
+	# Text files
+	File /oname=COPYING.txt      "${text_dir}\COPYING"
+	File /oname=NEWS.txt         "${text_dir}\NEWS"
+	File /oname=README.txt       "${text_dir}\README"
+
+	# Tools and dlls
+	File "${build_dir}\construct_mohawk.exe"
+	File "${build_dir}\decine.exe"
+	File "${build_dir}\degob.exe"
+	File "${build_dir}\dekyra.exe"
+	File "${build_dir}\deriven.exe"
+	File "${build_dir}\descumm.exe"
+	File "${build_dir}\desword2.exe"
+	File "${build_dir}\extract_mohawk.exe"
+	File "${build_dir}\gob_loadcalc.exe"
+	File "${build_dir}\scummvm-tools.exe"
+	File "${build_dir}\scummvm-tools-cli.exe"
+	File "${build_dir}\mingwm10.dll"
+	
+	# Media
+	SetOutPath $INSTDIR\media
+	File "${media_dir}\detaillogo.jpg"
+	File "${media_dir}\logo.jpg"
+	File "${media_dir}\tile.gif"
+
+	WriteRegStr HKCU "${REGKEY}" InstallPath "$INSTDIR"    ; Store installation folder
+SectionEnd
+
+# Write Start menu entries and uninstaller
+Section -post SecMainPost
+	SetOutPath $INSTDIR
+	WriteUninstaller $INSTDIR\uninstall.exe
+	!insertmacro MUI_STARTMENU_WRITE_BEGIN Application
+	CreateDirectory "$SMPROGRAMS\$StartMenuGroup"
+	CreateShortCut "$SMPROGRAMS\$StartMenuGroup\$(^Name).lnk"           "$INSTDIR\scummvm-tools.exe" "" "$INSTDIR\scummvm-tools.exe" 0    ; Create shortcut with icon
+	CreateShortcut "$SMPROGRAMS\$StartMenuGroup\Readme.lnk"             "$INSTDIR\README.txt"
+	CreateShortcut "$SMPROGRAMS\$StartMenuGroup\Uninstall $(^Name).lnk" "$INSTDIR\uninstall.exe"
+	!insertmacro MUI_STARTMENU_WRITE_END
+	WriteRegStr   HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayName "$(^Name)"
+	WriteRegStr   HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayVersion "${VERSION}"
+	WriteRegStr   HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" Publisher "${COMPANY}"
+	WriteRegStr   HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" URLInfoAbout "${URL}"
+	WriteRegStr   HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayIcon $INSTDIR\uninstall.exe
+	WriteRegStr   HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" UninstallString $INSTDIR\uninstall.exe
+	WriteRegStr   HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" InstallLocation $INSTDIR
+	WriteRegDWORD HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" NoModify 1
+	WriteRegDWORD HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" NoRepair 1
+SectionEnd
+
+# Installer functions
+Function .onInit
+	!insertmacro MUI_LANGDLL_DISPLAY
+
+!ifdef _DEBUG && NSIS_CONFIG_LOG
+	LogSet on    ; Will write a log file to the install folder (when using the special NSIS logging build)
+!endif
+FunctionEnd
+
+#########################################################################################
+# Uninstaller sections
+#########################################################################################
+Section -un.Main SecUninstall
+	Delete /REBOOTOK $INSTDIR\COPYING.txt
+	Delete /REBOOTOK $INSTDIR\NEWS.txt
+	Delete /REBOOTOK $INSTDIR\README.txt
+
+	Delete /REBOOTOK $INSTDIR\construct_mohawk.exe"
+	Delete /REBOOTOK $INSTDIR\decine.exe"
+	Delete /REBOOTOK $INSTDIR\degob.exe"
+	Delete /REBOOTOK $INSTDIR\dekyra.exe"
+	Delete /REBOOTOK $INSTDIR\deriven.exe"
+	Delete /REBOOTOK $INSTDIR\descumm.exe"
+	Delete /REBOOTOK $INSTDIR\desword2.exe"
+	Delete /REBOOTOK $INSTDIR\extract_mohawk.exe"
+	Delete /REBOOTOK $INSTDIR\gob_loadcalc.exe"
+	Delete /REBOOTOK $INSTDIR\scummvm-tools.exe"
+	Delete /REBOOTOK $INSTDIR\scummvm-tools-cli.exe"
+	Delete /REBOOTOK $INSTDIR\mingwm10.dll"
+	
+	Delete /REBOOTOK $INSTDIR\media\detaillogo.jpg"
+	Delete /REBOOTOK $INSTDIR\media\logo.jpg"
+	Delete /REBOOTOK $INSTDIR\media\tile.gif"
+SectionEnd
+
+Section -un.post SecUninstallPost
+	# Remove start menu entries
+	SetShellVarContext all
+	Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\$(^Name).lnk"
+	Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\Readme.lnk"
+	Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\Uninstall $(^Name).lnk"
+	RmDir  /REBOOTOK  $SMPROGRAMS\$StartMenuGroup
+
+	Delete /REBOOTOK $INSTDIR\uninstall.exe
+
+	DeleteRegKey HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)"
+	DeleteRegValue HKCU "${REGKEY}" StartMenuGroup
+	DeleteRegValue HKCU "${REGKEY}" InstallPath
+	DeleteRegValue HKCU "${REGKEY}" InstallerLanguage
+	DeleteRegKey /IfEmpty HKCU "${REGKEY}"
+
+	RmDir $INSTDIR    ; will only remove if empty (pass /r flag for recursive behavior)
+	Push $R0
+	StrCpy $R0 $StartMenuGroup 1
+	StrCmp $R0 ">" no_smgroup
+no_smgroup:
+	Pop $R0
+SectionEnd
+
+# Uninstaller functions
+Function un.onInit
+	!insertmacro MUI_UNGETLANGUAGE
+	ReadRegStr   $INSTDIR HKCU "${REGKEY}" InstallPath
+	!insertmacro MUI_STARTMENU_GETFOLDER Application $StartMenuGroup
+FunctionEnd
diff --git a/update-version.pl b/update-version.pl
index 6ab284a..24ce2e5 100755
--- a/update-version.pl
+++ b/update-version.pl
@@ -33,6 +33,7 @@ print "Setting version to '$VERSION'\n";
 my @subs_files = qw(
 	internal_version.h
 	dists/macosx/Info.plist
+	dists/nsis/scummvm-tools.nsi
 	);
 
 my %subs = (






More information about the Scummvm-git-logs mailing list