Files
harbour-core/harbour/bin/bld.bat
Viktor Szakats a5ac639119 2008-06-09 07:36 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* tests/wvtext.prg
   * include/hbgtinfo.ch
   * include/hbgtcore.h
   * source/rtl/hbgtcore.c
   * source/rtl/gtwvt/gtwvt.c
     * Changed the way notifications work. It's now platform 
       neutral and more simple.
       hb_gtInfo( HB_GTI_NOTIFIERBLOCK, {|nEvent, ...| myhandler( nEvent, mycustomdata, ... ) })
       may be used to set it. Use NIL to disable it. The purpose of 
       this is to be able to get notifications from GT related
       user interactions not initiated inside the apps UI world.
       F.e. to save screen size after the user has changed it, 
       or to have a last chance to commit tables, set flags, etc 
       when user (or OS) closed the app window.
     + Added basic support to handle return values from notifier.
     ! Added missing SVN header to wvtext.prg
     ; TOFIX: New TIMER stuff in GTWVT should be replace by 
              a platform neutral solution, which is probably MT.
              (see also "background events")
     ; TOFIX: Is there a way to force "non-full content" resize 
              on the window level? This way we could avoid 
              current trashing while resizing.
2008-06-09 06:07:59 +00:00

278 lines
11 KiB
Batchfile

