Files
harbour-core/harbour/bin/postinst.bat
Viktor Szakats bf1e4afd3a 2009-12-05 03:58 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* bin/postinst.bat
    + Syncing C/C++ Harbour build mode with hbmk2 invocation
      options in postinst phase. (please test)
      Only required for mingw, but it's done for every compiler
      for consistency, but only if it's overridden by user.
      (so f.e. for msvc, C++ isn't enabled in this case. This
      could be done on hbmk2 level however, but it would cause
      a lot of 3rd party code to break so I didn't do it yet.)

      I didn't add logic to hbmk2 to inherit build-time C/C++
      setting, because it wouldn't work in cross-build situations,
      and multi-target installations.

  * utils/hbmk2/hbmk2.prg
    + Added comment on msvc C++ mode.
2009-12-05 03:00:44 +00:00

101 lines
4.0 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
if "%HB_SHELL%" == "nt" goto _SH_NT
:_NO_COPYD
if "%HB_PLATFORM%" == "linux" goto _NO_PKG
if not "%HB_BUILD_PKG%" == "yes" goto _NO_PKG
if "%HB_TOP%" == "" goto _NO_PKG
echo ! Making Harbour .zip install package: '%HB_TOP%\%HB_PKGNAME%.zip'
if exist "%HB_TOP%\%HB_PKGNAME%.zip" del %HB_TOP%\%HB_PKGNAME%.zip
cd %HB_INSTALL_PREFIX%
cd ..
%HB_DIR_ZIP%zip.exe -q -9 -X -r -o %HB_TOP%\%HB_PKGNAME%.zip . -i %HB_PKGNAME%\* -x *.tds -x *.exp
goto END
:_SH_NT
if "%HB_PLATFORM%" == "dos" goto _NO_DLL_BIN
if "%HB_PLATFORM%" == "linux" goto _NO_DLL_BIN
if "%HB_BUILD_DLL%" == "no" goto _NO_DLL_BIN
set HBMK_OPTIONS=
if "%HB_BUILD_MODE%" == "cpp" set HBMK_OPTIONS=%HBMK_OPTIONS% -cpp=yes
if "%HB_BUILD_MODE%" == "c" set HBMK_OPTIONS=%HBMK_OPTIONS% -cpp=no
echo ! Making shared version of Harbour binaries...
"%HB_HOST_BIN_DIR%\hbmk2" -quiet -q0 -lng=en-EN -shared "-o%HB_BIN_INSTALL%\hbrun-dll" "%~dp0..\utils\hbrun\hbrun.hbp"
"%HB_HOST_BIN_DIR%\hbmk2" -quiet -q0 -lng=en-EN -shared "-o%HB_BIN_INSTALL%\hbmk2-dll" "%~dp0..\utils\hbmk2\hbmk2.hbp"
"%HB_HOST_BIN_DIR%\hbmk2" -quiet -q0 -lng=en-EN -shared "-o%HB_BIN_INSTALL%\hbtest-dll" "%~dp0..\utils\hbtest\hbtest.hbp"
"%HB_HOST_BIN_DIR%\hbmk2" -quiet -q0 -lng=en-EN -shared "-o%HB_BIN_INSTALL%\hbi18n-dll" "%~dp0..\utils\hbi18n\hbi18n.hbp"
"%HB_HOST_BIN_DIR%\hbmk2" -quiet -q0 -lng=en-EN -shared "-o%HB_BIN_INSTALL%\hbformat-dll" "%~dp0..\utils\hbformat\hbformat.hbp"
:_NO_DLL_BIN
if "%HB_PLATFORM%" == "dos" goto _NO_ICON_BIN
if "%HB_PLATFORM%" == "linux" goto _NO_ICON_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" -quiet -q0 -lng=en-EN "-o%HB_BIN_INSTALL%\hbrun" "%~dp0..\utils\hbrun\hbrun.hbp"
:_NO_ICON_BIN
if "%HB_BUILD_IMPLIB%" == "yes" call "%~dp0hb-mkimp.bat"
:_NO_IMPLIB
if "%HB_PLATFORM%" == "linux" goto _NO_PKG
if not "%HB_BUILD_PKG%" == "yes" goto _NO_PKG
if "%HB_TOP%" == "" goto _NO_PKG
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 we need absolute path in HB_TOP. There is also
rem no zip 2.x compatible way to force creation of a new .zip, so we have to delete it
rem first to avoid mixing in an existing .zip file. [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
echo ! Making Harbour .exe install package: '%HB_TOP%\%HB_PKGNAME%.exe'
"%HB_DIR_NSIS%makensis.exe" /V2 "%~dp0..\package\mpkg_win.nsi"
:_NO_PKG
:END