* INSTALL
* make_gnu.bat
+ Added support for Cygwin builds (passes call to make_gnu.sh).
+ Added Cygwin build starter example.
+ Cygwin mentioned as a requirement for mingwarm builds,
also added to PATH.
! Fixed cygwin autodetection.
! Fixed wrong PATH order in 'MinGW GCC + MSYS' example.
* Merged mingw+msys and cygwin bash based build methods,
and titled as "alternate" method.
Now all supported compilers work by starting up make_gnu.bat.
* utils/hbmk2/hbmk2.prg
! Change compiler autodetection to work for cygwin.
* mpkg_dos.bat
* mpkg_win.bat
* make_gnu.bat
! Fixed build process to work in paths containing spaces.
I didn't test the batch in pure DOS, so I may have broken it.
* config/win/install.cf
* config/wce/install.cf
! Fixed 'install' to work when there is a space in install path.
* make_gnu.bat
* INSTALL
+ Added support for HB_BUILD_LOG envvar. If set to 'yes',
it will automatically set log output filename to:
'log-<arch>-<comp>.txt'
if set to 'no' it will no make any extra redirection,
if set to any other value, it will be used for output
(both std and err). The batch will set HB_BUILD_LOGFILE
to the filename used for output for processing.
This feature requires Windows NT or upper host.
I didn't enable this feature yet by default to not break
existing user setups, but maybe I'll do it before the
final release.
* Modified text shown (+ beep thrown) when build failed.
* Messages now all start with 'Harbour'.
* Do not do the second build pass if the first one failed.
* contrib/hbwin/legacy.prg
! Fixed CreateObject() not working due to typo.
Thanks to Itamar Lins for the report.
* mpkg_dos.bat
* mpkg_win.bat
* mpkg_win.nsi
+ Enabled HB_BUILD_LOG=yes.
* Silenced copy, zip, makensis commands.
+ Added message about failed build process.
* Changed to use 'copy' instead of 'xcopy'
* Changed internals so now they don't require HB_COMPILER
and HB_ARCHITECTURE to be set. This means that now
we can rely on autodetection even for mpkg_*.bat files.
Creating an installer is very easy now for most cases.
Just type:
mpkg_gnu.bat
* source/vm/set.c
+ Added file commit support to __MVSAVE(), if Set( _SET_HARDCOMMIT )
is set to .T.. This is the default which means by default we aren't
CA-Cl*pper compatible. Addition protected by HB_C52_STRICT.
* source/rdd/dbf1.c
! Minor typo in comment.
* doc/en-EN/hb_apiit.txt
* include/hbapi.h
* include/hbapiitm.h
* source/vm/itemapi.c
* source/vm/extend.c
* source/rtl/gtwvt/gtwvt.c
* source/rdd/dbf1.c
* contrib/gtqtc/gtqtc.cpp
* contrib/gtwvg/gtwvg.c
* contrib/gtwvg/wvggui.c
* contrib/hbwin/olecore.c
* examples/hboleold/win_ole.c
* Finishing long planned function renames to clear up
a very (10 years) old naming inconsistency.
To adapt you code to this, please do changes below:
1) hb_itemPutCPtr() (with three parameters) -> hb_itemPutCLPtr()
2) hb_itemPutCPtr2() -> hb_itemPutCPtr()
Unmodified code will generate compile time errors, so it's easy
to spot where the modifications need to be done. For most users,
only case 1) will need to be dealt with.
; INCOMPATIBLE. Please update your code.
* source/rtl/hbi18n1.c
* source/rdd/dbfnsx/dbfnsx1.c
* hb_itemPutCPtr() (with three parameters) -> hb_itemPutCLPtr()
* contrib/gtwvg/wvggui.c
* contrib/gtqtc/gtqtc.cpp
! Fixed GPF in hb_gtInfo( HB_GTI_SCREENSIZE ) call with wrong
parameter.
171 lines
5.5 KiB
NSIS
171 lines
5.5 KiB
NSIS
;
|
|
; $Id$
|
|
;
|
|
|
|
; ---------------------------------------------------------------
|
|
; NSIS installer script for Harbour Project
|
|
;
|
|
; Copyright 2009 Viktor Szakats (harbour.01 syenar.hu)
|
|
; See COPYING for licensing terms.
|
|
; ---------------------------------------------------------------
|
|
|
|
; TODO: tests/examples
|
|
; TODO: option: install .dlls to system paths
|
|
|
|
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 "package\harbour.ico"
|
|
|
|
SetDateSave on
|
|
SetDatablockOptimize on
|
|
CRCCheck on
|
|
|
|
; The name of the installer
|
|
Name "Harbour Project"
|
|
|
|
; The file to write
|
|
OutFile "$%HB_PKGNAME%.exe"
|
|
|
|
InstallDir C:\$%HB_DIRNAME%
|
|
|
|
;--------------------------------
|
|
; 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%\ERRATA"
|
|
File /nonfatal "$%HB_INSTALL_PREFIX%\INSTALL"
|
|
File /nonfatal "$%HB_INSTALL_PREFIX%\TODO"
|
|
File /nonfatal "$%HB_INSTALL_PREFIX%\ChangeLog*"
|
|
|
|
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 /r "$%HB_INSTALL_PREFIX%\doc\*.*"
|
|
|
|
; Write the installation path into the registry
|
|
; WriteRegStr HKLM "Software\Harbour" "Install_Dir" "$INSTDIR"
|
|
|
|
; Write the uninstall keys for Windows
|
|
; WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Harbour" "DisplayName" "Harbour Project"
|
|
; 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 Project.lnk" "$INSTDIR" "" "$INSTDIR" 0
|
|
CreateDirectory "$SMPROGRAMS\Harbour Project"
|
|
CreateShortCut "$SMPROGRAMS\Harbour Project\Uninstall.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0
|
|
CreateShortCut "$SMPROGRAMS\Harbour Project\Harbour Project (Command line).lnk" "cmd.exe" "/k cd $INSTDIR\bin" "cmd.exe" 0
|
|
CreateShortCut "$SMPROGRAMS\Harbour Project\Harbour Project.lnk" "$INSTDIR" "" "$INSTDIR" 0
|
|
CreateShortCut "$SMPROGRAMS\Harbour Project\hbrun.lnk" "$INSTDIR\bin\hbrun.exe" "-v" "$INSTDIR\bin\hbrun.exe" 0
|
|
CreateDirectory "$SMPROGRAMS\Harbour Project\Links"
|
|
WriteINIStr "$SMPROGRAMS\Harbour Project\Links\Homepage.url" "InternetShortcut" "URL" "http://www.harbour-project.org/"
|
|
WriteINIStr "$SMPROGRAMS\Harbour Project\Links\User Forums.url" "InternetShortcut" "URL" "http://sourceforge.net/apps/phpbb/harbour-project/"
|
|
WriteINIStr "$SMPROGRAMS\Harbour Project\Links\Sourceforge Page.url" "InternetShortcut" "URL" "http://sourceforge.net/projects/harbour-project/"
|
|
WriteINIStr "$SMPROGRAMS\Harbour Project\Links\Developers' Mail Archives.url" "InternetShortcut" "URL" "http://lists.harbour-project.org/pipermail/harbour/"
|
|
WriteINIStr "$SMPROGRAMS\Harbour Project\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 Project\Links\*.*"
|
|
RMDir "$SMPROGRAMS\Harbour Project\Links"
|
|
Delete "$SMPROGRAMS\Harbour Project\*.*"
|
|
RMDir "$SMPROGRAMS\Harbour Project"
|
|
RMDir "$INSTDIR"
|
|
|
|
Delete "$DESKTOP\Harbour Project.lnk"
|
|
|
|
SectionEnd
|