@echo off
rem
rem $Id$
rem
rem ---------------------------------------------------------------
rem This is a generic template file, if it doesn't fit your own needs
rem please DON'T MODIFY IT.
rem
rem Instead, make a local copy and modify that one, or make a call to
rem this batch file from your customized one. [vszakats]
rem ---------------------------------------------------------------
rem ---------------------------------------------------------------
rem Template to build a final Harbour executable, using Harbour
rem with the C code generation feature, then calling the proper C
rem linker/compiler.
rem
rem Copyright 1999-2004 Viktor Szakats (viktor.szakats@syenar.hu)
rem See doc/license.txt for licensing terms.
rem ---------------------------------------------------------------
rem if "%HB_ARCHITECTURE%" == "" set HB_ARCHITECTURE=w32
rem if "%HB_COMPILER%" == "" set HB_COMPILER=mingw32
rem if "%HB_GT_LIB%" == "" set HB_GT_LIB=
if "%HB_BIN_INSTALL%" == "" set HB_BIN_INSTALL=..\bin
if "%HB_LIB_INSTALL%" == "" set HB_LIB_INSTALL=..\lib
if "%HB_INC_INSTALL%" == "" set HB_INC_INSTALL=..\include
:START
if "%HB_ARCHITECTURE%" == "" goto NO_ARCH
if "%HB_COMPILER%" == "" goto NO_COMP
if not "%1" == "" goto COMPILE
:HELP
echo.
echo Usage: bld filename
echo.
echo Notes:
echo.
echo - 'filename' is the .prg filename *without* extension.
echo - Don't forget to make a MAIN() function for you application.
echo - This batch file assumes you are in some directory off the main
echo harbour directory.
echo - Environment variables HB_ARCHITECTURE, HB_COMPILER, HB_GT_LIB
echo should be set. Setting HB_GT_LIB is optional.
echo The following values are currently supported:
echo.
echo HB_ARCHITECTURE:
echo - dos (HB_GT_LIB=gtdos by default)
echo - w32 (HB_GT_LIB=gtwin by default)
echo - linux (HB_GT_LIB=gtstd by default)
echo - os2 (HB_GT_LIB=gtos2 by default)
echo.
pause
echo HB_COMPILER:
echo - When HB_ARCHITECTURE=dos
echo - bcc16 (Borland C++ 3.x, 4.x, 5.0x, DOS 16-bit)
echo - djgpp (Delorie GNU C, DOS 32-bit)
echo - rxs32 (EMX/RSXNT/DOS GNU C, DOS 32-bit)
echo - watcom (OpenWatcom, DOS 32-bit)
echo - When HB_ARCHITECTURE=w32
echo - bcc32 (Borland C++ 4.x, 5.x, Windows 32-bit)
echo - gcc (Cygnus/Cygwin GNU C, Windows 32-bit)
echo - mingw32 (Cygnus/MinGW GNU C, Windows 32-bit)
echo - rxsnt (EMX/RSXNT/Win32 GNU C, Windows 32-bit)
echo - icc (IBM Visual Age C++, Windows 32-bit)
echo - msvc (Microsoft Visual C++, Windows 32-bit)
echo - watcom (OpenWatcom, Windows 32-bit)
echo - When HB_ARCHITECTURE=linux
echo - gcc (GNU C, 32-bit)
echo - When HB_ARCHITECTURE=os2
echo - gcc (EMX GNU C, OS/2 32-bit)
echo - icc (IBM Visual Age C++ 3.0, OS/2 32-bit)
echo.
pause
echo HB_GT_LIB:
echo - gtstd (Standard streaming) (for all architectures)
echo - gtdos (DOS console) (for dos architecture)
echo - gtwin (Win32 console) (for w32 architecture)
echo - gtos2 (OS/2 console) (for os2 architecture)
echo - gtpca (PC ANSI console) (for all architectures)
echo - gtcrs (Curses console) (for linux, w32 architectures)
echo - gtsln (Slang console) (for linux, w32 architectures)
goto END
:NO_ARCH
echo Error: HB_ARCHITECTURE is not set.
goto HELP
:NO_COMP
echo Error: HB_COMPILER is not set.
goto HELP
:BAD_ARCH
echo Error: HB_ARCHITECTURE value is unsupported.
goto HELP
:BAD_COMP
echo Error: HB_COMPILER value is unsupported.
goto HELP
:COMPILE
%HB_BIN_INSTALL%\harbour %1.prg -n -q0 -gc0 -i%HB_INC_INSTALL% %2 %3 %HARBOURFLAGS%
:A_DOS
if not "%HB_GT_LIB%" == "" set _HB_GT_LIB=%HB_GT_LIB%
if not "%HB_ARCHITECTURE%" == "dos" goto A_W32
if "%HB_GT_LIB%" == "" set _HB_GT_LIB=gtdos
if not "%HB_COMPILER%" == "bcc16" goto A_DOS_BCC16_NOT
echo -O2 -d -mh %CFLAGS% -I%HB_INC_INSTALL% -L%HB_LIB_INSTALL% > build.tmp
echo -e%1.exe >> build.tmp
echo %1.c >> build.tmp
echo hbcpage.lib >> build.tmp
echo hbdebug.lib >> build.tmp
echo hbvm.lib >> build.tmp
echo hbrtl.lib >> build.tmp
echo %_HB_GT_LIB%.lib >> build.tmp
echo hblang.lib >> build.tmp
echo hbrdd.lib >> build.tmp
echo hbmacro.lib >> build.tmp
echo hbpp.lib >> build.tmp
echo rddfpt.lib >> build.tmp
echo rddntx.lib >> build.tmp
echo rddcdx.lib >> build.tmp
echo hbsix.lib >> build.tmp
echo hbcommon.lib >> build.tmp
bcc @build.tmp
del build.tmp
goto END
:A_DOS_BCC16_NOT
if not "%HB_COMPILER%" == "djgpp" goto A_DOS_DJGPP_NOT
echo %1.c > build.tmp
echo -o%1.exe %CFLAGS% -I%HB_INC_INSTALL% -L%HB_LIB_INSTALL% >> build.tmp
echo -lhbcpage >> build.tmp
echo -lhbdebug >> build.tmp
echo -lhbvm >> build.tmp
echo -lhbrtl >> build.tmp
echo -l%_HB_GT_LIB% >> build.tmp
echo -lhblang >> build.tmp
echo -lhbrdd >> build.tmp
echo -lhbrtl >> build.tmp
echo -lhbvm >> build.tmp
echo -lhbmacro >> build.tmp
echo -lhbpp >> build.tmp
echo -lrddfpt >> build.tmp
echo -lrddntx >> build.tmp
echo -lrddcdx >> build.tmp
echo -lhbsix >> build.tmp
echo -lhbcommon >> build.tmp
echo -lm >> build.tmp
gcc @build.tmp
del build.tmp
goto END
:A_DOS_DJGPP_NOT
if not "%HB_COMPILER%" == "rsx32" GOTO A_DOS_RSX32_NOT
gcc %1.c -Zrsx32 %CFLAGS% -I%HB_INC_INSTALL% -L%HB_LIB_INSTALL% -lhbcpage -lhbdebug -lhbvm -lhbrtl -l%_HB_GT_LIB% -lhblang -lhbrdd -lhbrtl -lhbvm -lhbmacro -lhbpp -lrddfpt -lrddntx -lrddcdx -lhbsix -lhbcommon -lhbpcre -lhbzlib
goto END
:A_DOS_RSX32_NOT
if not "%HB_COMPILER%" == "watcom" goto END
wpp386 -j -w3 -d2 -5s -5r -fp5 -oxehtz -zq -zt0 -bt=DOS %1.c -fo=%1.obj
echo debug all OP osn=DOS OP stack=65536 OP CASEEXACT OP stub=cwstub.exe NAME %1.exe > build.tmp
echo FILE %1.obj >> build.tmp
echo LIB hbcpage.lib >> build.tmp
echo LIB hbdebug.lib >> build.tmp
echo LIB hbvm.lib >> build.tmp
echo LIB hbrtl.lib >> build.tmp
echo LIB %_HB_GT_LIB%.lib >> build.tmp
echo LIB hblang.lib >> build.tmp
echo LIB hbrdd.lib >> build.tmp
echo LIB hbmacro.lib >> build.tmp
echo LIB hbpp.lib >> build.tmp
echo LIB rddntx.lib >> build.tmp
echo LIB rddcdx.lib >> build.tmp
echo LIB rddfpt.lib >> build.tmp
echo LIB hbsix.lib >> build.tmp
echo LIB hbcommon.lib >> build.tmp
echo LIB hbpcre.lib >> build.tmp
echo LIB hbzlib.lib >> build.tmp
wlink @build.tmp
del build.tmp
goto END
:A_W32
if not "%HB_ARCHITECTURE%" == "w32" goto A_OS2
if "%HB_GT_LIB%" == "" set _HB_GT_LIB=gtwin
if "%HB_COMPILER%" == "bcc32" bcc32 -O2 -d %CFLAGS% -I%HB_INC_INSTALL% -L%HB_LIB_INSTALL% %1.c hbcpage.lib hbdebug.lib hbvm.lib hbrtl.lib %_HB_GT_LIB%.lib hblang.lib hbrdd.lib hbmacro.lib hbpp.lib rddfpt.lib rddntx.lib rddcdx.lib hbsix.lib hbcommon.lib hbpcre.lib hbzlib.lib %HB_USER_LIBS%
if "%HB_COMPILER%" == "gcc" gcc %1.c -o%1.exe %CFLAGS% -I%HB_INC_INSTALL% -L%HB_LIB_INSTALL% -lhbcpage -lhbdebug -lhbvm -lhbrtl -l%_HB_GT_LIB% -lhblang -lhbrdd -lhbrtl -lhbvm -lhbmacro -lhbpp -lrddfpt -lrddntx -lrddcdx -lhbsix -lhbcommon -lhbpcre -lhbzlib
if "%HB_COMPILER%" == "mingw32" gcc %1.c -o%1.exe %CFLAGS% -mno-cygwin -I%HB_INC_INSTALL% %HB_INC_TEMP% -L%HB_LIB_INSTALL% -lhbcpage -lhbdebug -lhbvm -lhbrtl -l%_HB_GT_LIB% -lhblang -lhbrdd -lhbrtl -lhbvm -lhbmacro -lhbpp -lrddfpt -lrddntx -lrddcdx -lhbsix -lhbcommon -lhbpcre -lhbzlib
if "%HB_COMPILER%" == "rsxnt" gcc %1.c -Zwin32 %CFLAGS% -I%HB_INC_INSTALL% -L%HB_LIB_INSTALL% -lhbcpage -lhbdebug -lhbvm -lhbrtl -l%_HB_GT_LIB% -lhblang -lhbrdd -lhbrtl -lhbvm -lhbmacro -lhbpp -lrddfpt -lrddntx -lrddcdx -lhbsix -lhbcommon -lhbpcre -lhbzlib
if "%HB_COMPILER%" == "msvc" cl -TP -W3 %CFLAGS% -I%HB_INC_INSTALL% %1.c /link /subsystem:CONSOLE /LIBPATH:%HB_LIB_INSTALL% hbcpage.lib hbdebug.lib hbvm.lib hbrtl.lib %_HB_GT_LIB%.lib hblang.lib hbrdd.lib hbmacro.lib hbpp.lib rddntx.lib rddcdx.lib rddfpt.lib hbsix.lib hbcommon.lib hbpcre.lib hbzlib.lib user32.lib winspool.lib %HB_USER_LIBS%
if "%HB_COMPILER%" == "msvc" echo Ignore LNK4033 warning
:C_WATCOM
if not "%HB_COMPILER%" == "watcom" goto end
wpp386 -j -w3 -d2 -5s -5r -fp5 -oxehtz -zq -zt0 -mf -bt=NT %1.c -fo=%1.obj
echo debug all OP osn=NT OP stack=65536 OP CASEEXACT NAME %1.exe > build.tmp
echo FILE %1.obj >> build.tmp
echo LIB hbcpage.lib >> build.tmp
echo LIB hbdebug.lib >> build.tmp
echo LIB hbvm.lib >> build.tmp
echo LIB hbrtl.lib >> build.tmp
echo LIB %_HB_GT_LIB%.lib >> build.tmp
echo LIB hblang.lib >> build.tmp
echo LIB hbmacro.lib >> build.tmp
echo LIB hbpp.lib >> build.tmp
echo LIB rddntx.lib >> build.tmp
echo LIB rddcdx.lib >> build.tmp
echo LIB rddfpt.lib >> build.tmp
echo LIB hbsix.lib >> build.tmp
echo LIB hbrdd.lib >> build.tmp
echo LIB hbcommon.lib >> build.tmp
echo LIB hbpcre.lib >> build.tmp
echo LIB hbzlib.lib >> build.tmp
echo LIB kernel32.lib >> build.tmp
echo LIB user32.lib >> build.tmp
echo LIB winspool.lib >> build.tmp
echo LIB oleaut32.lib >> build.tmp
echo LIB uuid.lib >> build.tmp
wlink @build.tmp
del build.tmp
goto END
:A_OS2
if not "%HB_ARCHITECTURE%" == "os2" goto A_LINUX
if "%HB_GT_LIB%" == "" set _HB_GT_LIB=gtos2
if "%HB_COMPILER%" == "gcc" gcc %1.c %CFLAGS% -I%HB_INC_INSTALL% -L%HB_LIB_INSTALL% -lhbcpage -lhbdebug -lhbvm -lhbrtl -l%_HB_GT_LIB% -lhblang -lhbrdd -lhbrtl -lhbvm -lhbmacro -lhbpp -lrddfpt -lrddntx -lrddcdx -lhbsix -lhbcommon -lhbpcre -lhbzlib
if "%HB_COMPILER%" == "icc" icc /Gs+ /W2 /Se /Sd+ /Ti+ /C- /Tp %CFLAGS% -I%HB_INC_INSTALL% %1.c %HB_LIB_INSTALL%\hbcpage.lib %HB_LIB_INSTALL%\hbdebug.lib %HB_LIB_INSTALL%\hbvm.lib %HB_LIB_INSTALL%\hbrtl.lib %HB_LIB_INSTALL%\%_HB_GT_LIB%.lib %HB_LIB_INSTALL%\hblang.lib %HB_LIB_INSTALL%\hbrdd.lib %HB_LIB_INSTALL%\hbrtl.lib %HB_LIB_INSTALL%\hbvm.lib %HB_LIB_INSTALL%\hbmacro.lib %HB_LIB_INSTALL%\hbpp.lib %HB_LIB_INSTALL%\rddfpt.lib %HB_LIB_INSTALL%\rddntx.lib %HB_LIB_INSTALL%\rddcdx.lib %HB_LIB_INSTALL%\hbsix.lib %HB_LIB_INSTALL%\hbcommon.lib %HB_LIB_INSTALL%\hbpcre.lib %HB_LIB_INSTALL%\hbzlib.lib
goto END
:A_LINUX
if not "%HB_ARCHITECTURE%" == "linux" goto BAD_ARCH
if "%HB_GT_LIB%" == "" set _HB_GT_LIB=gtstd
if "%HB_COMPILER%" == "gcc" gcc %1.c %CFLAGS% -I%HB_INC_INSTALL% -L../lib -lhbcpage -lhbdebug -lhbvm -lhbrtl -l%_HB_GT_LIB% -lhblang -lhbrdd -lhbrtl -lhbvm -lhbmacro -lhbpp -lrddfpt -lrddntx -lrddcdx -lhbsix -lhbcommon -lhbpcre -lhbzlib
goto END
:CLEANUP
del %1.c
:END