From 4c28a9cf149b55892ec9c2d3a132c907ff00b374 Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Tue, 5 Jul 2011 15:11:11 +0000 Subject: [PATCH] 2011-07-05 17:09 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) * utils/hbmk2/hbmk2.prg ! fixed to put requests to stub code for core GTs when -gt* options are used (the fix it meant to be unintrusive and could use a future cleanup/optimization by using the raw GT list to form the library list instead of rolling both lists in parallel) Please test. * minor cleanup to IsGTRequested() so it can be reused in the future --- harbour/ChangeLog | 10 ++++++++++ harbour/utils/hbmk2/hbmk2.prg | 25 ++++++++++++++++++++----- 2 files changed, 30 insertions(+), 5 deletions(-) diff --git a/harbour/ChangeLog b/harbour/ChangeLog index f247af7f4b..248bb9dedd 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -16,6 +16,16 @@ The license applies to all entries newer than 2009-04-28. */ +2011-07-05 17:09 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) + * utils/hbmk2/hbmk2.prg + ! fixed to put requests to stub code for core GTs when + -gt* options are used + (the fix it meant to be unintrusive and could use a future + cleanup/optimization by using the raw GT list to form + the library list instead of rolling both lists in parallel) + Please test. + * minor cleanup to IsGTRequested() so it can be reused in the future + 2011-07-05 07:49 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/src/pp/ppcore.c % removed dummy (always false) condition diff --git a/harbour/utils/hbmk2/hbmk2.prg b/harbour/utils/hbmk2/hbmk2.prg index dee587e465..ccd29eb6ad 100644 --- a/harbour/utils/hbmk2/hbmk2.prg +++ b/harbour/utils/hbmk2/hbmk2.prg @@ -464,7 +464,9 @@ REQUEST hbmk_KEYW #define _HBMK_cHBX 145 -#define _HBMK_MAX_ 145 +#define _HBMK_aGT 146 + +#define _HBMK_MAX_ 146 #define _HBMK_DEP_CTRL_MARKER ".control." /* must be an invalid path */ @@ -1968,6 +1970,7 @@ FUNCTION hbmk2( aArgs, nArgTarget, /* @ */ lPause, nLevel ) hbmk[ _HBMK_aLIBUSERSYSPRE ] := {} hbmk[ _HBMK_aLIBFILTEROUT ] := {} hbmk[ _HBMK_aOBJUSER ] := {} + hbmk[ _HBMK_aGT ] := {} hbmk[ _HBMK_aICON ] := {} hbmk[ _HBMK_cMANIFEST ] := NIL hbmk[ _HBMK_aIMPLIBSRC ] := {} @@ -2404,6 +2407,9 @@ FUNCTION hbmk2( aArgs, nArgTarget, /* @ */ lPause, nLevel ) AScan( hbmk[ _HBMK_aLIBUSERGT ], {| tmp | Lower( tmp ) == Lower( cParam ) } ) == 0 AAddNotEmpty( hbmk[ _HBMK_aLIBUSERGT ], PathSepToSelf( cParam ) ) ENDIF + IF AScan( hbmk[ _HBMK_aGT ], {| tmp | Lower( tmp ) == Lower( cParam ) } ) == 0 + AAddNotEmpty( hbmk[ _HBMK_aGT ], PathSepToSelf( cParam ) ) + ENDIF ENDIF ENDIF @@ -3259,6 +3265,9 @@ FUNCTION hbmk2( aArgs, nArgTarget, /* @ */ lPause, nLevel ) AScan( hbmk[ _HBMK_aLIBUSERGT ], {| tmp | Lower( tmp ) == Lower( hbmk[ _HBMK_cGT ] ) } ) == 0 AAdd( hbmk[ _HBMK_aLIBUSERGT ], hbmk[ _HBMK_cGT ] ) ENDIF + IF AScan( hbmk[ _HBMK_aGT ], {| tmp | Lower( tmp ) == Lower( hbmk[ _HBMK_cGT ] ) } ) == 0 + AAddNotEmpty( hbmk[ _HBMK_aGT ], hbmk[ _HBMK_cGT ] ) + ENDIF ENDIF IF l_lNOHBLIB @@ -5288,7 +5297,7 @@ FUNCTION hbmk2( aArgs, nArgTarget, /* @ */ lPause, nLevel ) IF ( ( ! lStopAfterCComp .OR. hbmk[ _HBMK_lDynVM ] ) .AND. ; ( l_cMAIN != NIL .OR. ; ! Empty( hbmk[ _HBMK_aREQUEST ] ) .OR. ; - ! Empty( hbmk[ _HBMK_aLIBUSERGT ] ) .OR. ; + ! Empty( hbmk[ _HBMK_aGT ] ) .OR. ; hbmk[ _HBMK_cGT ] != NIL .OR. ; l_cCMAIN != NIL ) ) .OR. lHBMAINDLLP @@ -5329,7 +5338,7 @@ FUNCTION hbmk2( aArgs, nArgTarget, /* @ */ lPause, nLevel ) /* Always request default GT first */ AAdd( array, "HB_GT_" + Upper( SubStr( hbmk[ _HBMK_cGT ], 3 ) ) ) ENDIF - FOR EACH tmp IN hbmk[ _HBMK_aLIBUSERGT ] + FOR EACH tmp IN hbmk[ _HBMK_aGT ] IF hbmk[ _HBMK_cGT ] == NIL .OR. !( Upper( SubStr( hbmk[ _HBMK_cGT ], 3 ) ) == Upper( SubStr( tmp, 3 ) ) ) AAdd( array, "HB_GT_" + Upper( SubStr( tmp, 3 ) ) ) ENDIF @@ -9527,6 +9536,9 @@ STATIC FUNCTION HBC_ProcessOne( hbmk, cFileName, nNestingLevel ) AScan( hbmk[ _HBMK_aLIBUSERGT ], {| tmp | Lower( tmp ) == Lower( cLine ) } ) == 0 AAddNotEmpty( hbmk[ _HBMK_aLIBUSERGT ], PathSepToSelf( cLine ) ) ENDIF + IF AScan( hbmk[ _HBMK_aGT ], {| tmp | Lower( tmp ) == Lower( cLine ) } ) == 0 + AAddNotEmpty( hbmk[ _HBMK_aGT ], PathSepToSelf( cLine ) ) + ENDIF ENDIF ENDIF @@ -9543,6 +9555,9 @@ STATIC FUNCTION HBC_ProcessOne( hbmk, cFileName, nNestingLevel ) AScan( hbmk[ _HBMK_aLIBUSERGT ], {| tmp | Lower( tmp ) == Lower( cLine ) } ) == 0 AAddNotEmpty( hbmk[ _HBMK_aLIBUSERGT ], PathSepToSelf( cLine ) ) ENDIF + IF AScan( hbmk[ _HBMK_aGT ], {| tmp | Lower( tmp ) == Lower( cLine ) } ) == 0 + AAddNotEmpty( hbmk[ _HBMK_aGT ], PathSepToSelf( cLine ) ) + ENDIF ENDIF ENDIF @@ -9634,8 +9649,8 @@ STATIC FUNCTION HBC_ProcessOne( hbmk, cFileName, nNestingLevel ) STATIC FUNCTION IsGTRequested( hbmk, cWhichGT ) /* Check if it's a core/user GT. */ - RETURN AScan( hbmk[ _HBMK_aLIBCOREGT ], {| tmp | Lower( tmp ) == cWhichGT } ) > 0 .OR. ; - AScan( hbmk[ _HBMK_aLIBUSERGT ], {| tmp | Lower( tmp ) == cWhichGT } ) > 0 + RETURN AScan( hbmk[ _HBMK_aLIBCOREGT ], {| tmp | Lower( tmp ) == Lower( cWhichGT ) } ) > 0 .OR. ; + AScan( hbmk[ _HBMK_aLIBUSERGT ], {| tmp | Lower( tmp ) == Lower( cWhichGT ) } ) > 0 STATIC FUNCTION StrStripQuote( cString ) RETURN iif( Left( cString, 1 ) == '"' .AND. Right( cString, 1 ) == '"',;