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 =