* harbour-ce-spec
* make_xmingwce.sh
* harbour-w32-spec
* bin/bld.bat
* make_xmingw.sh
* make_gnu.bat
* make_gnu.sh
* make_tgz.sh
* mingw32 -> mingw changes.
! hbw32 -> hbwin fixes.
+ config/w32/bcc32.cf
- config/w32/bcc.cf
* Renamed back, because it's difficult to know in advance
how they will solve this, and there would be too many places
to update.
226 lines
8.6 KiB
Batchfile
226 lines
8.6 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-2008 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=mingw
|
|
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.
|
|
pause
|
|
echo HB_COMPILER:
|
|
echo - When HB_ARCHITECTURE=dos
|
|
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 - mingw (MinGW GNU C, Windows 32-bit)
|
|
echo - gcc (Cygnus/Cygwin 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/64-bit)
|
|
echo - watcom (OpenWatcom, Windows 32-bit)
|
|
echo.
|
|
pause
|
|
echo HB_GT_LIB:
|
|
echo - gtstd (Standard streaming) (for all architectures)
|
|
echo - gtdos (DOS console) (for dos architecture)
|
|
echo - gtwin (Windows console) (for w32 architecture)
|
|
echo - gtwvt (Windows GUI console) (for w32 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 -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%" == "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 -lhbhsx >> 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 -lhbhsx -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 hbhsx.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 %HB_USER_LIBS% 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 hbhsx.lib hbsix.lib hbcommon.lib hbpcre.lib hbzlib.lib
|
|
|
|
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 -lhbhsx -lhbsix -lhbcommon -lhbpcre -lhbzlib
|
|
if "%HB_COMPILER%" == "mingw" 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 -lhbhsx -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 -lhbhsx -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% %HB_USER_LIBS% 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 hbhsx.lib hbsix.lib hbcommon.lib hbpcre.lib hbzlib.lib user32.lib wsock32.lib advapi32.lib gdi32.lib
|
|
|
|
: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 hbhsx.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 wsock32.lib >> build.tmp
|
|
wlink @build.tmp
|
|
del build.tmp
|
|
goto END
|
|
|
|
:CLEANUP
|
|
|
|
del %1.c
|
|
|
|
:END
|