2010-05-12 09:20 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.pt_BR.po
* utils/hbmk2/hbmk2.hu_HU.po
* utils/hbmk2/hbmk2.prg
- Deleted 'experimental' flags from all features.
* Finalized import lib creation feature in hbmk2.
+ Added -hbimplib mode switch (this replaces -mkimplib= option)
+ Input source files (.dlls) now should be passed to
hbmk2 as simple source filenames (without option prefix).
+ Multiple input source files are now supported.
+ Added -iflag= option to pass flags to import library creation
command directly.
* Changed so that target import library name/dir can now be
specified using -o option (like in other modes).
+ Filenames/dirs are now all normalized.
+ Some warnings are now only shown in -info mode.
; F.e.:
'hbmk2 -hbimplib mydll1 mydll2 -omydir -iflag={bcc}-a'
This also means that a simple .hbp file can be created
to solve the import library needs for a given dependency.
* config/postinst.prg
* Adapted to use new import library creation hbmk2 commands.
* src/rtl/hbcom.c
! Fixed minor typo.
This commit is contained in:
@@ -17,6 +17,33 @@
|
||||
past entries belonging to author(s): Viktor Szakats.
|
||||
*/
|
||||
|
||||
2010-05-12 09:20 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
|
||||
* utils/hbmk2/hbmk2.pt_BR.po
|
||||
* utils/hbmk2/hbmk2.hu_HU.po
|
||||
* utils/hbmk2/hbmk2.prg
|
||||
- Deleted 'experimental' flags from all features.
|
||||
* Finalized import lib creation feature in hbmk2.
|
||||
+ Added -hbimplib mode switch (this replaces -mkimplib= option)
|
||||
+ Input source files (.dlls) now should be passed to
|
||||
hbmk2 as simple source filenames (without option prefix).
|
||||
+ Multiple input source files are now supported.
|
||||
+ Added -iflag= option to pass flags to import library creation
|
||||
command directly.
|
||||
* Changed so that target import library name/dir can now be
|
||||
specified using -o option (like in other modes).
|
||||
+ Filenames/dirs are now all normalized.
|
||||
+ Some warnings are now only shown in -info mode.
|
||||
; F.e.:
|
||||
'hbmk2 -hbimplib mydll1 mydll2 -omydir -iflag={bcc}-a'
|
||||
This also means that a simple .hbp file can be created
|
||||
to solve the import library needs for a given dependency.
|
||||
|
||||
* config/postinst.prg
|
||||
* Adapted to use new import library creation hbmk2 commands.
|
||||
|
||||
* src/rtl/hbcom.c
|
||||
! Fixed minor typo.
|
||||
|
||||
2010-17:24 18:23 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
|
||||
+ contrib/hbide/resources/curlinehilight.png
|
||||
Added missinf icon from prev commit.
|
||||
@@ -45,7 +72,7 @@
|
||||
|
||||
* contrib/hbide/ideobject.prg
|
||||
* contrib/hbide/ideplugins.prg
|
||||
! tuned to send oIDE and cVer as first and second
|
||||
! tuned to send oIDE and cVer as first and second
|
||||
argument to {plugin}_init( oIde, cVer ).
|
||||
|
||||
* contrib/hbide/ideprojmanager.prg
|
||||
|
||||
@@ -77,37 +77,38 @@ PROCEDURE Main()
|
||||
! Empty( GetEnv( "HB_HOST_BIN_DIR" ) )
|
||||
|
||||
aArray := {;
|
||||
{ "HB_WITH_ADS" , "Redistribute/ace32.dll" , "" , "" },;
|
||||
{ "HB_WITH_ADS" , "ace32.dll" , "" , "" },;
|
||||
{ "HB_WITH_ADS" , "32bit/ace32.dll" , "" , "" },;
|
||||
{ "HB_WITH_ALLEGRO" , "../bin/alleg42.dll" , " -mkimplibms", "alleg" },;
|
||||
{ "HB_WITH_BLAT" , "../blat.dll" , " -mkimplibms", "" },;
|
||||
{ "HB_WITH_CAIRO" , "../../bin/libcairo-2.dll" , " -mkimplibms", "cairo" },;
|
||||
{ "HB_WITH_CURL" , "../libcurl.dll" , " -mkimplibms", "" },;
|
||||
{ "HB_WITH_CURL" , "../bin/libcurl.dll" , " -mkimplibms", "" },;
|
||||
{ "HB_WITH_FIREBIRD" , "../bin/fbclient.dll" , "" , "" },; /* Doesn't work with mingw/cygwin, because .lib has another name in another directory */
|
||||
{ "HB_WITH_FREEIMAGE" , "../Dist/FreeImage.dll" , "" , "" },;
|
||||
{ "HB_WITH_GD" , "../bin/bgd.dll" , "" , "" },;
|
||||
{ "HB_WITH_LIBHARU" , "../libhpdf.dll" , "" , "" },;
|
||||
{ "HB_WITH_LIBHARU" , "../lib_dll/libhpdf.dll" , "" , "" },;
|
||||
{ "HB_WITH_MYSQL" , "../lib/opt/libmySQL.dll" , "" , "" },;
|
||||
{ "HB_WITH_OCILIB" , "../lib32/ociliba.dll" , "" , "" },;
|
||||
{ "HB_WITH_OCILIB" , "../lib32/ocilibm.dll" , "" , "" },;
|
||||
{ "HB_WITH_OCILIB" , "../lib32/ocilibw.dll" , "" , "" },;
|
||||
{ "HB_WITH_OPENSSL" , "../out32dll/libeay32.dll" , " -mkimplibms", "" },;
|
||||
{ "HB_WITH_OPENSSL" , "../out32dll/ssleay32.dll" , " -mkimplibms", "" },;
|
||||
{ "HB_WITH_OPENSSL" , "../dll/libeay32.dll" , " -mkimplibms", "" },;
|
||||
{ "HB_WITH_OPENSSL" , "../dll/ssleay32.dll" , " -mkimplibms", "" },;
|
||||
{ "HB_WITH_OPENSSL" , "../libeay32.dll" , " -mkimplibms", "" },;
|
||||
{ "HB_WITH_OPENSSL" , "../ssleay32.dll" , " -mkimplibms", "" },;
|
||||
{ "HB_WITH_PGSQL" , "../lib/libpq.dll" , " -mkimplibms", "" }}
|
||||
{ "HB_WITH_ADS" , "Redistribute/ace32.dll" , "" , "" },;
|
||||
{ "HB_WITH_ADS" , "ace32.dll" , "" , "" },;
|
||||
{ "HB_WITH_ADS" , "32bit/ace32.dll" , "" , "" },;
|
||||
{ "HB_WITH_ALLEGRO" , "../bin/alleg42.dll" , " -iflag={bcc}-a", "alleg" },;
|
||||
{ "HB_WITH_BLAT" , "../blat.dll" , " -iflag={bcc}-a", "" },;
|
||||
{ "HB_WITH_CAIRO" , "../../bin/libcairo-2.dll" , " -iflag={bcc}-a", "cairo" },;
|
||||
{ "HB_WITH_CURL" , "../libcurl.dll" , " -iflag={bcc}-a", "" },;
|
||||
{ "HB_WITH_CURL" , "../bin/libcurl.dll" , " -iflag={bcc}-a", "" },;
|
||||
{ "HB_WITH_FIREBIRD" , "../bin/fbclient.dll" , "" , "" },; /* Doesn't work with mingw/cygwin, because .lib has another name in another directory */
|
||||
{ "HB_WITH_FREEIMAGE" , "../Dist/FreeImage.dll" , "" , "" },;
|
||||
{ "HB_WITH_GD" , "../bin/bgd.dll" , "" , "" },;
|
||||
{ "HB_WITH_LIBHARU" , "../libhpdf.dll" , "" , "" },;
|
||||
{ "HB_WITH_LIBHARU" , "../lib_dll/libhpdf.dll" , "" , "" },;
|
||||
{ "HB_WITH_MYSQL" , "../lib/opt/libmySQL.dll" , "" , "" },;
|
||||
{ "HB_WITH_OCILIB" , "../lib32/ociliba.dll" , "" , "" },;
|
||||
{ "HB_WITH_OCILIB" , "../lib32/ocilibm.dll" , "" , "" },;
|
||||
{ "HB_WITH_OCILIB" , "../lib32/ocilibw.dll" , "" , "" },;
|
||||
{ "HB_WITH_OPENSSL" , "../out32dll/libeay32.dll" , " -iflag={bcc}-a", "" },;
|
||||
{ "HB_WITH_OPENSSL" , "../out32dll/ssleay32.dll" , " -iflag={bcc}-a", "" },;
|
||||
{ "HB_WITH_OPENSSL" , "../dll/libeay32.dll" , " -iflag={bcc}-a", "" },;
|
||||
{ "HB_WITH_OPENSSL" , "../dll/ssleay32.dll" , " -iflag={bcc}-a", "" },;
|
||||
{ "HB_WITH_OPENSSL" , "../libeay32.dll" , " -iflag={bcc}-a", "" },;
|
||||
{ "HB_WITH_OPENSSL" , "../ssleay32.dll" , " -iflag={bcc}-a", "" },;
|
||||
{ "HB_WITH_PGSQL" , "../lib/libpq.dll" , " -iflag={bcc}-a", "" }}
|
||||
|
||||
FOR EACH tmp IN aArray
|
||||
IF ! Empty( GetEnv( tmp[ 1 ] ) )
|
||||
hb_processRun( GetEnv( "HB_HOST_BIN_DIR" ) + _PS_ + "hbmk2" +;
|
||||
" -mkimplib=${" + tmp[ 1 ] + "}/" + tmp[ 2 ] +;
|
||||
" ${HB_LIB_INSTALL}/" + tmp[ 4 ] +;
|
||||
tmp[ 3 ] + " -trace" )
|
||||
" -hbimplib" +;
|
||||
" ${" + tmp[ 1 ] + "}/" + tmp[ 2 ] +;
|
||||
" -o${HB_LIB_INSTALL}/" + tmp[ 4 ] +;
|
||||
tmp[ 3 ] )
|
||||
ENDIF
|
||||
NEXT
|
||||
|
||||
|
||||
@@ -1642,7 +1642,7 @@ long hb_comSend( int iPort, const void * data, long len, HB_MAXINT timeout )
|
||||
|
||||
if( lSent >= 0 )
|
||||
{
|
||||
DWORD dwWritten = 0;;
|
||||
DWORD dwWritten = 0;
|
||||
BOOL fResult;
|
||||
|
||||
fResult = WriteFile( pCom->hComm, data, ( DWORD ) len, &dwWritten, NULL );
|
||||
@@ -1701,7 +1701,7 @@ long hb_comRecv( int iPort, void * data, long len, HB_MAXINT timeout )
|
||||
if( lReceived >= 0 )
|
||||
{
|
||||
DWORD dwToRead = ( DWORD ) len;
|
||||
DWORD dwRead = 0;;
|
||||
DWORD dwRead = 0;
|
||||
BOOL fResult;
|
||||
|
||||
fResult = ReadFile( pCom->hComm, data, dwToRead, &dwRead, NULL );
|
||||
|
||||
@@ -224,13 +224,13 @@ msgstr "Gener
|
||||
|
||||
#: hbmk2.prg:7941
|
||||
#, c-format
|
||||
msgid "convert .xbp (xbuild) project file to .hbp file (experimental)"
|
||||
msgstr ".xbp (xbuild) project állomány konvertálása .hbp állományba (kísérleti)"
|
||||
msgid "convert .xbp (xbuild) project file to .hbp file"
|
||||
msgstr ".xbp (xbuild) project állomány konvertálása .hbp állományba"
|
||||
|
||||
#: hbmk2.prg:7941
|
||||
#, c-format
|
||||
msgid "convert .xhp (xMate) project file to .hbp file (experimental)"
|
||||
msgstr ".xhp (xMate) project állomány konvertálása .hbp állományba (kísérleti)"
|
||||
msgid "convert .xhp (xMate) project file to .hbp file"
|
||||
msgstr ".xhp (xMate) project állomány konvertálása .hbp állományba"
|
||||
|
||||
#: hbmk2.prg:7959
|
||||
#, c-format
|
||||
@@ -399,7 +399,7 @@ msgstr "
|
||||
|
||||
#: hbmk2.prg:7941
|
||||
#, c-format
|
||||
msgid "set <file> as application icon. <file> should be a supported format on the target platform (experimental)"
|
||||
msgid "set <file> as application icon. <file> should be a supported format on the target platform"
|
||||
msgstr ""
|
||||
|
||||
#: hbmk2.prg:7959
|
||||
@@ -484,12 +484,12 @@ msgstr "tov
|
||||
|
||||
#: hbmk2.prg:7941
|
||||
#, c-format
|
||||
msgid "enable Harbour 1.0.x compatibility mode (experimental)"
|
||||
msgid "enable Harbour 1.0.x compatibility mode"
|
||||
msgstr ""
|
||||
|
||||
#: hbmk2.prg:7941
|
||||
#, c-format
|
||||
msgid "convert hbmake project file to .hbp file (experimental)"
|
||||
msgid "convert hbmake project file to .hbp file"
|
||||
msgstr ""
|
||||
|
||||
#: hbmk2.prg:7941
|
||||
@@ -749,7 +749,7 @@ msgstr "t
|
||||
|
||||
#: hbmk2.prg:7941
|
||||
#, c-format
|
||||
msgid "enable pure C mode (experimental)"
|
||||
msgid "enable pure C mode"
|
||||
msgstr ""
|
||||
|
||||
#: hbmk2.prg:7941
|
||||
@@ -944,8 +944,8 @@ msgstr "kapcsolja be a l
|
||||
|
||||
#: hbmk2.prg:7941
|
||||
#, c-format
|
||||
msgid "enable xhb mode (experimental)"
|
||||
msgstr "kapcsolja be az xhb üzemmódot (kísérleti)"
|
||||
msgid "enable xhb mode"
|
||||
msgstr "kapcsolja be az xhb üzemmódot"
|
||||
|
||||
#: hbmk2.prg:7941
|
||||
#, c-format
|
||||
|
||||
@@ -297,62 +297,65 @@ REQUEST hbmk_KEYW
|
||||
#define _HBMK_aOPTL 36
|
||||
#define _HBMK_aOPTA 37
|
||||
#define _HBMK_aOPTD 38
|
||||
#define _HBMK_lCPP 39
|
||||
#define _HBMK_lSHARED 40
|
||||
#define _HBMK_lSTATICFULL 41
|
||||
#define _HBMK_lSHAREDDIST 42
|
||||
#define _HBMK_lNULRDD 43
|
||||
#define _HBMK_lMAP 44
|
||||
#define _HBMK_lBEEP 45
|
||||
#define _HBMK_lSTRIP 46
|
||||
#define _HBMK_lOPTIM 47
|
||||
#define _HBMK_nCOMPR 48
|
||||
#define _HBMK_nWARN 49
|
||||
#define _HBMK_lRUN 50
|
||||
#define _HBMK_lINC 51
|
||||
#define _HBMK_lREBUILDPO 52
|
||||
#define _HBMK_lMINIPO 53
|
||||
#define _HBMK_lUNICODE 54
|
||||
#define _HBMK_nCONF 55
|
||||
#define _HBMK_lIGNOREERROR 56
|
||||
#define _HBMK_lIMPLIB 57
|
||||
#define _HBMK_lHBCPPMM 58
|
||||
#define _HBMK_aVAR 59
|
||||
#define _HBMK_aOPTI 39
|
||||
#define _HBMK_lCPP 40
|
||||
#define _HBMK_lSHARED 41
|
||||
#define _HBMK_lSTATICFULL 42
|
||||
#define _HBMK_lSHAREDDIST 43
|
||||
#define _HBMK_lNULRDD 44
|
||||
#define _HBMK_lMAP 45
|
||||
#define _HBMK_lBEEP 46
|
||||
#define _HBMK_lSTRIP 47
|
||||
#define _HBMK_lOPTIM 48
|
||||
#define _HBMK_nCOMPR 49
|
||||
#define _HBMK_nWARN 50
|
||||
#define _HBMK_lRUN 51
|
||||
#define _HBMK_lINC 52
|
||||
#define _HBMK_lREBUILDPO 53
|
||||
#define _HBMK_lMINIPO 54
|
||||
#define _HBMK_lUNICODE 55
|
||||
#define _HBMK_nCONF 56
|
||||
#define _HBMK_lIGNOREERROR 57
|
||||
#define _HBMK_lIMPLIB 58
|
||||
#define _HBMK_lHBCPPMM 59
|
||||
#define _HBMK_aVAR 60
|
||||
|
||||
#define _HBMK_lCreateLib 60
|
||||
#define _HBMK_lCreateDyn 61
|
||||
#define _HBMK_lCreateLib 61
|
||||
#define _HBMK_lCreateDyn 62
|
||||
#define _HBMK_lCreateImpLib 63
|
||||
|
||||
#define _HBMK_lBLDFLGP 62
|
||||
#define _HBMK_lBLDFLGC 63
|
||||
#define _HBMK_lBLDFLGL 64
|
||||
#define _HBMK_lBLDFLGP 64
|
||||
#define _HBMK_lBLDFLGC 65
|
||||
#define _HBMK_lBLDFLGL 66
|
||||
|
||||
#define _HBMK_cFIRST 65
|
||||
#define _HBMK_aPRG 66
|
||||
#define _HBMK_aC 67
|
||||
#define _HBMK_aCPP 68
|
||||
#define _HBMK_aRESSRC 69
|
||||
#define _HBMK_aRESCMP 70
|
||||
#define _HBMK_aOBJUSER 71
|
||||
#define _HBMK_aICON 72
|
||||
#define _HBMK_hDEPTS 73
|
||||
#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_hDEPTS 76
|
||||
|
||||
#define _HBMK_aPO 74
|
||||
#define _HBMK_cHBL 75
|
||||
#define _HBMK_cHBLDir 76
|
||||
#define _HBMK_aLNG 77
|
||||
#define _HBMK_cPO 78
|
||||
#define _HBMK_aPO 77
|
||||
#define _HBMK_cHBL 78
|
||||
#define _HBMK_cHBLDir 79
|
||||
#define _HBMK_aLNG 80
|
||||
#define _HBMK_cPO 81
|
||||
|
||||
#define _HBMK_lDEBUGTIME 79
|
||||
#define _HBMK_lDEBUGINC 80
|
||||
#define _HBMK_lDEBUGSTUB 81
|
||||
#define _HBMK_lDEBUGI18N 82
|
||||
#define _HBMK_lDEBUGTIME 82
|
||||
#define _HBMK_lDEBUGINC 83
|
||||
#define _HBMK_lDEBUGSTUB 84
|
||||
#define _HBMK_lDEBUGI18N 85
|
||||
|
||||
#define _HBMK_cCCPATH 83
|
||||
#define _HBMK_cCCPREFIX 84
|
||||
#define _HBMK_cCCPOSTFIX 85
|
||||
#define _HBMK_cCCEXT 86
|
||||
#define _HBMK_cCCPATH 86
|
||||
#define _HBMK_cCCPREFIX 87
|
||||
#define _HBMK_cCCPOSTFIX 88
|
||||
#define _HBMK_cCCEXT 89
|
||||
|
||||
#define _HBMK_MAX_ 86
|
||||
#define _HBMK_MAX_ 89
|
||||
|
||||
#ifndef _HBMK_EMBEDDED_
|
||||
|
||||
@@ -674,7 +677,6 @@ FUNCTION hbmk2( aArgs, /* @ */ lPause )
|
||||
LOCAL cOpt_Res
|
||||
LOCAL cOpt_Lib
|
||||
LOCAL cOpt_Dyn
|
||||
LOCAL cOpt_ImpLib
|
||||
LOCAL cBin_CompPRG
|
||||
LOCAL cBin_CompC
|
||||
LOCAL cBin_CompCPP
|
||||
@@ -702,11 +704,10 @@ FUNCTION hbmk2( aArgs, /* @ */ lPause )
|
||||
LOCAL lAcceptCFlag := .F.
|
||||
LOCAL lAcceptLDFlag := .F.
|
||||
LOCAL lAcceptLDClipper := .F.
|
||||
LOCAL lAcceptIFlag := .F.
|
||||
LOCAL lHarbourInfo := .F.
|
||||
LOCAL lMakeImpLib := .F.
|
||||
LOCAL cMakeImpLibDLL := NIL
|
||||
LOCAL cMakeImpLibLib := NIL
|
||||
LOCAL lMakeImpLibMS_bcc := .F.
|
||||
|
||||
LOCAL nHarbourPPO := 0
|
||||
LOCAL cHarbourOutputExt
|
||||
@@ -740,6 +741,7 @@ FUNCTION hbmk2( aArgs, /* @ */ lPause )
|
||||
|
||||
hbmk[ _HBMK_lCreateLib ] := .F.
|
||||
hbmk[ _HBMK_lCreateDyn ] := .F.
|
||||
hbmk[ _HBMK_lCreateImpLib ] := .F.
|
||||
|
||||
hbmk[ _HBMK_lQuiet ] := .F.
|
||||
hbmk[ _HBMK_lInfo ] := .F.
|
||||
@@ -1509,6 +1511,7 @@ FUNCTION hbmk2( aArgs, /* @ */ lPause )
|
||||
hbmk[ _HBMK_aOPTL ] := {}
|
||||
hbmk[ _HBMK_aOPTA ] := {}
|
||||
hbmk[ _HBMK_aOPTD ] := {}
|
||||
hbmk[ _HBMK_aOPTI ] := {}
|
||||
l_aOPTRUN := {}
|
||||
hbmk[ _HBMK_aRESSRC ] := {}
|
||||
hbmk[ _HBMK_aRESCMP ] := {}
|
||||
@@ -1519,6 +1522,7 @@ FUNCTION hbmk2( aArgs, /* @ */ lPause )
|
||||
hbmk[ _HBMK_aLIBUSERSYSPRE ] := {}
|
||||
hbmk[ _HBMK_aOBJUSER ] := {}
|
||||
hbmk[ _HBMK_aICON ] := {}
|
||||
hbmk[ _HBMK_aIMPLIBSRC ] := {}
|
||||
l_aOBJA := {}
|
||||
l_cPROGDIR := NIL
|
||||
l_cPROGNAME := NIL
|
||||
@@ -1617,6 +1621,7 @@ FUNCTION hbmk2( aArgs, /* @ */ lPause )
|
||||
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 == "-hbimplib" ; hbmk[ _HBMK_lInfo ] := .F. ; lStopAfterInit := .T. ; hbmk[ _HBMK_lCreateImpLib ] := .T. ; lAcceptIFlag := .T.
|
||||
CASE cParamL == "-gui" .OR. ;
|
||||
cParamL == "-mwindows" ; hbmk[ _HBMK_lGUI ] := .T. /* Compatibility */
|
||||
CASE cParamL == "-std" .OR. ;
|
||||
@@ -1760,22 +1765,6 @@ FUNCTION hbmk2( aArgs, /* @ */ lPause )
|
||||
|
||||
OutStd( l_cHB_INC_INSTALL )
|
||||
|
||||
CASE Left( cParamL, Len( "-mkimplib=" ) ) == "-mkimplib="
|
||||
|
||||
cMakeImpLibDLL := MacroProc( hbmk, ArchCompFilter( hbmk, SubStr( cParam, Len( "-mkimplib=" ) + 1 ) ), aParam[ _PAR_cFileName ] )
|
||||
IF ! Empty( cMakeImpLibDLL )
|
||||
cMakeImpLibDLL := PathSepToTarget( hbmk, PathProc( cMakeImpLibDLL, aParam[ _PAR_cFileName ] ) )
|
||||
lStopAfterInit := .T.
|
||||
lMakeImpLib := .T.
|
||||
ENDIF
|
||||
|
||||
/* NOTE: Undocumented option to enable -a option when calling bcc implib tool.
|
||||
This is needed for some .dlls to make them work with bcc, because
|
||||
bcc chose not to follow name-mangling/callconv standard. */
|
||||
CASE cParamL == "-mkimplibms"
|
||||
|
||||
lMakeImpLibMS_bcc := .T.
|
||||
|
||||
CASE Left( cParamL, Len( "-jobs=" ) ) == "-jobs="
|
||||
|
||||
cParam := ArchCompFilter( hbmk, SubStr( cParam, Len( "-jobs=" ) + 1 ) )
|
||||
@@ -1841,10 +1830,15 @@ FUNCTION hbmk2( aArgs, /* @ */ lPause )
|
||||
|
||||
CASE Left( cParam, 2 ) == "-o"
|
||||
|
||||
IF lStopAfterHarbour
|
||||
IF hbmk[ _HBMK_lCreateImpLib ]
|
||||
tmp := MacroProc( hbmk, ArchCompFilter( hbmk, SubStr( cParam, 3 ) ), aParam[ _PAR_cFileName ] )
|
||||
IF ! Empty( tmp )
|
||||
AAddNotEmpty( hbmk[ _HBMK_aOPTPRG ], "-o" + PathSepToTarget( hbmk, PathNormalize( PathProc( PathSepToSelf( tmp ), aParam[ _PAR_cFileName ] ) ), 2 ) )
|
||||
cMakeImpLibLib := PathSepToTarget( hbmk, PathNormalize( PathProc( PathSepToSelf( tmp ), aParam[ _PAR_cFileName ] ) ) )
|
||||
ENDIF
|
||||
ELSEIF lStopAfterHarbour
|
||||
tmp := MacroProc( hbmk, ArchCompFilter( hbmk, SubStr( cParam, 3 ) ), aParam[ _PAR_cFileName ] )
|
||||
IF ! Empty( tmp )
|
||||
AAddNotEmpty( hbmk[ _HBMK_aOPTPRG ], "-o" + PathSepToTarget( hbmk, PathNormalize( PathProc( PathSepToSelf( tmp ), aParam[ _PAR_cFileName ] ) ) ) )
|
||||
ENDIF
|
||||
ELSE
|
||||
tmp := MacroProc( hbmk, ArchCompFilter( hbmk, SubStr( cParam, 3 ) ), aParam[ _PAR_cFileName ] )
|
||||
@@ -1912,6 +1906,13 @@ FUNCTION hbmk2( aArgs, /* @ */ lPause )
|
||||
AAdd( hbmk[ _HBMK_aICON ], PathNormalize( PathProc( PathSepToSelf( cParam ), aParam[ _PAR_cFileName ] ) ) )
|
||||
ENDIF
|
||||
|
||||
CASE Left( cParamL, Len( "-iflag=" ) ) == "-iflag="
|
||||
|
||||
cParam := MacroProc( hbmk, ArchCompFilter( hbmk, SubStr( cParam, Len( "-iflag=" ) + 1 ) ), aParam[ _PAR_cFileName ] )
|
||||
IF Left( cParam, 1 ) $ cOptPrefix
|
||||
AAdd( hbmk[ _HBMK_aOPTI ] , PathSepToTarget( hbmk, cParam, 2 ) )
|
||||
ENDIF
|
||||
|
||||
CASE Left( cParamL, 2 ) == "-i" .AND. ;
|
||||
Len( cParamL ) > 2
|
||||
|
||||
@@ -2041,6 +2042,8 @@ FUNCTION hbmk2( aArgs, /* @ */ lPause )
|
||||
ELSE
|
||||
AAddNotEmpty( hbmk[ _HBMK_aOPTC ], ArchCompFilter( hbmk, PathSepToTarget( hbmk, cParam, 2 ) ) )
|
||||
ENDIF
|
||||
CASE lAcceptIFlag
|
||||
AAddNotEmpty( hbmk[ _HBMK_aOPTI ], ArchCompFilter( hbmk, PathSepToTarget( hbmk, cParam, 2 ) ) )
|
||||
OTHERWISE
|
||||
IF SubStr( cParamL, 2 ) == "gh"
|
||||
lStopAfterHarbour := .T.
|
||||
@@ -2061,6 +2064,13 @@ FUNCTION hbmk2( aArgs, /* @ */ lPause )
|
||||
AAddNotEmpty( hbmk[ _HBMK_aOPTPRG ], PathSepToTarget( hbmk, cParam, 2 ) )
|
||||
ENDCASE
|
||||
|
||||
CASE hbmk[ _HBMK_lCreateImpLib ]
|
||||
|
||||
cParam := MacroProc( hbmk, ArchCompFilter( hbmk, cParam ), aParam[ _PAR_cFileName ] )
|
||||
IF ! Empty( cParam )
|
||||
AAdd( hbmk[ _HBMK_aIMPLIBSRC ], PathSepToTarget( hbmk, PathNormalize( PathProc( PathSepToSelf( cParam ), aParam[ _PAR_cFileName ] ) ) ) )
|
||||
ENDIF
|
||||
|
||||
CASE FN_ExtGet( cParamL ) == ".lib" .OR. ;
|
||||
( ! Empty( cDynLibExt ) .AND. FN_ExtGet( cParamL ) == cDynLibExt )
|
||||
|
||||
@@ -2194,10 +2204,6 @@ FUNCTION hbmk2( aArgs, /* @ */ lPause )
|
||||
hbmk[ _HBMK_cHBL ] := PathSepToTarget( hbmk, cParam )
|
||||
hbmk[ _HBMK_cHBLDir ] := FN_DirGet( aParam[ _PAR_cFileName ] )
|
||||
|
||||
CASE lMakeImpLib .AND. Empty( cMakeImpLibLib )
|
||||
|
||||
cMakeImpLibLib := PathSepToTarget( hbmk, PathProc( MacroProc( hbmk, ArchCompFilter( hbmk, cParam ), aParam[ _PAR_cFileName ] ), aParam[ _PAR_cFileName ] ) )
|
||||
|
||||
OTHERWISE
|
||||
|
||||
cParam := ArchCompFilter( hbmk, cParam )
|
||||
@@ -2305,7 +2311,7 @@ FUNCTION hbmk2( aArgs, /* @ */ lPause )
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
IF ( ! lStopAfterInit .AND. ! lStopAfterHarbour ) .OR. lMakeImpLib
|
||||
IF ( ! lStopAfterInit .AND. ! lStopAfterHarbour ) .OR. hbmk[ _HBMK_lCreateImpLib ]
|
||||
|
||||
IF hbmk[ _HBMK_cGT ] != NIL .AND. hbmk[ _HBMK_cGT ] == hbmk[ _HBMK_cGTDEFAULT ]
|
||||
hbmk[ _HBMK_cGT ] := NIL
|
||||
@@ -3190,9 +3196,6 @@ FUNCTION hbmk2( aArgs, /* @ */ lPause )
|
||||
cBin_Dyn := cBin_Link
|
||||
cOpt_Link := '-Gn -Tpe -L{DL} {FL} ' + iif( hbmk[ _HBMK_lGUI ], "c0w32.obj", "c0x32.obj" ) + " {LO}, {OE}, " + iif( hbmk[ _HBMK_lMAP ], "{OM}", "nul" ) + ", {LL} {LB} cw32mt.lib import32.lib,, {LS}{SCRIPT}"
|
||||
cOpt_Dyn := '-Gn -Tpd -L{DL} {FD} ' + "c0d32.obj" + " {LO}, {OD}, " + iif( hbmk[ _HBMK_lMAP ], "{OM}", "nul" ) + ", {LL} {LB} cw32mt.lib import32.lib,, {LS}{SCRIPT}"
|
||||
IF lMakeImpLibMS_bcc
|
||||
cOpt_ImpLib := "-a"
|
||||
ENDIF
|
||||
bBlk_ImpLib := {| cSourceDLL, cTargetLib, cFlags | win_implib_command( hbmk, "implib.exe {FI} {OL} {ID}", nCmd_Esc, cSourceDLL, cTargetLib, cFlags ) }
|
||||
cLibPathPrefix := ""
|
||||
cLibPathSep := ";"
|
||||
@@ -3343,16 +3346,16 @@ FUNCTION hbmk2( aArgs, /* @ */ lPause )
|
||||
cOpt_CompC += " {FC} {LC}"
|
||||
cOptIncMask := "-I{DI}"
|
||||
cOpt_Link := "-nologo -out:{OE} {LO} {DL} {FL} {LL} {LB} {LS}"
|
||||
DO CASE
|
||||
CASE hbmk[ _HBMK_cCOMP ] == "msvc" ; cOpt_ImpLib := "-machine:x86"
|
||||
CASE hbmk[ _HBMK_cCOMP ] == "msvc64" ; cOpt_ImpLib := "-machine:x64"
|
||||
CASE hbmk[ _HBMK_cCOMP ] == "msvcia64" ; cOpt_ImpLib := "-machine:ia64"
|
||||
CASE hbmk[ _HBMK_cCOMP ] == "icc" ; cOpt_ImpLib := "-machine:x86"
|
||||
CASE hbmk[ _HBMK_cCOMP ] == "iccia64" ; cOpt_ImpLib := "-machine:ia64"
|
||||
CASE hbmk[ _HBMK_cCOMP ] == "msvcarm" ; cOpt_ImpLib := "-machine:xarm"
|
||||
CASE hbmk[ _HBMK_cCOMP ] == "msvcmips" ; cOpt_ImpLib := "-machine:mips"
|
||||
CASE hbmk[ _HBMK_cCOMP ] == "msvcsh" ; cOpt_ImpLib := "-machine:sh5"
|
||||
ENDCASE
|
||||
SWITCH hbmk[ _HBMK_cCOMP ]
|
||||
CASE "msvc" ; AAdd( hbmk[ _HBMK_aOPTI ], "-machine:x86" ) ; EXIT
|
||||
CASE "msvc64" ; AAdd( hbmk[ _HBMK_aOPTI ], "-machine:x64" ) ; EXIT
|
||||
CASE "msvcia64" ; AAdd( hbmk[ _HBMK_aOPTI ], "-machine:ia64" ) ; EXIT
|
||||
CASE "icc" ; AAdd( hbmk[ _HBMK_aOPTI ], "-machine:x86" ) ; EXIT
|
||||
CASE "iccia64" ; AAdd( hbmk[ _HBMK_aOPTI ], "-machine:ia64" ) ; EXIT
|
||||
CASE "msvcarm" ; AAdd( hbmk[ _HBMK_aOPTI ], "-machine:xarm" ) ; EXIT
|
||||
CASE "msvcmips" ; AAdd( hbmk[ _HBMK_aOPTI ], "-machine:mips" ) ; EXIT
|
||||
CASE "msvcsh" ; AAdd( hbmk[ _HBMK_aOPTI ], "-machine:sh5" ) ; EXIT
|
||||
ENDSWITCH
|
||||
bBlk_ImpLib := {| cSourceDLL, cTargetLib, cFlags | win_implib_command_msvc( hbmk, cBin_Lib + " -nologo {FI} -def:{ID} -out:{OL}", nCmd_Esc, cSourceDLL, cTargetLib, cFlags ) }
|
||||
cLibPathPrefix := "-libpath:"
|
||||
cLibPathSep := " "
|
||||
@@ -3672,27 +3675,32 @@ FUNCTION hbmk2( aArgs, /* @ */ lPause )
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
IF lMakeImpLib
|
||||
IF hbmk[ _HBMK_lCreateImpLib ]
|
||||
IF ISBLOCK( bBlk_ImpLib )
|
||||
IF ! Empty( cMakeImpLibDLL )
|
||||
cMakeImpLibDLL := FN_ExtDef( cMakeImpLibDLL, ".dll" )
|
||||
IF hb_FileExists( PathSepToSelf( cMakeImpLibDLL ) )
|
||||
hb_FNameSplit( cMakeImpLibLib, @tmp, @tmp1 )
|
||||
IF Empty( tmp1 )
|
||||
hb_FNameSplit( cMakeImpLibDLL,, @tmp1 )
|
||||
ENDIF
|
||||
cMakeImpLibLib := hb_FNameMerge( tmp, tmp1 )
|
||||
tmp := FN_CookLib( cMakeImpLibLib, cLibLibPrefix, cLibLibExt )
|
||||
IF Eval( bBlk_ImpLib, cMakeImpLibDLL, tmp, cOpt_ImpLib )
|
||||
hbmk_OutStd( hbmk, hb_StrFormat( I_( "Created import library: %1$s <= %2$s" ), tmp, cMakeImpLibDLL ) )
|
||||
IF ! Empty( hbmk[ _HBMK_aIMPLIBSRC ] )
|
||||
FOR EACH cMakeImpLibDLL IN hbmk[ _HBMK_aIMPLIBSRC ]
|
||||
cMakeImpLibDLL := FN_ExtDef( cMakeImpLibDLL, ".dll" )
|
||||
IF hb_FileExists( PathSepToSelf( cMakeImpLibDLL ) )
|
||||
hb_FNameSplit( cMakeImpLibLib, @tmp, @tmp1 )
|
||||
IF Empty( tmp1 )
|
||||
hb_FNameSplit( cMakeImpLibDLL,, @tmp1 )
|
||||
ENDIF
|
||||
tmp := FN_CookLib( hb_FNameMerge( tmp, tmp1 ), cLibLibPrefix, cLibLibExt )
|
||||
IF Eval( bBlk_ImpLib, cMakeImpLibDLL, tmp, ArrayToList( hbmk[ _HBMK_aOPTI ] ) )
|
||||
hbmk_OutStd( hbmk, hb_StrFormat( I_( "Created import library: %1$s <= %2$s" ), tmp, cMakeImpLibDLL ) )
|
||||
ELSE
|
||||
hbmk_OutErr( hbmk, hb_StrFormat( I_( "Error: Failed creating import library %1$s from %2$s." ), tmp, cMakeImpLibDLL ) )
|
||||
ENDIF
|
||||
ELSE
|
||||
hbmk_OutErr( hbmk, hb_StrFormat( I_( "Error: Failed creating import library %1$s from %2$s." ), tmp, cMakeImpLibDLL ) )
|
||||
IF hbmk[ _HBMK_lInfo ]
|
||||
hbmk_OutErr( hbmk, hb_StrFormat( I_( "Warning: Source dynamic library not found: %1$s" ), cMakeImpLibDLL ) )
|
||||
ENDIF
|
||||
ENDIF
|
||||
ELSE
|
||||
hbmk_OutErr( hbmk, hb_StrFormat( I_( "Warning: Source dynamic library not found: %1$s" ), cMakeImpLibDLL ) )
|
||||
ENDIF
|
||||
NEXT
|
||||
ELSE
|
||||
hbmk_OutErr( hbmk, I_( "Error: Missing parameter for import library creation." ) )
|
||||
IF hbmk[ _HBMK_lInfo ]
|
||||
hbmk_OutErr( hbmk, I_( "Warning: No import library source was specified" ) )
|
||||
ENDIF
|
||||
ENDIF
|
||||
ELSE
|
||||
hbmk_OutErr( hbmk, I_( "Error: Creating import libraries is not supported for this platform or compiler." ) )
|
||||
@@ -8736,7 +8744,8 @@ STATIC PROCEDURE ShowHelp( hbmk, lLong )
|
||||
{ "-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" ) }}
|
||||
{ "-hbdyn" , I_( "create dynamic library" ) },;
|
||||
{ "-hbimplib" , I_( "create import library" ) }}
|
||||
|
||||
LOCAL aOpt_Help := {;
|
||||
{ "-help|--help" , I_( "long help" ) } }
|
||||
@@ -8767,7 +8776,7 @@ STATIC PROCEDURE ShowHelp( hbmk, lLong )
|
||||
{ "-[no]run" , I_( "run/don't run output executable" ) },;
|
||||
{ "-vcshead=<file>" , I_( "generate .ch header file with local repository information. SVN, CVS, Git, Mercurial, Bazaar and Fossil are currently supported. Generated header will define macro _HBMK_VCS_TYPE_ with the name of detected VCS and _HBMK_VCS_ID_ with the unique ID of local repository" ) },;
|
||||
{ "-tshead=<file>" , I_( "generate .ch header file with timestamp information. Generated header will define macros _HBMK_BUILD_DATE_, _HBMK_BUILD_TIME_, _HBMK_BUILD_TIMESTAMP_ with the date/time of build" ) },;
|
||||
{ "-icon=<file>" , I_( "set <file> as application icon. <file> should be a supported format on the target platform (experimental)" ) },;
|
||||
{ "-icon=<file>" , I_( "set <file> as application icon. <file> should be a supported format on the target platform" ) },;
|
||||
{ "-instpath=<path>" , I_( "copy target to <path>. if <path> is a directory, it should end with path separator. can be specified multiple times" ) },;
|
||||
{ "-nohbc" , I_( "do not process .hbc files in current directory" ) },;
|
||||
{ "-stop" , I_( "stop without doing anything" ) },;
|
||||
@@ -8782,6 +8791,7 @@ STATIC PROCEDURE ShowHelp( hbmk, lLong )
|
||||
{ "-ldflag=<f>" , I_( "pass flag to linker (executable)" ) },;
|
||||
{ "-aflag=<f>" , I_( "pass flag to linker (static library)" ) },;
|
||||
{ "-dflag=<f>" , I_( "pass flag to linker (dynamic library)" ) },;
|
||||
{ "-iflag=<f>" , I_( "pass flag to import library creation command" ) },;
|
||||
{ "-runflag=<f>" , I_( "pass flag to output executable when -run option is used" ) },;
|
||||
{ "-3rd=<f>" , I_( "options/flags reserved for 3rd party tools, always ignored by hbmk2 itself" ) },;
|
||||
{ "-jobs=<n>" , I_( "start n compilation threads (multiprocess platforms only)" ) },;
|
||||
@@ -8810,18 +8820,16 @@ STATIC PROCEDURE ShowHelp( hbmk, lLong )
|
||||
{ "-hbcmp|-clipper" , I_( "stop after creating the object files\ncreate link/copy hbmk2 to hbcmp/clipper for the same effect" ) },;
|
||||
{ "-hbcc" , I_( "stop after creating the object files and accept raw C flags\ncreate link/copy hbmk2 to hbcc for the same effect" ) },;
|
||||
{ "-hblnk" , I_( "accept raw linker flags" ) },;
|
||||
{ "-hb10" , I_( "enable Harbour 1.0.x compatibility mode (experimental)" ) },;
|
||||
{ "-xhb" , I_( "enable xhb mode (experimental)" ) },;
|
||||
{ "-hbc" , I_( "enable pure C mode (experimental)" ) },;
|
||||
{ "-hb10" , I_( "enable Harbour 1.0.x compatibility mode" ) },;
|
||||
{ "-xhb" , I_( "enable xhb mode" ) },;
|
||||
{ "-hbc" , I_( "enable pure C mode" ) },;
|
||||
{ "-rtlink" , "" },;
|
||||
{ "-blinker" , "" },;
|
||||
{ "-exospace" , I_( "emulate Clipper compatible linker behavior\ncreate link/copy hbmk2 to rtlink/blinker/exospace for the same effect" ) },;
|
||||
NIL,;
|
||||
{ "-mkimplib=<d> [<l>]", I_( "convert <d> .dll into <l> import library (experimental)" ) },;
|
||||
NIL,;
|
||||
{ "-hbmake=<file>" , I_( "convert hbmake project file to .hbp file (experimental)" ) },;
|
||||
{ "-xbp=<file>" , I_( "convert .xbp (xbuild) project file to .hbp file (experimental)" ) },;
|
||||
{ "-xhp=<file>" , I_( "convert .xhp (xMate) project file to .hbp file (experimental)" ) },;
|
||||
{ "-hbmake=<file>" , I_( "convert hbmake project file to .hbp file" ) },;
|
||||
{ "-xbp=<file>" , I_( "convert .xbp (xbuild) project file to .hbp file" ) },;
|
||||
{ "-xhp=<file>" , I_( "convert .xhp (xMate) project file to .hbp file" ) },;
|
||||
NIL,;
|
||||
{ "--hbdirbin" , I_( "output Harbour binary directory" ) },;
|
||||
{ "--hbdirdyn" , I_( "output Harbour dynamic library directory" ) },;
|
||||
|
||||
@@ -333,8 +333,8 @@ msgstr ""
|
||||
|
||||
#: hbmk2.prg:7942
|
||||
#, c-format
|
||||
msgid "convert .xhp (xMate) project file to .hbp file (experimental)"
|
||||
msgstr "converte um projeto .xhp (xMate) em um arquivo .hbp (experimental)"
|
||||
msgid "convert .xhp (xMate) project file to .hbp file"
|
||||
msgstr "converte um projeto .xhp (xMate) em um arquivo .hbp"
|
||||
|
||||
#: hbmk2.prg:4451
|
||||
#, c-format
|
||||
@@ -579,8 +579,8 @@ msgstr "ajuda detalhada"
|
||||
|
||||
#: hbmk2.prg:7942
|
||||
#, c-format
|
||||
msgid "set <file> as application icon. <file> should be a supported format on the target platform (experimental)"
|
||||
msgstr "seta o ícone para o aplicativo. <file> deve possuir um formato compatível com a plataforma de destino (experimental)"
|
||||
msgid "set <file> as application icon. <file> should be a supported format on the target platform"
|
||||
msgstr "seta o ícone para o aplicativo. <file> deve possuir um formato compatível com a plataforma de destino"
|
||||
|
||||
#: hbmk2.prg:7942
|
||||
#, c-format
|
||||
@@ -721,18 +721,18 @@ msgstr "par
|
||||
|
||||
#: hbmk2.prg:7942
|
||||
#, c-format
|
||||
msgid "enable xhb mode (experimental)"
|
||||
msgstr "habilitar modo xHb (experimental)"
|
||||
msgid "enable xhb mode"
|
||||
msgstr "habilitar modo xHb"
|
||||
|
||||
#: hbmk2.prg:7942
|
||||
#, c-format
|
||||
msgid "convert hbmake project file to .hbp file (experimental)"
|
||||
msgstr "converte um projeto do hbmake em um arquivo .hbp (experimental)"
|
||||
msgid "convert hbmake project file to .hbp file"
|
||||
msgstr "converte um projeto do hbmake em um arquivo .hbp"
|
||||
|
||||
#: hbmk2.prg:7942
|
||||
#, c-format
|
||||
msgid "convert .xbp (xbuild) project file to .hbp file (experimental)"
|
||||
msgstr "converte um projeto .xbp (xbuild) em um arquivo .hbp (experimental)"
|
||||
msgid "convert .xbp (xbuild) project file to .hbp file"
|
||||
msgstr "converte um projeto .xbp (xbuild) em um arquivo .hbp"
|
||||
|
||||
#: hbmk2.prg:7942
|
||||
#, c-format
|
||||
@@ -917,8 +917,8 @@ msgstr "Aten
|
||||
|
||||
#: hbmk2.prg:7942
|
||||
#, c-format
|
||||
msgid "enable Harbour 1.0.x compatibility mode (experimental)"
|
||||
msgstr "habilita modo de compatibilidade 'Harbour 1.0.x' (experimental)"
|
||||
msgid "enable Harbour 1.0.x compatibility mode"
|
||||
msgstr "habilita modo de compatibilidade 'Harbour 1.0.x'"
|
||||
|
||||
#: hbmk2.prg:4582
|
||||
#, c-format
|
||||
@@ -947,8 +947,8 @@ msgstr "criar bin
|
||||
|
||||
#: hbmk2.prg:7942
|
||||
#, c-format
|
||||
msgid "enable pure C mode (experimental)"
|
||||
msgstr "ativa modo C puro (experimental)"
|
||||
msgid "enable pure C mode"
|
||||
msgstr "ativa modo C puro"
|
||||
|
||||
#: hbmk2.prg:5926
|
||||
#: hbmk2.prg:5969
|
||||
|
||||
Reference in New Issue
Block a user