2009-10-27 17:36 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbwin/axcore.c
* Replaced duplicated constant with HB_SIZEOFARRAY() macro.
* utils/hbmk2/hbmk2.prg
+ C compiler autodetection will now make sure to skip compilers
where required Harbour core libraries aren't installed.
This autodetection is disabled when HB_LIB_INSTALL is set
manually and also when lib/<plat> dir is missing altogether,
assuming there is a single-compiler installation used in this
case (where such autodetection cannot work reliably).
When using -info option, a screen message is shown if
autodetected C compiler is skipped for above reason.
This commit is contained in:
@@ -17,6 +17,20 @@
|
||||
past entries belonging to author(s): Viktor Szakats.
|
||||
*/
|
||||
|
||||
2009-10-27 17:36 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
|
||||
* contrib/hbwin/axcore.c
|
||||
* Replaced duplicated constant with HB_SIZEOFARRAY() macro.
|
||||
|
||||
* utils/hbmk2/hbmk2.prg
|
||||
+ C compiler autodetection will now make sure to skip compilers
|
||||
where required Harbour core libraries aren't installed.
|
||||
This autodetection is disabled when HB_LIB_INSTALL is set
|
||||
manually and also when lib/<plat> dir is missing altogether,
|
||||
assuming there is a single-compiler installation used in this
|
||||
case (where such autodetection cannot work reliably).
|
||||
When using -info option, a screen message is shown if
|
||||
autodetected C compiler is skipped for above reason.
|
||||
|
||||
2009-10-27 11:51 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
|
||||
* harbour/contrib/xhb/xhbarr.c
|
||||
+ added XHB_AINS(), XHB_ADEL() functions which accept negative indexes.
|
||||
|
||||
@@ -343,7 +343,7 @@ static HRESULT STDMETHODCALLTYPE Invoke( IDispatch* lpThis, DISPID dispid, REFII
|
||||
|
||||
iCount = pParams->cArgs;
|
||||
|
||||
for( i = iRefs = 0; i < iCount && iRefs < 32; i++ )
|
||||
for( i = iRefs = 0; i < iCount && iRefs < HB_SIZEOFARRAY( refArray ); i++ )
|
||||
{
|
||||
if( pParams->rgvarg[ i ].n1.n2.vt & VT_BYREF )
|
||||
refArray[ iRefs++ ].item = hb_stackAllocItem();
|
||||
|
||||
@@ -659,6 +659,8 @@ FUNCTION hbmk( aArgs, /* @ */ lPause )
|
||||
|
||||
LOCAL nStart := Seconds()
|
||||
|
||||
LOCAL lDoSupportDetection
|
||||
|
||||
hbmk[ _HBMK_lCreateLib ] := .F.
|
||||
hbmk[ _HBMK_lCreateDyn ] := .F.
|
||||
|
||||
@@ -1195,14 +1197,26 @@ FUNCTION hbmk( aArgs, /* @ */ lPause )
|
||||
ENDIF
|
||||
ELSE
|
||||
IF Empty( hbmk[ _HBMK_cCOMP ] ) .AND. ! Empty( aCOMPDET )
|
||||
lDoSupportDetection := Empty( l_cHB_LIB_INSTALL ) .AND. ;
|
||||
hb_DirExists( PathNormalize( DirAddPathSep( l_cHB_INSTALL_PREFIX ) ) + "lib" + hb_osPathSeparator() + hbmk[ _HBMK_cPLAT ] )
|
||||
/* Check compilers */
|
||||
FOR tmp := 1 TO Len( aCOMPDET )
|
||||
IF ! Empty( cPath_CompC := Eval( aCOMPDET[ tmp ][ _COMPDET_bBlock ] ) )
|
||||
hbmk[ _HBMK_cCOMP ] := aCOMPDET[ tmp ][ _COMPDET_cCOMP ]
|
||||
IF Len( aCOMPDET[ tmp ] ) >= _COMPDET_cCCPREFIX
|
||||
hbmk[ _HBMK_cCCPREFIX ] := aCOMPDET[ tmp ][ _COMPDET_cCCPREFIX ]
|
||||
IF ! lDoSupportDetection .OR. ;
|
||||
hb_DirExists( PathNormalize( DirAddPathSep( l_cHB_INSTALL_PREFIX ) ) + "lib" +;
|
||||
hb_osPathSeparator() + hbmk[ _HBMK_cPLAT ] +;
|
||||
hb_osPathSeparator() + aCOMPDET[ tmp ][ _COMPDET_cCOMP ] +;
|
||||
iif( Empty( hbmk[ _HBMK_cBUILD ] ), "", PathSepToTarget( hbmk, hbmk[ _HBMK_cBUILD ] ) ) )
|
||||
hbmk[ _HBMK_cCOMP ] := aCOMPDET[ tmp ][ _COMPDET_cCOMP ]
|
||||
IF Len( aCOMPDET[ tmp ] ) >= _COMPDET_cCCPREFIX
|
||||
hbmk[ _HBMK_cCCPREFIX ] := aCOMPDET[ tmp ][ _COMPDET_cCCPREFIX ]
|
||||
ENDIF
|
||||
EXIT
|
||||
ELSE
|
||||
IF hbmk[ _HBMK_lInfo ]
|
||||
hbmk_OutStd( hb_StrFormat( I_( "Autodetected C compiler '%1$s' skipped because required Harbour core libraries are not found." ), aCOMPDET[ tmp ][ _COMPDET_cCOMP ] ) )
|
||||
ENDIF
|
||||
ENDIF
|
||||
EXIT
|
||||
ENDIF
|
||||
NEXT
|
||||
ENDIF
|
||||
|
||||
Reference in New Issue
Block a user