diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 0669d267cb..6d57464f4c 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -16,6 +16,15 @@ The license applies to all entries newer than 2009-04-28. */ +2010-08-18 22:42 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) + * INSTALL + + Some binary link. + + * utils/hbmk2/hbmk2.prg + ! Changed the way links are installed. This should fix it + for win platform. + * Will now delete link before trying to create it in install phase. + 2010-08-18 12:19 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com) * contrib/hbqt/qtgui/g/QGraphicsScene.cpp * contrib/hbqt/qtgui/qth/QGraphicsScene.qth diff --git a/harbour/INSTALL b/harbour/INSTALL index 18f51d51ef..dcc1edc691 100644 --- a/harbour/INSTALL +++ b/harbour/INSTALL @@ -1487,6 +1487,7 @@ HARBOUR http://www.oracle.com/technology/tech/oci/instantclient/index.html HB_WITH_OPENSSL - OpenSSL [multiplatform, free, open-source] http://www.openssl.org/ + http://www.openssl.org/related/binaries.html HB_WITH_PCRE - Perl Compatible Regular Expressions [multiplatform, free, open-source] http://www.pcre.org/ HB_WITH_PGSQL - PostgreSQL [multiplatform, free, open-source] diff --git a/harbour/utils/hbmk2/hbmk2.prg b/harbour/utils/hbmk2/hbmk2.prg index e5eae300ab..74ba4a00bf 100644 --- a/harbour/utils/hbmk2/hbmk2.prg +++ b/harbour/utils/hbmk2/hbmk2.prg @@ -6176,27 +6176,8 @@ STATIC PROCEDURE vxworks_env_init( hbmk ) RETURN STATIC PROCEDURE DoLinkCalc( hbmk ) - LOCAL tmp - - FOR EACH tmp IN hbmk[ _HBMK_aLINK ] - tmp := PathNormalize( PathMakeAbsolute( tmp, hbmk[ _HBMK_cPROGNAME ] ) ) - NEXT - - RETURN - -STATIC FUNCTION DoLinkDelete( hbmk ) - LOCAL tmp - - FOR EACH tmp IN hbmk[ _HBMK_aLINK ] - FErase( tmp ) - NEXT - - RETURN .T. - -STATIC FUNCTION DoLink( hbmk ) LOCAL cDir, cName, cExt - LOCAL tmp - LOCAL tmp1 + LOCAL tmp, tmp1 FOR EACH tmp IN hbmk[ _HBMK_aLINK ] tmp1 := DirAddPathSep( PathMakeRelative( FNameDirGet( tmp ), FNameDirGet( hbmk[ _HBMK_cPROGNAME ] ), .T. ) ) + FNameNameExtGet( hbmk[ _HBMK_cPROGNAME ] ) @@ -6208,11 +6189,30 @@ STATIC FUNCTION DoLink( hbmk ) cDir := "" ENDIF tmp1 := hb_FNameMerge( cDir, cName, cExt ) + + tmp := { PathNormalize( PathMakeAbsolute( tmp, hbmk[ _HBMK_cPROGNAME ] ) ),; + tmp1 } + NEXT - IF hb_FLinkSym( tmp1, tmp ) == F_ERROR - hbmk_OutErr( hbmk, hb_StrFormat( I_( "Error: Failed creating symbolic link %1$s to %2$s" ), tmp, tmp1 ) ) + RETURN + +STATIC FUNCTION DoLinkDelete( hbmk ) + LOCAL tmp + + FOR EACH tmp IN hbmk[ _HBMK_aLINK ] + FErase( tmp[ 1 ] ) + NEXT + + RETURN .T. + +STATIC FUNCTION DoLink( hbmk ) + LOCAL tmp + + FOR EACH tmp IN hbmk[ _HBMK_aLINK ] + IF hb_FLinkSym( tmp[ 2 ], tmp[ 1 ] ) == F_ERROR + hbmk_OutErr( hbmk, hb_StrFormat( I_( "Error: Failed creating symbolic link %1$s to %2$s" ), tmp[ 1 ], tmp[ 2 ] ) ) ELSE - hbmk_OutStd( hbmk, hb_StrFormat( I_( "Created symbolic link %1$s to %2$s" ), tmp, tmp1 ) ) + hbmk_OutStd( hbmk, hb_StrFormat( I_( "Created symbolic link %1$s to %2$s" ), tmp[ 1 ], tmp[ 2 ] ) ) ENDIF NEXT @@ -6300,7 +6300,13 @@ STATIC PROCEDURE DoInstCopy( hbmk ) nCopied := 0 /* files copied */ FOR EACH aInstFile IN hbmk[ _HBMK_aINSTFILE ] - cInstFile := aInstFile[ _INST_cData ] + IF ISARRAY( aInstFile[ _INST_cData ] ) + cInstFile := aInstFile[ _INST_cData ][ 1 ] + cLink := aInstFile[ _INST_cData ][ 2 ] + ELSE + cInstFile := aInstFile[ _INST_cData ] + cLink := NIL + ENDIF IF aInstPath[ _INST_cGroup ] == aInstFile[ _INST_cGroup ] IF Empty( FNameNameExtGet( cInstPath ) ) @@ -6325,7 +6331,8 @@ STATIC PROCEDURE DoInstCopy( hbmk ) IF DirBuild( FNameDirGet( cDestFileName ) ) ++nCopied - IF ! Empty( cLink := hb_FLinkRead( cInstFile ) ) + IF cLink != NIL + FErase( cDestFileName ) IF hb_FLinkSym( cLink, cDestFileName ) == F_ERROR hbmk_OutErr( hbmk, hb_StrFormat( I_( "Warning: Copying symbolic link %1$s to %2$s failed with %3$s." ), cInstFile, cDestFileName, hb_ntos( FError() ) ) ) ELSEIF hbmk[ _HBMK_lInfo ]