2003-12-02 15:23 UTC+0100 Lorenzo Fiorini <lorenzo_fiorini@tin.it>
* source/vm/hvm.c
* source/vm/mainwin.c
* bin/bld.bat
* config/dos/watcom.cf
+ config/w32/watcom.cf
! added support to OpenWatcom DOS/Win32 borrowed from xHarbour
This commit is contained in:
@@ -8,6 +8,14 @@
|
||||
2002-12-01 23:12 UTC+0100 Foo Bar <foo.bar@foobar.org>
|
||||
*/
|
||||
|
||||
2003-12-02 15:23 UTC+0100 Lorenzo Fiorini <lorenzo_fiorini@tin.it>
|
||||
* source/vm/hvm.c
|
||||
* source/vm/mainwin.c
|
||||
* bin/bld.bat
|
||||
* config/dos/watcom.cf
|
||||
+ config/w32/watcom.cf
|
||||
! added support to OpenWatcom DOS/Win32 borrowed from xHarbour
|
||||
|
||||
2003-11-24 18:32 UTC+0100 Lorenzo Fiorini <lorenzo_fiorini@tin.it>
|
||||
* source/compiler/gencobj.c
|
||||
! fixed to allow = for the C compiler options
|
||||
|
||||
@@ -55,14 +55,14 @@ if "%HB_INC_INSTALL%" == "" set HB_INC_INSTALL=..\include\
|
||||
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.
|
||||
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 (Watcom C++ 9.x, 10.x, 11.x, 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)
|
||||
@@ -70,13 +70,14 @@ if "%HB_INC_INSTALL%" == "" set HB_INC_INSTALL=..\include\
|
||||
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.
|
||||
pause
|
||||
echo HB_GT_LIB:
|
||||
echo - gtstd (Standard streaming) (for all architectures)
|
||||
echo - gtdos (DOS console) (for dos architecture)
|
||||
@@ -109,7 +110,7 @@ if "%HB_INC_INSTALL%" == "" set HB_INC_INSTALL=..\include\
|
||||
|
||||
:COMPILE
|
||||
|
||||
%HB_BIN_INSTALL%\harbour %1.prg -n -i%HB_INC_INSTALL% %2 %3 %HARBOURFLAGS%
|
||||
%HB_BIN_INSTALL%\harbour %1.prg -n -q0 -gc0 -i%HB_INC_INSTALL% %2 %3 %HARBOURFLAGS%
|
||||
|
||||
:A_DOS
|
||||
|
||||
@@ -132,6 +133,8 @@ if "%HB_INC_INSTALL%" == "" set HB_INC_INSTALL=..\include\
|
||||
echo rdd.lib >> build.tmp
|
||||
echo macro.lib >> build.tmp
|
||||
echo pp.lib >> build.tmp
|
||||
echo dbfdbt.lib >> build.tmp
|
||||
echo dbffpt.lib >> build.tmp
|
||||
echo dbfntx.lib >> build.tmp
|
||||
echo dbfcdx.lib >> build.tmp
|
||||
echo common.lib >> build.tmp
|
||||
@@ -140,7 +143,7 @@ if "%HB_INC_INSTALL%" == "" set HB_INC_INSTALL=..\include\
|
||||
goto END
|
||||
|
||||
:A_DOS_BCC16_NOT
|
||||
|
||||
|
||||
if not "%HB_COMPILER%" == "djgpp" goto A_DOS_DJGPP_NOT
|
||||
|
||||
echo %1.c > build.tmp
|
||||
@@ -155,9 +158,11 @@ if "%HB_INC_INSTALL%" == "" set HB_INC_INSTALL=..\include\
|
||||
echo -lvm >> build.tmp
|
||||
echo -lmacro >> build.tmp
|
||||
echo -lpp >> build.tmp
|
||||
echo -ldbfnt >> build.tmp
|
||||
echo -ldbfcd >> build.tmp
|
||||
echo -lcommo >> build.tmp
|
||||
echo -ldbfdbt >> build.tmp
|
||||
echo -ldbffpt >> build.tmp
|
||||
echo -ldbfntx >> build.tmp
|
||||
echo -ldbfcdx >> build.tmp
|
||||
echo -lcommon >> build.tmp
|
||||
echo -lm >> build.tmp
|
||||
gcc @build.tmp
|
||||
del build.tmp
|
||||
@@ -165,22 +170,77 @@ if "%HB_INC_INSTALL%" == "" set HB_INC_INSTALL=..\include\
|
||||
|
||||
:A_DOS_DJGPP_NOT
|
||||
|
||||
if "%HB_COMPILER%" == "rsx32" gcc %1.c -Zrsx32 %CFLAGS% -I%HB_INC_INSTALL% -L%HB_LIB_INSTALL% -ldebug -lvm -lrtl -l%_HB_GT_LIB% -llang -lrdd -lrtl -lvm -lmacro -lpp -ldbfntx -ldbfcdx -lcommon
|
||||
if not "%HB_COMPILER%" == "rsx32" GOTO A_DOS_RSX32_NOT
|
||||
|
||||
gcc %1.c -Zrsx32 %CFLAGS% -I%HB_INC_INSTALL% -L%HB_LIB_INSTALL% -ldebug -lvm -lrtl -l%_HB_GT_LIB% -llang -lrdd -lrtl -lvm -lmacro -lpp -ldbfntx -ldbfcdx -lcommon
|
||||
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 debug.lib >> build.tmp
|
||||
echo LIB vm.lib >> build.tmp
|
||||
echo LIB rtl.lib >> build.tmp
|
||||
echo LIB %_HB_GT_LIB%.lib >> build.tmp
|
||||
echo LIB lang.lib >> build.tmp
|
||||
echo LIB rdd.lib >> build.tmp
|
||||
echo LIB macro.lib >> build.tmp
|
||||
echo LIB pp.lib >> build.tmp
|
||||
echo LIB dbfntx.lib >> build.tmp
|
||||
echo LIB dbfcdx.lib >> build.tmp
|
||||
echo LIB dbfdbt.lib >> build.tmp
|
||||
echo LIB dbffpt.lib >> build.tmp
|
||||
echo LIB common.lib >> build.tmp
|
||||
wlink @build.tmp
|
||||
del build.tmp
|
||||
goto END
|
||||
|
||||
:A_W32
|
||||
|
||||
if not "%HB_ARCHITECTURE%" == "w32" goto A_OS2
|
||||
|
||||
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 debug.lib vm.lib rtl.lib %_HB_GT_LIB%.lib lang.lib rdd.lib macro.lib pp.lib dbfntx.lib dbfcdx.lib common.lib
|
||||
if "%HB_COMPILER%" == "gcc" gcc %1.c -o%1.exe %CFLAGS% -I%HB_INC_INSTALL% -L%HB_LIB_INSTALL% -ldebug -lvm -lrtl -l%_HB_GT_LIB% -llang -lrdd -lrtl -lvm -lmacro -lpp -ldbfntx -ldbfcdx -lcommon
|
||||
if "%HB_COMPILER%" == "mingw32" gcc %1.c -o%1.exe %CFLAGS% -mno-cygwin -I%HB_INC_INSTALL% -L%HB_LIB_INSTALL% -ldebug -lvm -lrtl -l%_HB_GT_LIB% -llang -lrdd -lrtl -lvm -lmacro -lpp -ldbfntx -ldbfcdx -lcommon
|
||||
|
||||
if "%HB_COMPILER%" == "gcc" gcc %1.c -o%1.exe %CFLAGS% -I%HB_INC_INSTALL% -L%HB_LIB_INSTALL% -ldebug -lvm -lrtl -l%_HB_GT_LIB% -llang -lrdd -lrtl -lvm -lmacro -lpp -ldbfdbt -ldbffpt -ldbfntx -ldbfcdx -lcommon
|
||||
if "%HB_COMPILER%" == "mingw32" gcc %1.c -o%1.exe %CFLAGS% -mno-cygwin -I%HB_INC_INSTALL% %HB_INC_TEMP% -L%HB_LIB_INSTALL% -ldebug -lvm -lrtl -l%_HB_GT_LIB% -llang -lrdd -lrtl -lvm -lmacro -lpp -ldbfdbt -ldbffpt -ldbfntx -ldbfcdx -lcommon
|
||||
if "%HB_COMPILER%" == "rsxnt" gcc %1.c -Zwin32 %CFLAGS% -I%HB_INC_INSTALL% -L%HB_LIB_INSTALL% -ldebug -lvm -lrtl -l%_HB_GT_LIB% -llang -lrdd -lrtl -lvm -lmacro -lpp -ldbfntx -ldbfcdx -lcommon
|
||||
|
||||
if "%HB_COMPILER%" == "msvc" cl -TP -W3 %CFLAGS% -I%HB_INC_INSTALL% %1.c /link /subsystem:CONSOLE %HB_LIB_INSTALL%\debug.lib %HB_LIB_INSTALL%\vm.lib %HB_LIB_INSTALL%\rtl.lib %HB_LIB_INSTALL%\%_HB_GT_LIB%.lib %HB_LIB_INSTALL%\lang.lib %HB_LIB_INSTALL%\rdd.lib %HB_LIB_INSTALL%\macro.lib %HB_LIB_INSTALL%\pp.lib %HB_LIB_INSTALL%\dbfntx.lib %HB_LIB_INSTALL%\dbfcdx.lib %HB_LIB_INSTALL%\common.lib user32.lib winspool.lib
|
||||
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 debug.lib >> build.tmp
|
||||
echo LIB vm.lib >> build.tmp
|
||||
echo LIB rtl.lib >> build.tmp
|
||||
echo LIB %_HB_GT_LIB%.lib >> build.tmp
|
||||
echo LIB lang.lib >> build.tmp
|
||||
echo LIB macro.lib >> build.tmp
|
||||
echo LIB pp.lib >> build.tmp
|
||||
echo LIB dbfntx.lib >> build.tmp
|
||||
echo LIB dbfcdx.lib >> build.tmp
|
||||
echo LIB dbfdbt.lib >> build.tmp
|
||||
echo LIB dbffpt.lib >> build.tmp
|
||||
echo LIB rdd.lib >> build.tmp
|
||||
echo LIB common.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
|
||||
|
||||
goto END
|
||||
|
||||
:A_OS2
|
||||
@@ -189,8 +249,8 @@ if "%HB_INC_INSTALL%" == "" set HB_INC_INSTALL=..\include\
|
||||
|
||||
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% -ldebug -lvm -lrtl -l%_HB_GT_LIB% -llang -lrdd -lrtl -lvm -lmacro -lpp -ldbfntx -ldbfcdx -lcommon
|
||||
if "%HB_COMPILER%" == "icc" icc /Gs+ /W2 /Se /Sd+ /Ti+ /C- /Tp %CFLAGS% -I%HB_INC_INSTALL% %1.c %HB_LIB_INSTALL%\debug.lib %HB_LIB_INSTALL%\vm.lib %HB_LIB_INSTALL%\rtl.lib %HB_LIB_INSTALL%\%_HB_GT_LIB%.lib %HB_LIB_INSTALL%\lang.lib %HB_LIB_INSTALL%\rdd.lib %HB_LIB_INSTALL%\rtl.lib %HB_LIB_INSTALL%\vm.lib %HB_LIB_INSTALL%\macro.lib %HB_LIB_INSTALL%\pp.lib %HB_LIB_INSTALL%\dbfntx.lib %HB_LIB_INSTALL%\dbfcdx.lib %HB_LIB_INSTALL%\common.lib
|
||||
if "%HB_COMPILER%" == "gcc" gcc %1.c %CFLAGS% -I%HB_INC_INSTALL% -L%HB_LIB_INSTALL% -ldebug -lvm -lrtl -l%_HB_GT_LIB% -llang -lrdd -lrtl -lvm -lmacro -lpp -ldbfdbt -ldbffpt -ldbfntx -ldbfcdx -lcommon
|
||||
if "%HB_COMPILER%" == "icc" icc /Gs+ /W2 /Se /Sd+ /Ti+ /C- /Tp %CFLAGS% -I%HB_INC_INSTALL% %1.c %HB_LIB_INSTALL%\debug.lib %HB_LIB_INSTALL%\vm.lib %HB_LIB_INSTALL%\rtl.lib %HB_LIB_INSTALL%\%_HB_GT_LIB%.lib %HB_LIB_INSTALL%\lang.lib %HB_LIB_INSTALL%\rdd.lib %HB_LIB_INSTALL%\rtl.lib %HB_LIB_INSTALL%\vm.lib %HB_LIB_INSTALL%\macro.lib %HB_LIB_INSTALL%\pp.lib %HB_LIB_INSTALL%\dbfdbt.lib %HB_LIB_INSTALL%\dbffpt.lib %HB_LIB_INSTALL%\dbfntx.lib %HB_LIB_INSTALL%\dbfcdx.lib %HB_LIB_INSTALL%\common.lib
|
||||
goto END
|
||||
|
||||
:A_LINUX
|
||||
|
||||
@@ -11,29 +11,39 @@ EXE_EXT = .exe
|
||||
LIB_PREF =
|
||||
LIB_EXT = .lib
|
||||
|
||||
$(HB_ARCHITECTURE)_$(HB_COMPILER)_GRANDP = $(subst /,\\,$(GRANDP))
|
||||
$(HB_ARCHITECTURE)_$(HB_COMPILER)_GRANDP = $(subst /,\,$(GRANDP))
|
||||
|
||||
CC = wpp386
|
||||
CC_IN =
|
||||
CC_OUT = -fo=
|
||||
CPPFLAGS = -d2 -w2 -5r -zq -zt0 -bt=DOS4G
|
||||
CFLAGS := -i$(subst \,\\,$(WATCOM))\\h -i$(subst /,\\,$(HB_INC_COMPILE)) -i.
|
||||
|
||||
# important: -j is necessary for proper build
|
||||
CPPFLAGS = -j -w3 -d2 -5s -5r -fp5 -oxehtz -zq -zt0 -bt=DOS
|
||||
CFLAGS := -i$(subst /,\,$(HB_INC_COMPILE)) -i.
|
||||
|
||||
# work arround to DOS command line size limit
|
||||
export WPP386 := $(CPPFLAGS)
|
||||
CPPFLAGS =
|
||||
|
||||
ifeq ($(HB_LEX),SIMPLEX)
|
||||
CFLAGS += -DSIMPLEX
|
||||
endif
|
||||
|
||||
# Note: The empty line directly before 'endef' HAVE TO exist!
|
||||
# It causes that the 'echo' command is separated by LF
|
||||
define link_file
|
||||
$(COMSPEC) /E:2048 /Cecho FILE $(file) >> __link__.tmp
|
||||
echo FILE $(file) >> __link__.tmp
|
||||
|
||||
endef
|
||||
|
||||
#Note: The empty line directly before 'endef' HAVE TO exist!
|
||||
define link_lib
|
||||
$(COMSPEC) /E:2048 /Cecho LIB $(lib) >> __link__.tmp
|
||||
echo LIB $(lib) >> __link__.tmp
|
||||
|
||||
endef
|
||||
|
||||
define link_exe_file
|
||||
$(COMSPEC) /E:2048 /Cecho $(LDFLAGS) NAME $@ > __link__.tmp
|
||||
echo $(LDFLAGS) NAME $@ > __link__.tmp
|
||||
$(foreach file, $^, $(link_file))
|
||||
$(foreach lib, $(LINKLIBS), $(link_lib))
|
||||
$(foreach lib, $(RDDLIBS), $(link_lib))
|
||||
@@ -42,7 +52,7 @@ $(foreach lib, $(GTLIBS), $(link_lib))
|
||||
endef
|
||||
|
||||
LD = wlink
|
||||
LDFLAGS = debug all OP osn=DOS4G OP stack=65536 OP CASEEXACT
|
||||
LDFLAGS = debug all OP osn=DOS OP stack=65536 OP CASEEXACT OP stub=cwstub.exe
|
||||
ifeq ($(HB_LIB_COMPILE),)
|
||||
LINKLIBS := $(foreach lib, $(CONTRIBS), $(subst /,\,$(TOP)$(ROOT)contrib/$(lib)/$(ARCH)/$(subst lib,,$(lib))))
|
||||
LINKLIBS := $(foreach lib, $(LIBS), $(subst /,\,$(TOP)$(ROOT)source/$(lib)/$(ARCH)/$(lib)))
|
||||
@@ -56,28 +66,38 @@ ifeq ($(findstring rdd,$(LIBS)),rdd)
|
||||
RDDLIBS := $(foreach drv, $(HB_DB_DRIVERS), $(subst /,\,$(TOP)$(ROOT)source/rdd/$(drv)/$(ARCH)/$(drv)))
|
||||
endif
|
||||
|
||||
ifeq ($(findstring rtl,$(LIBS)),rtl)
|
||||
GTLIBS := $(TOP)$(ROOT)source/rtl/$(HB_GT_LIB)/$(ARCH)/$(HB_GT_LIB)
|
||||
ifeq ($(HB_MULTI_GT),yes)
|
||||
GTLIBS := $(TOP)$(ROOT)source/rtl/gtnul/$(ARCH)/gtnul
|
||||
endif
|
||||
GTLIBS := $(subst /,\,$(GTLIBS))
|
||||
endif
|
||||
|
||||
|
||||
LD_RULE = $(link_exe_file)
|
||||
|
||||
#Note: The empty line below HAVE TO exist!
|
||||
define lib_object
|
||||
$(COMSPEC) /E:2048 /Cecho -+$(file) >> __lib__.tmp
|
||||
echo -+$(file) >> __lib__.tmp
|
||||
|
||||
endef
|
||||
|
||||
define create_library
|
||||
$(COMSPEC) /E:2048 /Cecho $@ > __lib__.tmp
|
||||
echo $@ > __lib__.tmp
|
||||
$(foreach file, $^, $(lib_object))
|
||||
$(AR) $(ARFLAGS) @__lib__.tmp
|
||||
endef
|
||||
|
||||
AR = wlib
|
||||
ARFLAGS = -p=32 -c $(A_USR)
|
||||
|
||||
AR_RULE = $(create_library)
|
||||
|
||||
include $(TOP)$(ROOT)config/rules.cf
|
||||
|
||||
HB := $(subst /,\\,$(HB))
|
||||
HB := $(subst /,\,$(HB))
|
||||
HB_FLAGS := $(subst /,\,$(HB_FLAGS))
|
||||
|
||||
# work arround to DOS command line size limit
|
||||
export HARBOURCMD := $(HB_FLAGS)
|
||||
HB_FLAGS =
|
||||
|
||||
101
harbour/config/w32/watcom.cf
Normal file
101
harbour/config/w32/watcom.cf
Normal file
@@ -0,0 +1,101 @@
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
# The Harbour project
|
||||
# GNU MAKE file for Watcom C/C++ 10.x
|
||||
|
||||
include $(TOP)$(ROOT)config/$(HB_ARCHITECTURE)/global.cf
|
||||
|
||||
OBJ_EXT = .obj
|
||||
EXE_EXT = .exe
|
||||
LIB_PREF =
|
||||
LIB_EXT = .lib
|
||||
|
||||
$(HB_ARCHITECTURE)_$(HB_COMPILER)_GRANDP = $(subst /,\,$(GRANDP))
|
||||
|
||||
CC = wpp386
|
||||
CC_IN =
|
||||
CC_OUT = -fo=
|
||||
|
||||
# important: -j is necessary for proper build
|
||||
CPPFLAGS = -j -w3 -d2 -5s -5r -fp5 -oxehtz -zq -zt0 -mf -bt=NT
|
||||
CFLAGS := -i$(subst /,\,$(HB_INC_COMPILE)) -i.
|
||||
|
||||
# work arround to DOS command line size limit
|
||||
export WPP386 := $(CPPFLAGS)
|
||||
CPPFLAGS =
|
||||
|
||||
# Note: The empty line directly before 'endef' HAVE TO exist!
|
||||
# It causes that the 'echo' command is separated by LF
|
||||
define link_file
|
||||
echo FILE $(file) >> __link__.tmp
|
||||
|
||||
endef
|
||||
|
||||
#Note: The empty line directly before 'endef' HAVE TO exist!
|
||||
define link_lib
|
||||
echo LIB $(lib) >> __link__.tmp
|
||||
|
||||
endef
|
||||
|
||||
define link_exe_file
|
||||
echo $(LDFLAGS) NAME $@ > __link__.tmp
|
||||
echo LIB kernel32.lib, user32.lib, winspool.lib, oleaut32.lib, uuid.lib >> __link__.tmp
|
||||
$(foreach file, $^, $(link_file))
|
||||
$(foreach lib, $(LINKLIBS), $(link_lib))
|
||||
$(foreach lib, $(RDDLIBS), $(link_lib))
|
||||
$(foreach lib, $(GTLIBS), $(link_lib))
|
||||
-$(LD) @__link__.tmp
|
||||
endef
|
||||
|
||||
LD = wlink
|
||||
LDFLAGS = debug all OP osn=NT OP stack=65536 OP CASEEXACT
|
||||
|
||||
ifeq ($(HB_LIB_COMPILE),)
|
||||
LINKLIBS := $(foreach lib, $(CONTRIBS), $(subst /,\,$(TOP)$(ROOT)contrib/$(lib)/$(ARCH)/$(subst lib,,$(lib))))
|
||||
LINKLIBS := $(foreach lib, $(LIBS), $(subst /,\,$(TOP)$(ROOT)source/$(lib)/$(ARCH)/$(lib)))
|
||||
else
|
||||
LINKLIBS := $(foreach lib, $(CONTRIBS), $(subst /,\,$(HB_LIB_COMPILE)/$(lib)))
|
||||
LINKLIBS := $(foreach lib, $(LIBS), $(subst /,\,$(HB_LIB_COMPILE)/$(lib)))
|
||||
endif
|
||||
|
||||
# If LIBS specifies the rdd library, add all DB drivers.
|
||||
ifeq ($(findstring rdd,$(LIBS)),rdd)
|
||||
RDDLIBS := $(foreach drv, $(HB_DB_DRIVERS), $(subst /,\,$(TOP)$(ROOT)source/rdd/$(drv)/$(ARCH)/$(drv)))
|
||||
endif
|
||||
|
||||
ifeq ($(findstring rtl,$(LIBS)),rtl)
|
||||
GTLIBS := $(TOP)$(ROOT)source/rtl/$(HB_GT_LIB)/$(ARCH)/$(HB_GT_LIB)
|
||||
ifeq ($(HB_MULTI_GT),yes)
|
||||
GTLIBS := $(TOP)$(ROOT)source/rtl/gtnul/$(ARCH)/gtnul
|
||||
endif
|
||||
GTLIBS := $(subst /,\,$(GTLIBS))
|
||||
endif
|
||||
|
||||
|
||||
LD_RULE = $(link_exe_file)
|
||||
|
||||
#Note: The empty line below HAVE TO exist!
|
||||
define lib_object
|
||||
echo -+$(file) >> __lib__.tmp
|
||||
|
||||
endef
|
||||
|
||||
define create_library
|
||||
echo $@ > __lib__.tmp
|
||||
$(foreach file, $^, $(lib_object))
|
||||
$(AR) $(ARFLAGS) @__lib__.tmp
|
||||
endef
|
||||
|
||||
AR = wlib
|
||||
ARFLAGS = -p=64 -c $(A_USR)
|
||||
AR_RULE = $(create_library)
|
||||
|
||||
include $(TOP)$(ROOT)config/rules.cf
|
||||
|
||||
HB := $(subst /,\,$(HB))
|
||||
HB_FLAGS := $(subst /,\,$(HB_FLAGS))
|
||||
|
||||
# work arround to DOS command line size limit
|
||||
export HARBOURCMD := $(HB_FLAGS)
|
||||
HB_FLAGS =
|
||||
@@ -5181,3 +5181,11 @@ HB_FUNC( __OPGETPRF ) /* profiler: It returns an array with an opcode called and
|
||||
hb_stornl( hb_ulOpcodesTime[ ulOpcode ], -1, 2 );
|
||||
}
|
||||
}
|
||||
|
||||
#if defined(HB_OS_WIN_32) && defined(__WATCOMC__)
|
||||
extern void HB_EXPORT hb_froceLinkMain();
|
||||
void _hb_froceLinkMain()
|
||||
{
|
||||
hb_froceLinkMain();
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -116,6 +116,10 @@ int WINAPI WinMain( HINSTANCE hInstance, /* handle to current instance */
|
||||
/* NOTE: This point is never reached */
|
||||
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
#if defined(__WATCOMC__)
|
||||
void HB_EXPORT hb_froceLinkMain() {}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user