* config/global.cf
! Fixed to process HB_BUILD_NAME when forming package install dir
inside /pkg dir.
% Delete an unnecessary line.
* package/mpkg_win.nsi
* config/global.cf
* bin/postinst.bat
* Little bit changed the way dirs/names are communicated from
GNU Make to postinst package creation code.
The goal was to have an internal PKG_DIR var which is similar
to other *_DIR vars. It was also possible to delete some
exported vars this way.
- Disabled package creation for non-NT shells (= pure MS-DOS).
I found no way to make this work cleanly on pure MS-DOS.
+ Documented weird requirements of zip building. Also to better
clarify why abspath is needed in GNU Make.
* config/instsh.cf
* Updated OS/2 comment to clarify some issues according to
information from Maurilio.
128 lines
5.1 KiB
Batchfile
128 lines
5.1 KiB
Batchfile
@rem
|
|
@rem $Id$
|
|
@rem
|
|
|
|
@echo off
|
|
|
|
rem ---------------------------------------------------------------
|
|
rem Copyright 2009 Viktor Szakats (harbour.01 syenar.hu)
|
|
rem See COPYING for licensing terms.
|
|
rem
|
|
rem Script run after Harbour make install to finish install process
|
|
rem (for Windows/DOS)
|
|
rem
|
|
rem Contains: install package creator script, which requires:
|
|
rem
|
|
rem - Info-ZIP zip.exe in PATH
|
|
rem or HB_DIR_ZIP envvar set to its dir with an ending backslash.
|
|
rem https://sourceforge.net/project/showfiles.php?group_id=118012
|
|
rem - NullSoft Installer installed (NSIS)
|
|
rem https://sourceforge.net/project/showfiles.php?group_id=22049&package_id=15374
|
|
rem (only for Windows builds)
|
|
rem - makensis.exe (part of NSIS) in PATH
|
|
rem or HB_DIR_NSIS envvar set to its dir with an ending backslash.
|
|
rem (only for Windows builds)
|
|
rem ---------------------------------------------------------------
|
|
|
|
if "%HB_BIN_INSTALL%" == "" echo HB_BIN_INSTALL needs to be set.
|
|
if "%HB_BIN_INSTALL%" == "" goto END
|
|
|
|
echo ! Generating %HB_BIN_INSTALL%\hbmk.cfg...
|
|
echo # Harbour Make (hbmk2) configuration> %HB_BIN_INSTALL%\hbmk.cfg
|
|
echo # Generated by Harbour build process>> %HB_BIN_INSTALL%\hbmk.cfg
|
|
echo.>> %HB_BIN_INSTALL%\hbmk.cfg
|
|
echo libpaths=../contrib/%%{hb_name}>> %HB_BIN_INSTALL%\hbmk.cfg
|
|
echo libpaths=../contrib/rddsql/%%{hb_name}>> %HB_BIN_INSTALL%\hbmk.cfg
|
|
echo libpaths=../addons/%%{hb_name}>> %HB_BIN_INSTALL%\hbmk.cfg
|
|
echo libpaths=../examples/%%{hb_name}>> %HB_BIN_INSTALL%\hbmk.cfg
|
|
|
|
goto INST_%HB_ARCHITECTURE%
|
|
|
|
:INST_WIN
|
|
:INST_WCE
|
|
|
|
rem Windows post install part
|
|
|
|
if not "%OS%" == "Windows_NT" echo ! postinst.bat Harbour build script requires Windows NT or upper.
|
|
if not "%OS%" == "Windows_NT" goto END
|
|
|
|
rem ; Post-build installation
|
|
if not "%HB_INSTALL_PREFIX%" == "" copy ChangeLog* "%HB_INSTALL_PREFIX%\" > nul
|
|
if not "%HB_INSTALL_PREFIX%" == "" copy COPYING "%HB_INSTALL_PREFIX%\" > nul
|
|
if not "%HB_INSTALL_PREFIX%" == "" copy ERRATA "%HB_INSTALL_PREFIX%\" > nul
|
|
if not "%HB_INSTALL_PREFIX%" == "" copy INSTALL "%HB_INSTALL_PREFIX%\" > nul
|
|
if not "%HB_INSTALL_PREFIX%" == "" copy TODO "%HB_INSTALL_PREFIX%\" > nul
|
|
|
|
if "%HB_BUILD_DLL%" == "no" goto _SKIP_DLL_BIN
|
|
|
|
call "%~dp0hb-mkdyn.bat"
|
|
|
|
if exist "%HB_BIN_INSTALL%\*.dll" (
|
|
echo ! Making shared version of Harbour binaries...
|
|
"%HB_HOST_BIN_DIR%\hbmk2" -q0 -lng=en-EN -shared "-o%HB_BIN_INSTALL%\hbrun-dll" "%~dp0..\utils\hbrun\hbrun.hbp"
|
|
"%HB_HOST_BIN_DIR%\hbmk2" -q0 -lng=en-EN -shared "-o%HB_BIN_INSTALL%\hbmk2-dll" "%~dp0..\utils\hbmk2\hbmk2.hbp"
|
|
"%HB_HOST_BIN_DIR%\hbmk2" -q0 -lng=en-EN -shared "-o%HB_BIN_INSTALL%\hbtest-dll" "%~dp0..\utils\hbtest\hbtest.hbp"
|
|
"%HB_HOST_BIN_DIR%\hbmk2" -q0 -lng=en-EN -shared "-o%HB_BIN_INSTALL%\hbi18n-dll" "%~dp0..\utils\hbi18n\hbi18n.hbp"
|
|
"%HB_HOST_BIN_DIR%\hbmk2" -q0 -lng=en-EN -shared "-o%HB_BIN_INSTALL%\hbformat-dll" "%~dp0..\utils\hbformat\hbformat.hbp"
|
|
)
|
|
|
|
:_SKIP_DLL_BIN
|
|
|
|
rem ; We build this here, because GNU Make wouldn't add the icon.
|
|
echo ! Making hbrun with application icon...
|
|
"%HB_HOST_BIN_DIR%\hbmk2" -q0 -lng=en-EN "-o%HB_BIN_INSTALL%\hbrun" "%~dp0..\utils\hbrun\hbrun.hbp"
|
|
|
|
if "%HB_BUILD_IMPLIB%" == "yes" call "%~dp0hb-mkimp.bat"
|
|
if "%HB_BUILD_PKG%" == "yes" call :MK_PKG
|
|
|
|
goto END
|
|
|
|
:INST_DOS
|
|
|
|
rem ; Post-build installation
|
|
if not "%HB_INSTALL_PREFIX%" == "" copy CHANG* %HB_INSTALL_PREFIX%\CHANGES > nul
|
|
if not "%HB_INSTALL_PREFIX%" == "" copy COPYING %HB_INSTALL_PREFIX% > nul
|
|
if not "%HB_INSTALL_PREFIX%" == "" copy ERRATA %HB_INSTALL_PREFIX% > nul
|
|
if not "%HB_INSTALL_PREFIX%" == "" copy INSTALL %HB_INSTALL_PREFIX% > nul
|
|
if not "%HB_INSTALL_PREFIX%" == "" copy TODO %HB_INSTALL_PREFIX% > nul
|
|
|
|
if "%HB_BUILD_PKG%" == "yes" call :MK_PKG
|
|
|
|
goto END
|
|
|
|
:INST_LINUX
|
|
|
|
goto END
|
|
|
|
:INST_
|
|
|
|
goto END
|
|
|
|
:MK_PKG
|
|
|
|
if not "%OS%" == "Windows_NT" echo ! postinst.bat Harbour install package creation requires Windows NT or upper.
|
|
if not "%OS%" == "Windows_NT" goto :EOF
|
|
|
|
rem NOTE: Believe it or not this is the official method to zip a different dir with subdirs
|
|
rem without including the whole root path in filenames; you have to 'cd' into it.
|
|
rem Even with zip 3.0. For this reason this can't work with plain MS-DOS and we need
|
|
rem absolute path in HB_TOP. There is also no zip 2.x compatible way to force creation
|
|
rem of a new .zip, so we have to delete it first to avoid mixing in an existing .zip
|
|
rem files. [vszakats]
|
|
|
|
echo ! Making Harbour .zip install package: '%HB_TOP%\%HB_PKGNAME%.zip'
|
|
if exist "%HB_TOP%\%HB_PKGNAME%.zip" del "%HB_TOP%\%HB_PKGNAME%.zip"
|
|
pushd
|
|
cd "%HB_INSTALL_PREFIX%\.."
|
|
"%HB_DIR_ZIP%zip.exe" -q -9 -X -r -o "%HB_TOP%\%HB_PKGNAME%.zip" . -i "%HB_PKGNAME%\*" -x *.tds -x *.exp
|
|
popd
|
|
|
|
if "%HB_ARCHITECTURE%" == "dos" goto :EOF
|
|
|
|
echo ! Making Harbour .exe install package: '%HB_TOP%\%HB_PKGNAME%.exe'
|
|
"%HB_DIR_NSIS%makensis.exe" /V2 "%~dp0..\package\mpkg_win.nsi"
|
|
|
|
goto :EOF
|
|
|
|
:END
|