2010-05-19 10:35 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)

* utils/hbmk2/hbmk2.pt_BR.po
  * utils/hbmk2/hbmk2.hu_HU.po
  * utils/hbmk2/hbmk2.prg
    + Added .def file support for win|os2/watcom targets in hbmk2.
      ATM it requires the special file format required by watcom,
      there is no transparent conversion done by hbmk2.
    + Enabled .c stub (for -main, -gt, etc features) in -hbdynvm mode.
    * Disabled linking harbour .dll in '-hbdyn -shared' mode.
      NOTE: I'm not sure of this move. This way -hbdyn will now
            never link any Harbour libs (neither static nor dynamic),
            so at least we should renamed -hbdyn to -hbdynraw and
            -hbdynvm to -hbdyn, or make some other cleanup in this
            regard. Specifically I'm not sure if hbmk2 satisfies
            this use-case now by default (without '-nohblib-' option):
               "I can use -hbdyn and -static to create self contain DLL
                which uses it's own private copy of HVM and Harbour RTL
                library which can be linked statically or loaded dynamically
                with/from any other applications"
    * Text "VM" changed to "Harbour VM"
    ; NOTE 2: I've checked win/watcom -6s option, but it's still not 
              good because it appends '_' to exported symbols, so 
              watcom -shared executables stop working with mingw/msvc 
              Harbour .dll. Any idea how to solve that?
This commit is contained in:
Viktor Szakats
2010-05-19 08:39:51 +00:00
parent 2cae1bdd06
commit fdd2418df8
4 changed files with 103 additions and 60 deletions

View File

@@ -17,6 +17,31 @@
past entries belonging to author(s): Viktor Szakats.
*/
2010-05-19 10:35 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* utils/hbmk2/hbmk2.pt_BR.po
* utils/hbmk2/hbmk2.hu_HU.po
* utils/hbmk2/hbmk2.prg
+ Added .def file support for win|os2/watcom targets in hbmk2.
ATM it requires the special file format required by watcom,
there is no transparent conversion done by hbmk2.
+ Enabled .c stub (for -main, -gt, etc features) in -hbdynvm mode.
* Disabled linking harbour .dll in '-hbdyn -shared' mode.
NOTE: I'm not sure of this move. This way -hbdyn will now
never link any Harbour libs (neither static nor dynamic),
so at least we should renamed -hbdyn to -hbdynraw and
-hbdynvm to -hbdyn, or make some other cleanup in this
regard. Specifically I'm not sure if hbmk2 satisfies
this use-case now by default (without '-nohblib-' option):
"I can use -hbdyn and -static to create self contain DLL
which uses it's own private copy of HVM and Harbour RTL
library which can be linked statically or loaded dynamically
with/from any other applications"
* Text "VM" changed to "Harbour VM"
; NOTE 2: I've checked win/watcom -6s option, but it's still not
good because it appends '_' to exported symbols, so
watcom -shared executables stop working with mingw/msvc
Harbour .dll. Any idea how to solve that?
2010-05-18 22:57 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbqt/doc/en/class_hbqplaintextedit.txt
* contrib/hbqt/hbqt_hbqplaintextedit.cpp
@@ -30,16 +55,16 @@
* contrib/hbide/ideshortcuts.prg
+ Implemented: proper hbIDEMap protocol. Now you can keep open
"Source Thumbnail" dock and keep on clicking the tabs. Current
source map will be displayed inside.
"Source Thumbnail" dock and keep on clicking the tabs. Current
source map will be displayed inside.
hbIDEMap Features:
1. hbIDEMap carries highlighted code lines which are visible
in main editing instance window. Navigaing the editor also
changes highlighted area corresponding to main instance.
2. All keyboard mappings are active in the map also which implies
that you can exercise copy operations which can be pasted
that you can exercise copy operations which can be pasted
in the current code, a very useful feature.
2010-05-18 18:55 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
@@ -51,15 +76,15 @@
* contrib/hbide/ideedit.prg
* contrib/hbide/ideeditor.prg
* contrib/hbide/ideobject.prg
! Fixed: selected text when viewed in a narrow window and
! Fixed: selected text when viewed in a narrow window and
using horizontal scrollbars was showing incorrectly.
+ Implemented: current source's thumbnail view.
It is presented in a right-hand docking widget which
It is presented in a right-hand docking widget which
can be activated via <View> menu. it is almost identical with
current editor but with a significant difference that
current editor but with a significant difference that
it is loaded from the disk whenever the dock is brought to view.
It contains smaller font and is entirely idependent
It contains smaller font and is entirely idependent
of main editing instance.
It is just a quick commit. Refinement will follow.
@@ -77,10 +102,10 @@
* contrib/hbide/ideedit.prg
* contrib/hbide/ideeditor.prg
* contrib/hbide/idetags.prg
+ Implemented: Context-menu option "Goto Function" looks
+ Implemented: Context-menu option "Goto Function" looks
for the function/method in the current source first,
and if found, jumps to that, otherwise it rellies on
tagging. It implies that functions in current source
and if found, jumps to that, otherwise it rellies on
tagging. It implies that functions in current source
are always can be reached with "Goto Function" option
which operates on word under cursor.

