2009-02-17 02:16 UTC+0100 Viktor Szakats (harbour.01 syenar hu)

- bin/hbmk.bat
  - bin/hbmk_gcc.bat
  - bin/hbmk_os2.cmd
  - bin/hbmk_ow.bat
  - bin/hbmk_b32.bat
  - bin/hbmk_vc.bat
    - Removed make files obsoleted by new hbmk tool.
      Old calling convention, features, switches, envvars
      continue to work.
      WARNING: If you've called hbmk as hbmk.bat,
               you'll need to change that to simply hbmk.

  * contrib/hbodbc/odbc.c
    * Minor formatting.

  * utils/hbmk/hbmk.prg
    ! Fixed owatcom link commands. (it was also wrong
      in hbmk.bat)
    + Added -debug support for owatcom. (untested)
    + Added rsxnt/rsx32 support in an unobtrusive way.
This commit is contained in:
Viktor Szakats
2009-02-16 01:18:00 +00:00
parent 0bbab2a284
commit ac54370493
9 changed files with 69 additions and 723 deletions

View File

@@ -8,6 +8,28 @@
2009-12-31 13:59 UTC+0100 Foo Bar (foo.bar foobar.org)
*/
2009-02-17 02:16 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
- bin/hbmk.bat
- bin/hbmk_gcc.bat
- bin/hbmk_os2.cmd
- bin/hbmk_ow.bat
- bin/hbmk_b32.bat
- bin/hbmk_vc.bat
- Removed make files obsoleted by new hbmk tool.
Old calling convention, features, switches, envvars
continue to work.
WARNING: If you've called hbmk as hbmk.bat,
you'll need to change that to simply hbmk.
* contrib/hbodbc/odbc.c
* Minor formatting.
* utils/hbmk/hbmk.prg
! Fixed owatcom link commands. (it was also wrong
in hbmk.bat)
+ Added -debug support for owatcom. (untested)
+ Added rsxnt/rsx32 support in an unobtrusive way.
2009-02-17 00:40 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* common.mak
* make_b32.mak

View File

