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:
@@ -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.
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 := {;
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user