2008-11-08 14:15 UTC+0200 Viktor Szakats (harbour.01 syenar hu)

* bin/hbmk.bat
    + Added C_USR support for OpenWatcom.
    - Removed debug switches from OpenWatcom C compiler cmdline.

  * bin/hbmk_os2.cmd
    + Added OpenWatcom support. Pls update it, f.e. I don't know 
      what is the name of the compiler executable.
    ! Fixed HB_COMPILER branching. Looks like nobody uses this 
      file if this problem didn't show up so far, so I'd like to 
      propose again to remove this file completely, as there is 
      not much point spending time on maintaining stuff which 
      nobody uses or needs, is there?

  * bin/hbmk.bat
  - config/dos/watcom.cf
  - config/w32/watcom.cf
    - Removed rather obsolete Watcom support. Pls use OpenWatcom.
      Update you envvar HB_COMPILER from 'watcom' to 'owatcom'.
This commit is contained in:
Viktor Szakats
2008-11-08 13:16:51 +00:00
parent 51959a0aac
commit 4b5a545545
5 changed files with 63 additions and 216 deletions

View File

@@ -8,6 +8,26 @@
2008-12-31 13:59 UTC+0100 Foo Bar (foo.bar foobar.org)
*/
2008-11-08 14:15 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* bin/hbmk.bat
+ Added C_USR support for OpenWatcom.
- Removed debug switches from OpenWatcom C compiler cmdline.
* bin/hbmk_os2.cmd
+ Added OpenWatcom support. Pls update it, f.e. I don't know
what is the name of the compiler executable.
! Fixed HB_COMPILER branching. Looks like nobody uses this
file if this problem didn't show up so far, so I'd like to
propose again to remove this file completely, as there is
not much point spending time on maintaining stuff which
nobody uses or needs, is there?
* bin/hbmk.bat
- config/dos/watcom.cf
- config/w32/watcom.cf
- Removed rather obsolete Watcom support. Pls use OpenWatcom.
Update you envvar HB_COMPILER from 'watcom' to 'owatcom'.
2008-11-08 14:03 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* make_b32.bat
* make_vc.bat

View File

@@ -79,7 +79,6 @@ if "%_HB_MT%" == "MT" set _HBVM_LIB=hbvmmt
echo - When HB_ARCHITECTURE=dos
echo - djgpp (Delorie GNU C, DOS 32-bit)
echo - owatcom (OpenWatcom, DOS 32-bit)
echo - watcom (OpenWatcom, DOS 32-bit)
echo - rxs32 (EMX/RSXNT/DOS GNU C, DOS 32-bit)
echo - When HB_ARCHITECTURE=w32
echo - msvc (Microsoft Visual C++, Windows 32/64-bit)
@@ -87,7 +86,6 @@ if "%_HB_MT%" == "MT" set _HBVM_LIB=hbvmmt
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 - watcom (OpenWatcom, Windows 32-bit)
echo - rxsnt (EMX/RSXNT/Win32 GNU C, Windows 32-bit)
goto END
@@ -160,12 +158,9 @@ if "%_HB_MT%" == "MT" set _HBVM_LIB=hbvmmt
:A_DOS_RSX32_NOT
if "%HB_COMPILER%" == "owatcom" goto A_DOS_WATCOM
if not "%HB_COMPILER%" == "watcom" goto END
if not "%HB_COMPILER%" == "owatcom" goto END
:A_DOS_WATCOM
wpp386 -j -w3 -d2 -5s -5r -fp5 -oxehtz -zq -zt0 -bt=DOS %_HB_PRG_NAME%.c -fo=%_HB_PRG_NAME%.obj
wpp386 -j -w3 -5s -5r -fp5 -oxehtz -zq -zt0 -bt=DOS %C_USR% %_HB_PRG_NAME%.c -fo=%_HB_PRG_NAME%.obj
echo OP osn=DOS OP stack=65536 OP CASEEXACT OP stub=cwstub.exe %L_USR% NAME %_HB_PRG_NAME%.exe > _hb_mk.tmp
echo FILE %_HB_PRG_NAME%.obj >> _hb_mk.tmp
echo LIB hbcpage.lib >> _hb_mk.tmp
@@ -229,12 +224,9 @@ if "%_HB_MT%" == "MT" set _HBVM_LIB=hbvmmt
:A_WIN_RSXNT_NOT
if "%HB_COMPILER%" == "owatcom" goto A_WIN_WATCOM
if not "%HB_COMPILER%" == "watcom" goto END
if not "%HB_COMPILER%" == "owatcom" goto END
:A_WIN_WATCOM
wpp386 -j -w3 -d2 -5s -5r -fp5 -oxehtz -zq -zt0 -mf -bt=NT %_HB_PRG_NAME%.c -fo=%_HB_PRG_NAME%.obj
wpp386 -j -w3 -5s -5r -fp5 -oxehtz -zq -zt0 -mf -bt=NT %C_USR% %_HB_PRG_NAME%.c -fo=%_HB_PRG_NAME%.obj
echo OP osn=NT OP stack=65536 OP CASEEXACT %L_USR% NAME %_HB_PRG_NAME%.exe > _hb_mk.tmp
echo FILE %_HB_PRG_NAME%.obj >> _hb_mk.tmp
echo LIB hbcpage.lib >> _hb_mk.tmp