@@ -1,472 +0,0 @@
@rem
@rem $Id$
@rem
@echo off
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-2009 Viktor Szakats (viktor.szakats@syenar.hu)
rem See doc/license.txt for licensing terms.
rem ---------------------------------------------------------------
rem if "%HB_ARCHITECTURE%" == "" set HB_ARCHITECTURE=win
rem if "%HB_COMPILER%" == "" set HB_COMPILER=mingw
if "%OS%" == "Windows_NT" goto _S_WINNT
if "%HB_INSTALL_PREFIX%" == "" set HB_INSTALL_PREFIX=..
if "%HB_BIN_INSTALL%" == "" set HB_BIN_INSTALL=%HB_INSTALL_PREFIX%\bin
if "%HB_LIB_INSTALL%" == "" set HB_LIB_INSTALL=%HB_INSTALL_PREFIX%\lib
if "%HB_INC_INSTALL%" == "" set HB_INC_INSTALL=%HB_INSTALL_PREFIX%\include
goto _S_END
:_S_WINNT
rem ; Autodetect architecture
if "%HB_ARCHITECTURE%" == "" set HB_ARCHITECTURE=win
echo Autodetected HB_ARCHITECTURE: %HB_ARCHITECTURE%
if "%HB_INSTALL_PREFIX%" == "" set HB_INSTALL_PREFIX=%~dp0..
if "%HB_BIN_INSTALL%" == "" set HB_BIN_INSTALL=%HB_INSTALL_PREFIX%\bin
if "%HB_LIB_INSTALL%" == "" set HB_LIB_INSTALL=%HB_INSTALL_PREFIX%\lib
if "%HB_INC_INSTALL%" == "" set HB_INC_INSTALL=%HB_INSTALL_PREFIX%\include
goto _S_END
:_S_END
rem ; Autodetect compiler
if not "%HB_COMPILER%" == "" goto _SKP_WIN_COMP_DETECTION
if not "%HB_ARCHITECTURE%" == "win" goto _SKP_WIN_COMP_DETECTION
set _HB_APP=gcc.exe
set _HB_COMPILER=mingw
if exist "%_HB_APP%" set HB_COMPILER=%_HB_COMPILER%
set _PATH=%PATH%
:_SP_GCC
for /F "delims=; tokens=1,2*" %%p in ("%_PATH%") do (
if exist "%%p\%_HB_APP%" ( set HB_COMPILER=%_HB_COMPILER%&& goto _SP_DONE )
if exist "%%p%_HB_APP%" ( set HB_COMPILER=%_HB_COMPILER%&& goto _SP_DONE )
set _PATH=%%~q;%%~r
)
if not "%_PATH%"==";" goto _SP_GCC
if not "%HB_COMPILER%" == "" goto _SP_DONE
set _HB_APP=cl.exe
set _HB_COMPILER=msvc
if exist "%_HB_APP%" set HB_COMPILER=%_HB_COMPILER%
set _PATH=%PATH%
:_SP_CL
for /F "delims=; tokens=1,2*" %%p in ("%_PATH%") do (
if exist "%%p\%_HB_APP%" ( set HB_COMPILER=%_HB_COMPILER%&& goto _SP_DONE )
if exist "%%p%_HB_APP%" ( set HB_COMPILER=%_HB_COMPILER%&& goto _SP_DONE )
set _PATH=%%~q;%%~r
)
if not "%_PATH%"==";" goto _SP_CL
if not "%HB_COMPILER%" == "" goto _SP_DONE
set _HB_APP=bcc32.exe
set _HB_COMPILER=bcc32
if exist "%_HB_APP%" set HB_COMPILER=%_HB_COMPILER%
set _PATH=%PATH%
:_SP_BCC32
for /F "delims=; tokens=1,2*" %%p in ("%_PATH%") do (
if exist "%%p\%_HB_APP%" ( set HB_COMPILER=%_HB_COMPILER%&& goto _SP_DONE )
if exist "%%p%_HB_APP%" ( set HB_COMPILER=%_HB_COMPILER%&& goto _SP_DONE )
set _PATH=%%~q;%%~r
)
if not "%_PATH%"==";" goto _SP_BCC32
if not "%HB_COMPILER%" == "" goto _SP_DONE
set _HB_APP=wpp386.exe
set _HB_COMPILER=owatcom
if exist "%_HB_APP%" set HB_COMPILER=%_HB_COMPILER%
set _PATH=%PATH%
:_SP_WPP386
for /F "delims=; tokens=1,2*" %%p in ("%_PATH%") do (
if exist "%%p\%_HB_APP%" ( set HB_COMPILER=%_HB_COMPILER%&& goto _SP_DONE )
if exist "%%p%_HB_APP%" ( set HB_COMPILER=%_HB_COMPILER%&& goto _SP_DONE )
set _PATH=%%~q;%%~r
)
if not "%_PATH%"==";" goto _SP_WPP386
if not "%HB_COMPILER%" == "" goto _SP_DONE
:_SP_DONE
if not "%HB_COMPILER%" == "" echo Autodetected HB_COMPILER: %HB_COMPILER%
:_SKP_WIN_COMP_DETECTION
set _HB_USR_C=
set _HB_USR_L=
:START
if "%HB_ARCHITECTURE%" == "" goto NO_ARCH
if "%HB_COMPILER%" == "" goto NO_COMP
if not "%1" == "" goto COMPILE
:HELP
echo.
echo Usage: hbmk [-mt] [-gui] [-shared] [-debug] filename
echo.
echo Notes:
echo.
echo - 'filename' is the .prg filename (without extension on pre-NT systems).
echo - Don't forget to create a MAIN() function in your application.
echo - Environment variables HB_ARCHITECTURE, HB_COMPILER must be set.
echo The following values are currently supported:
echo.
echo HB_ARCHITECTURE:
echo - dos
echo - win
echo.
echo HB_COMPILER:
echo - When HB_ARCHITECTURE=dos
echo - djgpp (Delorie GNU C, DOS 32-bit)
echo - owatcom (OpenWatcom, DOS 32-bit)
echo - rxs32 (EMX/RSXNT/DOS GNU C, DOS 32-bit)
echo - When HB_ARCHITECTURE=win
echo - msvc (Microsoft Visual C++, Windows 32/64-bit)
echo - mingw (MinGW GNU C, Windows 32-bit)
echo - gcc (Cygnus/Cygwin GNU C, Windows 32-bit)
echo - bcc32 (Borland C++ 4.x, 5.x, 6.x, Windows 32-bit)
echo - owatcom (OpenWatcom, Windows 32-bit)
echo - rxsnt (EMX/RSXNT/Windows GNU C, Windows 32-bit)
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
if "%OS%" == "Windows_NT" goto _P_WINNT
set _HB_P_MAIN=%1
set _HB_P_PRG=%1.prg
set _HB_P_PRG_C=%1.c
set _HB_P_C=
set _HB_P_O=%1.o
set _HB_P_OBJ=%1.obj
set _HB_P_OPT=%2 %3
set _HB_MT=%HB_MT%
set _HB_GUI=%HB_GUI%
set _HB_SHARED=%HB_SHARED%
set _HB_DEBUG=%HB_DEBUG%
:REPEAT
if not "%1" == "-mt" goto NO_MT
set _HB_MT=yes
shift
goto REPEAT
:NO_MT
if not "%1" == "-gui" goto NO_GUI
set _HB_GUI=yes
shift
goto REPEAT
:NO_GUI
if not "%1" == "-shared" goto NO_SHARED
set _HB_SHARED=yes
shift
goto REPEAT
:NO_SHARED
if not "%1" == "-debug" goto NO_DEBUG
set _HB_DEBUG=yes
shift
goto REPEAT
:NO_DEBUG
goto _P_END
:_P_WINNT
set _HB_P_MAIN=
set _HB_P_PRG=
set _HB_P_PRG_C=
set _HB_P_C=
set _HB_P_O=
set _HB_P_OBJ=
set _HB_P_OPT=
:_P_SORT_R
set _HB_P_TMP=%~x1
if "%_HB_P_TMP%" == ".PRG" set _HB_P_TMP=.prg
if not "%_HB_P_TMP%" == ".prg" goto _P_SORT_NP
if "%_HB_P_MAIN%" == "" set _HB_P_MAIN=%~dpn1
set _HB_P_PRG=%_HB_P_PRG% %1
set _HB_P_PRG_C=%_HB_P_PRG_C% %~dpn1.c
set _HB_P_O=%_HB_P_O% %~dpn1.o
set _HB_P_OBJ=%_HB_P_OBJ% %~dpn1.obj
shift
goto _P_SORT_R
:_P_SORT_NP
if not "%~x1" == ".c" goto _P_SORT_NC
if "%_HB_P_MAIN%" == "" set _HB_P_MAIN=%~dpn1
set _HB_P_C=%_HB_P_C% %1
set _HB_P_O=%_HB_P_O% %~dpn1.o
set _HB_P_OBJ=%_HB_P_OBJ% %~dpn1.obj
shift
goto _P_SORT_R
:_P_SORT_NC
if not "%1" == "-mt" goto _P_SORT_NO_MT
set _HB_MT=yes
shift
goto _P_SORT_R
:_P_SORT_NO_MT
if not "%1" == "-gui" goto _P_SORT_NO_GUI
set _HB_GUI=yes
shift
goto _P_SORT_R
:_P_SORT_NO_GUI
if not "%1" == "-shared" goto _P_SORT_NO_SHARED
set _HB_SHARED=yes
shift
goto _P_SORT_R
:_P_SORT_NO_SHARED
if not "%1" == "-debug" goto _P_SORT_NO_DEBUG
set _HB_DEBUG=yes
shift
goto _P_SORT_R
:_P_SORT_NO_DEBUG
if "%1" == "" goto _P_SORT_E
set _HB_P_OPT=%_HB_P_OPT%
shift
goto _P_SORT_R
:_P_SORT_E
goto _P_END
:_P_END
if not "%_HB_MT%" == "yes" set _HB_MT=
if "%_HB_MT%" == "yes" set _HB_MT=mt
if not "%_HB_P_PRG%" == "" %HB_BIN_INSTALL%\harbour %_HB_P_PRG% -n -q0 -i%HB_INC_INSTALL% %HB_USER_PRGFLAGS% %_HB_P_OPT%
:A_DOS
if not "%HB_ARCHITECTURE%" == "dos" goto A_WIN
if not "%HB_COMPILER%" == "djgpp" goto A_DOS_DJGPP_NOT
echo %_HB_P_PRG_C% %_HB_P_C% > _hb_mk.tmp
echo -o%_HB_P_MAIN%.exe -O3 %HB_USER_CFLAGS% -I%HB_INC_INSTALL% -L%HB_LIB_INSTALL% >> _hb_mk.tmp
echo -lhbcpage >> _hb_mk.tmp
echo -lhbdebug >> _hb_mk.tmp
echo -lhbvm >> _hb_mk.tmp
echo -lhbrtl >> _hb_mk.tmp
echo -lgtdos >> _hb_mk.tmp
echo -lgtcgi >> _hb_mk.tmp
echo -lgtstd >> _hb_mk.tmp
echo -lgtpca >> _hb_mk.tmp
echo -lhblang >> _hb_mk.tmp
echo -lhbrdd >> _hb_mk.tmp
echo -lhbrtl >> _hb_mk.tmp
echo -lhbvm%_HB_MT% >> _hb_mk.tmp
echo -lhbmacro >> _hb_mk.tmp
echo -lhbpp >> _hb_mk.tmp
echo -lrddfpt >> _hb_mk.tmp
echo -lrddntx >> _hb_mk.tmp
echo -lrddnsx >> _hb_mk.tmp
echo -lrddcdx >> _hb_mk.tmp
echo -lhbhsx >> _hb_mk.tmp
echo -lhbsix >> _hb_mk.tmp
echo -lhbcommon >> _hb_mk.tmp
echo -lm >> _hb_mk.tmp
gcc @_hb_mk.tmp
del _hb_mk.tmp
goto CLEANUP
:A_DOS_DJGPP_NOT
if not "%HB_COMPILER%" == "rsx32" goto A_DOS_RSX32_NOT
gcc %_HB_P_PRG_C% -O3 -Zrsx32 %HB_USER_CFLAGS% -I%HB_INC_INSTALL% -L%HB_LIB_INSTALL% -lhbcpage -lhbdebug -lhbvm -lhbrtl -lgtdos -lgtcgi -lgtstd -lgtpca -lhblang -lhbrdd -lhbrtl -lhbvm -lhbmacro -lhbpp -lrddfpt -lrddntx -lrddnsx -lrddcdx -lhbhsx -lhbsix -lhbcommon -lhbpcre -lhbzlib
goto CLEANUP
:A_DOS_RSX32_NOT
if not "%HB_COMPILER%" == "owatcom" goto END
wpp386 -j -w3 -5s -5r -fp5 -oxehtz -zq -zt0 -bt=DOS %HB_USER_CFLAGS% %_HB_P_PRG_C% %_HB_P_C%
echo OP osn=DOS OP stack=65536 OP CASEEXACT OP stub=cwstub.exe %HB_USER_LDFLAGS% NAME %_HB_P_MAIN%.exe > _hb_mk.tmp
echo LIB hbcpage.lib >> _hb_mk.tmp
echo LIB hbdebug.lib >> _hb_mk.tmp
echo LIB hbvm.lib >> _hb_mk.tmp
echo LIB hbrtl.lib >> _hb_mk.tmp
echo LIB gtdos.lib >> _hb_mk.tmp
echo LIB gtcgi.lib >> _hb_mk.tmp
echo LIB gtstd.lib >> _hb_mk.tmp
echo LIB gtpca.lib >> _hb_mk.tmp
echo LIB hblang.lib >> _hb_mk.tmp
echo LIB hbrdd.lib >> _hb_mk.tmp
echo LIB hbmacro.lib >> _hb_mk.tmp
echo LIB hbpp.lib >> _hb_mk.tmp
echo LIB rddntx.lib >> _hb_mk.tmp
echo LIB rddnsx.lib >> _hb_mk.tmp
echo LIB rddcdx.lib >> _hb_mk.tmp
echo LIB rddfpt.lib >> _hb_mk.tmp
echo LIB hbhsx.lib >> _hb_mk.tmp
echo LIB hbsix.lib >> _hb_mk.tmp
echo LIB hbcommon.lib >> _hb_mk.tmp
echo LIB hbpcre.lib >> _hb_mk.tmp
echo LIB hbzlib.lib >> _hb_mk.tmp
wlink @_hb_mk.tmp
del _hb_mk.tmp
goto CLEANUP
:A_WIN
rem ; Compatibility. Please use 'win'.
if "%HB_ARCHITECTURE%" == "w32" set HB_ARCHITECTURE=win
if not "%HB_ARCHITECTURE%" == "win" goto END
if not "%HB_COMPILER%" == "bcc32" goto A_WIN_BCC_NOT
if "%_HB_DEBUG%" == "yes" set _HB_USR_C=-y -v
if "%_HB_GUI%" == "yes" set _HB_USR_C=%_HB_USR_C% -tW
if not "%_HB_SHARED%" == "yes" bcc32 -q -tWM -O2 -OS -Ov -Oi -Oc -d %HB_USER_CFLAGS% %_HB_USR_C% -I%HB_INC_INSTALL% -L%HB_LIB_INSTALL% %_HB_P_PRG_C% %_HB_P_C% %HB_USER_LIBS% hbcpage.lib hbdebug.lib hbvm%_HB_MT%.lib hbrtl.lib gtcgi.lib gtgui.lib gtpca.lib gtstd.lib gtwin.lib gtwvt.lib hblang.lib hbrdd.lib hbmacro.lib hbpp.lib rddfpt.lib rddntx.lib rddnsx.lib rddcdx.lib hbhsx.lib hbsix.lib hbcommon.lib hbpcre.lib hbzlib.lib
if "%_HB_SHARED%" == "yes" bcc32 -q -tWM -O2 -OS -Ov -Oi -Oc -d %HB_USER_CFLAGS% %_HB_USR_C% -I%HB_INC_INSTALL% -L%HB_LIB_INSTALL% %_HB_P_PRG_C% %_HB_P_C% %HB_USER_LIBS% harbour%_HB_MT%-11-b32.lib hbmainstd.lib hbmainwin.lib hbcommon.lib
goto CLEANUP
:A_WIN_BCC_NOT
if not "%HB_COMPILER%" == "msvc" goto A_WIN_MSVC_NOT
if "%_HB_DEBUG%" == "yes" set _HB_USR_C=-MTd -Zi
if not "%_HB_GUI%" == "yes" set _HB_USR_L=/subsystem:console
if "%_HB_GUI%" == "yes" set _HB_USR_L=/subsystem:windows
if not "%_HB_SHARED%" == "yes" cl -nologo -W3 %HB_USER_CFLAGS% %_HB_USR_C% -I%HB_INC_INSTALL% %_HB_P_PRG_C% %_HB_P_C% /link /libpath:%HB_LIB_INSTALL% %HB_USER_LDFLAGS% %_HB_USR_L% %HB_USER_LIBS% hbcpage.lib hbdebug.lib hbvm%_HB_MT%.lib hbrtl.lib gtcgi.lib gtgui.lib gtpca.lib gtstd.lib gtwin.lib gtwvt.lib hblang.lib hbrdd.lib hbmacro.lib hbpp.lib rddntx.lib rddnsx.lib rddcdx.lib rddfpt.lib hbhsx.lib hbsix.lib hbcommon.lib hbpcre.lib hbzlib.lib user32.lib wsock32.lib advapi32.lib gdi32.lib
if "%_HB_SHARED%" == "yes" cl -nologo -W3 %HB_USER_CFLAGS% %_HB_USR_C% -I%HB_INC_INSTALL% %_HB_P_PRG_C% %_HB_P_C% /link /libpath:%HB_LIB_INSTALL% %HB_USER_LDFLAGS% %_HB_USR_L% %HB_USER_LIBS% harbour%_HB_MT%-11-vc.lib hbmainstd.lib hbmainwin.lib hbcommon.lib user32.lib wsock32.lib advapi32.lib gdi32.lib
goto CLEANUP
:A_WIN_MSVC_NOT
if "%HB_COMPILER%" == "gcc" set HB_COMPILER=mingw
if not "%HB_COMPILER%" == "mingw" goto A_WIN_MINGW_NOT
gcc %_HB_P_PRG_C% %_HB_P_C% -O3 -o%_HB_P_MAIN%.exe %HB_USER_CFLAGS% -I%HB_INC_INSTALL% -L%HB_LIB_INSTALL% -lhbcpage -lhbdebug -lhbvm%_HB_MT% -lhbrtl -lgtcgi -lgtgui -lgtpca -lgtstd -lgtwin -lgtwvt -lhblang -lhbrdd -lhbrtl -lhbvm%_HB_MT% -lhbmacro -lhbpp -lrddfpt -lrddntx -lrddnsx -lrddcdx -lhbhsx -lhbsix -lhbcommon -lhbpcre -lhbzlib
set _HB_P_OBJ=
if not "%_HB_P_O%" == "" del %_HB_P_O%
goto CLEANUP
:A_WIN_MINGW_NOT
if not "%HB_COMPILER%" == "rsxnt" goto A_WIN_RSXNT_NOT
gcc %_HB_P_PRG_C% %_HB_P_C% -O3 -Zwin32 %HB_USER_CFLAGS% -I%HB_INC_INSTALL% -L%HB_LIB_INSTALL% -lhbcpage -lhbdebug -lhbvm%_HB_MT% -lhbrtl -lgtcgi -lgtgui -lgtpca -lgtstd -lgtwin -lgtwvt -lhblang -lhbrdd -lhbrtl -lhbvm%_HB_MT% -lhbmacro -lhbpp -lrddfpt -lrddntx -lrddnsx -lrddcdx -lhbhsx -lhbsix -lhbcommon -lhbpcre -lhbzlib
set _HB_P_OBJ=
if not "%_HB_P_O%" == "" del %_HB_P_O%
goto CLEANUP
:A_WIN_RSXNT_NOT
if not "%HB_COMPILER%" == "owatcom" goto END
wpp386 -j -w3 -5s -5r -fp5 -oxehtz -zq -zt0 -mf -bt=NT %HB_USER_CFLAGS% %_HB_P_PRG_C% %_HB_P_C%
echo OP osn=NT OP stack=65536 OP CASEEXACT %HB_USER_LDFLAGS% NAME %_HB_P_MAIN%.exe > _hb_mk.tmp
echo LIB hbcpage.lib >> _hb_mk.tmp
echo LIB hbdebug.lib >> _hb_mk.tmp
echo LIB hbvm%_HB_MT%.lib >> _hb_mk.tmp
echo LIB hbrtl.lib >> _hb_mk.tmp
echo LIB gtcgi.lib >> _hb_mk.tmp
echo LIB gtgui.lib >> _hb_mk.tmp
echo LIB gtpca.lib >> _hb_mk.tmp
echo LIB gtstd.lib >> _hb_mk.tmp
echo LIB gtwin.lib >> _hb_mk.tmp
echo LIB gtwvt.lib >> _hb_mk.tmp
echo LIB hblang.lib >> _hb_mk.tmp
echo LIB hbmacro.lib >> _hb_mk.tmp
echo LIB hbpp.lib >> _hb_mk.tmp
echo LIB rddntx.lib >> _hb_mk.tmp
echo LIB rddnsx.lib >> _hb_mk.tmp
echo LIB rddcdx.lib >> _hb_mk.tmp
echo LIB rddfpt.lib >> _hb_mk.tmp
echo LIB hbhsx.lib >> _hb_mk.tmp
echo LIB hbsix.lib >> _hb_mk.tmp
echo LIB hbrdd.lib >> _hb_mk.tmp
echo LIB hbcommon.lib >> _hb_mk.tmp
echo LIB hbpcre.lib >> _hb_mk.tmp
echo LIB hbzlib.lib >> _hb_mk.tmp
echo LIB kernel32.lib >> _hb_mk.tmp
echo LIB user32.lib >> _hb_mk.tmp
echo LIB wsock32.lib >> _hb_mk.tmp
wlink @_hb_mk.tmp
del _hb_mk.tmp
goto CLEANUP
:CLEANUP
if not "%_HB_P_PRG_C%" == "" del %_HB_P_PRG_C%
if not "%_HB_P_OBJ%" == "" del %_HB_P_OBJ%
rem Borland stuff
if not "%_HB_DEBUG%" == "yes" if exist %_HB_P_MAIN%.tds del %_HB_P_MAIN%.tds
goto END
:END
set _HB_APP=
set _HB_COMPILER=
set _HB_MT=
set _HB_GUI=
set _HB_SHARED=
set _HB_DEBUG=
set _HBVM_LIB=
set _HB_USR_C=
set _HB_USR_L=
set _PATH=
set _HB_P_MAIN=
set _HB_P_PRG=
set _HB_P_PRG_C=
set _HB_P_C=
set _HB_P_O=
set _HB_P_OBJ=
set _HB_P_OPT=
set _HB_P_TMP=

