diff --git a/harbour/ChangeLog b/harbour/ChangeLog index d9f29e028b..d8f3a7cfed 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -17,6 +17,12 @@ past entries belonging to author(s): Viktor Szakats. */ +2010-05-20 13:40 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) + * utils/hbmk2/hbmk2.prg + ! Fixed to ignore .cpp files in main entry detection function. + ! Fixed to strip ending pathsep in header and lib path options + passed to compiler tools. + 2010-05-20 11:39 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) * include/hbthread.h ! Added missing HB_EXPORT, and in some place 'extern' diff --git a/harbour/utils/hbmk2/hbmk2.prg b/harbour/utils/hbmk2/hbmk2.prg index 113642c140..de897dc31a 100644 --- a/harbour/utils/hbmk2/hbmk2.prg +++ b/harbour/utils/hbmk2/hbmk2.prg @@ -1481,10 +1481,10 @@ FUNCTION hbmk2( aArgs, /* @ */ lPause ) /* Make a copy to hbmk structure so that we can use it in deeper functions. The only reason I kept the local version is to keep above code parts easier to read. [vszakats] */ - hbmk[ _HBMK_cHB_BIN_INSTALL ] := l_cHB_BIN_INSTALL := PathSepToTarget( hbmk, l_cHB_BIN_INSTALL ) - hbmk[ _HBMK_cHB_LIB_INSTALL ] := l_cHB_LIB_INSTALL := PathSepToTarget( hbmk, l_cHB_LIB_INSTALL ) - hbmk[ _HBMK_cHB_DYN_INSTALL ] := l_cHB_DYN_INSTALL := PathSepToTarget( hbmk, l_cHB_DYN_INSTALL ) - hbmk[ _HBMK_cHB_INC_INSTALL ] := l_cHB_INC_INSTALL := PathSepToTarget( hbmk, l_cHB_INC_INSTALL ) + hbmk[ _HBMK_cHB_BIN_INSTALL ] := l_cHB_BIN_INSTALL := PathSepToTarget( hbmk, DirDelPathSep( PathSepToSelf( l_cHB_BIN_INSTALL ) ) ) + hbmk[ _HBMK_cHB_LIB_INSTALL ] := l_cHB_LIB_INSTALL := PathSepToTarget( hbmk, DirDelPathSep( PathSepToSelf( l_cHB_LIB_INSTALL ) ) ) + hbmk[ _HBMK_cHB_DYN_INSTALL ] := l_cHB_DYN_INSTALL := PathSepToTarget( hbmk, DirDelPathSep( PathSepToSelf( l_cHB_DYN_INSTALL ) ) ) + hbmk[ _HBMK_cHB_INC_INSTALL ] := l_cHB_INC_INSTALL := PathSepToTarget( hbmk, DirDelPathSep( PathSepToSelf( l_cHB_INC_INSTALL ) ) ) /* Add main Harbour library dir to lib path list */ AAddNotEmpty( hbmk[ _HBMK_aLIBPATH ], l_cHB_LIB_INSTALL ) @@ -1877,7 +1877,7 @@ FUNCTION hbmk2( aArgs, /* @ */ lPause ) cParam := MacroProc( hbmk, ArchCompFilter( hbmk, SubStr( cParam, 3 ) ), aParam[ _PAR_cFileName ] ) IF ! Empty( cParam ) - AAdd( hbmk[ _HBMK_aLIBPATH ], PathSepToTarget( hbmk, PathProc( cParam, aParam[ _PAR_cFileName ] ) ) ) + AAdd( hbmk[ _HBMK_aLIBPATH ], PathSepToTarget( hbmk, DirDelPathSep( PathSepToSelf( PathProc( cParam, aParam[ _PAR_cFileName ] ) ) ) ) ) ENDIF CASE Left( cParamL, Len( "-instpath=" ) ) == "-instpath=" .AND. ; @@ -1898,7 +1898,7 @@ FUNCTION hbmk2( aArgs, /* @ */ lPause ) IF ! Empty( cParam ) cParam := PathNormalize( PathProc( PathSepToSelf( cParam ), aParam[ _PAR_cFileName ] ) ) IF AScan( hbmk[ _HBMK_aINCPATH ], {| tmp | tmp == cParam } ) == 0 - AAdd( hbmk[ _HBMK_aINCPATH ], PathSepToTarget( hbmk, cParam ) ) + AAdd( hbmk[ _HBMK_aINCPATH ], PathSepToTarget( hbmk, DirDelPathSep( cParam ) ) ) ENDIF ENDIF @@ -1934,7 +1934,7 @@ FUNCTION hbmk2( aArgs, /* @ */ lPause ) IF ! Empty( cParam ) cParam := PathNormalize( PathProc( PathSepToSelf( cParam ), aParam[ _PAR_cFileName ] ) ) IF AScan( hbmk[ _HBMK_aINCPATH ], {| tmp | tmp == cParam } ) == 0 - AAdd( hbmk[ _HBMK_aINCPATH ], PathSepToTarget( hbmk, cParam ) ) + AAdd( hbmk[ _HBMK_aINCPATH ], PathSepToTarget( hbmk, DirDelPathSep( cParam ) ) ) ENDIF ENDIF @@ -5671,7 +5671,7 @@ STATIC FUNCTION FindHeader( hbmk, cFileName, cParentDir, aINCTRYPATH ) IF hb_FileExists( DirAddPathSep( PathSepToSelf( cDir ) ) + cFileName ) /* Add these dir to include paths */ IF AScan( hbmk[ _HBMK_aINCPATH ], { |tmp| tmp == cDir } ) == 0 - AAdd( hbmk[ _HBMK_aINCPATH ], cDir ) + AAdd( hbmk[ _HBMK_aINCPATH ], DirDelPathSep( PathSepToSelf( cDir ) ) ) IF hbmk[ _HBMK_lInfo ] hbmk_OutStd( hbmk, hb_StrFormat( I_( "Autodetected header dir for %1$s: %2$s" ), cFileName, cDir ) ) ENDIF @@ -6720,7 +6720,7 @@ STATIC FUNCTION HBC_ProcessOne( hbmk, cFileName, nNestingLevel ) IF ! Empty( cItem ) cItem := PathNormalize( PathProc( PathSepToSelf( cItem ), FN_DirGet( cFileName ) ) ) IF AScan( hbmk[ _HBMK_aLIBPATH ], {| tmp | tmp == cItem } ) == 0 - AAdd( hbmk[ _HBMK_aLIBPATH ], PathSepToTarget( hbmk, cItem ) ) + AAdd( hbmk[ _HBMK_aLIBPATH ], PathSepToTarget( hbmk, DirDelPathSep( cItem ) ) ) ENDIF ENDIF NEXT @@ -6731,7 +6731,7 @@ STATIC FUNCTION HBC_ProcessOne( hbmk, cFileName, nNestingLevel ) IF ! Empty( cItem ) cItem := PathNormalize( PathProc( PathSepToSelf( cItem ), FN_DirGet( cFileName ) ) ) IF AScan( hbmk[ _HBMK_aINCPATH ], {| tmp | tmp == cItem } ) == 0 - AAdd( hbmk[ _HBMK_aINCPATH ], PathSepToTarget( hbmk, cItem ) ) + AAdd( hbmk[ _HBMK_aINCPATH ], PathSepToTarget( hbmk, DirDelPathSep( cItem ) ) ) ENDIF ENDIF NEXT @@ -7251,6 +7251,12 @@ STATIC FUNCTION getFirstFunc( hbmk, cFile ) EXIT ENDIF NEXT + ELSEIF Lower( cExt ) == ".c" .OR. ; + Lower( cExt ) == ".cpp" .OR. ; + Lower( cExt ) == ".cc" .OR. ; + Lower( cExt ) == ".cxx" .OR. ; + Lower( cExt ) == ".cx" + /* do nothing */ ELSEIF ! Empty( cExecNM := FindInPath( hbmk[ _HBMK_cCCPREFIX ] + "nm" ) ) cFuncList := "" hb_processRun( cExecNM + " " + cFile + " -g -n" + iif( hbmk[ _HBMK_cCOMP ] == "darwin", "", " --defined-only -C" ),, @cFuncList )