From 97043a786867e387f1cfdf231d41c6ae2766f110 Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Tue, 14 Apr 2009 12:30:11 +0000 Subject: [PATCH] 2009-04-14 14:29 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * utils/hbmk2/hbmk2.prg * Changed to put user supplied lib to the beginning of the lib list. This should fix situations where user lib is overriding some Harbour objects (like getsys). + Added internal switch to enable simple -inc debug. ! Fixed to add .prg extension for Harbour input files when checking their timestamp, so files passed without extension will now work in -inc mode. --- harbour/ChangeLog | 10 ++++++++++ harbour/utils/hbmk2/hbmk2.prg | 30 ++++++++++++++++++++++++++++-- 2 files changed, 38 insertions(+), 2 deletions(-) diff --git a/harbour/ChangeLog b/harbour/ChangeLog index f11b91f177..853a26b85c 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -8,6 +8,16 @@ 2009-12-31 13:59 UTC+0100 Foo Bar (foo.bar foobar.org) */ +2009-04-14 14:29 UTC+0200 Viktor Szakats (harbour.01 syenar hu) + * utils/hbmk2/hbmk2.prg + * Changed to put user supplied lib to the beginning of the lib + list. This should fix situations where user lib is overriding + some Harbour objects (like getsys). + + Added internal switch to enable simple -inc debug. + ! Fixed to add .prg extension for Harbour input files when + checking their timestamp, so files passed without extension + will now work in -inc mode. + 2009-04-14 10:52 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/hbmysql/tmysql.prg + Added 4th port parameter to TMySqlServer():New() method. diff --git a/harbour/utils/hbmk2/hbmk2.prg b/harbour/utils/hbmk2/hbmk2.prg index 7e03614853..a29fe9a87c 100644 --- a/harbour/utils/hbmk2/hbmk2.prg +++ b/harbour/utils/hbmk2/hbmk2.prg @@ -269,6 +269,7 @@ PROCEDURE Main( ... ) LOCAL s_lSHARED := NIL LOCAL s_lSTATICFULL := NIL LOCAL s_lDEBUG := .F. + LOCAL s_lDEBUGINC := .F. LOCAL s_lNULRDD := .F. LOCAL s_lMAP := .F. LOCAL s_lSTRIP := .F. @@ -954,6 +955,9 @@ PROCEDURE Main( ... ) CASE cParamL == "-debug" ; s_lDEBUG := .T. CASE cParamL == "-debug-" .OR. ; cParamL == "-nodebug" ; s_lDEBUG := .F. + CASE cParamL == "-debuginc" ; s_lDEBUGINC := .T. + CASE cParamL == "-debuginc-" .OR. ; + cParamL == "-nodebuginc" ; s_lDEBUGINC := .F. CASE cParamL == "-nulrdd" ; s_lNULRDD := .T. CASE cParamL == "-nulrdd-" ; s_lNULRDD := .F. CASE cParamL == "-map" ; s_lMAP := .T. @@ -1258,7 +1262,10 @@ PROCEDURE Main( ... ) IF s_lINC .AND. ! s_lREBUILD s_aPRG_TODO := {} FOR EACH tmp IN s_aPRG - IF ! hb_FGetDateTime( tmp, @tmp1 ) .OR. ; + IF s_lDEBUGINC + OutStd( "PRG", FN_ExtSet( tmp, ".prg" ), FN_DirExtSet( tmp, cWorkDir, ".c" ), hb_osNewLine() ) + ENDIF + IF ! hb_FGetDateTime( FN_ExtSet( tmp, ".prg" ), @tmp1 ) .OR. ; ! hb_FGetDateTime( FN_DirExtSet( tmp, cWorkDir, ".c" ), @tmp2 ) .OR. ; tmp1 > tmp2 AAdd( s_aPRG_TODO, tmp ) @@ -2260,7 +2267,7 @@ PROCEDURE Main( ... ) ENDIF /* Merge lib lists. */ - s_aLIB := ArrayAJoin( { s_aLIBHB, s_aLIBUSER, s_aLIB3RD, s_aLIBSYS } ) + s_aLIB := ArrayAJoin( { s_aLIBUSER, s_aLIBHB, s_aLIB3RD, s_aLIBSYS } ) /* Dress lib names. */ s_aLIB := ListCookLib( s_aLIB, cLibPrefix, cLibExt ) IF s_lSHARED .AND. ! Empty( s_aLIBSHARED ) @@ -2273,6 +2280,9 @@ PROCEDURE Main( ... ) IF s_lINC .AND. ! s_lREBUILD s_aRESSRC_TODO := {} FOR EACH tmp IN s_aRESSRC + IF s_lDEBUGINC + OutStd( "RESSRC", tmp, FN_DirExtSet( tmp, cWorkDir, cResExt ), hb_osNewLine() ) + ENDIF IF ! hb_FGetDateTime( tmp, @tmp1 ) .OR. ; ! hb_FGetDateTime( FN_DirExtSet( tmp, cWorkDir, cResExt ), @tmp2 ) .OR. ; tmp1 > tmp2 @@ -2365,6 +2375,9 @@ PROCEDURE Main( ... ) s_aC_TODO := {} s_aC_DONE := {} FOR EACH tmp IN s_aC + IF s_lDEBUGINC + OutStd( "C", tmp, FN_DirExtSet( tmp, cWorkDir, cObjExt ), hb_osNewLine() ) + ENDIF IF ! hb_FGetDateTime( tmp, @tmp1 ) .OR. ; ! hb_FGetDateTime( FN_DirExtSet( tmp, cWorkDir, cObjExt ), @tmp2 ) .OR. ; tmp1 > tmp2 @@ -2382,6 +2395,9 @@ PROCEDURE Main( ... ) s_aPRG_TODO := {} s_aPRG_DONE := {} FOR EACH tmp IN s_aPRG + IF s_lDEBUGINC + OutStd( "CPRG", FN_DirExtSet( tmp, cWorkDir, ".c" ), FN_DirExtSet( tmp, cWorkDir, cObjExt ), hb_osNewLine() ) + ENDIF IF ! hb_FGetDateTime( FN_DirExtSet( tmp, cWorkDir, ".c" ), @tmp1 ) .OR. ; ! hb_FGetDateTime( FN_DirExtSet( tmp, cWorkDir, cObjExt ), @tmp2 ) .OR. ; tmp1 > tmp2 @@ -2507,11 +2523,18 @@ PROCEDURE Main( ... ) OTHERWISE ; cTarget := PathSepToTarget( FN_ExtSet( s_cPROGNAME, cBinExt ) ) ENDCASE + IF s_lDEBUGINC + OutStd( "EXE", cTarget, hb_osNewLine() ) + ENDIF + IF hb_FGetDateTime( cTarget, @tTarget ) lTargetUpToDate := .T. IF lTargetUpToDate FOR EACH tmp IN ArrayAJoin( { s_aOBJ, s_aOBJUSER, s_aOBJA, s_aRESSRC, s_aRESCMP } ) + IF s_lDEBUGINC + OutStd( "EXEDEP", tmp, hb_osNewLine() ) + ENDIF IF ! hb_FGetDateTime( tmp, @tmp1 ) .OR. tmp1 > tTarget lTargetUpToDate := .F. EXIT @@ -2522,6 +2545,9 @@ PROCEDURE Main( ... ) /* We need a way to find and pick libraries according to linker rules. */ IF lTargetUpToDate FOR EACH tmp IN s_aLIB + IF s_lDEBUGINC + OutStd( "EXEDEPLIB", tmp, hb_osNewLine() ) + ENDIF IF ! hb_FGetDateTime( tmp, @tmp1 ) .OR. tmp1 > tTarget lTargetUpToDate := .F. EXIT