View File

@@ -1,17 +0,0 @@
@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 ---------------------------------------------------------------
@set HB_ARCHITECTURE=win
@set HB_COMPILER=bcc32
@if "%OS%" == "Windows_NT" call "%~dp0hbmk.bat" %*
@if not "%OS%" == "Windows_NT" call hbmk.bat %1 %2 %3 %4 %5 %6 %7 %8 %9

View File

@@ -1,17 +0,0 @@
@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 ---------------------------------------------------------------
@set HB_ARCHITECTURE=win
@set HB_COMPILER=gcc
@if "%OS%" == "Windows_NT" call "%~dp0hbmk.bat" %*
@if not "%OS%" == "Windows_NT" call hbmk.bat %1 %2 %3 %4 %5 %6 %7 %8 %9

View File

@@ -1,139 +0,0 @@
@rem
@rem $Id$
@rem
@echo off
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 ---------------------------------------------------------------
if "%HB_COMPILER%" == "" set HB_COMPILER=gcc
if "%HB_INSTALL_PREFIX%" == "" set HB_INSTALL_PREFIX=..
if "%HB_BIN_INSTALL%" == "" set HB_BIN_INSTALL=%HB_INSTALL_PREFIX%\bin
if "%HB_LIB_INSTALL%" == "" set HB_LIB_INSTALL=%HB_INSTALL_PREFIX%\lib
if "%HB_INC_INSTALL%" == "" set HB_INC_INSTALL=%HB_INSTALL_PREFIX%\include
set _HB_MT=%HB_MT%
if not "%1" == "-mt" goto NO_MT
set _HB_MT=yes
shift
:NO_MT
set _HBVM_LIB=hbvm
if "%_HB_MT%" == "yes" set _HBVM_LIB=hbvmmt
if "%_HB_MT%" == "MT" set _HBVM_LIB=hbvmmt
:START
if "%HB_COMPILER%" == "" goto NO_COMP
if not "%1" == "" goto COMPILE
:HELP
echo.
echo Usage: hbmk_os2 [-mt] filename
echo.
echo Notes:
echo.
echo - 'filename' is the .prg filename _without_ extension.
echo - Don't forget to create a MAIN() function in your application.
echo - Environment variable HB_COMPILER must be set.
echo The following values are currently supported:
echo.
echo HB_COMPILER:
echo - gcc (EMX GNU C, OS/2 32-bit)
echo - icc (IBM Visual Age C++ 3.0, OS/2 32-bit)
echo - owatcom (OpenWatcom, OS/2 32-bit)
goto END
:NO_COMP
echo Error: HB_COMPILER is not set.
goto HELP
:BAD_COMP
echo Error: HB_COMPILER value is unsupported.
goto HELP
:COMPILE
%HB_BIN_INSTALL%\harbour %1.prg -n -i%HB_INC_INSTALL% %2 %3 %HB_USER_PRGFLAGS%
:A_DOS
if not "%HB_COMPILER%" == "gcc" goto A_OS2_GCC_NOT
gcc %1.c -O3 %HB_USER_CFLAGS% -I%HB_INC_INSTALL% -L%HB_LIB_INSTALL% -lhbcpage -lhbdebug -l_HBVM_LIB -lhbrtl -lgtcgi -lgtstd -lgtos2 -lgtpca -lhblang -lhbrdd -lhbrtl -l_HBVM_LIB -lhbmacro -lhbpp -lrddfpt -lrddntx -lrddnsx -lrddcdx -lhbsix -lhbcommon -lhbpcre -lhbzlib
goto CLEANUP
:A_OS2_GCC_NOT
if not "%HB_COMPILER%" == "icc" goto A_OS2_ICC_NOT
icc /Gs+ /W2 /Se /Sd+ /Ti+ /C- /Tp %HB_USER_CFLAGS% -I%HB_INC_INSTALL% %1.c %HB_LIB_INSTALL%\hbcpage.lib %HB_LIB_INSTALL%\hbdebug.lib %HB_LIB_INSTALL%\_HBVM_LIB.lib %HB_LIB_INSTALL%\hbrtl.lib %HB_LIB_INSTALL%\gtcgi.lib %HB_LIB_INSTALL%\gtstd.lib %HB_LIB_INSTALL%\gtos2.lib %HB_LIB_INSTALL%\gtpca.lib %HB_LIB_INSTALL%\hblang.lib %HB_LIB_INSTALL%\hbrdd.lib %HB_LIB_INSTALL%\hbrtl.lib %HB_LIB_INSTALL%\_HBVM_LIB.lib %HB_LIB_INSTALL%\hbmacro.lib %HB_LIB_INSTALL%\hbpp.lib %HB_LIB_INSTALL%\rddfpt.lib %HB_LIB_INSTALL%\rddntx.lib %HB_LIB_INSTALL%\rddnsx.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 CLEANUP
:A_OS2_ICC_NOT
if not "%HB_COMPILER%" == "owatcom" goto END
wpp386 -j -w3 -5s -5r -fp5 -oxehtz -zq -zt0 -mf -bt=OS2 %HB_USER_CFLAGS% %_HB_PRG_NAME%.c -fo=%_HB_PRG_NAME%.obj
echo OP stack=65536 OP CASEEXACT %HB_USER_LDFLAGS% NAME %_HB_PRG_NAME%.exe > _hb_mk.tmp
echo FILE %_HB_PRG_NAME%.obj >> _hb_mk.tmp
echo LIB hbcpage.lib >> _hb_mk.tmp
echo LIB hbdebug.lib >> _hb_mk.tmp
echo LIB %_HBVM_LIB%.lib >> _hb_mk.tmp
echo LIB hbrtl.lib >> _hb_mk.tmp
echo LIB gtcgi.lib >> _hb_mk.tmp
echo LIB gtgui.lib >> _hb_mk.tmp
echo LIB gtpca.lib >> _hb_mk.tmp
echo LIB gtstd.lib >> _hb_mk.tmp
echo LIB gtwin.lib >> _hb_mk.tmp
echo LIB gtwvt.lib >> _hb_mk.tmp
echo LIB hblang.lib >> _hb_mk.tmp
echo LIB hbmacro.lib >> _hb_mk.tmp
echo LIB hbpp.lib >> _hb_mk.tmp
echo LIB rddntx.lib >> _hb_mk.tmp
echo LIB rddnsx.lib >> _hb_mk.tmp
echo LIB rddcdx.lib >> _hb_mk.tmp
echo LIB rddfpt.lib >> _hb_mk.tmp
echo LIB hbhsx.lib >> _hb_mk.tmp
echo LIB hbsix.lib >> _hb_mk.tmp
echo LIB hbrdd.lib >> _hb_mk.tmp
echo LIB hbcommon.lib >> _hb_mk.tmp
echo LIB hbpcre.lib >> _hb_mk.tmp
echo LIB hbzlib.lib >> _hb_mk.tmp
echo LIB kernel32.lib >> _hb_mk.tmp
echo LIB user32.lib >> _hb_mk.tmp
echo LIB wsock32.lib >> _hb_mk.tmp
wlink @_hb_mk.tmp
del _hb_mk.tmp
goto CLEANUP
:CLEANUP
if exist %1.c del %1.c
if exist %1.o del %1.o
:END
set _HB_MT=
set _HBVM_LIB=

