From 4b5a545545bead74b135915d4c767f2cb3fa7bb3 Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Sat, 8 Nov 2008 13:16:51 +0000 Subject: [PATCH] 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'. --- harbour/ChangeLog | 20 ++++++ harbour/bin/hbmk.bat | 16 ++--- harbour/bin/hbmk_os2.cmd | 41 +++++++++++- harbour/config/dos/watcom.cf | 83 ------------------------ harbour/config/w32/watcom.cf | 119 ----------------------------------- 5 files changed, 63 insertions(+), 216 deletions(-) delete mode 100644 harbour/config/dos/watcom.cf delete mode 100644 harbour/config/w32/watcom.cf diff --git a/harbour/ChangeLog b/harbour/ChangeLog index a8c4ff0604..7240e9ada1 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -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 diff --git a/harbour/bin/hbmk.bat b/harbour/bin/hbmk.bat index 1471eb7d72..51b6ba83e3 100644 --- a/harbour/bin/hbmk.bat +++ b/harbour/bin/hbmk.bat @@ -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 diff --git a/harbour/bin/hbmk_os2.cmd b/harbour/bin/hbmk_os2.cmd index ab214cc182..5c5903e908 100644 --- a/harbour/bin/hbmk_os2.cmd +++ b/harbour/bin/hbmk_os2.cmd @@ -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 diff --git a/harbour/config/dos/watcom.cf b/harbour/config/dos/watcom.cf deleted file mode 100644 index 266927061e..0000000000 --- a/harbour/config/dos/watcom.cf +++ /dev/null @@ -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)) diff --git a/harbour/config/w32/watcom.cf b/harbour/config/w32/watcom.cf deleted file mode 100644 index ef27aa128c..0000000000 --- a/harbour/config/w32/watcom.cf +++ /dev/null @@ -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 =