From d5ad4cb437e6737ee6e038a822612a97ea3ccf50 Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Thu, 1 Oct 2009 16:04:11 +0000 Subject: [PATCH] 2009-10-01 17:58 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) * INSTALL * utils/hbmk2/hbmk2.prg * config/os2/gcc.mk + config/os2/gccomf.mk + Added OS/2 GCC OMF support. This tries to fix resource support in hbmk2 compared to David's solution. hbmk2 support is completely newly done, .mk support was imported as is, with little change in actication logic. ! Fixed to use $(ECHOQUOTE) in some $(ECHO) command parameters. ; NOTE: Until we don't add autodetection for OMF supporting GCC versions, it will have to be selected manually using HB_COMPILER=gccomf. Notice that for GCC 4.x this is obligatory since COFF support is broken in these versions. Additional EMX* envvar options are left as an excercise for the users, I intentionally didn't document these in INSTALL, as INSTALL servers as Harbour documentation, not 3rd party tools like GCC. * config/global.mk ! Minor in comment. * contrib/hbqt/Makefile * contrib/hbqt/hbqts/Makefile * contrib/gtqtc/gtqtcs/Makefile * contrib/gtqtc/Makefile ! Disabled QT dependent parts for msvcia64 targets. ; Fails with error: --- z:\devl\qt\4.5.2\include\qtcore\../../src/corelib/tools/qvector.h(541) : warning C4346: 'QVector::iterator' : dependent name is not a type prefix with 'typename' to indicate a type z:\devl\qt\4.5.2\include\qtcore\../../src/corelib/tools/qvector.h(541) : error C2143: syntax error : missing ';' before 'QVector::insert' z:\devl\qt\4.5.2\include\qtcore\../../src/corelib/tools/qvector.h(541) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int z:\devl\qt\4.5.2\include\qtcore\../../src/corelib/tools/qvector.h(541) : fatal error C1903: unable to recover from previous error(s); stopping compilation --- * package/winuni/HARBOUR_README_MINGWARM * Minor raw update to document newly found --force-local tar switch. --- harbour/ChangeLog | 38 ++++++++++ harbour/INSTALL | 14 ++-- harbour/config/global.mk | 2 +- harbour/config/os2/gcc.mk | 72 +++++++++++++------ harbour/config/os2/gccomf.mk | 10 +++ harbour/contrib/gtqtc/Makefile | 2 +- harbour/contrib/gtqtc/gtqtcs/Makefile | 2 +- harbour/contrib/hbqt/Makefile | 2 +- harbour/contrib/hbqt/hbqts/Makefile | 2 +- .../package/winuni/HARBOUR_README_MINGWARM | 2 + harbour/utils/hbmk2/hbmk2.prg | 35 ++++++--- 11 files changed, 141 insertions(+), 40 deletions(-) create mode 100644 harbour/config/os2/gccomf.mk diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 2a6a5c2cc4..40f7405673 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -17,6 +17,44 @@ past entries belonging to author(s): Viktor Szakats. */ +2009-10-01 17:58 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) + * INSTALL + * utils/hbmk2/hbmk2.prg + * config/os2/gcc.mk + + config/os2/gccomf.mk + + Added OS/2 GCC OMF support. + This tries to fix resource support in hbmk2 compared to David's + solution. hbmk2 support is completely newly done, .mk support was imported + as is, with little change in actication logic. + ! Fixed to use $(ECHOQUOTE) in some $(ECHO) command parameters. + ; NOTE: Until we don't add autodetection for OMF supporting GCC versions, + it will have to be selected manually using HB_COMPILER=gccomf. + Notice that for GCC 4.x this is obligatory since COFF support is + broken in these versions. + Additional EMX* envvar options are left as an excercise for the + users, I intentionally didn't document these in INSTALL, as INSTALL + servers as Harbour documentation, not 3rd party tools like GCC. + + * config/global.mk + ! Minor in comment. + + * contrib/hbqt/Makefile + * contrib/hbqt/hbqts/Makefile + * contrib/gtqtc/gtqtcs/Makefile + * contrib/gtqtc/Makefile + ! Disabled QT dependent parts for msvcia64 targets. + ; Fails with error: + --- + z:\devl\qt\4.5.2\include\qtcore\../../src/corelib/tools/qvector.h(541) : warning C4346: 'QVector::iterator' : dependent name is not a type + prefix with 'typename' to indicate a type + z:\devl\qt\4.5.2\include\qtcore\../../src/corelib/tools/qvector.h(541) : error C2143: syntax error : missing ';' before 'QVector::insert' + z:\devl\qt\4.5.2\include\qtcore\../../src/corelib/tools/qvector.h(541) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int + z:\devl\qt\4.5.2\include\qtcore\../../src/corelib/tools/qvector.h(541) : fatal error C1903: unable to recover from previous error(s); stopping compilation + --- + + * package/winuni/HARBOUR_README_MINGWARM + * Minor raw update to document newly found --force-local tar switch. + 2009-10-01 14:12 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rdd/dbfcdx/dbfcdx1.c * harbour/source/rdd/dbf1.c diff --git a/harbour/INSTALL b/harbour/INSTALL index 23c4a21794..ca45e7fe36 100644 --- a/harbour/INSTALL +++ b/harbour/INSTALL @@ -107,8 +107,8 @@ HARBOUR You should see 'Hello world!' on screen. NOTE: To select alternative TCP/IP stack, use these commands: - set HB_USER_CFLAGS=-DTCPV40HDRS %HB_USER_CFLAGS% - set HB_USER_LDFLAGS=-LC:\usr\lib\tcpipv4 %HB_USER_LDFLAGS% + set HB_USER_CFLAGS=-DTCPV40HDRS %HB_USER_CFLAGS% + set HB_USER_LDFLAGS=-LC:\usr\lib\tcpipv4 %HB_USER_LDFLAGS% on Linux hosts -------------- @@ -459,7 +459,8 @@ HARBOUR os2 --- - gcc - EMX GNU C + gcc - EMX GNU C 3.3.5 or lower + gccomf - EMX GNU C 3.3.5 or upper watcom - Open Watcom C++ @@ -835,10 +836,15 @@ HARBOUR for OS/2 hosts -------------- - --- GCC 3.3.x + --- GCC 3.3.4 C:\usr\bin\gccenv.cmd os2-make + --- GCC 4.x + C:\usr\bin\gccenv.cmd + set HB_COMPILER=gccomf + os2-make + --- Open Watcom C++ SET WATCOM=C:\watcom SET PATH=%WATCOM%\BINP;%WATCOM%\BINW;%PATH% diff --git a/harbour/config/global.mk b/harbour/config/global.mk index 00fa60d799..781fefcb93 100644 --- a/harbour/config/global.mk +++ b/harbour/config/global.mk @@ -942,7 +942,7 @@ endif # Assemble relative path from OBJ_DIR to source. GRANDP := $(subst $(subst x,x, ),,$(foreach item, $(subst /, ,$(OBJ_DIR)), ../)) -# TODO: Set this in /.mk (compiler switches may influence it) +# TODO: Set this in /.mk (compiler switches may influence it) HB_CPU := ifeq ($(HB_PLATFORM),win) ifneq ($(filter $(HB_COMPILER),msvc64 mingw64 pocc64),) diff --git a/harbour/config/os2/gcc.mk b/harbour/config/os2/gcc.mk index 959557fd83..905cd1efe7 100644 --- a/harbour/config/os2/gcc.mk +++ b/harbour/config/os2/gcc.mk @@ -8,9 +8,15 @@ else HB_CMP := gcc endif -OBJ_EXT := .o -LIB_PREF := -LIB_EXT := .a +ifeq ($(HB_COMPILER),gccomf) + OBJ_EXT := .obj + LIB_PREF := + LIB_EXT := .lib +else + OBJ_EXT := .o + LIB_PREF := + LIB_EXT := .a +endif CC := $(HB_CCPATH)$(HB_CCPREFIX)$(HB_CMP)$(HB_CCPOSTFIX) CC_IN := -c @@ -20,6 +26,10 @@ CPPFLAGS := -I. -I$(HB_INC_COMPILE) CFLAGS := LDFLAGS := +ifeq ($(HB_COMPILER),gccomf) + CFLAGS += -Zomf +endif + ifneq ($(HB_BUILD_WARN),no) CFLAGS += -Wall -W endif @@ -62,41 +72,59 @@ LDFLAGS += $(LIBPATHS) # #endef -# We have to use a script to overcome the AR limit of max 850 characters -# in commmand line -define create_library - $(if $(wildcard $(subst /,$(DIRSEP),$(LIB_FILE))),@$(RM) $(subst /,$(DIRSEP),$(LIB_FILE)),) - @$(ECHO) $(ECHOQUOTE)CREATE $(LIB_DIR)/$@$(ECHOQUOTE) > __lib__.tmp - for %i in ( *$(OBJ_EXT) ) do @$(ECHO) $(ECHOQUOTE)ADDMOD %i$(ECHOQUOTE) >> __lib__.tmp - @$(ECHO) $(ECHOQUOTE)SAVE$(ECHOQUOTE) >> __lib__.tmp - @$(ECHO) $(ECHOQUOTE)END$(ECHOQUOTE) >> __lib__.tmp - $(AR) $(ARFLAGS) $(HB_USER_AFLAGS) -M < __lib__.tmp -endef +ifeq ($(HB_COMPILER),gccomf) + define create_library + $(if $(wildcard $(subst /,$(DIRSEP),$(LIB_FILE))),@$(RM) $(subst /,$(DIRSEP),$(LIB_FILE)),) + for %i in ( *$(OBJ_EXT) ) do $(AR) $(ARFLAGS) $(HB_USER_AFLAGS) -p128 r $(LIB_DIR)/$@ %i$(ECHOQUOTE) + endef +else + # We have to use a script to overcome the AR limit of max 850 characters + # in commmand line + define create_library + $(if $(wildcard $(subst /,$(DIRSEP),$(LIB_FILE))),@$(RM) $(subst /,$(DIRSEP),$(LIB_FILE)),) + @$(ECHO) $(ECHOQUOTE)CREATE $(LIB_DIR)/$@$(ECHOQUOTE) > __lib__.tmp + for %i in ( *$(OBJ_EXT) ) do @$(ECHO) $(ECHOQUOTE)ADDMOD %i$(ECHOQUOTE) >> __lib__.tmp + @$(ECHO) $(ECHOQUOTE)SAVE$(ECHOQUOTE) >> __lib__.tmp + @$(ECHO) $(ECHOQUOTE)END$(ECHOQUOTE) >> __lib__.tmp + $(AR) $(ARFLAGS) $(HB_USER_AFLAGS) -M < __lib__.tmp + endef +endif # Under OS/2 || isn't a command separator (inside a shell, that is); correct separator is & -AR := $(HB_CCPATH)$(HB_CCPREFIX)ar -ARFLAGS := -AR_RULE = $(create_library) $(ARSTRIP) & $(RM) __lib__.tmp + +ifeq ($(HB_COMPILER),gccomf) + AR := $(HB_CCPATH)$(HB_CCPREFIX)emxomfar + ARFLAGS := + AR_RULE = $(create_library) $(ARSTRIP) +else + AR := $(HB_CCPATH)$(HB_CCPREFIX)ar + ARFLAGS := + AR_RULE = $(create_library) $(ARSTRIP) & $(RM) __lib__.tmp +endif DY := $(CC) DFLAGS := -shared $(LIBPATHS) +ifeq ($(HB_COMPILER),gccomf) + DFLAGS += -Zomf +endif DY_OUT := $(LD_OUT) DLIBS := $(foreach lib,$(LIBS) $(SYSLIBS),-l$(lib)) # NOTE: The empty line directly before 'endef' HAS TO exist! define dyn_object - @$(ECHO) $(file)>> __dyn__.tmp + @$(ECHO) $(subst $(DIRSEP),/,$(file))>> __dyn__.tmp @emxexp $(file)>> __dyn__.def endef + define create_dynlib $(if $(wildcard __dyn__.tmp),@$(RM) __dyn__.tmp,) $(if $(wildcard __dyn__.def),@$(RM) __dyn__.def,) - @$(ECHO) LIBRARY $(DYNNAME) INITINSTANCE TERMINSTANCE >> __dyn__.def - @$(ECHO) PROTMODE >> __dyn__.def - @$(ECHO) CODE PRELOAD MOVEABLE DISCARDABLE >> __dyn__.def - @$(ECHO) DATA PRELOAD MOVEABLE MULTIPLE NONSHARED >> __dyn__.def - @$(ECHO) EXPORTS >> __dyn__.def + @$(ECHO) $(ECHOQUOTE)LIBRARY $(DYNNAME) INITINSTANCE TERMINSTANCE$(ECHOQUOTE) >> __dyn__.def + @$(ECHO) $(ECHOQUOTE)PROTMODE$(ECHOQUOTE) >> __dyn__.def + @$(ECHO) $(ECHOQUOTE)CODE PRELOAD MOVEABLE DISCARDABLE$(ECHOQUOTE) >> __dyn__.def + @$(ECHO) $(ECHOQUOTE)DATA PRELOAD MOVEABLE MULTIPLE NONSHARED$(ECHOQUOTE) >> __dyn__.def + @$(ECHO) $(ECHOQUOTE)EXPORTS$(ECHOQUOTE) >> __dyn__.def $(foreach file,$^,$(dyn_object)) $(DY) $(DFLAGS) $(HB_USER_DFLAGS) $(DY_OUT)$(DYN_DIR)/$@ @__dyn__.tmp __dyn__.def $(DLIBS) $(DYSTRIP) emximp -o $(IMP_FILE) $(DYN_DIR)/$@ diff --git a/harbour/config/os2/gccomf.mk b/harbour/config/os2/gccomf.mk new file mode 100644 index 0000000000..2547525c6e --- /dev/null +++ b/harbour/config/os2/gccomf.mk @@ -0,0 +1,10 @@ +# +# $Id$ +# + +# GCC with OMF object format. +# +# This is available with GCC 3.3.5 as an option, +# and with GCC 4.x this an obligatory option. + +include $(TOP)$(ROOT)config/$(HB_PLATFORM)/gcc.mk diff --git a/harbour/contrib/gtqtc/Makefile b/harbour/contrib/gtqtc/Makefile index 9b477942e9..00b073669e 100644 --- a/harbour/contrib/gtqtc/Makefile +++ b/harbour/contrib/gtqtc/Makefile @@ -22,7 +22,7 @@ _DET_DSP_NAME := qt _DET_VAR_INC_ := HB_INC_QT _DET_VAR_HAS_ := HB_HAS_QT _DET_FLT_PLAT := !dos !os2 -_DET_FLT_COMP := !mingw64 !watcom !bcc !pocc !pocc64 !poccarm +_DET_FLT_COMP := !mingw64 !watcom !bcc !pocc !pocc64 !poccarm !msvcia64 _DET_INC_DEFP := /usr/include/qt4 /usr/lib/qt4/include /usr/include /Developer/qt/include _DET_INC_HEAD := /Qt/qglobal.h include $(TOP)$(ROOT)config/detfun.mk diff --git a/harbour/contrib/gtqtc/gtqtcs/Makefile b/harbour/contrib/gtqtc/gtqtcs/Makefile index 2a9649ee2b..5d5deefdda 100644 --- a/harbour/contrib/gtqtc/gtqtcs/Makefile +++ b/harbour/contrib/gtqtc/gtqtcs/Makefile @@ -25,7 +25,7 @@ _DET_DSP_NAME := qt _DET_VAR_INC_ := HB_INC_QT _DET_VAR_HAS_ := HB_HAS_QT _DET_FLT_PLAT := !dos !os2 -_DET_FLT_COMP := !mingw64 !watcom !bcc !pocc !pocc64 !poccarm +_DET_FLT_COMP := !mingw64 !watcom !bcc !pocc !pocc64 !poccarm !msvcia64 _DET_INC_DEFP := /usr/include/qt4 /usr/lib/qt4/include /usr/include /Developer/qt/include _DET_INC_HEAD := /Qt/qglobal.h include $(TOP)$(ROOT)config/detfun.mk diff --git a/harbour/contrib/hbqt/Makefile b/harbour/contrib/hbqt/Makefile index 8c37cc13b4..13f413815b 100644 --- a/harbour/contrib/hbqt/Makefile +++ b/harbour/contrib/hbqt/Makefile @@ -18,7 +18,7 @@ _DET_DSP_NAME := qt _DET_VAR_INC_ := HB_INC_QT _DET_VAR_HAS_ := HB_HAS_QT _DET_FLT_PLAT := !dos !os2 -_DET_FLT_COMP := !mingw64 !watcom !bcc !pocc !pocc64 !poccarm +_DET_FLT_COMP := !mingw64 !watcom !bcc !pocc !pocc64 !poccarm !msvcia64 _DET_INC_DEFP := /usr/include/qt4 /usr/lib/qt4/include /usr/include /Developer/qt/include _DET_INC_HEAD := /Qt/qglobal.h include $(TOP)$(ROOT)config/detfun.mk diff --git a/harbour/contrib/hbqt/hbqts/Makefile b/harbour/contrib/hbqt/hbqts/Makefile index ed8d63172c..dc0738e5fe 100644 --- a/harbour/contrib/hbqt/hbqts/Makefile +++ b/harbour/contrib/hbqt/hbqts/Makefile @@ -21,7 +21,7 @@ _DET_DSP_NAME := qt _DET_VAR_INC_ := HB_INC_QT _DET_VAR_HAS_ := HB_HAS_QT _DET_FLT_PLAT := !dos !os2 -_DET_FLT_COMP := !mingw64 !watcom !bcc !pocc !pocc64 !poccarm +_DET_FLT_COMP := !mingw64 !watcom !bcc !pocc !pocc64 !poccarm !msvcia64 _DET_INC_DEFP := /usr/include/qt4 /usr/lib/qt4/include /usr/include /Developer/qt/include _DET_INC_HEAD := /Qt/qglobal.h include $(TOP)$(ROOT)config/detfun.mk diff --git a/harbour/package/winuni/HARBOUR_README_MINGWARM b/harbour/package/winuni/HARBOUR_README_MINGWARM index fdaccc7620..27537a1d7d 100644 --- a/harbour/package/winuni/HARBOUR_README_MINGWARM +++ b/harbour/package/winuni/HARBOUR_README_MINGWARM @@ -10,4 +10,6 @@ NOTES: - In order to unpack and *use* this package, you'll - Unpack using these commands: > bzip2 -d cegcc_mingw32ce_cygwin1.7_r1375.tar.bz2 > tar -xvf cegcc_mingw32ce_cygwin1.7_r1375.tar -h + OR + > tar --force-local -xvf cegcc_mingw32ce_cygwin1.7_r1375.tar - Move content of /opt/mingw32ce directory to this one. diff --git a/harbour/utils/hbmk2/hbmk2.prg b/harbour/utils/hbmk2/hbmk2.prg index 9b8d9eb3af..d644ded6a1 100644 --- a/harbour/utils/hbmk2/hbmk2.prg +++ b/harbour/utils/hbmk2/hbmk2.prg @@ -947,7 +947,7 @@ FUNCTION hbmk( aArgs, /* @ */ lPause ) aCOMPDET := { { {|| FindInPath( "gcc" ) }, "gcc" },; { {|| FindInPath( "wpp386" ) }, "watcom" } } #endif - aCOMPSUP := { "gcc", "watcom" } + aCOMPSUP := { "gcc", "gccomf", "watcom" } l_aLIBHBGT := { "gtos2" } hbmk[ _HBMK_cGTDEFAULT ] := "gtos2" cDynLibNamePrefix := "" @@ -1855,7 +1855,7 @@ FUNCTION hbmk( aArgs, /* @ */ lPause ) cParam := ArchCompFilter( hbmk, cParam ) IF ! Empty( cParam ) IF hbmk[ _HBMK_cCOMP ] $ "mingw|mingw64|mingwarm" .OR. ; - ( hbmk[ _HBMK_cPLAT ] == "os2" .AND. hbmk[ _HBMK_cCOMP ] == "gcc" ) + ( hbmk[ _HBMK_cPLAT ] == "os2" .AND. hbmk[ _HBMK_cCOMP ] $ "gcc|gccomf" ) /* For MinGW/EMX GCC family add .res files as source input, as they will need to be converted to coff format with windres (just like plain .rc files) before feeding them to gcc. */ @@ -2409,7 +2409,7 @@ FUNCTION hbmk( aArgs, /* @ */ lPause ) ENDIF ENDIF - CASE hbmk[ _HBMK_cPLAT ] == "os2" .AND. hbmk[ _HBMK_cCOMP ] == "gcc" + CASE hbmk[ _HBMK_cPLAT ] == "os2" .AND. hbmk[ _HBMK_cCOMP ] $ "gcc|gccomf" IF hbmk[ _HBMK_lDEBUG ] AAdd( hbmk[ _HBMK_aOPTC ], "-g" ) @@ -2417,7 +2417,11 @@ FUNCTION hbmk( aArgs, /* @ */ lPause ) cLibLibPrefix := "lib" cLibPrefix := "-l" cLibExt := "" - cObjExt := ".o" + IF hbmk[ _HBMK_cCOMP ] == "gccomf" + cObjExt := ".obj" + ELSE + cObjExt := ".o" + ENDIF cBin_CompC := hbmk[ _HBMK_cCCPREFIX ] + iif( hbmk[ _HBMK_lCPP ] != NIL .AND. hbmk[ _HBMK_lCPP ], "g++", "gcc" ) + hbmk[ _HBMK_cCCPOSTFIX ] + cCCEXT cOpt_CompC := "-c" IF hbmk[ _HBMK_lOPTIM ] @@ -2435,8 +2439,17 @@ FUNCTION hbmk( aArgs, /* @ */ lPause ) cOpt_Link := "{LO} {LA} {FL} {DL}" cLibPathPrefix := "-L" cLibPathSep := " " - cLibLibExt := ".a" - cBin_Lib := hbmk[ _HBMK_cCCPREFIX ] + "ar" + cCCEXT + IF hbmk[ _HBMK_cCOMP ] == "gccomf" + cLibLibExt := ".lib" + cBin_Lib := hbmk[ _HBMK_cCCPREFIX ] + "emxomfar" + cCCEXT + + AAdd( hbmk[ _HBMK_aOPTC ], "-Zomf" ) + AAdd( hbmk[ _HBMK_aOPTL ], "-Zomf" ) + AAdd( hbmk[ _HBMK_aOPTD ], "-Zomf" ) + ELSE + cLibLibExt := ".a" + cBin_Lib := hbmk[ _HBMK_cCCPREFIX ] + "ar" + cCCEXT + ENDIF cOpt_Lib := "{FA} rcs {OL} {LO}" IF hbmk[ _HBMK_lMAP ] AAdd( hbmk[ _HBMK_aOPTL ], "-Wl,-Map,{OM}" ) @@ -2473,7 +2486,11 @@ FUNCTION hbmk( aArgs, /* @ */ lPause ) cBin_Res := hbmk[ _HBMK_cCCPREFIX ] + "windres" + cCCEXT cResExt := ".reso" - cOpt_Res := "{FR} {IR} -O coff -o {OS}" + IF hbmk[ _HBMK_cCOMP ] == "gccomf" + cOpt_Res := "{FR} {IR} -O omf -o {OS}" + ELSE + cOpt_Res := "{FR} {IR} -O coff -o {OS}" + ENDIF IF ! Empty( hbmk[ _HBMK_cCCPATH ] ) cBin_Lib := FN_Escape( hbmk[ _HBMK_cCCPATH ] + hb_osPathSeparator() + cBin_Lib, nCmd_Esc ) @@ -6876,7 +6893,7 @@ FUNCTION hbmk_KEYW( hbmk, cKeyword ) IF ( cKeyword == "unix" .AND. ( hbmk[ _HBMK_cPLAT ] $ "bsd|hpux|sunos|beos|linux" .OR. hbmk[ _HBMK_cPLAT ] == "darwin" ) ) .OR. ; ( cKeyword == "allwin" .AND. hbmk[ _HBMK_cPLAT ] $ "win|wce" ) .OR. ; - ( cKeyword == "allgcc" .AND. hbmk[ _HBMK_cCOMP ] $ "gcc|mingw|mingw64|mingwarm|cygwin|djgpp" ) .OR. ; + ( cKeyword == "allgcc" .AND. hbmk[ _HBMK_cCOMP ] $ "gcc|mingw|mingw64|mingwarm|cygwin|djgpp|gccomf" ) .OR. ; ( cKeyword == "allmingw" .AND. hbmk[ _HBMK_cCOMP ] $ "mingw|mingw64|mingwarm" ) .OR. ; ( cKeyword == "allmsvc" .AND. hbmk[ _HBMK_cCOMP ] $ "msvc|msvc64|msvcia64|msvcarm" ) .OR. ; ( cKeyword == "allpocc" .AND. hbmk[ _HBMK_cCOMP ] $ "pocc|pocc64|poccarm" ) .OR. ; @@ -7059,7 +7076,7 @@ STATIC PROCEDURE ShowHelp( lLong ) " - win : mingw, msvc, bcc, watcom, icc, pocc, cygwin, xcc,",; " - mingw64, msvc64, msvcia64, iccia64, pocc64",; " - wce : mingwarm, mingw, msvcarm, poccarm",; - " - os2 : gcc, watcom",; + " - os2 : gcc, gccomf, watcom",; " - dos : djgpp, watcom",; " - bsd : gcc",; " - hpux : gcc",;