* contrib/hbrun/hbrun.hbp
* utils/hbmk2/hbmk2.hbp
* utils/hbmk2/Makefile
* package/mpkg_win.nsi
* package/winuni/mpkg_win_uni.nsi
; trying to crawl out from this pool of dynamic mud.
* enabled all embedded headers for both hbmk2 and hbrun
so we're back to square one with this, except that
now hbmk2 also holds the full set of core headers not
just a minimal selection. The reason is to keep hbmk2
as the distributable runner tool. It also syncs all
C compilers and platforms.
* hbmk2 built in -static mode again. It will fix the
'make clean' problem, it will make it distributable.
* hbrun changed to be built in -shared mode to allow
to load dynamic modules.
; so this is the state right now (if I didn't make any mistake):
hbmk2:
all embedded core headers
no contrib modules
static build
no dynamic modules
fully movable/distributable as a runner
cannot be self-registered as .hb runner on Windows
hbrun:
all embedded core headers
some contrib modules
shared build when HB_BUILD_CONTRIB_DYN enabled
dynamic modules possible
less movable/distributable, needs harbour dll, dynamic modules need Harbour dir layout
can be self-registered as .hb runner on Windows
; "Ext:" banner on interactive shell will have blue color
if dynamic modules are enabled and grey if not.
* utils/hbmk2/hbmk2.prg
* minor change to show the actual name of the tool
in the error message requesting a -shared build.
179 lines
5.7 KiB
NSIS
179 lines
5.7 KiB
NSIS
;
|
|
; $Id$
|
|
;
|
|
|
|
; ---------------------------------------------------------------
|
|
; Copyright 2009 Viktor Szakats (harbour syenar.net)
|
|
; See COPYING for licensing terms.
|
|
;
|
|
; Harbour Nullsoft installer script (for Windows/DOS)
|
|
; [ Do not try to use this script directly. It won't work. ]
|
|
;
|
|
; Please read INSTALL for further information.
|
|
; ---------------------------------------------------------------
|
|
|
|
SetCompressor /solid lzma
|
|
|
|
!include "MUI2.nsh"
|
|
|
|
!define MUI_HEADERIMAGE
|
|
!define MUI_HEADERIMAGE_BITMAP "${NSISDIR}\Contrib\Graphics\Header\win.bmp"
|
|
!define MUI_FINISHPAGE_SHOWREADME_NOTCHECKED
|
|
!define MUI_FINISHPAGE_SHOWREADME "$INSTDIR\doc\readme.txt"
|
|
!define MUI_ICON "harb_win.ico"
|
|
!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\orange-uninstall.ico"
|
|
|
|
SetDateSave on
|
|
SetDatablockOptimize on
|
|
CRCCheck on
|
|
|
|
RequestExecutionLevel user
|
|
|
|
; The name of the installer
|
|
Name "Harbour"
|
|
|
|
; The file to write
|
|
OutFile "$%HB_TOP%\$%HB_PKGNAME%.exe"
|
|
|
|
InstallDir C:\$%HB_PKGNAMI%
|
|
|
|
;--------------------------------
|
|
; Interface Settings
|
|
|
|
!define MUI_ABORTWARNING
|
|
|
|
;--------------------------------
|
|
; Pages
|
|
|
|
!insertmacro MUI_PAGE_WELCOME
|
|
!insertmacro MUI_PAGE_LICENSE $(MUILicense)
|
|
!insertmacro MUI_PAGE_COMPONENTS
|
|
!insertmacro MUI_PAGE_DIRECTORY
|
|
!insertmacro MUI_PAGE_INSTFILES
|
|
!insertmacro MUI_PAGE_FINISH
|
|
|
|
!insertmacro MUI_UNPAGE_WELCOME
|
|
!insertmacro MUI_UNPAGE_CONFIRM
|
|
!insertmacro MUI_UNPAGE_INSTFILES
|
|
!insertmacro MUI_UNPAGE_FINISH
|
|
|
|
;--------------------------------
|
|
; Languages
|
|
|
|
!insertmacro MUI_LANGUAGE "English"
|
|
|
|
;--------------------------------
|
|
; License Language String
|
|
|
|
LicenseLangString MUILicense ${LANG_ENGLISH} "$%HB_INSTALL_PREFIX%\COPYING"
|
|
|
|
;--------------------------------
|
|
; The stuff to install
|
|
|
|
Section "Main components" hb_main
|
|
|
|
SectionIn RO
|
|
|
|
; Set output path to the installation directory.
|
|
SetOutPath $INSTDIR
|
|
|
|
File /nonfatal "$%HB_INSTALL_PREFIX%\COPYING"
|
|
File /nonfatal "$%HB_INSTALL_PREFIX%\INSTALL"
|
|
File /nonfatal "$%HB_INSTALL_PREFIX%\NEWS"
|
|
File /nonfatal "$%HB_INSTALL_PREFIX%\TODO"
|
|
; Let it work also for DOS packages where short filename is used here
|
|
File /nonfatal "$%HB_INSTALL_PREFIX%\Change*"
|
|
|
|
SetOutPath $INSTDIR\bin
|
|
File "$%HB_INSTALL_PREFIX%\bin\*.*"
|
|
|
|
SetOutPath $INSTDIR\lib
|
|
File /r "$%HB_INSTALL_PREFIX%\lib\*.*"
|
|
|
|
SetOutPath $INSTDIR\include
|
|
File "$%HB_INSTALL_PREFIX%\include\*.*"
|
|
|
|
SetOutPath $INSTDIR\doc
|
|
File "$%HB_INSTALL_PREFIX%\doc\*.*"
|
|
|
|
; Write the installation path into the registry
|
|
; WriteRegStr HKLM "SOFTWARE\Harbour" "InstallDir" "$INSTDIR"
|
|
WriteRegStr HKCU "Software\Harbour" "InstallDir" "$INSTDIR"
|
|
|
|
; Write the uninstall keys for Windows
|
|
; WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Harbour" "DisplayName" "Harbour"
|
|
; WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Harbour" "UninstallString" '"$INSTDIR\uninstall.exe"'
|
|
; WriteRegDWORD HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Harbour" "NoModify" 1
|
|
; WriteRegDWORD HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Harbour" "NoRepair" 1
|
|
WriteUninstaller "uninstall.exe"
|
|
|
|
SectionEnd
|
|
|
|
; The stuff to install
|
|
Section "Examples" hb_examples
|
|
|
|
SectionIn RO
|
|
|
|
; Set output path to the installation directory.
|
|
SetOutPath $INSTDIR\tests
|
|
|
|
SectionEnd
|
|
|
|
; Optional section (can be disabled by the user)
|
|
Section "Start Menu and Desktop icons" hb_shortcuts
|
|
|
|
; this will be the working dir for shortcuts
|
|
SetOutPath $INSTDIR
|
|
|
|
CreateShortCut "$DESKTOP\Harbour.lnk" "$INSTDIR" "" "$INSTDIR" 0
|
|
CreateDirectory "$SMPROGRAMS\Harbour"
|
|
CreateShortCut "$SMPROGRAMS\Harbour\Uninstall.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0
|
|
CreateShortCut "$SMPROGRAMS\Harbour\Harbour (Command line).lnk" "cmd.exe" "/k cd $INSTDIR\bin" "cmd.exe" 0
|
|
CreateShortCut "$SMPROGRAMS\Harbour\Harbour.lnk" "$INSTDIR" "" "$INSTDIR" 0
|
|
CreateShortCut "$SMPROGRAMS\Harbour\Harbour (Interactive shell).lnk" "$INSTDIR\bin\hbrun.exe" "" "$INSTDIR\bin\hbrun.exe" 0
|
|
CreateDirectory "$SMPROGRAMS\Harbour\Links"
|
|
WriteINIStr "$SMPROGRAMS\Harbour\Links\Homepage.url" "InternetShortcut" "URL" "http://harbour-project.org/"
|
|
WriteINIStr "$SMPROGRAMS\Harbour\Links\Sourceforge Page.url" "InternetShortcut" "URL" "http://sourceforge.net/projects/harbour-project/"
|
|
WriteINIStr "$SMPROGRAMS\Harbour\Links\Users' Mailing List.url" "InternetShortcut" "URL" "http://groups.google.com/group/harbour-users/"
|
|
WriteINIStr "$SMPROGRAMS\Harbour\Links\Developers' Mailing List.url" "InternetShortcut" "URL" "http://groups.google.com/group/harbour-devel/"
|
|
WriteINIStr "$SMPROGRAMS\Harbour\Links\Development Timeline.url" "InternetShortcut" "URL" "http://sourceforge.net/apps/trac/harbour-project/timeline"
|
|
|
|
SectionEnd
|
|
|
|
;--------------------------------
|
|
; Descriptions
|
|
|
|
; Language strings
|
|
LangString DESC_hb_main ${LANG_ENGLISH} "Main components"
|
|
LangString DESC_hb_shortcuts ${LANG_ENGLISH} "Add icons to Start Menu and Desktop"
|
|
LangString DESC_hb_examples ${LANG_ENGLISH} "Samples and tests"
|
|
|
|
; Assign language strings to sections
|
|
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
|
|
!insertmacro MUI_DESCRIPTION_TEXT ${hb_main} $(DESC_hb_main)
|
|
!insertmacro MUI_DESCRIPTION_TEXT ${hb_shortcuts} $(DESC_hb_shortcuts)
|
|
!insertmacro MUI_DESCRIPTION_TEXT ${hb_examples} $(DESC_hb_examples)
|
|
!insertmacro MUI_FUNCTION_DESCRIPTION_END
|
|
|
|
;--------------------------------
|
|
; Uninstaller
|
|
|
|
Section "Uninstall"
|
|
|
|
; Remove files and uninstaller
|
|
RMDir /r $INSTDIR
|
|
|
|
; Remove directories used
|
|
Delete "$SMPROGRAMS\Harbour\Links\*.*"
|
|
RMDir "$SMPROGRAMS\Harbour\Links"
|
|
Delete "$SMPROGRAMS\Harbour\*.*"
|
|
RMDir "$SMPROGRAMS\Harbour"
|
|
RMDir "$INSTDIR"
|
|
|
|
Delete "$DESKTOP\Harbour.lnk"
|
|
|
|
; DeleteRegKey HKLM "SOFTWARE\Harbour"
|
|
DeleteRegKey HKCU "Software\Harbour"
|
|
|
|
SectionEnd
|