diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 2f490026eb..c70695854c 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -17,6 +17,22 @@ past entries belonging to author(s): Viktor Szakats. */ +2010-05-28 08:13 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) + * utils/hbmk2/hbmk2.prg + + Added ${hb_filename} macro. + + "hbexe", "hblib", "hbdyn", "hbdynvm", "hbimplib" can now + be used as filter keywords to detect target type. + + * contrib/hbwin/hbolesrv.hbc + + Will now show warning message if not used together with + -hbdynvm option. + + Will will now be ignored if not used together with + -hbdynvm option. + ; Tried to add hbolesrv.c as direct source 'sources=hbolesrv.c', + but it requires this source (+ headers) to be distributed along + the binaries, plus it didn't resolve the watcom issue, so + I dropped it. + 2010-05-27 23:36 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) * contrib/hbmisc/calldll.prg ! Cleanup and fix to previous change. diff --git a/harbour/contrib/hbwin/hbolesrv.hbc b/harbour/contrib/hbwin/hbolesrv.hbc index 3e0e1fea8d..a123f1c7f7 100644 --- a/harbour/contrib/hbwin/hbolesrv.hbc +++ b/harbour/contrib/hbwin/hbolesrv.hbc @@ -2,6 +2,9 @@ # $Id$ # +echo={!hbdynvm}Warning: Target must be '-hbdynvm' when using '${hb_filename}'. Input file ignored. +skip={!hbdynvm}on + libs=hbwin.hbc gt=gtgui diff --git a/harbour/utils/hbmk2/hbmk2.prg b/harbour/utils/hbmk2/hbmk2.prg index e49c1e614d..1173bc7cf0 100644 --- a/harbour/utils/hbmk2/hbmk2.prg +++ b/harbour/utils/hbmk2/hbmk2.prg @@ -6036,19 +6036,10 @@ STATIC FUNCTION PlugIn_Execute( hbmk, cState ) LOCAL ctx LOCAL xResult - LOCAL cTargetType - LOCAL oError IF ! Empty( hbmk[ _HBMK_hPLUGINHRB ] ) - IF hbmk[ _HBMK_lCreateLib ] ; cTargetType := "hblib" - ELSEIF hbmk[ _HBMK_lCreateDyn ] .AND. ! hbmk[ _HBMK_lDynVM ] ; cTargetType := "hbdyn" - ELSEIF hbmk[ _HBMK_lCreateDyn ] .AND. hbmk[ _HBMK_lDynVM ] ; cTargetType := "hbdynvm" - ELSEIF hbmk[ _HBMK_lCreateImpLib ] ; cTargetType := "hbimplib" - ELSE ; cTargetType := "hbexe" - ENDIF - ctx := {; "cSTATE" => cState ,; "params" => hbmk[ _HBMK_aPLUGINPars ] ,; @@ -6057,7 +6048,7 @@ STATIC FUNCTION PlugIn_Execute( hbmk, cState ) "cCOMP" => hbmk[ _HBMK_cCOMP ] ,; "cCPU" => hbmk[ _HBMK_cCPU ] ,; "cBUILD" => hbmk[ _HBMK_cBUILD ] ,; - "cTARGETTYPE" => cTargetType ,; + "cTARGETTYPE" => hbmk_TARGET( hbmk ) ,; "cTARGETNAME" => hbmk[ _HBMK_cPROGNAME ] ,; "lREBUILD" => hbmk[ _HBMK_lREBUILD ] ,; "lCLEAN" => hbmk[ _HBMK_lCLEAN ] ,; @@ -7485,6 +7476,8 @@ STATIC FUNCTION MacroProc( hbmk, cString, cFileName, cMacroPrefix ) cMacro := FN_NameGet( DirDelPathSep( PathSepToSelf( FN_DirGet( cFileName ) ) ) ) ; EXIT CASE "HB_NAME" cMacro := PathSepToSelf( FN_NameGet( cFileName ) ) ; EXIT + CASE "HB_FILENAME" + cMacro := PathSepToSelf( cFileName ) ; EXIT CASE "HB_CURDIR" cMacro := hb_pwd() ; EXIT CASE "HB_TEMPDIR" @@ -8644,6 +8637,16 @@ STATIC FUNCTION VCSID( cDir, cVCSHEAD, /* @ */ cType ) RETURN cResult +STATIC FUNCTION hbmk_TARGET( hbmk ) + + IF hbmk[ _HBMK_lCreateLib ] ; RETURN "hblib" + ELSEIF hbmk[ _HBMK_lCreateDyn ] .AND. ! hbmk[ _HBMK_lDynVM ] ; RETURN "hbdyn" + ELSEIF hbmk[ _HBMK_lCreateDyn ] .AND. hbmk[ _HBMK_lDynVM ] ; RETURN "hbdynvm" + ELSEIF hbmk[ _HBMK_lCreateImpLib ] ; RETURN "hbimplib" + ENDIF + + RETURN "hbexe" + STATIC FUNCTION hbmk_CPU( hbmk ) DO CASE @@ -8710,12 +8713,17 @@ FUNCTION hbmk_KEYW( hbmk, cKeyword ) RETURN .T. ENDIF + IF cKeyword == hbmk_TARGET( hbmk ) + RETURN .T. + ENDIF + IF ! ( "|" + cKeyword + "|" $ "|win|wce|dos|os2" + ; "|bsd|hpux|sunos|beos|linux|darwin" + ; "|msvc|msvc64|msvcia64|msvcarm" + ; "|pocc|pocc64|poccarm|xcc" + ; "|mingw|mingw64|mingwarm|cygwin|bcc|watcom" + ; "|gcc|gccomf|djgpp" + ; + "|hblib|hbdyn|hbdynvm|hbimplib|hbexe" + ; "|icc|iccia64|clang|open64|sunpro" + ; "|x86|x86_64|ia64|arm|mips|sh" ) tmp := GetEnv( cKeyword )