From 631010f4ae452e749d431eff003cb26df7d4ca87 Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Fri, 30 May 2008 15:47:57 +0000 Subject: [PATCH] 2008-05-30 17:36 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * source/common/hbverdsp.c * Some cleanups on appearance. * Company names removed (except CA). * contrib/rddads/adsmgmnt.c * Minor formatting. + contrib/examples/dbu/hb_dbu.dif * contrib/examples/dbu/bld_b32.bat * contrib/examples/dbu/readme.txt + Added .dif file with a patch fixing some multiplatforms issues in original dbu source. It's a quick hack, I might have missed something, and I didn't do any testing. Add your own fix, if you have some. * DBU_DIR -> HB_DIR_DBU * make_b32.mak * contrib/mtpl_b32.mak * config/w32/bcc32.cf + Added following switches for BCC: -d: merge duplicate strings (was enabled already in GNU make) -w: enable warnings. -w-sig-: disable 'Conversion may lose significant digits' warnings. --- harbour/ChangeLog | 26 +++ harbour/config/w32/bcc32.cf | 2 +- harbour/contrib/examples/dbu/bld_b32.bat | 30 +-- harbour/contrib/examples/dbu/hb_dbu.dif | 224 +++++++++++++++++++++++ harbour/contrib/examples/dbu/readme.txt | 7 + harbour/contrib/mtpl_b32.mak | 2 +- harbour/contrib/rddads/adsmgmnt.c | 10 +- harbour/make_b32.mak | 2 +- harbour/source/common/hbverdsp.c | 114 ++++++------ 9 files changed, 339 insertions(+), 78 deletions(-) create mode 100644 harbour/contrib/examples/dbu/hb_dbu.dif diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 1df8d4633e..6de69e951c 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -8,6 +8,32 @@ 2008-12-31 13:59 UTC+0100 Foo Bar */ +2008-05-30 17:36 UTC+0100 Viktor Szakats (harbour.01 syenar hu) + * source/common/hbverdsp.c + * Some cleanups on appearance. + * Company names removed (except CA). + + * contrib/rddads/adsmgmnt.c + * Minor formatting. + + + contrib/examples/dbu/hb_dbu.dif + * contrib/examples/dbu/bld_b32.bat + * contrib/examples/dbu/readme.txt + + Added .dif file with a patch fixing some + multiplatforms issues in original dbu source. + It's a quick hack, I might have missed something, + and I didn't do any testing. Add your own fix, + if you have some. + * DBU_DIR -> HB_DIR_DBU + + * make_b32.mak + * contrib/mtpl_b32.mak + * config/w32/bcc32.cf + + Added following switches for BCC: + -d: merge duplicate strings (was enabled already in GNU make) + -w: enable warnings. + -w-sig-: disable 'Conversion may lose significant digits' warnings. + 2008-05-30 12:17 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * include/hbdefs.h - Removed WIN32_LEAN_AND_MEAN to make things more standard. diff --git a/harbour/config/w32/bcc32.cf b/harbour/config/w32/bcc32.cf index be7d65ee25..187bdc8c4b 100644 --- a/harbour/config/w32/bcc32.cf +++ b/harbour/config/w32/bcc32.cf @@ -15,7 +15,7 @@ CC = bcc32.exe CC_IN = -c CC_OUT = -o CPPFLAGS = -I. -I$(TOP) -I$(TOP)$(ROOT) -CFLAGS = -O2 -d +CFLAGS = -O2 -d -w -w-sig- ifneq ($(HB_INC_COMPILE),) CPPFLAGS += -I$(HB_INC_COMPILE) diff --git a/harbour/contrib/examples/dbu/bld_b32.bat b/harbour/contrib/examples/dbu/bld_b32.bat index 38e20fefca..4840457a6a 100644 --- a/harbour/contrib/examples/dbu/bld_b32.bat +++ b/harbour/contrib/examples/dbu/bld_b32.bat @@ -3,10 +3,10 @@ rem rem $Id$ rem -set DBU_DIR=%CLIPPER_DIR%\SOURCE\DBU -if exist "%DBU_DIR%\DBU.PRG" goto DIR_OK -set DBU_DIR=. -if exist "%DBU_DIR%\DBU.PRG" goto DIR_OK +set HB_DIR_DBU=%CLIPPER_DIR%\SOURCE\DBU +if exist "%HB_DIR_DBU%\DBU.PRG" goto DIR_OK +set HB_DIR_DBU=. +if exist "%HB_DIR_DBU%\DBU.PRG" goto DIR_OK_LOCAL echo --------------------------------------------------------------- echo IMPORTANT: You'll either need to copy the original CA-Cl*pper @@ -17,17 +17,21 @@ echo set CLIPPER_DIR=C:\CLIPPER5 echo --------------------------------------------------------------- goto EXIT +:DIR_OK_LOCAL + +if exist hb_dbu.dif patch -i hb_dbu.dif + :DIR_OK -..\..\..\bin\harbour /n %DBU_DIR%\DBU.PRG /i..\..\..\include\ -..\..\..\bin\harbour /n %DBU_DIR%\DBUCOPY.PRG /i..\..\..\include\ -..\..\..\bin\harbour /n %DBU_DIR%\DBUEDIT.PRG /i..\..\..\include\ -..\..\..\bin\harbour /n %DBU_DIR%\DBUHELP.PRG /i..\..\..\include\ -..\..\..\bin\harbour /n %DBU_DIR%\DBUINDX.PRG /i..\..\..\include\ -..\..\..\bin\harbour /n %DBU_DIR%\DBUNET.PRG /i..\..\..\include\ -..\..\..\bin\harbour /n %DBU_DIR%\DBUSTRU.PRG /i..\..\..\include\ -..\..\..\bin\harbour /n %DBU_DIR%\DBUUTIL.PRG /i..\..\..\include\ -..\..\..\bin\harbour /n %DBU_DIR%\DBUVIEW.PRG /i..\..\..\include\ +..\..\..\bin\harbour /n %HB_DIR_DBU%\DBU.PRG /i..\..\..\include\ +..\..\..\bin\harbour /n %HB_DIR_DBU%\DBUCOPY.PRG /i..\..\..\include\ +..\..\..\bin\harbour /n %HB_DIR_DBU%\DBUEDIT.PRG /i..\..\..\include\ +..\..\..\bin\harbour /n %HB_DIR_DBU%\DBUHELP.PRG /i..\..\..\include\ +..\..\..\bin\harbour /n %HB_DIR_DBU%\DBUINDX.PRG /i..\..\..\include\ +..\..\..\bin\harbour /n %HB_DIR_DBU%\DBUNET.PRG /i..\..\..\include\ +..\..\..\bin\harbour /n %HB_DIR_DBU%\DBUSTRU.PRG /i..\..\..\include\ +..\..\..\bin\harbour /n %HB_DIR_DBU%\DBUUTIL.PRG /i..\..\..\include\ +..\..\..\bin\harbour /n %HB_DIR_DBU%\DBUVIEW.PRG /i..\..\..\include\ echo -O2 -I..\..\..\include -L..\..\..\lib > build.tmp echo -edbu.exe >> build.tmp diff --git a/harbour/contrib/examples/dbu/hb_dbu.dif b/harbour/contrib/examples/dbu/hb_dbu.dif new file mode 100644 index 0000000000..85afe780e2 --- /dev/null +++ b/harbour/contrib/examples/dbu/hb_dbu.dif @@ -0,0 +1,224 @@ +diff -u -x make_dif.bat ..\ori_src\DBU.PRG .\DBU.PRG +--- ..\ori_src\DBU.PRG Thu Mar 04 05:20:00 1993 ++++ .\DBU.PRG Fri May 30 15:37:11 2008 +@@ -378,13 +378,13 @@ + + ENDIF + +- CASE FILE(com_line + ".VEW") ++ CASE FILE(com_line + ".vew") + * look for file name with .VEW extension +- com_line = com_line + ".VEW" ++ com_line = com_line + ".vew" + +- CASE FILE(com_line + ".DBF") ++ CASE FILE(com_line + ".dbf") + * look for file name with .DBF extension +- com_line = com_line + ".DBF" ++ com_line = com_line + ".dbf" + + OTHERWISE + * file not found..ignore command line +@@ -395,7 +395,7 @@ + IF .NOT. EMPTY(com_line) + * command line file exists + +- IF RAT(".VEW", com_line) = LEN(com_line) - 3 ++ IF RAT(".vew", Lower( com_line ) ) = LEN(com_line) - 3 + * assume a valid .VEW file + view_file = com_line + set_from(.F.) && restore view +diff -u -x make_dif.bat ..\ori_src\DBUCOPY.PRG .\DBUCOPY.PRG +--- ..\ori_src\DBUCOPY.PRG Thu Mar 04 05:20:00 1993 ++++ .\DBUCOPY.PRG Fri May 30 15:41:33 2008 +@@ -104,7 +104,7 @@ + + * DBF for normal mode + files = "dbf_list" +- def_ext = ".DBF" ++ def_ext = ".dbf" + + * when is a filename acceptable? + fi_done = "not_empty('filename')" +@@ -208,7 +208,7 @@ + + SELECT (M->cur_area) + +- IF RAT(M->def_ext, M->filename) = LEN(M->filename) - 3 ++ IF RAT(Lower( M->def_ext ), Lower( M->filename )) = LEN(M->filename) - 3 + * target has default extension..does it exists in current dir? + add_name = .NOT. FILE(name(M->filename) + M->def_ext) + +@@ -735,7 +735,7 @@ + cur_el = 1 + rel_row = 0 + files = "dbf_list" +- def_ext = ".DBF" ++ def_ext = ".dbf" + filelist(1) && display new list + + ELSE +@@ -750,7 +750,7 @@ + cur_el = 1 + rel_row = 0 + files = "txt_list" +- def_ext = ".TXT" ++ def_ext = ".txt" + filelist(1) && display new list + + ENDIF +@@ -813,7 +813,7 @@ + cur_el = 1 + rel_row = 0 + files = "dbf_list" +- def_ext = ".DBF" ++ def_ext = ".dbf" + filelist(1) && display new list + + ELSE +@@ -828,7 +828,7 @@ + cur_el = 1 + rel_row = 0 + files = "txt_list" +- def_ext = ".TXT" ++ def_ext = ".txt" + filelist(1) && display new list + + ENDIF +diff -u -x make_dif.bat ..\ori_src\DBUINDX.PRG .\DBUINDX.PRG +--- ..\ori_src\DBUINDX.PRG Thu Mar 04 05:20:00 1993 ++++ .\DBUINDX.PRG Fri May 30 15:40:42 2008 +@@ -240,7 +240,7 @@ + INDEX ON &k_exp TO &filename + CLOSE INDEX + +- IF AT(INDEXEXT(), M->filename) = LEN(M->filename) - 3 .AND.; ++ IF AT(Lower( INDEXEXT() ), Lower( M->filename )) = LEN(M->filename) - 3 .AND.; + FILE(name(M->filename) + INDEXEXT()) .AND. M->add_name + * add only .ntx files in the current directory + +diff -u -x make_dif.bat ..\ori_src\DBUSTRU.PRG .\DBUSTRU.PRG +--- ..\ori_src\DBUSTRU.PRG Thu Mar 04 05:20:00 1993 ++++ .\DBUSTRU.PRG Fri May 30 15:34:49 2008 +@@ -811,7 +811,7 @@ + is_insert = .F. + filename = stru_name + +- IF filebox(".DBF", "dbf_list", "stru_title",; ++ IF filebox(".dbf", "dbf_list", "stru_title",; + "do_modstru", .T., 13) <> 0 + * structure created or altered + stru_name = filename +@@ -1215,7 +1215,7 @@ + USE + + * remember if file existed in current directory before +- add_name = .NOT. FILE(name(filename) + ".DBF") ++ add_name = .NOT. FILE(name(filename) + ".dbf") + + IF FILE(filename) + * file exists..modify structure and save old data +@@ -1236,11 +1236,11 @@ + + * establish temp filespec and dbt specs in same directory + name_temp = SUBSTR(filename, 1, RAT("\", filename)) +; +- "DDBBUUUU.TMP" ++ "ddbbuuuu.tmp" + dbt_spec = SUBSTR(filename, 1, RAT(".", filename)) +; +- "DBT" ++ "dbt" + dbt_temp = SUBSTR(name_temp, 1, RAT(".", name_temp)) +; +- "DBT" ++ "dbt" + + IF FILE(dbt_spec) + * data file contains memo fields +@@ -1321,7 +1321,7 @@ + USE + + IF AT(".DBF", filename) = LEN(filename) - 3 .AND.; +- FILE(name(filename) + ".DBF") .AND. add_name ++ FILE(name(filename) + ".dbf") .AND. add_name + * add only .dbf files in the current directory + i = afull(dbf_list) + 1 + +diff -u -x make_dif.bat ..\ori_src\DBUUTIL.PRG .\DBUUTIL.PRG +--- ..\ori_src\DBUUTIL.PRG Thu Mar 04 05:20:00 1993 ++++ .\DBUUTIL.PRG Fri May 30 15:36:26 2008 +@@ -2152,7 +2152,7 @@ + IF FILE(M->filename) + * only if the file exists + +- IF INDEXEXT() = ".NTX" ++ IF Lower( INDEXEXT() ) = ".ntx" + * Clipper index file format + k_pos = 23 + +diff -u -x make_dif.bat ..\ori_src\DBUVIEW.PRG .\DBUVIEW.PRG +--- ..\ori_src\DBUVIEW.PRG Thu Mar 04 05:20:00 1993 ++++ .\DBUVIEW.PRG Fri May 30 15:36:04 2008 +@@ -1110,7 +1110,7 @@ + + IF .NOT. (RAT(".", M->filename) > RAT("\", M->filename)) + * no extension entered..provide default +- filename = M->filename + ".DBF" ++ filename = M->filename + ".dbf" + + ENDIF + +@@ -1141,7 +1141,7 @@ + + ELSE + * insert or enter or menu selection..use filebox +- ret_val = filebox(".DBF", "dbf_list", "dopen_titl",; ++ ret_val = filebox(".dbf", "dbf_list", "dopen_titl",; + "do_opendbf", .F., 8) <> 0 + + ENDIF +@@ -2790,7 +2790,7 @@ + * get user entered file name..will default to primary + ".VEW" + IF EMPTY(M->view_file) .AND. .NOT. EMPTY(dbf[1]) + * default to name of primary data file +- filename = name(dbf[1]) + ".VEW" ++ filename = name(dbf[1]) + ".vew" + + ELSE + * whatever the last view was +@@ -2799,7 +2799,7 @@ + ENDIF + + * it's better in a box +-filebox(".VEW", "vew_list", "vcrea_titl", "do_creavew", .T., 8) ++filebox(".vew", "vew_list", "vcrea_titl", "do_creavew", .T., 8) + + * restore help code + help_code = M->old_help +@@ -2841,7 +2841,7 @@ + stat_msg("Generating View File") + + * add new .VEW files to vew_list if created in current directory only +-add_name = .NOT. FILE(name(filename) + ".VEW") ++add_name = .NOT. FILE(name(filename) + ".vew") + + * create structure extended template + CREATE ddbbuuuu.ext +@@ -3010,8 +3010,8 @@ + USE + + * add file name to array of view files +-IF AT(".VEW", filename) = LEN(filename) - 3 .AND.; +- FILE(name(filename) + ".VEW") .AND. add_name ++IF AT(".vew", Lower(filename)) = LEN(filename) - 3 .AND.; ++ FILE(name(filename) + ".vew") .AND. add_name + * add only new .VEW files in the current directory + + * determine number of first empty element +@@ -3081,7 +3081,7 @@ + IF M->from_view + * called from set_view + +- IF filebox(".VEW", "vew_list", "vopen_titl", "do_openvew", .F., 8) <> 0 ++ IF filebox(".vew", "vew_list", "vopen_titl", "do_openvew", .F., 8) <> 0 + * indicate new View has been set + keystroke = 13 + diff --git a/harbour/contrib/examples/dbu/readme.txt b/harbour/contrib/examples/dbu/readme.txt index feede55975..a17c6fd8b5 100644 --- a/harbour/contrib/examples/dbu/readme.txt +++ b/harbour/contrib/examples/dbu/readme.txt @@ -4,3 +4,10 @@ Copy the full content of /SOURCE/DBU from your original CA-Cl*pper installation, and run the batch file to compile. + +If DBU source is present in this directory, it will be +patched by hb_dbu.dif to make the original code run better +under various platforms. This patch is optional, you can +delete it if you want. + +[vszakats] diff --git a/harbour/contrib/mtpl_b32.mak b/harbour/contrib/mtpl_b32.mak index 471dad4ddf..85c8be3d50 100644 --- a/harbour/contrib/mtpl_b32.mak +++ b/harbour/contrib/mtpl_b32.mak @@ -137,7 +137,7 @@ CFLAGS = -I$(INCLUDE_DIR) -d $(C_USR) $(CFLAGS) $(HB_BUILD_MODE) #********************************************************** -CLIBFLAGS = -c -q $(CFLAGS) $(CLIBFLAGS) +CLIBFLAGS = -c -q -d -w -w-sig- $(CFLAGS) $(CLIBFLAGS) HARBOURFLAGS = -i$(INCLUDE_DIR) -n -q0 -w3 -es2 -gc0 $(PRG_USR) $(HARBOURFLAGS) LDFLAGS = $(LDFLAGS) diff --git a/harbour/contrib/rddads/adsmgmnt.c b/harbour/contrib/rddads/adsmgmnt.c index cfb5db17b8..7de3f2af3c 100644 --- a/harbour/contrib/rddads/adsmgmnt.c +++ b/harbour/contrib/rddads/adsmgmnt.c @@ -388,7 +388,7 @@ HB_FUNC( ADSMGGETUSERNAMES ) hb_arrayNew( pArrayItm, 6 ); hb_arraySetC( pArrayItm, 1, ( char * ) pastUserInfo[ ulCount ].aucUserName ); - hb_arraySetNL( pArrayItm, 2, pastUserInfo[ ulCount ].usConnNumber ); + hb_arraySetNL( pArrayItm, 2, pastUserInfo[ ulCount ].usConnNumber ); #if ADS_LIB_VERSION >= 600 hb_arraySetC( pArrayItm, 3, ( char * ) pastUserInfo[ ulCount ].aucAddress ); #else @@ -636,11 +636,11 @@ HB_FUNC( ADSMGGETWORKERTHREADACTIVITY ) PHB_ITEM pArrayItm = hb_arrayGetItemPtr( pArray, ulCount ); hb_arrayNew( pArrayItm, 6 ); - hb_arraySetNL( pArrayItm, 1, astWorkerThreadActivity[ ulCount ].ulThreadNumber ); - hb_arraySetNI( pArrayItm, 2, astWorkerThreadActivity[ ulCount ].usOpCode ); + hb_arraySetNL( pArrayItm, 1, astWorkerThreadActivity[ ulCount ].ulThreadNumber ); + hb_arraySetNI( pArrayItm, 2, astWorkerThreadActivity[ ulCount ].usOpCode ); hb_arraySetC( pArrayItm, 3, ( char * ) astWorkerThreadActivity[ ulCount ].aucUserName ); - hb_arraySetNI( pArrayItm, 4, astWorkerThreadActivity[ ulCount ].usConnNumber ); - hb_arraySetNI( pArrayItm, 5, astWorkerThreadActivity[ ulCount ].usReserved1 ); + hb_arraySetNI( pArrayItm, 4, astWorkerThreadActivity[ ulCount ].usConnNumber ); + hb_arraySetNI( pArrayItm, 5, astWorkerThreadActivity[ ulCount ].usReserved1 ); #if ADS_LIB_VERSION >= 800 hb_arraySetC( pArrayItm, 6, ( char * ) astWorkerThreadActivity[ ulCount ].aucOSUserLoginName ); #else diff --git a/harbour/make_b32.mak b/harbour/make_b32.mak index e05cb1f3e1..916f371bb7 100644 --- a/harbour/make_b32.mak +++ b/harbour/make_b32.mak @@ -138,7 +138,7 @@ CFLAGS = -I$(INCLUDE_DIR) $(C_USR) $(CFLAGS) -I$(OBJ_DIR) #********************************************************** -CLIBFLAGS = -c -q $(CFLAGS) $(CLIBFLAGS) +CLIBFLAGS = -c -q -d -w -w-sig- $(CFLAGS) $(CLIBFLAGS) CLIBFLAGSxxx = $(BCCDLL_WITH_DYNRT) $(CLIBFLAGS: -tWM= ) CLIBFLAGSDLL = -D__EXPORT__ -tWM $(CLIBFLAGSxxx) $(CLIBFLAGSDLL) CEXEFLAGSDLL = -tWM $(CLIBFLAGSxxx) $(CEXEFLAGSDLL) diff --git a/harbour/source/common/hbverdsp.c b/harbour/source/common/hbverdsp.c index 8c7de0597a..b0bd0e55c8 100644 --- a/harbour/source/common/hbverdsp.c +++ b/harbour/source/common/hbverdsp.c @@ -124,7 +124,7 @@ void hb_verBuildInfo( void ) const char * pszFlags = hb_verFlagsPRG(); if( pszFlags && *pszFlags ) { - hb_conOutErr( "Harbour compiler switches: ", 0 ); + hb_conOutErr( "Extra Harbour compiler switches: ", 0 ); hb_conOutErr( pszFlags, 0 ); hb_conOutErr( hb_conNewLine(), 0 ); } @@ -134,7 +134,7 @@ void hb_verBuildInfo( void ) const char * pszFlags = hb_verFlagsC(); if( pszFlags && *pszFlags ) { - hb_conOutErr( "C compiler switches: ", 0 ); + hb_conOutErr( "Extra C compiler switches: ", 0 ); hb_conOutErr( pszFlags, 0 ); hb_conOutErr( hb_conNewLine(), 0 ); } @@ -144,7 +144,7 @@ void hb_verBuildInfo( void ) const char * pszFlags = hb_verFlagsL(); if( pszFlags && *pszFlags ) { - hb_conOutErr( "Linker switches: ", 0 ); + hb_conOutErr( "Extra linker switches: ", 0 ); hb_conOutErr( pszFlags, 0 ); hb_conOutErr( hb_conNewLine(), 0 ); } @@ -152,112 +152,112 @@ void hb_verBuildInfo( void ) hb_conOutErr( hb_conNewLine(), 0 ); - hb_conOutErr( "Harbour non-portable extensions: ", 0 ); -#if defined( HB_EXTENSION ) - hb_conOutErr( "Yes", 0 ); -#else - hb_conOutErr( "No", 0 ); -#endif - hb_conOutErr( hb_conNewLine(), 0 ); - - hb_conOutErr( "CA-Clipper 5.2e undocumented: ", 0 ); -#if defined( HB_C52_UNDOC ) - hb_conOutErr( "Yes", 0 ); -#else - hb_conOutErr( "No", 0 ); -#endif - hb_conOutErr( hb_conNewLine(), 0 ); - - hb_conOutErr( "CA-Clipper 5.3x compatible extensions: ", 0 ); + hb_conOutErr( "CA-Clipper 5.3b compatible extensions: ", 0 ); #if defined( HB_COMPAT_C53 ) - hb_conOutErr( "Yes", 0 ); + hb_conOutErr( "yes", 0 ); #else - hb_conOutErr( "No", 0 ); + hb_conOutErr( "no", 0 ); +#endif + hb_conOutErr( hb_conNewLine(), 0 ); + + hb_conOutErr( "CA-Clipper 5.2e/5.3b undocumented: ", 0 ); +#if defined( HB_C52_UNDOC ) + hb_conOutErr( "yes", 0 ); +#else + hb_conOutErr( "no", 0 ); #endif hb_conOutErr( hb_conNewLine(), 0 ); hb_conOutErr( "CA-Clipper 5.2e/5.3b strict compatibility: ", 0 ); #if defined( HB_C52_STRICT ) - hb_conOutErr( "Yes", 0 ); + hb_conOutErr( "yes", 0 ); #else - hb_conOutErr( "No", 0 ); + hb_conOutErr( "no", 0 ); #endif hb_conOutErr( hb_conNewLine(), 0 ); - hb_conOutErr( "Alaska Xbase++ compatible extensions: ", 0 ); + hb_conOutErr( "Xbase++ compatible extensions: ", 0 ); #if defined( HB_COMPAT_XPP ) - hb_conOutErr( "Yes", 0 ); + hb_conOutErr( "yes", 0 ); #else - hb_conOutErr( "No", 0 ); + hb_conOutErr( "no", 0 ); +#endif + hb_conOutErr( hb_conNewLine(), 0 ); + + hb_conOutErr( "Flagship compatible extensions: ", 0 ); +#if defined( HB_COMPAT_FLAGSHIP ) + hb_conOutErr( "yes", 0 ); +#else + hb_conOutErr( "no", 0 ); #endif hb_conOutErr( hb_conNewLine(), 0 ); hb_conOutErr( "CA-Visual Objects compatible extensions: ", 0 ); #if defined( HB_COMPAT_VO ) - hb_conOutErr( "Yes", 0 ); + hb_conOutErr( "yes", 0 ); #else - hb_conOutErr( "No", 0 ); + hb_conOutErr( "no", 0 ); #endif hb_conOutErr( hb_conNewLine(), 0 ); - hb_conOutErr( "Multisoft Flagship compatible extensions: ", 0 ); -#if defined( HB_COMPAT_FLAGSHIP ) - hb_conOutErr( "Yes", 0 ); -#else - hb_conOutErr( "No", 0 ); -#endif - hb_conOutErr( hb_conNewLine(), 0 ); - - hb_conOutErr( "CLIP compatible extensions: ", 0 ); -#if defined( HB_COMPAT_CLIP ) - hb_conOutErr( "Yes", 0 ); -#else - hb_conOutErr( "No", 0 ); -#endif - hb_conOutErr( hb_conNewLine(), 0 ); - - hb_conOutErr( "Microsoft FoxPro compatible extensions: ", 0 ); + hb_conOutErr( "FoxPro compatible extensions: ", 0 ); #if defined( HB_COMPAT_FOXPRO ) - hb_conOutErr( "Yes", 0 ); + hb_conOutErr( "yes", 0 ); #else - hb_conOutErr( "No", 0 ); + hb_conOutErr( "no", 0 ); #endif hb_conOutErr( hb_conNewLine(), 0 ); hb_conOutErr( "dBase compatible extensions: ", 0 ); #if defined( HB_COMPAT_DBASE ) - hb_conOutErr( "Yes", 0 ); + hb_conOutErr( "yes", 0 ); #else - hb_conOutErr( "No", 0 ); + hb_conOutErr( "no", 0 ); +#endif + hb_conOutErr( hb_conNewLine(), 0 ); + + hb_conOutErr( "CLIP compatible extensions: ", 0 ); +#if defined( HB_COMPAT_CLIP ) + hb_conOutErr( "yes", 0 ); +#else + hb_conOutErr( "no", 0 ); +#endif + hb_conOutErr( hb_conNewLine(), 0 ); + + hb_conOutErr( "Harbour non-portable extensions: ", 0 ); +#if defined( HB_EXTENSION ) + hb_conOutErr( "yes", 0 ); +#else + hb_conOutErr( "no", 0 ); #endif hb_conOutErr( hb_conNewLine(), 0 ); hb_conOutErr( "ANSI C usage: ", 0 ); #if defined( HARBOUR_STRICT_ANSI_C ) - hb_conOutErr( "Strict", 0 ); + hb_conOutErr( "strict", 0 ); #else - hb_conOutErr( "Non strict", 0 ); + hb_conOutErr( "non strict", 0 ); #endif hb_conOutErr( hb_conNewLine(), 0 ); hb_conOutErr( "C++ mode: ", 0 ); #if defined(__cplusplus) - hb_conOutErr( "On", 0 ); + hb_conOutErr( "on", 0 ); #else - hb_conOutErr( "Off", 0 ); + hb_conOutErr( "off", 0 ); #endif hb_conOutErr( hb_conNewLine(), 0 ); hb_conOutErr( "Profiler: ", 0 ); #if defined( HB_NO_PROFILER ) - hb_conOutErr( "Off", 0 ); + hb_conOutErr( "off", 0 ); #else - hb_conOutErr( "On", 0 ); + hb_conOutErr( "on", 0 ); #endif hb_conOutErr( hb_conNewLine(), 0 ); hb_conOutErr( "Memory tracing and statistics: ", 0 ); - hb_conOutErr( hb_xquery( HB_MEM_USEDMAX ) != 0 ? "On" : "Off", 0 ); + hb_conOutErr( hb_xquery( HB_MEM_USEDMAX ) != 0 ? "on" : "off", 0 ); hb_conOutErr( hb_conNewLine(), 0 ); {