View File

@@ -1,17 +0,0 @@
@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 ---------------------------------------------------------------
@set HB_ARCHITECTURE=win
@set HB_COMPILER=owatcom
@if "%OS%" == "Windows_NT" call "%~dp0hbmk.bat" %*
@if not "%OS%" == "Windows_NT" call hbmk.bat %1 %2 %3 %4 %5 %6 %7 %8 %9

View File

@@ -1,17 +0,0 @@
@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 ---------------------------------------------------------------
@set HB_ARCHITECTURE=win
@set HB_COMPILER=msvc
@if "%OS%" == "Windows_NT" call "%~dp0hbmk.bat" %*
@if not "%OS%" == "Windows_NT" call hbmk.bat %1 %2 %3 %4 %5 %6 %7 %8 %9

View File

@@ -4,10 +4,9 @@
/*
* Harbour Project source code
* This file contains source for first ODBC routines.
*
* This file contains source for first odbc routines.
*
* Copyright 1999 Antonio Linares <alinares@fivetech.com>
* Copyright 1999 Antonio Linares <alinares@fivetech.com>
* www - http://www.harbour-project.org
*
* This program is free software; you can redistribute it and/or modify
@@ -305,15 +304,11 @@ HB_FUNC( SQLGETDATA ) /* HB_SQLGETDATA( hStmt, nField, nType, nLen, @cBuffer ) -
break;
}
else
{
break;
}
}
hb_xfree( ( PTR ) bBuffer );
if( bOut )
{
hb_xfree( ( PTR ) bOut );
}
hb_retni( wResult );
}
@@ -486,10 +481,9 @@ HB_FUNC( SQLROWCOUN )
SQLLEN iRowCountPtr = hb_parni( 2 );
WORD wResult = SQLRowCount( ( HSTMT ) hb_parptr( 1 ),
&iRowCountPtr );
if( wResult == SQL_SUCCESS || wResult == SQL_SUCCESS_WITH_INFO )
{
hb_stornl( ( LONG ) iRowCountPtr, 2 );
}
hb_retni( wResult );
}
@@ -663,9 +657,7 @@ HB_FUNC( SQLSTOD )
hb_retds( szHrbDate );
}
else
{
hb_retds( NULL );
}
}
HB_FUNC( SQLMORERESULTS ) /* hEnv, hDbc */