View File

@@ -59,6 +59,7 @@ if "%_HB_MT%" == "MT" set _HBVM_LIB=hbvmmt
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
@@ -77,18 +78,54 @@ if "%_HB_MT%" == "MT" set _HBVM_LIB=hbvmmt
:A_DOS
if "%HB_COMPILER%" == "gcc" goto A_OS2_GCC_NOT
if not "%HB_COMPILER%" == "gcc" goto A_OS2_GCC_NOT
gcc %1.c -O3 %C_USR% -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 -lrddcdx -lhbsix -lhbcommon -lhbpcre -lhbzlib
goto CLEANUP
:A_OS2_GCC_NOT
if "%HB_COMPILER%" == "icc" goto END
if not "%HB_COMPILER%" == "icc" goto A_OS2_ICC_NOT
icc /Gs+ /W2 /Se /Sd+ /Ti+ /C- /Tp %C_USR% -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%\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 %C_USR% %_HB_PRG_NAME%.c -fo=%_HB_PRG_NAME%.obj
echo OP stack=65536 OP CASEEXACT %L_USR% 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 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

View File

@@ -1,83 +0,0 @@
#
# $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=
CPPFLAGS = -d2 -w2 -5r -zq -zt0 -bt=DOS4G
CFLAGS := -i$(subst \,\\,$(WATCOM))\\h -i$(subst /,\\,$(HB_INC_COMPILE)) -i.
# 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
endef
#Note: The empty line directly before 'endef' HAVE TO exist!
define link_lib
$(COMSPEC) /E:2048 /Cecho LIB $(lib) >> __link__.tmp
endef
define link_exe_file
$(COMSPEC) /E:2048 /Cecho $(LDFLAGS) NAME $@ > __link__.tmp
$(foreach file, $(^F), $(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=DOS4G OP stack=65536 OP CASEEXACT
ifeq ($(HB_LIB_COMPILE),)
LINKLIBS := $(foreach lib, $(CONTRIBS), $(subst /,\,$(LIB_DIR)/$(lib)))
LINKLIBS += $(foreach lib, $(LIBS), $(subst /,\,$(LIB_DIR)/$(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 /,\,$(LIB_DIR)/$(drv)))
endif
GTLIBS := $(foreach gt, $(HB_GT_LIBS), $(subst /,\,$(LIB_DIR)/$(gt)))
LD_RULE = $(link_exe_file)
#Note: The empty line below HAVE TO exist!
define lib_object
$(COMSPEC) /E:2048 /Cecho -+$(file) >> __lib__.tmp
endef
LIB_DDIR := $(subst /,\,$(LIB_DIR))
define create_library
$(COMSPEC) /E:2048 /Cecho $(LIB_DDIR)\$@ > __lib__.tmp
$(foreach file, $(^F), $(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))

View File

@@ -1,119 +0,0 @@
#
# $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=
#CPPFLAGS = -j -w3 -d2 -5s -5r -fp5 -oxehtz -zq -zt0 -mf -bt=NT
CPPFLAGS = -w2 -d1 -zq -bt=NT
#architecture flags
CPPFLAGS += -5 -fp5
# optimization flags
# don't enable -ol optimization in OpenWatcom 1.1 - gives buggy code
CPPFLAGS += -onaehtzr -oi+ -ei -zp8 -s -zt0
CPPFLAGS += -i. -i$(TOP)include -i$(TOP)$(ROOT)include -iinclude
ifneq ($(HB_LIB_COMPILE),)
CPPFLAGS += -i$(HB_INC_COMPILE)
endif
# work arround to DOS command line size limit
export WPP386 := $(strip $(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, wsock32.lib, winspool.lib, oleaut32.lib, uuid.lib, comctl32.lib, mapi32.lib >> __link__.tmp
$(foreach file, $(^F), $(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 /,\,$(LIB_DIR)/$(lib)))
LINKLIBS += $(foreach lib, $(LIBS), $(subst /,\,$(LIB_DIR)/$(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)
ifeq ($(HB_LIB_COMPILE),)
RDDLIBS := $(foreach drv, $(HB_DB_DRIVERS), $(LIB_DIR)/$(drv))
else
RDDLIBS := $(foreach drv, $(HB_DB_DRIVERS), $(HB_LIB_COMPILE)/$(drv))
endif
RDDLIBS := $(subst /,\,$(RDDLIBS))
endif
ifeq ($(findstring rtl,$(LIBS)),rtl)
ifeq ($(HB_LIB_COMPILE),)
GTLIBS := $(foreach gt, $(HB_GT_LIBS), $(LIB_DIR)/$(gt))
else
GTLIBS := $(foreach gt, $(HB_GT_LIBS), $(HB_LIB_COMPILE)/$(gt))
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
LIB_DDIR := $(subst /,\,$(LIB_DIR))
define create_library
echo. $(LIB_DDIR)\$@ > __lib__.tmp
$(foreach file, $(^F), $(lib_object))
$(AR) $(ARFLAGS) @__lib__.tmp
endef
AR = wlib
ARFLAGS = -p=64 -c -n $(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 =