; Step 0. If you are a Tor maintainer, make sure that tor.nsi and
; src/win32/orconfig.h all have the correct version number.
; Step 1. Download and install OpenSSL. Make sure that the OpenSSL
; version listed below matches the one you downloaded.
; Step 2. Download and install NSIS (http://nsis.sourceforge.net)
; Step 3. Make a directory under the main tor directory called "bin".
; Step 4. Copy ssleay32.dll and libeay32.dll from OpenSSL into "bin".
; Step 5. Run man2html on tor.1.in; call the result tor-reference.html
; Run man2html on tor-resolve.1; call the result tor-resolve.html
; Step 6. Copy torrc.sample.in to torrc.sample.
; Step 7. Build tor.exe and tor_resolve.exe; save the result into bin.
; Step 8. cd into contrib and run "makensis tor.nsi".
;
; Problems:
; - Copying torrc.sample.in to torrc.sample and tor.1.in (implicitly)
; to tor.1 is a Bad Thing, and leaves us with @autoconf@ vars in the final
; result.
; - Building Tor requires too much windows C clue.
; - We should have actual makefiles for VC that do the right thing.
; - I need to learn more NSIS juju to solve these:
; - There should be a batteries-included installer that comes with
; privoxy too. (Check privoxy license on this; be sure to include
; all privoxy documents.)
; - The filename should probably have a revision number.
!include "MUI.nsh"
!define VERSION "0.1.2.1-alpha-dev"
!define INSTALLER "tor-${VERSION}-win32.exe"
!define WEBSITE "http://tor.eff.org/"
!define LICENSE "..\LICENSE"
;BIN is where it expects to find tor.exe, tor_resolve.exe, libcrypto.a
;and libssl.a
!define BIN "..\bin"
SetCompressor lzma
;SetCompressor zlib
OutFile ${INSTALLER}
InstallDir $PROGRAMFILES\Tor
SetOverWrite ifnewer
Name "Tor"
Caption "Tor ${VERSION} Setup"
BrandingText "The Onion Router"
CRCCheck on
;Use upx on the installer header to shrink the size.
!packhdr header.dat "upx --best header.dat"
!define MUI_WELCOMEPAGE_TITLE "Welcome to the Tor ${VERSION} Setup Wizard"
!define MUI_WELCOMEPAGE_TEXT "This wizard will guide you through the installation of Tor ${VERSION}.\r\n\r\nIf you have previously installed Tor and it is currently running, please exit Tor first before continuing this installation.\r\n\r\n$_CLICK"
; ;If $APPDATA isn't valid here (Early win95 releases with no updated
; ; shfolder.dll) then we put it in the program directory instead.
; StrCmp $APPDATA "" "" +2
; StrCpy $configdir $INSTDIR
SetOutPath $configdir
;If there's already a torrc config file, ask if they want to
;overwrite it with the new one.
IfFileExists "$configdir\torrc" "" endiftorrc
MessageBox MB_ICONQUESTION|MB_YESNO "You already have a Tor config file.$\r$\nDo you want to overwrite it with the default sample config file?" IDNO yesreplace