Files
harbour-core/harbour/package/mpkg_win_nightly.bat
Viktor Szakats 47776af691 2012-03-31 18:42 UTC+0200 Viktor Szakats (harbour syenar.net)
* utils/hbmk2/hbmk2.prg
    + will now add lib/3rd dir to the link commands, so
      unicows lib will be found in uninstalled Harbour SVN
      source tree.

  * contrib/make.hbs
  * contrib/hbpost.hbm
    + automatically enable unicows support for contribs, if available.
    - deleted support for undocumented __HB_BUILD_WINUNI envvar

  * config/global.mk
  * config/rules.mk
    - deleted support for undocumented __HB_BUILD_WINUNI envvar

  * package/winuni/mpkg_win_uni.bat
  * package/mpkg_win_nightly.bat
    - deleted special support for unicows libs for nightly
      and official releases, along with HB_DIR_UNICOWS envvar.
      Now these libs are included in all builds.

  * config/win/global.mk
    + automatically enable unicows support for core, if available.

  * config/win/xcc.mk
  * config/win/icc.mk
  * config/win/mingw.mk
  * config/win/pocc.mk
  * config/win/bcc.mk
  * config/win/msvc.mk
    + added support for SYSLIBPATHS. (used by unicows support)
    ! fixed bcc dynlib link command missing libpaths.
    ; NOTE: watcom unicows support is missing, as it needs
            special tricks due to missing separate libpath option
            in this compiler/linker.

  * config/wce/mingwarm.mk
  * config/wce/poccarm.mk
  * config/wce/msvcarm.mk
    * synced with config/win files

  + config/libbin.mk
    + added rule to install pre-built binary libs.
      (for unicows libs)

  * Makefile
  + lib/3rd
  + lib/3rd/win
  + lib/3rd/win/mingw
  + lib/3rd/win/mingw/Makefile
  + lib/3rd/win/mingw/libunicows.a
  + lib/3rd/win/mingw/libunicows_license.txt
  + lib/3rd/win/bcc
  + lib/3rd/win/bcc/unicows_license.txt
  + lib/3rd/win/bcc/unicows.lib
  + lib/3rd/win/bcc/Makefile
    + added locally hosted unicows runtime/implibs from:
      http://libunicows.sourceforge.net/ by author Vaclav Slavik.
      With these libs, it's possible to use UNICODE builds
      with both MS unicows.dll and opencows .dll on legacy
      Windows-system (Win9x).
      These libs will be installed to Harbour core lib directory,
      and also used from lib/3rd directory, if they are available.
      I've uploaed mingw and bcc libs because these are used
      nearly exclusively by users, but they are also available
      for older msvc, watcom, dmc and lcc compilers. I don't
      think it's worth the extra size to support Win9x using
      these legacy compilers, anyhow they can be added easily
      if needed (except watcom, which requires more work).

  ; These changes mean three things:
    1. Harbour now has only one build mode on Windows: UNICODE
       This will greatly simplify coding and testing and will
       allow to focus much better on what's important. It also
       allows to drop lots of dual code dealing with separate
       UNICODE and non-UNICODE branches.
    2. Harbour default builds will now run on Win9x (currently
       when using mingw or bcc compilers), though UNICOWS.DLL
       is now required. See INSTALL how to get this free .dll
       from MS. This also means that Harbour can now theoretically
       by built on Win9x systems (I didn't try).
    3. Harbour users can create UNICODE builds compatible with
       Win9x, by simply adding -lunicows to their .hbp projects.
       No extra installation is required.
2012-03-31 16:43:33 +00:00

134 lines
5.2 KiB
Batchfile

@rem
@rem $Id$
@rem
@echo off
rem ---------------------------------------------------------------
rem Copyright 2010 Viktor Szakats (harbour syenar.net)
rem See COPYING for licensing terms.
rem ---------------------------------------------------------------
rem ---------------------------------------------------------------
rem REQUIREMENTS FOR BUILD MACHINE:
rem - Online 24/7 (reliable)
rem - Windows XP or higher (server preferred)
rem - 8GB disk space
rem - downstream internet traffic 100MB per day
rem - upstream internet traffic 100MB per day
rem - 1-5hours CPU time per day
rem - Multicore CPU recommended
rem - admin rights for MSVC setup
rem - admin rights for Scheduled Task setup
rem - remote admin (via RDC or VNC protocol, RDC preferred)
rem
rem NOTES:
rem - The first run under a new (or reinstalled) user account
rem must be done interactively to confirm server identity
rem when doing SCP uploads.
rem ---------------------------------------------------------------
pushd
cd %~dp0
echo ! Self: %0
set _HB_DIR_3RD=%~dp03rd\
set _HB_DIR_COMP=%~dp0comp\
set _HB_DIR_TOOL=%~dp0tool\
echo ! Downloading Harbour sources...
if exist harbour rd /q /s harbour
%_HB_DIR_TOOL%svn\bin\svn export http://harbour-project.svn.sourceforge.net/svnroot/harbour-project/trunk/harbour
if errorlevel 1 goto _EXIT
cd harbour
echo ! Setting up generic build parameters...
set HB_VF=nightly
set HB_VL=%HB_VF%
set HB_RT=%~dp0
set _HB_MAKE_OPTION=HB_VERSION=%HB_VF%
set _HB_SFNET_URL=,harbour-project@frs.sourceforge.net:/home/frs/project/h/ha/harbour-project/binaries-windows/nightly/
set HB_BUILD_PKG=yes
set HB_DIR_NSIS=%_HB_DIR_TOOL%nsis\
set HB_OPT_NSIS=/DPKG_NO_COMP_BCC /DPKG_NO_COMP_MSVC /DPKG_NO_COMP_MSVC64 /DPKG_NO_COMP_MINGW64 /DPKG_NO_COMP_MINGWARM /DPKG_NO_PLAT_LINUX /DPKG_NO_PLAT_OS2 /DPKG_NO_PLAT_DOS /DPKG_NO_COMP_WATCOM
set HB_DIR_ZIP=%_HB_DIR_TOOL%
set HB_DIR_7Z=%_HB_DIR_TOOL%
set HB_DIR_UPX=%_HB_DIR_TOOL%upx\
rem set HB_DIR_BCC_IMPLIB=%_HB_DIR_COMP%bcc\Bin\
set HB_DIR_MINGW=%_HB_DIR_COMP%mingw
set HB_WITH_ADS=%_HB_DIR_3RD%ads\acesdk
set HB_WITH_ALLEGRO=%_HB_DIR_3RD%allegro\include
set HB_WITH_BLAT=%_HB_DIR_3RD%blat\full\source
set HB_WITH_CAIRO=%_HB_DIR_3RD%cairo\include\cairo
set HB_WITH_CURL=%_HB_DIR_3RD%curl\include
set HB_WITH_FIREBIRD=%_HB_DIR_3RD%firebird\include
set HB_WITH_FREEIMAGE=%_HB_DIR_3RD%freeimage\Dist
set HB_WITH_GD=%_HB_DIR_3RD%gd\include
set HB_WITH_MYSQL=%_HB_DIR_3RD%mysql\include
set HB_WITH_OCILIB=%_HB_DIR_3RD%ocilib\include
set HB_WITH_OPENSSL=%_HB_DIR_3RD%openssl\include
set HB_WITH_PGSQL=%_HB_DIR_3RD%pgsql\include
set HB_WITH_QT=%_HB_DIR_3RD%qt\include
echo ! Building Harbour...
setlocal
echo ! Setting environment for using MinGW GCC
set PATH=%_HB_DIR_COMP%mingw\bin
win-make clean install %_HB_MAKE_OPTION% > "%~dp0harbour-nightly-win-mingw-log.txt" 2>&1
if errorlevel 1 goto _EXIT
endlocal
rem setlocal
rem echo ! Setting environment for using Borland C++
rem set PATH=%_HB_DIR_COMP%bcc\Bin
rem win-make clean install %_HB_MAKE_OPTION% > "%~dp0harbour-nightly-win-bcc-log.txt" 2>&1
rem if errorlevel 1 goto _EXIT
rem endlocal
rem setlocal
rem echo ! Setting environment for using Open Watcom
rem SET WATCOM=%_HB_DIR_COMP%watcom
rem SET PATH=%WATCOM%\BINNT;%WATCOM%\BINW
rem SET EDPATH=%WATCOM%\EDDAT
rem SET INCLUDE=%WATCOM%\H;%WATCOM%\H\NT
rem win-make clean install %_HB_MAKE_OPTION% > "%~dp0harbour-nightly-win-watcom-log.txt" 2>&1
rem endlocal
rem echo ! Uploading Harbour Windows binaries...
rem
rem %_HB_DIR_TOOL%pscp.exe -i %HB_SFNET_FRS_PRIVATE_KEY% harbour-nightly-win-mingw.exe %HB_SFNET_USER%%_HB_SFNET_URL%
rem %_HB_DIR_TOOL%pscp.exe -i %HB_SFNET_FRS_PRIVATE_KEY% harbour-nightly-win-mingw.zip %HB_SFNET_USER%%_HB_SFNET_URL%
rem %_HB_DIR_TOOL%pscp.exe -i %HB_SFNET_FRS_PRIVATE_KEY% harbour-nightly-win-bcc.exe %HB_SFNET_USER%%_HB_SFNET_URL%
rem %_HB_DIR_TOOL%pscp.exe -i %HB_SFNET_FRS_PRIVATE_KEY% harbour-nightly-win-bcc.zip %HB_SFNET_USER%%_HB_SFNET_URL%
rem %_HB_DIR_TOOL%pscp.exe -i %HB_SFNET_FRS_PRIVATE_KEY% harbour-nightly-win-watcom.exe %HB_SFNET_USER%%_HB_SFNET_URL%
rem %_HB_DIR_TOOL%pscp.exe -i %HB_SFNET_FRS_PRIVATE_KEY% harbour-nightly-win-watcom.zip %HB_SFNET_USER%%_HB_SFNET_URL%
echo ! Creating unified Windows package...
call package\winuni\mpkg_win_uni.bat
echo ! Uploading Harbour unified Windows package...
%_HB_DIR_TOOL%pscp.exe -i %HB_SFNET_FRS_PRIVATE_KEY% %HB_RT%harbour-nightly-win.exe %HB_SFNET_USER%%_HB_SFNET_URL%
%_HB_DIR_TOOL%pscp.exe -i %HB_SFNET_FRS_PRIVATE_KEY% %HB_RT%harbour-nightly-win.7z %HB_SFNET_USER%%_HB_SFNET_URL%
:_EXIT
%_HB_DIR_TOOL%pscp.exe -i %HB_SFNET_FRS_PRIVATE_KEY% %HB_RT%harbour-nightly-win-log.txt %HB_SFNET_USER%%_HB_SFNET_URL%
%_HB_DIR_TOOL%pscp.exe -i %HB_SFNET_FRS_PRIVATE_KEY% %HB_RT%harbour-nightly-win-mingw-log.txt %HB_SFNET_USER%%_HB_SFNET_URL%
rem %_HB_DIR_TOOL%pscp.exe -i %HB_SFNET_FRS_PRIVATE_KEY% %HB_RT%harbour-nightly-win-bcc-log.txt %HB_SFNET_USER%%_HB_SFNET_URL%
rem %_HB_DIR_TOOL%pscp.exe -i %HB_SFNET_FRS_PRIVATE_KEY% %HB_RT%harbour-nightly-win-watcom-log.txt %HB_SFNET_USER%%_HB_SFNET_URL%
echo ! Finished.
popd