* harbour/source/rtl/errorapi.c
+ added protection against possible GPF when some assign methods
were called without parameters
* harbour/source/rdd/workarea.c
* initialize uiFalgs also when DBS_FLAGS is not set
* harbour/contrib/bmdbfcdx/bmdbfcdx1.c
* fixed hb_cdxSkipFilter() declaration - it should be 'static' function
* harbour/source/pp/ppcore.c
* harbour/source/compiler/ppcomp.c
+ added support for changing all -k? switches by #pragma, f.e.;
#pragma -ks+
#pragma -kM-
#pragma -kx1
#pragma -kJ0
* harbour/source/compiler/hbusage.c
* changed -ks description
* harbour/include/hbexpra.c
* harbour/include/hbexprb.c
* do not generate error message for negative indexes and
[] operators are used for simple types when -ks option
is used
* harbour/include/hbvmpub.h
* harbour/include/hbapi.h
* harbour/source/vm/hvm.c
* harbour/source/vm/extend.c
* harbour/source/vm/itemapi.c
* harbour/source/vm/memvars.c
+ added HB_IT_DEFAULT flags - it allows to check if item was changed
* harbour/source/vm/memvars.c
* harbour/include/hbvm.h
! fixed HB_IT_MEMOFLAG updating to be Clipper compatible. Here we are
not Clipper compatible in one place: in clodeblock local parameters
with memo values are marked as MEMO but if you leave function where
codeblock were created then Clipper during detaching removes MEMO
flag. In Harbour memo flag is kept.
* harbour/include/hbvm.h
* harbour/source/vm/classes.c
* harbour/source/vm/hvm.c
% improved speed of extended references used for SETGET methods
and overloaded [] operators
* harbour/include/hbapi.h
* harbour/include/hbsetup.ch
* harbour/source/compiler/hbcomp.c
* harbour/source/vm/hvm.c
* harbour/source/vm/macro.c
* harbour/source/vm/cmdarg.c
* removed HB_COMPAT_XHB flags - only one HB_COMPAT_XHB still exist
in HVM in hashes.c - it will be removed soon.
* harbour/source/common/hbverdsp.c
* removed information about xHarbour compatibility mode - it's not
longer used. We are emulating xHarbour behavior using external
XHB library and standard compiler/HVM features
* harbour/contrib/xhb/xhb.ch
* harbour/contrib/xhb/xhbfunc.c
* harbour/source/vm/arrayshb.c
* moved XHB_AINS(), XHB_ADEL() from XHB lib to HVM as HB_AINS(), HB_ADEL()
* harbour/contrib/xhb/xhb.ch
+ added #pragma -ks+
+ added transaltion for hb_enumindex( <enumvar> )
+ harbour/contrib/xhb/xhbenum.c
+ added emulation for HB_EUMMINDEX()
* harbour/contrib/xhb/xhbfunc.c
* do not add INET*() function wrappers for DOS builds or when
HB_NO_DEFAULT_INET macro is set
* harbour/contrib/xhb/xhbmsgs.c
* added comment
* harbour/contrib/Makefile
+ added TIP and XHB
* harbour/make_rpm.sh
* harbour/harbour.spec
* removed HB_COMPAT_XHB, --with tip, --with xhb
they are not longer necessary
273 lines
7.5 KiB
C
273 lines
7.5 KiB
C
/*
|
|
* $Id$
|
|
*/
|
|
|
|
/*
|
|
* Harbour Project source code:
|
|
* Display build information - code moved from hb_ver.c
|
|
*
|
|
* Copyright 1999 {list of individual authors and e-mail addresses}
|
|
* www - http://www.harbour-project.org
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation; either version 2, or (at your option)
|
|
* any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this software; see the file COPYING. If not, write to
|
|
* the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
|
|
* Boston, MA 02111-1307 USA (or visit the web site http://www.gnu.org/).
|
|
*
|
|
* As a special exception, the Harbour Project gives permission for
|
|
* additional uses of the text contained in its release of Harbour.
|
|
*
|
|
* The exception is that, if you link the Harbour libraries with other
|
|
* files to produce an executable, this does not by itself cause the
|
|
* resulting executable to be covered by the GNU General Public License.
|
|
* Your use of that executable is in no way restricted on account of
|
|
* linking the Harbour library code into it.
|
|
*
|
|
* This exception does not however invalidate any other reasons why
|
|
* the executable file might be covered by the GNU General Public License.
|
|
*
|
|
* This exception applies only to the code released by the Harbour
|
|
* Project under the name Harbour. If you copy code from other
|
|
* Harbour Project or Free Software Foundation releases into a copy of
|
|
* Harbour, as the General Public License permits, the exception does
|
|
* not apply to the code that you add in this way. To avoid misleading
|
|
* anyone as to the status of such modified files, you must delete
|
|
* this exception notice from them.
|
|
*
|
|
* If you write modifications of your own for Harbour, it is your choice
|
|
* whether to permit this exception to apply to your modifications.
|
|
* If you do not wish that, delete this exception notice.
|
|
*
|
|
*/
|
|
|
|
/*
|
|
*
|
|
* See doc/license.txt for licensing terms.
|
|
*
|
|
*/
|
|
|
|
#include "hbapi.h"
|
|
#include "hbver.h"
|
|
#include "hbmemory.ch"
|
|
|
|
void hb_verBuildInfo( void )
|
|
{
|
|
hb_conOutErr( "Harbour Build Info", 0 );
|
|
hb_conOutErr( hb_conNewLine(), 0 );
|
|
hb_conOutErr( "---------------------------", 0 );
|
|
hb_conOutErr( hb_conNewLine(), 0 );
|
|
|
|
{
|
|
char * pszVersion = hb_verHarbour();
|
|
hb_conOutErr( "Version: ", 0 );
|
|
hb_conOutErr( pszVersion, 0 );
|
|
hb_conOutErr( hb_conNewLine(), 0 );
|
|
hb_xfree( pszVersion );
|
|
}
|
|
|
|
{
|
|
char * pszPCode = hb_verPCode();
|
|
hb_conOutErr( pszPCode, 0 );
|
|
hb_conOutErr( hb_conNewLine(), 0 );
|
|
hb_xfree( pszPCode );
|
|
}
|
|
|
|
{
|
|
char * pszVersion = hb_verCompiler();
|
|
hb_conOutErr( "Compiler: ", 0 );
|
|
hb_conOutErr( pszVersion, 0 );
|
|
hb_conOutErr( hb_conNewLine(), 0 );
|
|
hb_xfree( pszVersion );
|
|
}
|
|
|
|
{
|
|
char * pszVersion = hb_verPlatform();
|
|
hb_conOutErr( "Platform: ", 0 );
|
|
hb_conOutErr( pszVersion, 0 );
|
|
hb_conOutErr( hb_conNewLine(), 0 );
|
|
hb_xfree( pszVersion );
|
|
}
|
|
|
|
hb_conOutErr( hb_conNewLine(), 0 );
|
|
|
|
hb_conOutErr( "Built on: ", 0 );
|
|
hb_conOutErr( __DATE__, 0 );
|
|
hb_conOutErr( " ", 0 );
|
|
hb_conOutErr( __TIME__, 0 );
|
|
hb_conOutErr( hb_conNewLine(), 0 );
|
|
|
|
hb_conOutErr( "Last ChangeLog entry: ", 0 );
|
|
hb_conOutErr( HB_VER_LENTRY, 0 );
|
|
hb_conOutErr( hb_conNewLine(), 0 );
|
|
|
|
hb_conOutErr( "ChangeLog CVS version: ", 0 );
|
|
hb_conOutErr( HB_VER_CHLCVS, 0 );
|
|
hb_conOutErr( hb_conNewLine(), 0 );
|
|
|
|
if( strlen( HB_VER_C_USR ) )
|
|
{
|
|
hb_conOutErr( "Harbour compiler switches: ", 0 );
|
|
hb_conOutErr( HB_VER_C_USR, 0 );
|
|
hb_conOutErr( hb_conNewLine(), 0 );
|
|
}
|
|
|
|
if( strlen( HB_VER_L_USR ) )
|
|
{
|
|
hb_conOutErr( "C compiler switches: ", 0 );
|
|
hb_conOutErr( HB_VER_L_USR, 0 );
|
|
hb_conOutErr( hb_conNewLine(), 0 );
|
|
}
|
|
|
|
if( strlen( HB_VER_PRG_USR ) )
|
|
{
|
|
hb_conOutErr( "Linker switches: ", 0 );
|
|
hb_conOutErr( HB_VER_PRG_USR, 0 );
|
|
hb_conOutErr( hb_conNewLine(), 0 );
|
|
}
|
|
|
|
hb_conOutErr( hb_conNewLine(), 0 );
|
|
|
|
hb_conOutErr( "Harbour 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.2e strict compatibility: ", 0 );
|
|
#if defined( HB_C52_STRICT )
|
|
hb_conOutErr( "Yes", 0 );
|
|
#else
|
|
hb_conOutErr( "No", 0 );
|
|
#endif
|
|
hb_conOutErr( hb_conNewLine(), 0 );
|
|
|
|
hb_conOutErr( "CA-Clipper 5.3x compatible extensions: ", 0 );
|
|
#if defined( HB_COMPAT_C53 )
|
|
hb_conOutErr( "Yes", 0 );
|
|
#else
|
|
hb_conOutErr( "No", 0 );
|
|
#endif
|
|
hb_conOutErr( hb_conNewLine(), 0 );
|
|
|
|
hb_conOutErr( "Alaska Xbase++ compatible extensions: ", 0 );
|
|
#if defined( HB_COMPAT_XPP )
|
|
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 );
|
|
#else
|
|
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 );
|
|
#if defined( HB_COMPAT_FOXPRO )
|
|
hb_conOutErr( "Yes", 0 );
|
|
#else
|
|
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 );
|
|
#else
|
|
hb_conOutErr( "No", 0 );
|
|
#endif
|
|
hb_conOutErr( hb_conNewLine(), 0 );
|
|
|
|
hb_conOutErr( "Object file generation support: ", 0 );
|
|
#if defined( HARBOUR_OBJ_GENERATION )
|
|
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 );
|
|
#else
|
|
hb_conOutErr( "Non strict", 0 );
|
|
#endif
|
|
hb_conOutErr( hb_conNewLine(), 0 );
|
|
|
|
hb_conOutErr( "C++ mode: ", 0 );
|
|
#if defined(__cplusplus)
|
|
hb_conOutErr( "On", 0 );
|
|
#else
|
|
hb_conOutErr( "Off", 0 );
|
|
#endif
|
|
hb_conOutErr( hb_conNewLine(), 0 );
|
|
|
|
hb_conOutErr( "Compiler YACC debug mode: ", 0 );
|
|
#if defined( HARBOUR_YYDEBUG )
|
|
hb_conOutErr( "On", 0 );
|
|
#else
|
|
hb_conOutErr( "Off", 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 );
|
|
/*
|
|
#if defined( HB_FM_STATISTICS )
|
|
hb_conOutErr( "On", 0 );
|
|
#else
|
|
hb_conOutErr( "Off", 0 );
|
|
#endif
|
|
*/
|
|
hb_conOutErr( hb_conNewLine(), 0 );
|
|
|
|
{
|
|
char buffer[ 64 ];
|
|
snprintf( buffer, sizeof( buffer ), "Maximum symbol name length: %i", HB_SYMBOL_NAME_LEN );
|
|
hb_conOutErr( buffer, 0 );
|
|
hb_conOutErr( hb_conNewLine(), 0 );
|
|
}
|
|
|
|
hb_conOutErr( "---------------------------", 0 );
|
|
hb_conOutErr( hb_conNewLine(), 0 );
|
|
}
|