View File

@@ -6,7 +6,7 @@
* Harbour Project source code:
* Harbour Make
*
* Copyright 2009 Viktor Szakats <harbour.01 syenar.hu>
* Copyright 1999-2009 Viktor Szakats <harbour.01 syenar.hu>
* www - http://www.harbour-project.org
*
* This program is free software; you can redistribute it and/or modify
@@ -152,6 +152,7 @@ FUNCTION Main( ... )
LOCAL cLibPrefix
LOCAL cLibExt
LOCAL cObjPrefix
LOCAL cObjExt
LOCAL cCommand
@@ -588,45 +589,44 @@ FUNCTION Main( ... )
CASE ( t_cARCH == "win" .AND. t_cCOMP == "gcc" ) .OR. ;
( t_cARCH == "win" .AND. t_cCOMP == "mingw" ) .OR. ;
( t_cARCH == "win" .AND. t_cCOMP == "rsxnt" ) .OR. ;
( t_cARCH == "os2" .AND. t_cCOMP == "gcc" )
cLibPrefix := "-l"
cLibExt := NIL
cObjExt := ".o"
cBin_CompC := "gcc"
cOpt_CompC := "{C} -O3 -mno-cygwin -o{E} {OPTC} -I{I} -L{A}"
cOpt_CompC := "{C} -O3 -o{E} {OPTC} -I{I} -L{A}"
IF s_lMAP
cOpt_CompC += " -Wl,-Map " + s_cMAPNAME
ENDIF
IF s_lSHARED
cOpt_CompC += " -L{B}"
ENDIF
IF t_cCOMP == "gcc"
cOpt_CompC += " -mno-cygwin"
ENDIF
IF t_cCOMP == "rsxnt"
cOpt_CompC += " -Zwin32"
ENDIF
cOpt_CompC += " {L}"
aLIB_BASE2 := ArrayAJoin( { aLIB_BASE2, { "hbcommon", "hbrtl" }, s_aLIBVM } )
IF s_lSTRIP
AAdd( s_aOPTC, "-s" )
ENDIF
CASE t_cARCH == "dos" .AND. t_cCOMP == "djgpp"
CASE ( t_cARCH == "dos" .AND. t_cCOMP == "djgpp" ) .OR. ;
( t_cARCH == "dos" .AND. t_cCOMP == "rsx32" )
cLibPrefix := "-l"
cLibExt := NIL
cObjExt := ".o"
cBin_CompC := "gcc"
cOpt_CompC := "{C} -O3 -o{E} {OPTC} -I{I} -L{A} {L}{SCRIPT}"
s_aLIBSYS := ArrayJoin( s_aLIBSYS, { "m" } )
aLIB_BASE2 := ArrayAJoin( { aLIB_BASE2, { "hbcommon", "hbrtl" }, s_aLIBVM } )
IF s_lSTRIP
AAdd( s_aOPTC, "-s" )
IF t_cCOMP == "rsx32"
cOpt_CompC += " -Zrsx32"
ENDIF
CASE t_cARCH == "dos" .AND. t_cCOMP == "rsx32"
cLibPrefix := "-l"
cLibExt := NIL
cObjExt := ".o"
cBin_CompC := "gcc"
cOpt_CompC := "{C} -O3 -Zrsx32 -o{E} {OPTC} -I{I} -L{A} {L}"
s_aLIBSYS := ArrayJoin( s_aLIBSYS, { "m" } )
aLIB_BASE2 := ArrayAJoin( { aLIB_BASE2, { "hbcommon", "hbrtl" }, s_aLIBVM } )
IF s_lSTRIP
AAdd( s_aOPTC, "-s" )
@@ -636,39 +636,52 @@ FUNCTION Main( ... )
CASE t_cARCH == "dos" .AND. t_cCOMP == "owatcom"
cLibPrefix := "LIB "
cLibExt := ".lib"
cObjPrefix := "FILE "
cObjExt := ".obj"
cBin_CompC := "wpp386"
cOpt_CompC := "-j -w3 -5s -5r -fp5 -oxehtz -zq -zt0 -bt=DOS {OPTC} {C}"
cBin_Link := "wlink"
cOpt_Link := "OP osn=DOS OP stack=65536 OP CASEEXACT OP stub=cwstub.exe {OPTL} NAME {E} {L}"
cOpt_Link := "OP osn=DOS OP stack=65536 OP CASEEXACT OP stub=cwstub.exe {OPTL} NAME {E} {O} {L}"
IF s_lDEBUG
cOpt_Link := "DEBUG " + cOpt_Link
ENDIF
CASE t_cARCH == "win" .AND. t_cCOMP == "owatcom"
cLibPrefix := "LIB "
cLibExt := ".lib"
cObjPrefix := "FILE "
cObjExt := ".obj"
cBin_CompC := "wpp386"
cOpt_CompC := "-j -w3 -5s -5r -fp5 -oxehtz -zq -zt0 -mf -bt=NT {OPTC} {C}"
cBin_Link := "wlink"
cOpt_Link := "OP osn=NT OP stack=65536 OP CASEEXACT {OPTL} NAME {E} {L}"
cOpt_Link := "OP osn=NT OP stack=65536 OP CASEEXACT {OPTL} NAME {E} {O} {L}"
IF s_lDEBUG
cOpt_Link := "DEBUG " + cOpt_Link
ENDIF
s_aLIBSYS := ArrayJoin( s_aLIBSYS, { "kernel32", "user32", "wsock32" } )
CASE t_cARCH == "os2" .AND. t_cCOMP == "owatcom"
cLibPrefix := "LIB "
cLibExt := ".lib"
cObjPrefix := "FILE "
cObjExt := ".obj"
cBin_CompC := "wpp386"
cOpt_CompC := "-j -w3 -5s -5r -fp5 -oxehtz -zq -zt0 -mf -bt=OS2 {OPTC} {C}"
cBin_Link := "wlink"
cOpt_Link := "OP stack=65536 OP CASEEXACT {OPTL} NAME {E} {L}"
cOpt_Link := "OP stack=65536 OP CASEEXACT {OPTL} NAME {E} {O} {L}"
IF s_lDEBUG
cOpt_Link := "DEBUG " + cOpt_Link
ENDIF
CASE t_cARCH == "linux" .AND. t_cCOMP == "owatcom"
cLibPrefix := "LIB "
cLibExt := ".lib"
cObjPrefix := "FILE "
cObjExt := ".obj"
cBin_CompC := "wpp386"
cOpt_CompC := "-j -w3 -5s -5r -fp5 -oxehtz -zq -zt0 -mf -bt=LINUX {OPTC} {C}"
cBin_Link := "wlink"
cOpt_Link := "ALL SYS LINUX OP CASEEXACT {OPTL} NAME {E} {L}"
cOpt_Link := "ALL SYS LINUX OP CASEEXACT {OPTL} NAME {E} {O} {L}"
IF s_lDEBUG
cOpt_Link := "DEBUG " + cOpt_Link
ENDIF
@@ -775,7 +788,6 @@ FUNCTION Main( ... )
CASE t_cARCH == "win" .AND. t_cCOMP == "icc"
CASE t_cARCH == "win" .AND. t_cCOMP == "mingwce"
CASE t_cARCH == "win" .AND. t_cCOMP == "msvcce"
CASE t_cARCH == "win" .AND. t_cCOMP == "rsxnt"
CASE t_cARCH == "win" .AND. t_cCOMP == "xcc"
ENDCASE
@@ -803,9 +815,8 @@ FUNCTION Main( ... )
/* Compiling */
cOpt_CompC := StrTran( cOpt_CompC, "{C}" , ArrayToList( ArrayJoin( ListCook( s_aPRG, "", ".c" ), s_aC ) ) )
cOpt_CompC := StrTran( cOpt_CompC, "{O}" , ArrayToList( s_aOBJ ) )
cOpt_CompC := StrTran( cOpt_CompC, "{OUSR}", ArrayToList( s_aOBJUSER ) )
cOpt_CompC := StrTran( cOpt_CompC, "{C}" , ArrayToList( ArrayJoin( ListCook( s_aPRG, NIL, ".c" ), s_aC ) ) )
cOpt_CompC := StrTran( cOpt_CompC, "{O}" , ArrayToList( ListCook( ArrayJoin( s_aOBJ, s_aOBJUSER ), cObjPrefix ) ) )
cOpt_CompC := StrTran( cOpt_CompC, "{L}" , ArrayToList( s_aLIB ) )
cOpt_CompC := StrTran( cOpt_CompC, "{OPTC}", iif( s_lBLDFLG, hb_Version( HB_VERSION_FLAG_C ) + " ", "" ) +;
GetEnv( "HB_USER_CFLAGS" ) + " " + ArrayToList( s_aOPTC ) )
@@ -852,7 +863,7 @@ FUNCTION Main( ... )
/* Linking */
cOpt_Link := StrTran( cOpt_Link, "{O}" , ArrayToList( ArrayJoin( s_aOBJ, s_aOBJUSER ) ) )
cOpt_Link := StrTran( cOpt_Link, "{O}" , ArrayToList( ListCook( ArrayJoin( s_aOBJ, s_aOBJUSER ), cObjPrefix ) ) )
cOpt_Link := StrTran( cOpt_Link, "{L}" , ArrayToList( s_aLIB ) )
cOpt_Link := StrTran( cOpt_Link, "{OPTL}", iif( s_lBLDFLG, hb_Version( HB_VERSION_FLAG_LINKER ) + " ", "" ) +;
GetEnv( "HB_USER_LDFLAGS" ) + " " + ArrayToList( s_aOPTL ) )
@@ -1069,15 +1080,6 @@ STATIC FUNCTION DirNameGet( cFileName )
RETURN hb_FNameMerge( cDir, cName )
STATIC PROCEDURE ShowHeader()
OutStd( "Harbour Make " + HBRawVersion() + hb_osNewLine() +;
"Copyright (c) 2009, Viktor Szakats" + hb_osNewLine() +;
"http://www.harbour-project.org/" + hb_osNewLine() +;
hb_osNewLine() )
RETURN
STATIC PROCEDURE HBP_ProcessAll( /* @ */ aLIBS,;
/* @ */ aOPTPRG,;
/* @ */ aOPTC,;
@@ -1322,6 +1324,15 @@ STATIC PROCEDURE PauseForKey()
RETURN
STATIC PROCEDURE ShowHeader()
OutStd( "Harbour Make " + HBRawVersion() + hb_osNewLine() +;
"Copyright (c) 1999-2009, Viktor Szakats" + hb_osNewLine() +;
"http://www.harbour-project.org/" + hb_osNewLine() +;
hb_osNewLine() )
RETURN
STATIC PROCEDURE ShowHelp()
LOCAL aText := {;