diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 5cdb7c654f..4269d6d211 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -16,6 +16,25 @@ The license applies to all entries newer than 2009-04-28. */ +2011-02-28 20:53 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) + * include/hbdefs.h + + Added HB_EXPORT_INT macro similar to HB_EXPORT, but used for + exported _internal_ functions. (we may easily rename this + to something else if a better idea pops up) + ; TODO: Change HB_EXPORT to HB_EXPORT_INT for rest of internal functions. + + * include/hbpp.h + * include/hbapi.h + * include/hbcomp.h + * include/hbexprop.h + * include/hbhash.h + + Using HB_EXPORT_INT to export functions. + + * contrib/hbide/hbide.hbp + * contrib/hbrun/hbrun.hbp + ! Deleted bad hack linking in hbcplr, hbpp, hbcommon on non-mingw + win compilers. + 2011-02-28 20:00 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/hbmzip/hbmzip.hbp * Changed header used for minizip autodetection. diff --git a/harbour/contrib/hbide/hbide.hbp b/harbour/contrib/hbide/hbide.hbp index ace5b5a8a0..7339a1cb74 100644 --- a/harbour/contrib/hbide/hbide.hbp +++ b/harbour/contrib/hbide/hbide.hbp @@ -27,10 +27,6 @@ # TODO: Need to set 'HB_DYNLOAD_RDDADS=yes' for this to be enabled ../rddads/rddads.hbc{HB_DYNLOAD_RDDADS} --lhbcplr --lhbpp --lhbcommon - idemain.prg ideobject.prg idestylesheets.prg diff --git a/harbour/contrib/hbrun/hbrun.hbp b/harbour/contrib/hbrun/hbrun.hbp index 043c8ef3cb..28878fce63 100644 --- a/harbour/contrib/hbrun/hbrun.hbp +++ b/harbour/contrib/hbrun/hbrun.hbp @@ -23,9 +23,6 @@ headers.prg plugins.prg pullext.prg --lhbcplr --lhbpp --lhbcommon -lhbpmcom{dos} # not using these together with .rc input, because some compilers (mingw) diff --git a/harbour/include/hbapi.h b/harbour/include/hbapi.h index eaf9935eb7..0bc8e9b231 100644 --- a/harbour/include/hbapi.h +++ b/harbour/include/hbapi.h @@ -1078,8 +1078,8 @@ extern HB_EXPORT int hb_conSetCursor( HB_BOOL bSetCursor, int iNewCurso extern HB_EXPORT const char * hb_conSetColor( const char * szColor ); /* retrieve and optionally set console color */ /* compiler and macro compiler */ -extern char * hb_compEncodeString( int iMethod, const char * szText, HB_SIZE * pnLen ); -extern char * hb_compDecodeString( int iMethod, const char * szText, HB_SIZE * pnLen ); +extern HB_EXPORT_INT char * hb_compEncodeString( int iMethod, const char * szText, HB_SIZE * pnLen ); +extern char * hb_compDecodeString( int iMethod, const char * szText, HB_SIZE * pnLen ); /* misc */ extern HB_EXPORT char * hb_procname( int iLevel, char * szName, HB_BOOL bskipBlock ); /* retrieve a procedure name into a buffer */ diff --git a/harbour/include/hbcomp.h b/harbour/include/hbcomp.h index 0ecce9e0c9..423eb6d4e1 100644 --- a/harbour/include/hbcomp.h +++ b/harbour/include/hbcomp.h @@ -139,11 +139,11 @@ extern int hb_compVariableScope( HB_COMP_DECL, const char * ); #define FUN_FILE_FIRST 0x0100 /* 1-st real or pseudo function in compiled .prg module */ #define FUN_ATTACHED 0x0200 /* function attached to function list */ -extern void hb_compFunctionAdd( HB_COMP_DECL, const char * szFunName, HB_SYMBOLSCOPE cScope, int iType ); /* starts a new Clipper language function definition */ -extern PINLINE hb_compInlineAdd( HB_COMP_DECL, const char * szFunName, int iLine ); -extern void hb_compFunctionMarkStatic( HB_COMP_DECL, const char * szFunName ); -extern const char * hb_compGetFuncID( const char * szFuncName, HB_FUNC_ID * pFunID, int * piFlags ); -extern HB_BOOL hb_compFunCallCheck( HB_COMP_DECL, const char *, int ); +extern void hb_compFunctionAdd( HB_COMP_DECL, const char * szFunName, HB_SYMBOLSCOPE cScope, int iType ); /* starts a new Clipper language function definition */ +extern PINLINE hb_compInlineAdd( HB_COMP_DECL, const char * szFunName, int iLine ); +extern void hb_compFunctionMarkStatic( HB_COMP_DECL, const char * szFunName ); +extern HB_EXPORT_INT const char * hb_compGetFuncID( const char * szFuncName, HB_FUNC_ID * pFunID, int * piFlags ); +extern HB_BOOL hb_compFunCallCheck( HB_COMP_DECL, const char *, int ); extern PHB_VARTYPE hb_compVarTypeNew( HB_COMP_DECL, char cVarType, const char * szFromClass ); extern void hb_compVariableAdd( HB_COMP_DECL, const char * szVarName, PHB_VARTYPE pVarType ); /* add a new param, local, static variable to a function definition or a public or private */ diff --git a/harbour/include/hbdefs.h b/harbour/include/hbdefs.h index 8160d72dd8..c922904635 100644 --- a/harbour/include/hbdefs.h +++ b/harbour/include/hbdefs.h @@ -1562,6 +1562,8 @@ typedef HB_U32 HB_FATTR; #define HB_EXPORT #endif +#define HB_EXPORT_INT HB_EXPORT + #if defined( __RSXNT__ ) /* RSXNT does not support any type of export keyword. Exported (i.e., public) names can be obtained via diff --git a/harbour/include/hbexprop.h b/harbour/include/hbexprop.h index ba79cd65ee..dd4d9cd7e8 100644 --- a/harbour/include/hbexprop.h +++ b/harbour/include/hbexprop.h @@ -74,133 +74,133 @@ extern const HB_EXPR_FUNC_PTR hb_comp_ExprTable[ HB_EXPR_COUNT ]; hb_comp_ExprTable[ (pSelf)->ExprType ]( (pSelf), (iMessage), HB_COMP_PARAM ) #endif -extern HB_EXPR_PTR hb_compExprNewEmpty( HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprNewNil( HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprNewDouble( double, HB_BYTE, HB_BYTE, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprNewLong( HB_MAXINT nValue, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprNewDate( long lDate, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprNewTimeStamp( long lDate, long lTime, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprNewString( const char * szValue, HB_SIZE nLen, HB_BOOL fDealloc, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprNewLogical( int iValue, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprNewSelf( HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprNewCodeBlock( char * string, HB_SIZE nLen, int iFlags, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprNewVar( const char * szName, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprNewAliasVar( HB_EXPR_PTR, HB_EXPR_PTR, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprNewAliasExpr( HB_EXPR_PTR, HB_EXPR_PTR, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprNewMacro( HB_EXPR_PTR, unsigned char cMacroOp, const char * szName, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprNewFunName( const char * szName, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprNewRTVar( const char * szName, HB_EXPR_PTR, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprNewAlias( const char * szName, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprNewEQ( HB_EXPR_PTR, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprNewNE( HB_EXPR_PTR, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprNewLT( HB_EXPR_PTR, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprNewLE( HB_EXPR_PTR, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprNewGT( HB_EXPR_PTR, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprNewGE( HB_EXPR_PTR, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprNewIN( HB_EXPR_PTR, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprNewPlus( HB_EXPR_PTR, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprNewMinus( HB_EXPR_PTR, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprNewMult( HB_EXPR_PTR, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprNewDiv( HB_EXPR_PTR, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprNewMod( HB_EXPR_PTR, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprNewPower( HB_EXPR_PTR, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprNewAssign( HB_EXPR_PTR, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprNewEqual( HB_EXPR_PTR, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprNewPlusEq( HB_EXPR_PTR, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprNewMinusEq( HB_EXPR_PTR, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprNewMultEq( HB_EXPR_PTR, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprNewDivEq( HB_EXPR_PTR, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprNewModEq( HB_EXPR_PTR, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprNewExpEq( HB_EXPR_PTR, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprNewPostInc( HB_EXPR_PTR, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprNewPostDec( HB_EXPR_PTR, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprNewPreInc( HB_EXPR_PTR, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprNewPreDec( HB_EXPR_PTR, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprNewAnd( HB_EXPR_PTR, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprNewOr( HB_EXPR_PTR, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprNewNot( HB_EXPR_PTR, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprNewNegate( HB_EXPR_PTR, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprNewVarRef( const char * szVarName, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprNewFunRef( const char * szFunName, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprNewFunCall( HB_EXPR_PTR, HB_EXPR_PTR, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprNewRef( HB_EXPR_PTR, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprNewCodeblockExpr( HB_EXPR_PTR, HB_EXPR_PTR ); -extern HB_EXPR_PTR hb_compExprNewSend( const char *, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprNewMacroSend( HB_EXPR_PTR, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprNewMethodObject( HB_EXPR_PTR, HB_EXPR_PTR ); -extern HB_EXPR_PTR hb_compExprNewMethodCall( HB_EXPR_PTR, HB_EXPR_PTR ); -extern HB_EXPR_PTR hb_compExprNewList( HB_EXPR_PTR, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprNewArgList( HB_EXPR_PTR, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprNewArgRef( HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprNewArray( HB_EXPR_PTR, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprNewHash( HB_EXPR_PTR, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprNewArrayAt( HB_EXPR_PTR, HB_EXPR_PTR, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprAddListExpr( HB_EXPR_PTR, HB_EXPR_PTR ); -extern HB_EXPR_PTR hb_compExprCBVarAdd( HB_EXPR_PTR, const char * szVarName, HB_BYTE bType, HB_COMP_DECL ); -extern void hb_compExprCBVarDel( HB_CBVAR_PTR ); -extern HB_EXPR_PTR hb_compExprAddCodeblockExpr( HB_EXPR_PTR, HB_EXPR_PTR ); -extern HB_EXPR_PTR hb_compExprSetCodeblockBody( HB_EXPR_PTR pExpr, HB_BYTE * pCode, HB_SIZE nLen ); -extern HB_EXPR_PTR hb_compExprNewIIF( HB_EXPR_PTR ); -extern HB_EXPR_PTR hb_compExprMacroAsAlias( HB_EXPR_PTR ); -extern HB_EXPR_PTR hb_compExprAssign( HB_EXPR_PTR, HB_EXPR_PTR, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprEqual( HB_EXPR_PTR, HB_EXPR_PTR ); -extern HB_EXPR_PTR hb_compExprAssignStatic( HB_EXPR_PTR, HB_EXPR_PTR, HB_COMP_DECL ); -extern HB_BOOL hb_compExprListTypeCheck( HB_EXPR_PTR pExpr, HB_EXPRTYPE ExprType ); -extern HB_ULONG hb_compExprListLen( HB_EXPR_PTR ); -extern HB_ULONG hb_compExprParamListLen( HB_EXPR_PTR ); -extern HB_SIZE hb_compExprParamListCheck( HB_COMP_DECL, HB_EXPR_PTR ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprNewEmpty( HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprNewNil( HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprNewDouble( double, HB_BYTE, HB_BYTE, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprNewLong( HB_MAXINT nValue, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprNewDate( long lDate, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprNewTimeStamp( long lDate, long lTime, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprNewString( const char * szValue, HB_SIZE nLen, HB_BOOL fDealloc, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprNewLogical( int iValue, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprNewSelf( HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprNewCodeBlock( char * string, HB_SIZE nLen, int iFlags, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprNewVar( const char * szName, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprNewAliasVar( HB_EXPR_PTR, HB_EXPR_PTR, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprNewAliasExpr( HB_EXPR_PTR, HB_EXPR_PTR, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprNewMacro( HB_EXPR_PTR, unsigned char cMacroOp, const char * szName, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprNewFunName( const char * szName, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprNewRTVar( const char * szName, HB_EXPR_PTR, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprNewAlias( const char * szName, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprNewEQ( HB_EXPR_PTR, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprNewNE( HB_EXPR_PTR, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprNewLT( HB_EXPR_PTR, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprNewLE( HB_EXPR_PTR, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprNewGT( HB_EXPR_PTR, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprNewGE( HB_EXPR_PTR, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprNewIN( HB_EXPR_PTR, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprNewPlus( HB_EXPR_PTR, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprNewMinus( HB_EXPR_PTR, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprNewMult( HB_EXPR_PTR, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprNewDiv( HB_EXPR_PTR, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprNewMod( HB_EXPR_PTR, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprNewPower( HB_EXPR_PTR, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprNewAssign( HB_EXPR_PTR, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprNewEqual( HB_EXPR_PTR, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprNewPlusEq( HB_EXPR_PTR, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprNewMinusEq( HB_EXPR_PTR, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprNewMultEq( HB_EXPR_PTR, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprNewDivEq( HB_EXPR_PTR, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprNewModEq( HB_EXPR_PTR, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprNewExpEq( HB_EXPR_PTR, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprNewPostInc( HB_EXPR_PTR, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprNewPostDec( HB_EXPR_PTR, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprNewPreInc( HB_EXPR_PTR, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprNewPreDec( HB_EXPR_PTR, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprNewAnd( HB_EXPR_PTR, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprNewOr( HB_EXPR_PTR, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprNewNot( HB_EXPR_PTR, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprNewNegate( HB_EXPR_PTR, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprNewVarRef( const char * szVarName, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprNewFunRef( const char * szFunName, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprNewFunCall( HB_EXPR_PTR, HB_EXPR_PTR, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprNewRef( HB_EXPR_PTR, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprNewCodeblockExpr( HB_EXPR_PTR, HB_EXPR_PTR ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprNewSend( const char *, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprNewMacroSend( HB_EXPR_PTR, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprNewMethodObject( HB_EXPR_PTR, HB_EXPR_PTR ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprNewMethodCall( HB_EXPR_PTR, HB_EXPR_PTR ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprNewList( HB_EXPR_PTR, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprNewArgList( HB_EXPR_PTR, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprNewArgRef( HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprNewArray( HB_EXPR_PTR, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprNewHash( HB_EXPR_PTR, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprNewArrayAt( HB_EXPR_PTR, HB_EXPR_PTR, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprAddListExpr( HB_EXPR_PTR, HB_EXPR_PTR ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprCBVarAdd( HB_EXPR_PTR, const char * szVarName, HB_BYTE bType, HB_COMP_DECL ); +extern HB_EXPORT_INT void hb_compExprCBVarDel( HB_CBVAR_PTR ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprAddCodeblockExpr( HB_EXPR_PTR, HB_EXPR_PTR ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprSetCodeblockBody( HB_EXPR_PTR pExpr, HB_BYTE * pCode, HB_SIZE nLen ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprNewIIF( HB_EXPR_PTR ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprMacroAsAlias( HB_EXPR_PTR ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprAssign( HB_EXPR_PTR, HB_EXPR_PTR, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprEqual( HB_EXPR_PTR, HB_EXPR_PTR ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprAssignStatic( HB_EXPR_PTR, HB_EXPR_PTR, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_BOOL hb_compExprListTypeCheck( HB_EXPR_PTR pExpr, HB_EXPRTYPE ExprType ); +extern HB_EXPORT_INT HB_ULONG hb_compExprListLen( HB_EXPR_PTR ); +extern HB_EXPORT_INT HB_ULONG hb_compExprParamListLen( HB_EXPR_PTR ); +extern HB_EXPORT_INT HB_SIZE hb_compExprParamListCheck( HB_COMP_DECL, HB_EXPR_PTR ); -extern const char * hb_compExprDescription( HB_EXPR_PTR ); -extern int hb_compExprType( HB_EXPR_PTR ); -extern int hb_compExprIsInteger( HB_EXPR_PTR ); -extern int hb_compExprIsLong( HB_EXPR_PTR ); -extern int hb_compExprAsInteger( HB_EXPR_PTR ); -extern int hb_compExprAsNumSign( HB_EXPR_PTR ); -extern int hb_compExprIsString( HB_EXPR_PTR ); -extern HB_SIZE hb_compExprAsStringLen( HB_EXPR_PTR ); -extern HB_MAXINT hb_compExprAsLongNum( HB_EXPR_PTR ); -extern const char * hb_compExprAsString( HB_EXPR_PTR ); -extern const char * hb_compExprAsSymbol( HB_EXPR_PTR ); +extern HB_EXPORT_INT const char * hb_compExprDescription( HB_EXPR_PTR ); +extern HB_EXPORT_INT int hb_compExprType( HB_EXPR_PTR ); +extern HB_EXPORT_INT int hb_compExprIsInteger( HB_EXPR_PTR ); +extern HB_EXPORT_INT int hb_compExprIsLong( HB_EXPR_PTR ); +extern HB_EXPORT_INT int hb_compExprAsInteger( HB_EXPR_PTR ); +extern HB_EXPORT_INT int hb_compExprAsNumSign( HB_EXPR_PTR ); +extern HB_EXPORT_INT int hb_compExprIsString( HB_EXPR_PTR ); +extern HB_EXPORT_INT HB_SIZE hb_compExprAsStringLen( HB_EXPR_PTR ); +extern HB_EXPORT_INT HB_MAXINT hb_compExprAsLongNum( HB_EXPR_PTR ); +extern HB_EXPORT_INT const char * hb_compExprAsString( HB_EXPR_PTR ); +extern HB_EXPORT_INT const char * hb_compExprAsSymbol( HB_EXPR_PTR ); -extern HB_EXPR_PTR hb_compExprListStrip( HB_EXPR_PTR, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprListStrip( HB_EXPR_PTR, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprSetOperand( HB_EXPR_PTR, HB_EXPR_PTR, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprSetGetBlock( HB_EXPR_PTR pExpr, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprSetOperand( HB_EXPR_PTR, HB_EXPR_PTR, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprSetGetBlock( HB_EXPR_PTR pExpr, HB_COMP_DECL ); -extern void hb_compExprDelOperator( HB_EXPR_PTR, HB_COMP_DECL ); +extern HB_EXPORT_INT void hb_compExprDelOperator( HB_EXPR_PTR, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprReducePower( HB_EXPR_PTR pSelf, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprReduceMod( HB_EXPR_PTR pSelf, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprReduceDiv( HB_EXPR_PTR pSelf, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprReduceMult( HB_EXPR_PTR pSelf, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprReduceMinus( HB_EXPR_PTR pSelf, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprReducePlus( HB_EXPR_PTR pSelf, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprReduceNegate( HB_EXPR_PTR pSelf, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprReduceIN( HB_EXPR_PTR pSelf, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprReduceNE( HB_EXPR_PTR pSelf, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprReduceGE( HB_EXPR_PTR pSelf, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprReduceLE( HB_EXPR_PTR pSelf, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprReduceGT( HB_EXPR_PTR pSelf, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprReduceLT( HB_EXPR_PTR pSelf, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprReduceEQ( HB_EXPR_PTR pSelf, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprReduceAnd( HB_EXPR_PTR pSelf, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprReduceOr( HB_EXPR_PTR pSelf, HB_COMP_DECL ); -extern HB_EXPR_PTR hb_compExprReduceIIF( HB_EXPR_PTR, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprReducePower( HB_EXPR_PTR pSelf, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprReduceMod( HB_EXPR_PTR pSelf, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprReduceDiv( HB_EXPR_PTR pSelf, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprReduceMult( HB_EXPR_PTR pSelf, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprReduceMinus( HB_EXPR_PTR pSelf, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprReducePlus( HB_EXPR_PTR pSelf, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprReduceNegate( HB_EXPR_PTR pSelf, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprReduceIN( HB_EXPR_PTR pSelf, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprReduceNE( HB_EXPR_PTR pSelf, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprReduceGE( HB_EXPR_PTR pSelf, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprReduceLE( HB_EXPR_PTR pSelf, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprReduceGT( HB_EXPR_PTR pSelf, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprReduceLT( HB_EXPR_PTR pSelf, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprReduceEQ( HB_EXPR_PTR pSelf, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprReduceAnd( HB_EXPR_PTR pSelf, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprReduceOr( HB_EXPR_PTR pSelf, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_EXPR_PTR hb_compExprReduceIIF( HB_EXPR_PTR, HB_COMP_DECL ); -extern HB_BOOL hb_compExprReduceAT( HB_EXPR_PTR, HB_COMP_DECL ); -extern HB_BOOL hb_compExprReduceCHR( HB_EXPR_PTR, HB_COMP_DECL ); -extern HB_BOOL hb_compExprReduceLEN( HB_EXPR_PTR, HB_COMP_DECL ); -extern HB_BOOL hb_compExprReduceASC( HB_EXPR_PTR, HB_COMP_DECL ); -extern HB_BOOL hb_compExprReduceINT( HB_EXPR_PTR, HB_COMP_DECL ); -extern HB_BOOL hb_compExprReduceEMPTY( HB_EXPR_PTR, HB_COMP_DECL ); -extern HB_BOOL hb_compExprReduceSTOT( HB_EXPR_PTR, HB_USHORT usCount, HB_COMP_DECL ); -extern HB_BOOL hb_compExprReduceSTOD( HB_EXPR_PTR, HB_USHORT usCount, HB_COMP_DECL ); -extern HB_BOOL hb_compExprReduceDTOS( HB_EXPR_PTR, HB_COMP_DECL ); -extern HB_BOOL hb_compExprReduceCTOD( HB_EXPR_PTR, HB_COMP_DECL ); -extern HB_BOOL hb_compExprReduceUPPER( HB_EXPR_PTR, HB_COMP_DECL ); -extern HB_BOOL hb_compExprReduceMIN( HB_EXPR_PTR, HB_COMP_DECL ); -extern HB_BOOL hb_compExprReduceMAX( HB_EXPR_PTR, HB_COMP_DECL ); -extern HB_BOOL hb_compExprReduceBitFunc( HB_EXPR_PTR, HB_MAXINT nResult, HB_BOOL fBool, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_BOOL hb_compExprReduceAT( HB_EXPR_PTR, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_BOOL hb_compExprReduceCHR( HB_EXPR_PTR, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_BOOL hb_compExprReduceLEN( HB_EXPR_PTR, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_BOOL hb_compExprReduceASC( HB_EXPR_PTR, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_BOOL hb_compExprReduceINT( HB_EXPR_PTR, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_BOOL hb_compExprReduceEMPTY( HB_EXPR_PTR, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_BOOL hb_compExprReduceSTOT( HB_EXPR_PTR, HB_USHORT usCount, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_BOOL hb_compExprReduceSTOD( HB_EXPR_PTR, HB_USHORT usCount, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_BOOL hb_compExprReduceDTOS( HB_EXPR_PTR, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_BOOL hb_compExprReduceCTOD( HB_EXPR_PTR, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_BOOL hb_compExprReduceUPPER( HB_EXPR_PTR, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_BOOL hb_compExprReduceMIN( HB_EXPR_PTR, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_BOOL hb_compExprReduceMAX( HB_EXPR_PTR, HB_COMP_DECL ); +extern HB_EXPORT_INT HB_BOOL hb_compExprReduceBitFunc( HB_EXPR_PTR, HB_MAXINT nResult, HB_BOOL fBool, HB_COMP_DECL ); HB_EXTERN_END diff --git a/harbour/include/hbhash.h b/harbour/include/hbhash.h index 18c9489995..c40b184848 100644 --- a/harbour/include/hbhash.h +++ b/harbour/include/hbhash.h @@ -83,16 +83,16 @@ typedef struct HB_HASH_TABLE_ } HB_HASH_TABLE, * HB_HASH_TABLE_PTR; -extern HB_HASH_TABLE_PTR hb_hashTableCreate( HB_SIZE nSize, - HB_HASH_FUNC_PTR pHashFunc, - HB_HASH_FUNC_PTR pDelete, - HB_HASH_FUNC_PTR pComp ); -extern void hb_hashTableKill( HB_HASH_TABLE_PTR pTable ); /* release all items and the hash table */ -extern HB_BOOL hb_hashTableAdd( HB_HASH_TABLE_PTR pTable, const void * pKey, const void * pValue ); /* add a new item into the table */ -extern HB_BOOL hb_hashTableDel( HB_HASH_TABLE_PTR pTable, const void * pKey ); /* delete an item from the table */ -extern const void * hb_hashTableFind( HB_HASH_TABLE_PTR pTable, const void * pKey ); /* return the pointer to item's value or NULL if not found */ -extern HB_HASH_TABLE_PTR hb_hashTableResize( HB_HASH_TABLE_PTR pTable, HB_SIZE nNewSize ); /* resize the hash table */ -extern HB_SIZE hb_hashTableSize( HB_HASH_TABLE_PTR pTable ); /* return the hash table size */ +extern HB_EXPORT_INT HB_HASH_TABLE_PTR hb_hashTableCreate( HB_SIZE nSize, + HB_HASH_FUNC_PTR pHashFunc, + HB_HASH_FUNC_PTR pDelete, + HB_HASH_FUNC_PTR pComp ); +extern HB_EXPORT_INT void hb_hashTableKill( HB_HASH_TABLE_PTR pTable ); /* release all items and the hash table */ +extern HB_EXPORT_INT HB_BOOL hb_hashTableAdd( HB_HASH_TABLE_PTR pTable, const void * pKey, const void * pValue ); /* add a new item into the table */ +extern HB_EXPORT_INT HB_BOOL hb_hashTableDel( HB_HASH_TABLE_PTR pTable, const void * pKey ); /* delete an item from the table */ +extern HB_EXPORT_INT const void * hb_hashTableFind( HB_HASH_TABLE_PTR pTable, const void * pKey ); /* return the pointer to item's value or NULL if not found */ +extern HB_EXPORT_INT HB_HASH_TABLE_PTR hb_hashTableResize( HB_HASH_TABLE_PTR pTable, HB_SIZE nNewSize ); /* resize the hash table */ +extern HB_EXPORT_INT HB_SIZE hb_hashTableSize( HB_HASH_TABLE_PTR pTable ); /* return the hash table size */ HB_EXTERN_END diff --git a/harbour/include/hbpp.h b/harbour/include/hbpp.h index 09eae5d589..585cb2ccd4 100644 --- a/harbour/include/hbpp.h +++ b/harbour/include/hbpp.h @@ -652,46 +652,46 @@ typedef void * PHB_PP_STATE; #endif /* _HB_PP_INTERNAL */ /* public functions */ -extern PHB_PP_STATE hb_pp_new( void ); -extern void hb_pp_free( PHB_PP_STATE pState ); -extern void hb_pp_reset( PHB_PP_STATE pState ); -extern void hb_pp_init( PHB_PP_STATE pState, HB_BOOL fQuiet, +extern HB_EXPORT PHB_PP_STATE hb_pp_new( void ); +extern HB_EXPORT void hb_pp_free( PHB_PP_STATE pState ); +extern HB_EXPORT void hb_pp_reset( PHB_PP_STATE pState ); +extern HB_EXPORT void hb_pp_init( PHB_PP_STATE pState, HB_BOOL fQuiet, int iCycles, void * cargo, PHB_PP_OPEN_FUNC pOpenFunc, PHB_PP_CLOSE_FUNC pCloseFunc, PHB_PP_ERROR_FUNC pErrorFunc, PHB_PP_DISP_FUNC pDispFunc, PHB_PP_DUMP_FUNC pDumpFunc, PHB_PP_INLINE_FUNC pInLineFunc, PHB_PP_SWITCH_FUNC pSwitchFunc ); -extern void hb_pp_initDynDefines( PHB_PP_STATE pState, HB_BOOL fArchDefs ); -extern void hb_pp_setIncFunc( PHB_PP_STATE pState, PHB_PP_INC_FUNC pIncFunc ); -extern void hb_pp_readRules( PHB_PP_STATE pState, const char * szRulesFile ); -extern void hb_pp_setStdRules( PHB_PP_STATE pState ); -extern void hb_pp_setStdBase( PHB_PP_STATE pState ); -extern void hb_pp_setStream( PHB_PP_STATE pState, int iMode ); -extern void hb_pp_addSearchPath( PHB_PP_STATE pState, const char * szPath, HB_BOOL fReplace ); -extern HB_BOOL hb_pp_inBuffer( PHB_PP_STATE pState, const char * pBuffer, HB_SIZE nLen ); -extern HB_BOOL hb_pp_inFile( PHB_PP_STATE pState, const char * szFileName, HB_BOOL fSearchPath, FILE * file_in, HB_BOOL fError ); -extern HB_BOOL hb_pp_outFile( PHB_PP_STATE pState, const char * szOutFileName, FILE * file_out ); -extern HB_BOOL hb_pp_traceFile( PHB_PP_STATE pState, const char * szTraceFileName, FILE * file_trace ); -extern char * hb_pp_fileName( PHB_PP_STATE pState ); -extern int hb_pp_line( PHB_PP_STATE pState ); -extern HB_BOOL hb_pp_eof( PHB_PP_STATE pState ); -extern int hb_pp_lineTot( PHB_PP_STATE pState ); -extern char * hb_pp_outFileName( PHB_PP_STATE pState ); -extern char * hb_pp_traceFileName( PHB_PP_STATE pState ); -extern char * hb_pp_nextLine( PHB_PP_STATE pState, HB_SIZE * pnLen ); -extern char * hb_pp_parseLine( PHB_PP_STATE pState, const char * pLine, HB_SIZE * pnLen ); -extern void hb_pp_addDefine( PHB_PP_STATE pState, const char * szDefName, const char * szDefValue ); -extern void hb_pp_delDefine( PHB_PP_STATE pState, const char * szDefName ); -extern HB_BOOL hb_pp_lasterror( PHB_PP_STATE pState ); -extern int hb_pp_errorCount( PHB_PP_STATE pState ); +extern HB_EXPORT void hb_pp_initDynDefines( PHB_PP_STATE pState, HB_BOOL fArchDefs ); +extern HB_EXPORT void hb_pp_setIncFunc( PHB_PP_STATE pState, PHB_PP_INC_FUNC pIncFunc ); +extern HB_EXPORT void hb_pp_readRules( PHB_PP_STATE pState, const char * szRulesFile ); +extern HB_EXPORT void hb_pp_setStdRules( PHB_PP_STATE pState ); +extern HB_EXPORT void hb_pp_setStdBase( PHB_PP_STATE pState ); +extern HB_EXPORT void hb_pp_setStream( PHB_PP_STATE pState, int iMode ); +extern HB_EXPORT void hb_pp_addSearchPath( PHB_PP_STATE pState, const char * szPath, HB_BOOL fReplace ); +extern HB_EXPORT HB_BOOL hb_pp_inBuffer( PHB_PP_STATE pState, const char * pBuffer, HB_SIZE nLen ); +extern HB_EXPORT HB_BOOL hb_pp_inFile( PHB_PP_STATE pState, const char * szFileName, HB_BOOL fSearchPath, FILE * file_in, HB_BOOL fError ); +extern HB_EXPORT HB_BOOL hb_pp_outFile( PHB_PP_STATE pState, const char * szOutFileName, FILE * file_out ); +extern HB_EXPORT HB_BOOL hb_pp_traceFile( PHB_PP_STATE pState, const char * szTraceFileName, FILE * file_trace ); +extern HB_EXPORT char * hb_pp_fileName( PHB_PP_STATE pState ); +extern HB_EXPORT int hb_pp_line( PHB_PP_STATE pState ); +extern HB_EXPORT HB_BOOL hb_pp_eof( PHB_PP_STATE pState ); +extern HB_EXPORT int hb_pp_lineTot( PHB_PP_STATE pState ); +extern HB_EXPORT char * hb_pp_outFileName( PHB_PP_STATE pState ); +extern HB_EXPORT char * hb_pp_traceFileName( PHB_PP_STATE pState ); +extern HB_EXPORT char * hb_pp_nextLine( PHB_PP_STATE pState, HB_SIZE * pnLen ); +extern HB_EXPORT char * hb_pp_parseLine( PHB_PP_STATE pState, const char * pLine, HB_SIZE * pnLen ); +extern HB_EXPORT void hb_pp_addDefine( PHB_PP_STATE pState, const char * szDefName, const char * szDefValue ); +extern HB_EXPORT void hb_pp_delDefine( PHB_PP_STATE pState, const char * szDefName ); +extern HB_EXPORT HB_BOOL hb_pp_lasterror( PHB_PP_STATE pState ); +extern HB_EXPORT int hb_pp_errorCount( PHB_PP_STATE pState ); -extern void hb_pp_tokenUpper( PHB_PP_TOKEN pToken ); -extern void hb_pp_tokenToString( PHB_PP_STATE pState, PHB_PP_TOKEN pToken ); -extern char * hb_pp_tokenBlockString( PHB_PP_STATE pState, PHB_PP_TOKEN pToken, int * piType, int * piLen ); -extern PHB_PP_STATE hb_pp_lexNew( const char * pString, HB_SIZE nLen ); -extern PHB_PP_TOKEN hb_pp_lexGet( PHB_PP_STATE pState ); -extern PHB_PP_TOKEN hb_pp_tokenGet( PHB_PP_STATE pState ); -extern HB_BOOL hb_pp_tokenNextExp( PHB_PP_TOKEN * pTokenPtr ); +extern HB_EXPORT void hb_pp_tokenUpper( PHB_PP_TOKEN pToken ); +extern HB_EXPORT void hb_pp_tokenToString( PHB_PP_STATE pState, PHB_PP_TOKEN pToken ); +extern HB_EXPORT char * hb_pp_tokenBlockString( PHB_PP_STATE pState, PHB_PP_TOKEN pToken, int * piType, int * piLen ); +extern HB_EXPORT PHB_PP_STATE hb_pp_lexNew( const char * pString, HB_SIZE nLen ); +extern HB_EXPORT PHB_PP_TOKEN hb_pp_lexGet( PHB_PP_STATE pState ); +extern HB_EXPORT PHB_PP_TOKEN hb_pp_tokenGet( PHB_PP_STATE pState ); +extern HB_EXPORT HB_BOOL hb_pp_tokenNextExp( PHB_PP_TOKEN * pTokenPtr ); /* PP lib helper functions */ extern PHB_PP_STATE hb_pp_Param( int iParam );