* 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.
134 lines
5.2 KiB
Batchfile
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
|