View File

@@ -794,7 +794,7 @@ msgstr "kapcsol
#: hbmk2.prg:7850
#, c-format
msgid "link with multi/single-thread VM"
msgid "link with multi/single-thread Harbour VM"
msgstr "többszálú/egyszálú virtuális gép használata"
#: hbmk2.prg:7941

View File

@@ -324,39 +324,41 @@ REQUEST hbmk_KEYW
#define _HBMK_lCreateDyn 62
#define _HBMK_lCreateImpLib 63
#define _HBMK_lBLDFLGP 64
#define _HBMK_lBLDFLGC 65
#define _HBMK_lBLDFLGL 66
#define _HBMK_lDynVM 64
#define _HBMK_cFIRST 67
#define _HBMK_aPRG 68
#define _HBMK_aC 69
#define _HBMK_aCPP 70
#define _HBMK_aRESSRC 71
#define _HBMK_aRESCMP 72
#define _HBMK_aOBJUSER 73
#define _HBMK_aICON 74
#define _HBMK_aIMPLIBSRC 75
#define _HBMK_cDEF 76
#define _HBMK_hDEPTS 77
#define _HBMK_lBLDFLGP 65
#define _HBMK_lBLDFLGC 66
#define _HBMK_lBLDFLGL 67
#define _HBMK_aPO 78
#define _HBMK_cHBL 79
#define _HBMK_cHBLDir 80
#define _HBMK_aLNG 81
#define _HBMK_cPO 82
#define _HBMK_cFIRST 68
#define _HBMK_aPRG 69
#define _HBMK_aC 70
#define _HBMK_aCPP 71
#define _HBMK_aRESSRC 72
#define _HBMK_aRESCMP 73
#define _HBMK_aOBJUSER 74
#define _HBMK_aICON 75
#define _HBMK_aIMPLIBSRC 76
#define _HBMK_cDEF 77
#define _HBMK_hDEPTS 78
#define _HBMK_lDEBUGTIME 83
#define _HBMK_lDEBUGINC 84
#define _HBMK_lDEBUGSTUB 85
#define _HBMK_lDEBUGI18N 86
#define _HBMK_aPO 79
#define _HBMK_cHBL 80
#define _HBMK_cHBLDir 81
#define _HBMK_aLNG 82
#define _HBMK_cPO 83
#define _HBMK_cCCPATH 87
#define _HBMK_cCCPREFIX 88
#define _HBMK_cCCPOSTFIX 89
#define _HBMK_cCCEXT 90
#define _HBMK_lDEBUGTIME 84
#define _HBMK_lDEBUGINC 85
#define _HBMK_lDEBUGSTUB 86
#define _HBMK_lDEBUGI18N 87
#define _HBMK_MAX_ 90
#define _HBMK_cCCPATH 88
#define _HBMK_cCCPREFIX 89
#define _HBMK_cCCPOSTFIX 90
#define _HBMK_cCCEXT 91
#define _HBMK_MAX_ 91
#ifndef _HBMK_EMBEDDED_
@@ -744,6 +746,8 @@ FUNCTION hbmk2( aArgs, /* @ */ lPause )
hbmk[ _HBMK_lCreateDyn ] := .F.
hbmk[ _HBMK_lCreateImpLib ] := .F.
hbmk[ _HBMK_lDynVM ] := .F.
hbmk[ _HBMK_lQuiet ] := .F.
hbmk[ _HBMK_lInfo ] := .F.
hbmk[ _HBMK_nMaxCol ] := MaxCol()
@@ -1622,8 +1626,8 @@ FUNCTION hbmk2( aArgs, /* @ */ lPause )
CASE cParamL == "-pause" ; lPause := .T.
CASE cParamL == "-hbexe" ; hbmk[ _HBMK_lInfo ] := .F. ; lStopAfterHarbour := .F. ; lStopAfterCComp := .F. ; hbmk[ _HBMK_lCreateLib ] := .F. ; hbmk[ _HBMK_lCreateDyn ] := .F.
CASE cParamL == "-hblib" ; hbmk[ _HBMK_lInfo ] := .F. ; lStopAfterHarbour := .F. ; lStopAfterCComp := .T. ; hbmk[ _HBMK_lCreateLib ] := .T. ; hbmk[ _HBMK_lCreateDyn ] := .F.
CASE cParamL == "-hbdyn" ; hbmk[ _HBMK_lInfo ] := .F. ; lStopAfterHarbour := .F. ; lStopAfterCComp := .T. ; hbmk[ _HBMK_lCreateLib ] := .F. ; hbmk[ _HBMK_lCreateDyn ] := .T. ; l_lNOHBLIB := .T.
CASE cParamL == "-hbdynvm" ; hbmk[ _HBMK_lInfo ] := .F. ; lStopAfterHarbour := .F. ; lStopAfterCComp := .T. ; hbmk[ _HBMK_lCreateLib ] := .F. ; hbmk[ _HBMK_lCreateDyn ] := .T. ; l_lNOHBLIB := .F.
CASE cParamL == "-hbdyn" ; hbmk[ _HBMK_lInfo ] := .F. ; lStopAfterHarbour := .F. ; lStopAfterCComp := .T. ; hbmk[ _HBMK_lCreateLib ] := .F. ; hbmk[ _HBMK_lCreateDyn ] := .T. ; hbmk[ _HBMK_lDynVM ] := .F. ; l_lNOHBLIB := .T.
CASE cParamL == "-hbdynvm" ; hbmk[ _HBMK_lInfo ] := .F. ; lStopAfterHarbour := .F. ; lStopAfterCComp := .T. ; hbmk[ _HBMK_lCreateLib ] := .F. ; hbmk[ _HBMK_lCreateDyn ] := .T. ; hbmk[ _HBMK_lDynVM ] := .T. ; l_lNOHBLIB := .F.
CASE cParamL == "-hbimplib" ; hbmk[ _HBMK_lInfo ] := .F. ; lStopAfterInit := .T. ; hbmk[ _HBMK_lCreateImpLib ] := .T. ; lAcceptIFlag := .T.
CASE cParamL == "-gui" .OR. ;
cParamL == "-mwindows" ; hbmk[ _HBMK_lGUI ] := .T. /* Compatibility */
@@ -3094,6 +3098,12 @@ FUNCTION hbmk2( aArgs, /* @ */ lPause )
CASE hbmk[ _HBMK_cPLAT ] == "win" ; cOpt_Dyn := "OP quiet SYS nt_dll {FD} NAME {OD} {LO} {DL} {LL} {LB} {LS}{SCRIPT}"
CASE hbmk[ _HBMK_cPLAT ] == "os2" ; cOpt_Dyn := "OP quiet SYS os2v2_dll {FD} NAME {OD} {LO} {DL} {LL} {LB} {LS}{SCRIPT}"
ENDCASE
IF hbmk[ _HBMK_cPLAT ] $ "win|os2" .AND. ! Empty( hbmk[ _HBMK_cDEF ] )
/* TODO: Watcom wlink requires a non-standard layout for .def files.
We will need a converter and implement on-the-fly conversion
to a temp file and pass that via {IM}. */
AAdd( hbmk[ _HBMK_aOPTD ], "@{IM}" )
ENDIF
IF hbmk[ _HBMK_cPLAT ] == "dos"
/* workaround for not included automatically CLIB in pure C mode DOS builds */
AAdd( l_aLIBSYS, "clib3r" )
@@ -4058,7 +4068,7 @@ FUNCTION hbmk2( aArgs, /* @ */ lPause )
/* HACK: Override entry point requested by user or detected by us,
and override the GT if requested by user. */
IF ! lStopAfterCComp .AND. ;
IF ( ! lStopAfterCComp .OR. hbmk[ _HBMK_lDynVM ] ) .AND. ;
( l_cMAIN != NIL .OR. ;
! Empty( hbmk[ _HBMK_aLIBUSERGT ] ) .OR. ;
hbmk[ _HBMK_cGT ] != NIL .OR. ;
@@ -4326,17 +4336,22 @@ FUNCTION hbmk2( aArgs, /* @ */ lPause )
/* Library list assembly */
IF hbmk[ _HBMK_lSHARED ] .AND. ! Empty( l_aLIBSHARED )
l_aLIBHB := AClone( l_aLIBSHAREDPOST )
/* NOTE: Make sure to add these static libs only if they can be found.
This will ensure that hbmk2 can be used to build shared mode binaries
even when static libs are not installed (typically on *nix systems).
[vszakats] */
FOR EACH tmp IN ArrayAJoin( { aLIB_BASE_CPLR,;
aLIB_BASE_DEBUG } )
IF hb_FileExists( _HBLIB_FULLPATH( tmp ) )
AAdd( l_aLIBHB, tmp )
ENDIF
NEXT
/* Don't link Harbour dynamic/static libs when in '-hbdyn -shared' mode */
IF !( hbmk[ _HBMK_lCreateDyn ] .AND. ! hbmk[ _HBMK_lDynVM ] )
l_aLIBHB := AClone( l_aLIBSHAREDPOST )
/* NOTE: Make sure to add these static libs only if they can be found.
This will ensure that hbmk2 can be used to build shared mode binaries
even when static libs are not installed (typically on *nix systems).
[vszakats] */
FOR EACH tmp IN ArrayAJoin( { aLIB_BASE_CPLR,;
aLIB_BASE_DEBUG } )
IF hb_FileExists( _HBLIB_FULLPATH( tmp ) )
AAdd( l_aLIBHB, tmp )
ENDIF
NEXT
ELSE
l_aLIBHB := {}
ENDIF
ELSE
l_aLIBHB := ArrayAJoin( { aLIB_BASE_EXTERN,;
aLIB_BASE_DEBUG,;
@@ -4360,8 +4375,11 @@ FUNCTION hbmk2( aArgs, /* @ */ lPause )
l_aLIBA := {}
ListCookLib( hbmk, l_aLIB, l_aLIBA, l_aLIBRAW, NIL, cLibExt )
IF hbmk[ _HBMK_lSHARED ] .AND. ! Empty( l_aLIBSHARED )
l_aLIBRAW := ArrayJoin( l_aLIBSHARED, l_aLIBRAW )
ListCookLib( hbmk, l_aLIB, l_aLIBA, l_aLIBSHARED, NIL )
/* Don't link Harbour dynamic/static libs when in '-hbdyn -shared' mode */
IF !( hbmk[ _HBMK_lCreateDyn ] .AND. ! hbmk[ _HBMK_lDynVM ] )
l_aLIBRAW := ArrayJoin( l_aLIBSHARED, l_aLIBRAW )
ListCookLib( hbmk, l_aLIB, l_aLIBA, l_aLIBSHARED, NIL )
ENDIF
ENDIF
/* Dress obj names. */
IF cObjExt == NIL
@@ -8775,12 +8793,12 @@ STATIC PROCEDURE ShowHelp( hbmk, lLong )
{ "-L<libpath>" , I_( "additional path to search for libraries" ) },;
{ "-i<p>|-incpath=<p>" , I_( "additional path to search for headers" ) },;
{ "-static|-shared" , I_( "link with static/shared libs" ) },;
{ "-mt|-st" , I_( "link with multi/single-thread VM" ) },;
{ "-mt|-st" , I_( "link with multi/single-thread Harbour VM" ) },;
{ "-gt<name>" , I_( "link with GT<name> GT driver, can be repeated to link with more GTs. First one will be the default at runtime" ) },;
{ "-hbexe" , I_( "create executable (default)" ) },;
{ "-hblib" , I_( "create static library" ) },;
{ "-hbdyn" , I_( "create dynamic library" ) },;
{ "-hbdynvm" , I_( "create dynamic library (EXPERIMENTAL)" ) },;
{ "-hbdyn" , I_( "create dynamic library (without linked Harbour VM)" ) },;
{ "-hbdynvm" , I_( "create dynamic library" ) },;
{ "-hbimplib" , I_( "create import library" ) }}
LOCAL aOpt_Help := {;

View File

@@ -363,7 +363,7 @@ msgstr "Aten
#: hbmk2.prg:7851
#, c-format
msgid "link with multi/single-thread VM"
msgid "link with multi/single-thread Harbour VM"
msgstr "linkar com suporte multi ou single-thread na HVM"
#: hbmk2.prg:7825