2013-02-26 14:41 UTC+0100 Viktor Szakats (harbour syenar.net)
* utils/hbmk2/hbmk2.*.po
* utils/hbmk2/hbmk2.prg
+ do not share plugin variables (hbmk[ "vars" ])
between different plugins. It avoids potentially nasty
issues with plugins stepping onto each other's toes.
[INCOMPATIBLE - though it's unlikely anyone is
affected. If you must communicate between plugins,
use public function or variable.]
+ clarified in help that -icon might not work on all
platforms/compilers and detailed Windows implementation
(in particular it's disabled on bcc/bcc64 and on
mingw it won't work when a manual .rc is specified,
also on some (old?) msvc versions. Consult your
C compiler's Windows resource handling limitations.)
+ clarified in help the syntax of filters
+ clarified in help that .hbp references are handled as
sub-projects
+ clarification to command substitution macro
+ clarification to filter syntax note
! strict parameter checks in all public shell APIs to
avoid RTEs inside hbmk2 due to faulty API usage by scripts
* utils/hbmk2/examples/plug_bis.hb
* updated according to latest plugin changes
* include/harbour.hbx
* include/hbapi.h
* src/vm/debug.c
* src/vm/hvm.c
+ added internal function hb_vmInternalsEnabled()
to query whether potentially sensitive internals
are allowed to be accessed by public Harbour APIs
+ added .prg level function __vmNoInternals()
to disable potentially sensitive internals
by default accessible via public APIs.
Intentionally a one-way function: once disabled,
it cannot be reenabled from .prg or .c level.
NOTE: It will break Harbour debug functionality,
so it'd will be useful for hbrun scripts and
release (non-debug) builds.
+ modified internal __dbg*() functions to return
dummy values when internals are disabled via
__vmNoInternals() functions. While the function
return types are kept, apps relying on their
specific values and certain relationships between
them might break.
; NOTE: In the future, some more internals might
be protected by this setting (f.e. low-level
object and class functions and some API from
hbdebug lib)
; Please review
* tests/debugtst.prg
! fixed to compile warning-free without lowering
warning level
! fixed to run RTE-free with internals disabled
* bin/3rdpatch.hb
* bin/commit.hb
* config/postinst.hb
* contrib/make.hb
* contrib/hbtest/hbtest.ch
* src/debug/*.prg
* src/rtl/tclass.prg
* utils/hbmk2/examples/plug_bis.hb
* utils/hbmk2/examples/plug_tpl.hb
* use short form #pragmas (the ones identical
to Harbour options)
; NOTE: Except -l which works reversed compared
to cmdline -l option. TOFIX? (I tried and failed)
* src/rtl/hbi18n2.prg
* contrib/xhb/tfile.prg
* use F_ERROR instead of -1 literal
* contrib/xhb/xhbtedit.prg
! replaced dirty xhb extension with std SubStr() call
Reported by Tony Quick
[pls report such bugs on Harbour devl list]
* contrib/hbodbc/todbc.prg
! Don't continue ::Open() when SQLExecDir() have error
Fix from xhb via Vicente Guerra, with cleanups.
* tests/multifnc/multifnc.hbp
+ added comment
+ support for watcom
* tests/multifnc/t1.prg
! missing file ending EOL
* tests/*.prg
* extras/gtwvw/tests/wvwtest9.prg
* formatting
This commit is contained in:
@@ -5,7 +5,7 @@
|
||||
/*
|
||||
* hbmk2 plugin script, implementing support for bison
|
||||
*
|
||||
* Copyright 2011 Viktor Szakats (harbour syenar.net)
|
||||
* Copyright 2011-2013 Viktor Szakats (harbour syenar.net)
|
||||
* www - http://harbour-project.org
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
@@ -25,7 +25,7 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#pragma warninglevel=3
|
||||
#pragma -w3
|
||||
#pragma -km+
|
||||
#pragma -ko+
|
||||
|
||||
@@ -120,8 +120,8 @@ FUNCTION hbmk_plugin_bison( hbmk )
|
||||
|
||||
cCommand := hbmk[ "vars" ][ "cBIS_BIN" ] + ;
|
||||
" -d -p hb_comp" + ;
|
||||
" -o " + hbmk_FNameEscape( hbmk_PathSepToTarget( hbmk, cDst ), hbmk[ "nCmd_Esc" ], hbmk[ "nCmd_FNF" ] ) + ;
|
||||
" " + hbmk_FNameEscape( hbmk_PathSepToTarget( hbmk, cSrc ), hbmk[ "nCmd_Esc" ], hbmk[ "nCmd_FNF" ] )
|
||||
" -o " + hbmk_FNameEscape( hbmk, hbmk_PathSepToTarget( hbmk, cDst ) ) + ;
|
||||
" " + hbmk_FNameEscape( hbmk, hbmk_PathSepToTarget( hbmk, cSrc ) )
|
||||
|
||||
IF hbmk[ "lTRACE" ]
|
||||
IF ! hbmk[ "lQUIET" ]
|
||||
@@ -187,7 +187,8 @@ STATIC FUNCTION tool_detect( hbmk, cName )
|
||||
|
||||
PROCEDURE Main()
|
||||
|
||||
? "Cannot be run in standalone mode. Use it with -plugin= option of hbmk2."
|
||||
?? "Cannot be run in standalone mode. Use it with -plugin= option of hbmk2."
|
||||
?
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
/*
|
||||
* hbmk2 plugin example
|
||||
*
|
||||
* Copyright 2010 Viktor Szakats (harbour syenar.net)
|
||||
* Copyright 2010-2013 Viktor Szakats (harbour syenar.net)
|
||||
* www - http://harbour-project.org
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
@@ -29,7 +29,7 @@
|
||||
PUBLIC, PRIVATE and STATIC variables. Also do not use
|
||||
temporary disk files with non-random names. [vszakats] */
|
||||
|
||||
#pragma warninglevel=3
|
||||
#pragma -w3
|
||||
|
||||
#if defined( __HBSCRIPT__HBMK_PLUGIN )
|
||||
|
||||
@@ -65,7 +65,8 @@ FUNCTION hbmk_plugin_tpl( hbmk )
|
||||
|
||||
PROCEDURE Main()
|
||||
|
||||
? "Cannot be run in standalone mode. Use it with -plugin= option of hbmk2."
|
||||
?? "Cannot be run in standalone mode. Use it with -plugin= option of hbmk2."
|
||||
?
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
@@ -723,7 +723,7 @@ msgstr "especifique un nuevo destino de compilación. <script> puede ser módulo
|
||||
|
||||
#: hbmk2.prg:7960 hbmk2.prg:11650 hbmk2.prg:13120
|
||||
#, c-format
|
||||
msgid "Options accepting macro variables also support command substitution. Enclose command inside ``, and, if the command contains space, also enclose in double quotes. F.e. \"-cflag=`wx-config --cflags`\", or ldflags={unix&gcc}\"`wx-config --libs`\"."
|
||||
msgid "Options accepting macro variables also support command substitution. Enclose command inside ``, and, if the command contains space, also enclose in double quotes. Standard output of the command will be used as the value. F.e. \"-cflag=`wx-config --cflags`\", or ldflags={unix&gcc}\"`wx-config --libs`\"."
|
||||
msgstr "Tambien acepta Opciones de macros sustitución de comandos. Incluya comando dentro de ``, y, si el comando contiene espacios, también entre comillas dobles. F.e. \"-cflag==`wx-config -cflags`\", o ldflags={unix&gcc}\"`wx-config --libs`\"."
|
||||
|
||||
#: hbmk2.prg:6872 hbmk2.prg:10136 hbmk2.prg:10862
|
||||
@@ -943,7 +943,7 @@ msgstr "no agregue lista adicional de librerías del sistema a lista de librerí
|
||||
|
||||
#: hbmk2.prg:7960 hbmk2.prg:11650 hbmk2.prg:13120
|
||||
#, c-format
|
||||
msgid "Platform filters are accepted in each .hbc line and with several options.\nFilter format: {[!][<platform>|<compiler>|<cpu>|<keyword>]}. Filters can be combined using '&', '|' operators and grouped by parentheses. Ex.: {win}, {gcc}, {linux|darwin}, {win&!pocc}, {(win|linux)&!watcom}, {unix&mt&gui}, -cflag={win}-DMYDEF, -stop{dos}, -stop{!allwin}"
|
||||
msgid "Filters are accepted in each .hbc line and most options.\nFilters can be combined using '&' (and), '|' (or) operators, negated by '!' operator and grouped by parentheses. Ex.: {win}, {gcc}, {linux|darwin}, {win&!pocc}, {(win|linux)&!watcom}, {unix&mt&gui}, -cflag={win}-DMYDEF, -stop{dos}, -stop{!allwin}"
|
||||
msgstr "filtros para plataformas son aceptados en cada linea de archivo .hbc y con varias opciones.\nFormato de filtro: {[!][<plataforma>|<compilador>|<cpu>|<palabra-clave>]}. Filtros pueden ser combinados usando los operadores '&', '|' y agrupados en parénteses. Ej.: {win}, {gcc}, {linux|darwin}, {win&!pocc}, {(win|linux)&!watcom}, {unix&mt&gui}, -cflag={win}-DMYDEF, -stop{dos}, -stop{!allwin}"
|
||||
|
||||
#: hbmk2.prg:7555 hbmk2.prg:7672 hbmk2.prg:7755 hbmk2.prg:11163 hbmk2.prg:11284 hbmk2.prg:11408 hbmk2.prg:12183 hbmk2.prg:12311 hbmk2.prg:12459
|
||||
|
||||
@@ -99,7 +99,7 @@ msgstr "Figyelem: Hibás -gt érték figyelmen kívül hagyva: %1$s"
|
||||
|
||||
#: hbmk2.prg:7959 hbmk2.prg:11650 hbmk2.prg:13120
|
||||
#, c-format
|
||||
msgid "Platform filters are accepted in each .hbc line and with several options.\nFilter format: {[!][<platform>|<compiler>|<cpu>|<keyword>]}. Filters can be combined using '&', '|' operators and grouped by parentheses. Ex.: {win}, {gcc}, {linux|darwin}, {win&!pocc}, {(win|linux)&!watcom}, {unix&mt&gui}, -cflag={win}-DMYDEF, -stop{dos}, -stop{!allwin}"
|
||||
msgid "Filters are accepted in each .hbc line and most options.\nFilters can be combined using '&' (and), '|' (or) operators, negated by '!' operator and grouped by parentheses. Ex.: {win}, {gcc}, {linux|darwin}, {win&!pocc}, {(win|linux)&!watcom}, {unix&mt&gui}, -cflag={win}-DMYDEF, -stop{dos}, -stop{!allwin}"
|
||||
msgstr "A szűrők az egyes .hbc sorokban használhatók és számos opció esetén támogatottak.\nSzűrő formátum: {[!][<platform>|<compiler>|<cpu>|<keyword>]}. Szűrők kombinálhatók '&', '|' operátorokkal és zárójelekkel csoportosíthatók. Pl.: {win}, {gcc}, {linux|darwin}, {win&!pocc}, {(win|linux)&!watcom}, {unix&mt&gui}, -cflag={win}-DMYDEF, -stop{dos}, -stop{!allwin}"
|
||||
|
||||
#: hbmk2.prg:4128 hbmk2.prg:5633 hbmk2.prg:6212
|
||||
@@ -689,7 +689,7 @@ msgstr "nyelvek listája, amelyek a .pot/.po és .hbl/.po állományokban levő
|
||||
|
||||
#: hbmk2.prg:7959 hbmk2.prg:11650 hbmk2.prg:13120
|
||||
#, c-format
|
||||
msgid "Options accepting macro variables also support command substitution. Enclose command inside ``, and, if the command contains space, also enclose in double quotes. F.e. \"-cflag=`wx-config --cflags`\", or ldflags={unix&gcc}\"`wx-config --libs`\"."
|
||||
msgid "Options accepting macro variables also support command substitution. Enclose command inside ``, and, if the command contains space, also enclose in double quotes. Standard output of the command will be used as the value. F.e. \"-cflag=`wx-config --cflags`\", or ldflags={unix&gcc}\"`wx-config --libs`\"."
|
||||
msgstr ""
|
||||
|
||||
#: hbmk2.prg:7959 hbmk2.prg:11650 hbmk2.prg:13120
|
||||
|
||||
@@ -641,7 +641,7 @@ PROCEDURE __hbmk_public_entry( ... )
|
||||
|
||||
RETURN
|
||||
#elif defined( HBMK_USE_APPMAIN )
|
||||
/* for GNU Make build (we can't override default entry, so we use this alternate built-in one */
|
||||
/* for GNU Make build (we cannot override default entry, so we use this alternate built-in one */
|
||||
PROCEDURE _APPMAIN( ... )
|
||||
|
||||
hbmk_local_entry( ... )
|
||||
@@ -7481,7 +7481,7 @@ STATIC PROCEDURE AAddWithWarning( hbmk, aArray, cOption, aParam, lNew )
|
||||
STATIC sc_aWarning := { ;
|
||||
"-Wl,--allow-multiple-definition", ; /* gcc */
|
||||
"muldefs", ; /* ld '-z muldefs' */
|
||||
"force:multiple", ; /* msvc, pocc, watcom */
|
||||
"force:multiple", ; /* msvc, pocc, watcom, xcc */
|
||||
"w-dup" , ; /* bcc */
|
||||
"w-dpl" } /* bcc (for libs) */
|
||||
|
||||
@@ -7534,7 +7534,7 @@ STATIC FUNCTION CheckParamLibPath( hbmk, cPath )
|
||||
ENDIF
|
||||
|
||||
/* check against Harbour core lib directory in its legacy
|
||||
(non multi-compiler/platform) location. It's even more
|
||||
(non multi-compiler/platform) location. It is even more
|
||||
dangerous than above. */
|
||||
IF ! hbmk[ _HBMK_lSysLoc ] .AND. ;
|
||||
hb_FileMatch( cPath, hb_PathNormalize( hb_DirSepAdd( hbmk[ _HBMK_cHB_INSTALL_PFX ] ) + "lib" ) )
|
||||
@@ -9314,7 +9314,8 @@ STATIC PROCEDURE PlugIn_Load( hbmk, cFileName )
|
||||
ENDIF
|
||||
|
||||
IF ! Empty( hrb )
|
||||
IF ! PlugIn_call_low( hbmk, cFileName, hrb, PlugIn_make_ctx( hbmk, "init" ) )
|
||||
hbmk[ _HBMK_hPLUGINVars ][ cFileName ] := { => }
|
||||
IF ! PlugIn_call_low( hbmk, cFileName, hrb, PlugIn_make_ctx( hbmk, "init", hbmk[ _HBMK_hPLUGINVars ][ cFileName ] ) )
|
||||
/* Do not call plugin any further if initialization returned error */
|
||||
IF hbmk[ _HBMK_lInfo ]
|
||||
_hbmk_OutErr( hbmk, hb_StrFormat( I_( "Error: Initializing plugin: %1$s" ), cFileName ) )
|
||||
@@ -9573,12 +9574,12 @@ STATIC FUNCTION hbmk_SecToken()
|
||||
|
||||
/* ; */
|
||||
|
||||
STATIC FUNCTION PlugIn_make_ctx( hbmk, cState )
|
||||
STATIC FUNCTION PlugIn_make_ctx( hbmk, cState, hVars )
|
||||
RETURN { ;
|
||||
"apiver" => _HBMK_PLUGIN_APIVER , ;
|
||||
"cSTATE" => cState , ;
|
||||
"params" => hbmk[ _HBMK_aPLUGINPars ] , ;
|
||||
"vars" => hbmk[ _HBMK_hPLUGINVars ] , ;
|
||||
"vars" => hVars , ;
|
||||
"cPLAT" => hbmk[ _HBMK_cPLAT ] , ;
|
||||
"cCOMP" => hbmk[ _HBMK_cCOMP ] , ;
|
||||
"nCOMPVer" => hbmk[ _HBMK_nCOMPVer ] , ;
|
||||
@@ -9645,14 +9646,12 @@ STATIC FUNCTION PlugIn_Execute_All( hbmk, cState )
|
||||
LOCAL ctx
|
||||
LOCAL lSuccess := .T.
|
||||
|
||||
IF ! Empty( hbmk[ _HBMK_hPLUGINHRB ] )
|
||||
ctx := PlugIn_make_ctx( hbmk, cState )
|
||||
FOR EACH hrb IN hbmk[ _HBMK_hPLUGINHRB ]
|
||||
IF ! PlugIn_call_low( hbmk, hrb:__enumKey(), hrb, ctx )
|
||||
lSuccess := .F.
|
||||
ENDIF
|
||||
NEXT
|
||||
ENDIF
|
||||
FOR EACH hrb IN hbmk[ _HBMK_hPLUGINHRB ]
|
||||
ctx := PlugIn_make_ctx( hbmk, cState, hbmk[ _HBMK_hPLUGINVars ][ hrb:__enumKey() ] )
|
||||
IF ! PlugIn_call_low( hbmk, hrb:__enumKey(), hrb, ctx )
|
||||
lSuccess := .F.
|
||||
ENDIF
|
||||
NEXT
|
||||
|
||||
RETURN lSuccess
|
||||
|
||||
@@ -10306,7 +10305,7 @@ STATIC FUNCTION AutoConfPathList( lCWD, lForDocOutput )
|
||||
|
||||
LOCAL aPath := {}
|
||||
|
||||
/* It will form the output so that it doesn't contain
|
||||
/* It will form the output so that it does not contain
|
||||
configuration specific (potentially sensitive)
|
||||
information by using generic term. */
|
||||
hb_default( @lForDocOutput, .F. )
|
||||
@@ -13697,7 +13696,7 @@ STATIC FUNCTION __hbshell_ConfigDir( lForDocOutput )
|
||||
|
||||
LOCAL cDir
|
||||
|
||||
/* It will form the output so that it doesn't contain
|
||||
/* It will form the output so that it does not contain
|
||||
configuration specific (potentially sensitive)
|
||||
information by using generic term. */
|
||||
hb_default( @lForDocOutput, .F. )
|
||||
@@ -13814,7 +13813,7 @@ FUNCTION hbshell_ext_load( cName )
|
||||
LOCAL cHBC
|
||||
LOCAL cVersion
|
||||
|
||||
IF ! Empty( cName )
|
||||
IF HB_ISSTRING( cName ) .AND. ! Empty( cName )
|
||||
IF __hbshell_CanLoadDyn()
|
||||
IF !( cName $ hbsh[ _HBSH_hLibExt ] )
|
||||
|
||||
@@ -13866,7 +13865,7 @@ FUNCTION hbshell_ext_unload( cName )
|
||||
|
||||
LOCAL hbsh := hbsh()
|
||||
|
||||
IF cName $ hbsh[ _HBSH_hLibExt ] .AND. hbsh[ _HBSH_hLibExt ][ cName ] != NIL
|
||||
IF HB_ISSTRING( cName ) .AND. cName $ hbsh[ _HBSH_hLibExt ] .AND. hbsh[ _HBSH_hLibExt ][ cName ] != NIL
|
||||
hb_HDel( hbsh[ _HBSH_hINCPATH ], cName )
|
||||
hb_HDel( hbsh[ _HBSH_hCH ], cName )
|
||||
hb_HDel( hbsh[ _HBSH_hOPTPRG ], cName )
|
||||
@@ -14665,11 +14664,14 @@ FUNCTION hbshell_include( cName )
|
||||
|
||||
LOCAL hbsh := hbsh()
|
||||
|
||||
cName := Lower( cName )
|
||||
IF HB_ISSTRING( cName )
|
||||
|
||||
IF !( cName $ hbsh[ _HBSH_hCHCORE ] ) .AND. __hbshell_TryHeader( cName )
|
||||
hbsh[ _HBSH_hCHCORE ][ cName ] := NIL
|
||||
RETURN .T.
|
||||
cName := Lower( cName )
|
||||
|
||||
IF !( cName $ hbsh[ _HBSH_hCHCORE ] ) .AND. __hbshell_TryHeader( cName )
|
||||
hbsh[ _HBSH_hCHCORE ][ cName ] := NIL
|
||||
RETURN .T.
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
RETURN .F.
|
||||
@@ -14678,11 +14680,14 @@ FUNCTION hbshell_uninclude( cName )
|
||||
|
||||
LOCAL hbsh := hbsh()
|
||||
|
||||
cName := Lower( cName )
|
||||
IF HB_ISSTRING( cName )
|
||||
|
||||
IF cName $ hbsh[ _HBSH_hCHCORE ]
|
||||
hb_HDel( hbsh[ _HBSH_hCHCORE ], cName )
|
||||
RETURN .T.
|
||||
cName := Lower( cName )
|
||||
|
||||
IF cName $ hbsh[ _HBSH_hCHCORE ]
|
||||
hb_HDel( hbsh[ _HBSH_hCHCORE ], cName )
|
||||
RETURN .T.
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
RETURN .F.
|
||||
@@ -15443,7 +15448,7 @@ STATIC PROCEDURE ShowHelp( hbmk, lFull, lLong )
|
||||
{ "-run[-]" , I_( "run/do not run output executable" ) }, ;
|
||||
{ "-vcshead=<file>" , I_( "generate .ch header file with local repository information. SVN, CVS, Git, Mercurial, Bazaar, Fossil and Monotone are currently supported. Generated header will define preprocessor constant _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 preprocessor constants _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" ) }, ;
|
||||
{ "-icon=<file>" , I_( "set <file> as application icon. <file> should be a supported format on the target platform (not supported by some platforms/compilers). On Windows, it is implemented by generating and linking a resource file." ) }, ;
|
||||
{ "-manifest=<file>" , I_( "embed manifest <file> in executable/dynamic lib (Windows only)" ) }, ;
|
||||
{ "-sign=<key>" , I_( "sign executable with <key> (Windows and Darwin only)" ) }, ;
|
||||
{ "-signpw=<pw>" , I_( "use <pw> as password when signing executable (Windows and Darwin only)" ) }, ;
|
||||
@@ -15481,7 +15486,7 @@ STATIC PROCEDURE ShowHelp( hbmk, lFull, lLong )
|
||||
{ "-clean" , I_( "clean (in incremental build mode)" ) }, ;
|
||||
{ "-workdir=<dir>" , hb_StrFormat( I_( e"working directory\n(default: %1$s/<platform>/<compiler> [*] in incremental mode, OS temp directory otherwise)" ), _WORKDIR_BASE_ ) }, ;
|
||||
NIL, ;
|
||||
{ "-hbcontainer" , I_( "virtual target, it doesn't create anything. Useful for creating an .hbp with the sole purpose of referencing subprojects" ) }, ;
|
||||
{ "-hbcontainer" , I_( "virtual target, it does not create anything. Useful for creating an .hbp with the sole purpose of referencing sub-projects" ) }, ;
|
||||
{ "-hbimplib" , I_( "create import library (Windows only)" ) }, ;
|
||||
NIL, ;
|
||||
{ "-hbl[=<output>]" , hb_StrFormat( I_( "output .hbl filename. %1$s macro is accepted in filename" ), _LNG_MARKER ) }, ;
|
||||
@@ -15615,7 +15620,7 @@ STATIC PROCEDURE ShowHelp( hbmk, lFull, lLong )
|
||||
|
||||
LOCAL aLst_File := { ;
|
||||
NIL, ;
|
||||
{ "*.hbp" , I_( "project file. Can contain command line options, expected to create an output. Lines beginning with '#' character are ignored, otherwise newline is optional, same rules apply as for the command-line." ) }, ;
|
||||
{ "*.hbp" , I_( "project file. Can contain command line options, expected to create an output. Lines beginning with '#' character are ignored, otherwise newline is optional, same rules apply as for the command-line. Each .hbp file reference will be executed as a sub-project." ) }, ;
|
||||
{ "*.hbm" , I_( "collection of options. Can be used to collect common ones into a file and include that into project files. Lines beginning with '#' character are ignored, otherwise newline is optional, same rules apply as for the command-line." ) }, ;
|
||||
{ "*.hbc" , I_( "collection of options that accompany components (aka 'libs', aka packages). Use different syntax than command-line and .hbp/.hbm files. Lines beginning with '#' character are ignored, each directive must be placed in separate lines." ) }, ;
|
||||
{ "*.hb" , I_( "Harbour script" ) }, ;
|
||||
@@ -15669,7 +15674,7 @@ STATIC PROCEDURE ShowHelp( hbmk, lFull, lLong )
|
||||
{ "${hb_first}" , I_( "Name of source file that holds the entry function (without directory and extension)" ) }, ;
|
||||
{ "${hb_outputdir}" , I_( "Directory of the output" ) }, ;
|
||||
{ "${hb_outputname}" , I_( "Name of the output (without extension)" ) }, ;
|
||||
{ "${hb_level}" , I_( "Subproject recursion level" ) }, ;
|
||||
{ "${hb_level}" , I_( "Sub-project recursion level" ) }, ;
|
||||
{ "${<depname>}" , I_( "Returns the header directory of dependency <depname>, or '1' if it is not detected" ) }, ;
|
||||
{ "${<envvar>}" , I_( "Returns the value of the environment variable <envvar>" ) } }
|
||||
|
||||
@@ -15804,7 +15809,7 @@ STATIC PROCEDURE ShowHelp( hbmk, lFull, lLong )
|
||||
LOCAL aLst_PredBuild := { ;
|
||||
NIL, ;
|
||||
{ hb_StrFormat( _HBMK_HAS_TPL, I_( "<depname>" ) ) , I_( "when <depname> dependency was detected" ) }, ;
|
||||
{ hb_StrFormat( _HBMK_DIR_TPL, I_( "<depname>" ) ) , I_( "return the header directory where <depname> was detected, or empty if it wasn't." ) }, ;
|
||||
{ hb_StrFormat( _HBMK_DIR_TPL, I_( "<depname>" ) ) , I_( "return the header directory where <depname> was detected, or empty if it was not." ) }, ;
|
||||
{ hb_StrFormat( _HBMK_HAS_TPL_LOCAL, I_( "<depname>" ) ) , I_( "when <depname> dependency was detected in a location configured by -depincpathlocal= option" ) } }
|
||||
|
||||
#ifndef _HBMK_EMBEDDED_
|
||||
@@ -15848,7 +15853,7 @@ STATIC PROCEDURE ShowHelp( hbmk, lFull, lLong )
|
||||
{ "hbmk_PathSepToTarget( hbmk, cFileName ) -> <cFileName>" , I_( "Convert filename to the format required for the target toolchain." ) }, ;
|
||||
{ "hbmk_PathSepToForward( <cPath> ) -> <cPath>" , I_( "Convert filename to have forward slash directory separators." ) }, ;
|
||||
{ "hbmk_PathFromWorkdirToCWD( hbmk ) -> <cRelativePath>" , I_( "Return relative path of -workdir= value from current working directory." ) }, ;
|
||||
{ "hbmk_FindInPath( <cFileName>, [<xPath>], [<aExtDef>] ) -> <cFNFound> | NIL" , I_( "Find file in <xPath> (array or pathsep delimited string are accepted) with list of <aExtDef> alternate extensions. Returns filename if found and NIL if not." ) }, ;
|
||||
{ "hbmk_FindInPath( <cFileName>, [<xPath>], [<aExtDef>] ) -> <cFNFound> | NIL" , I_( "Find file in <xPath> (array or pathsep delimited string are accepted) with list of <aExtDef> alternate extensions (defaults to executable binaries). Returns filename if found and NIL if not." ) }, ;
|
||||
{ "hbmk_FNameDirExtSet( <cFileName>, [<cDirNew>], [<cExtNew>] ) -> <cFileName>" , I_( "Change directory and/or extension in filename." ) }, ;
|
||||
{ "hbmk_FuncNameEncode( <cFuncName> ) -> <cFuncNameEncoded>" , I_( "Encode function name according to Harbour compiler rules for forming HB_FUNC() function names in C code." ) }, ;
|
||||
{ "hbmk_StrStripQuote( cString ) -> <cString>" , I_( "Strip double quote enclosure from a string." ) }, ;
|
||||
@@ -15863,7 +15868,7 @@ STATIC PROCEDURE ShowHelp( hbmk, lFull, lLong )
|
||||
{ '"apiver"' , I_( "API version as an integer" ) }, ;
|
||||
{ '"cSTATE"' , I_( "callback state. Can be: 'init', 'pre_all', 'pre_prg', 'pre_res', 'pre_c', 'pre_link', 'pre_lib', 'pre_cleanup', 'post_build', 'post_all'" ) }, ;
|
||||
{ '"params"' , I_( "array of parameters passed to plugins via -pflag=/pi= options or having an extension registered via hbmk_Register_Input_File_Extension()" ) }, ;
|
||||
{ '"vars"' , I_( "hash of plugin custom variables. Common to all plugins, writable" ) }, ;
|
||||
{ '"vars"' , I_( "hash of plugin custom variables. Writable, local to each plugin" ) }, ;
|
||||
{ '"cPLAT"' , I_( "-plat value" ) }, ;
|
||||
{ '"cCOMP"' , I_( "-comp value" ) }, ;
|
||||
{ '"nCOMPVer"' , I_( "see HB_COMPILER_VER envvar" ) }, ;
|
||||
@@ -15904,9 +15909,9 @@ STATIC PROCEDURE ShowHelp( hbmk, lFull, lLong )
|
||||
I_( e"Regular Harbour compiler options are also accepted as is.\n(see them with -harbourhelp option)" ), ;
|
||||
hb_StrFormat( I_( "%1$s option file in %2$s directory is always processed if it exists. On *nix platforms ~/.harbour, /etc/harbour, <base>/etc/harbour, <base>/etc are checked (in that order) before the %2$s directory." ), _HBMK_AUTOHBC_NAME, _SELF_NAME_ ), ;
|
||||
hb_StrFormat( I_( "%1$s make script in current directory is always processed if it exists." ), _HBMK_AUTOHBM_NAME ), ;
|
||||
I_( e"Platform filters are accepted in each .hbc line and with several options.\nFilter format: {[!][<platform>|<compiler>|<cpu>|<keyword>]}. Filters can be combined using '&', '|' operators and grouped by parentheses. Ex.: {win}, {gcc}, {linux|darwin}, {win&!pocc}, {(win|linux)&!watcom}, {unix&mt&gui}, -cflag={win}-DMYDEF, -stop{dos}, -stop{!allwin}" ), ;
|
||||
I_( e"Filters are accepted in each .hbc line and most options.\nFilters can be combined using '&' (and), '|' (or) operators, negated by '!' operator and grouped by parentheses. Ex.: {win}, {gcc}, {linux|darwin}, {win&!pocc}, {(win|linux)&!watcom}, {unix&mt&gui}, -cflag={win}-DMYDEF, -stop{dos}, -stop{!allwin}" ), ;
|
||||
I_( "Most .hbc lines (libs=, hbcs=, prgflags=, cflags=, ldflags=, libpaths=, instfiles=, instpaths=, echo=) and corresponding command line parameters will accept macro variables. libpaths= also accepts %{hb_name} which translates to the name of the .hbc file under search." ), ;
|
||||
I_( 'Options accepting macro variables also support command substitution. Enclose command inside ``, and, if the command contains space, also enclose in double quotes. F.e. "-cflag=`wx-config --cflags`", or ldflags={unix&gcc}"`wx-config --libs`".' ), ;
|
||||
I_( e"Options accepting macro variables also support command substitution. Enclose command inside ``, and, if the command contains space, also enclose in double quotes. Standard output of the command will be used as the value. F.e. \"-cflag=`wx-config --cflags`\", or ldflags={unix&gcc}\"`wx-config --libs`\"." ), ;
|
||||
I_( "Libraries and object files built with/for CA-Cl*pper will not work with any supported platform/compiler." ), ;
|
||||
I_( "Defaults and feature support may vary by platform/compiler." ), ;
|
||||
hb_StrFormat( I_( "GNU Make or any C compiler specific make tool and MSYS (on Windows) are not needed to run %1$s." ), _SELF_NAME_ ), ;
|
||||
@@ -15933,8 +15938,7 @@ STATIC PROCEDURE ShowHelp( hbmk, lFull, lLong )
|
||||
e"and other required tools and call them appropriately. " + ;
|
||||
e"%1$s allows to extend the types of supported source files via plugins.\n" + ;
|
||||
e"Besides building executables, %1$s is able to run Harbour scripts directly, " + ;
|
||||
e"and it also features an integrated shell prompt." + ;
|
||||
e"" ), _SELF_NAME_ )
|
||||
e"and it also features an integrated shell prompt." ), _SELF_NAME_ )
|
||||
|
||||
LOCAL aLst_Desc := { ;
|
||||
NIL, ;
|
||||
@@ -16047,10 +16051,7 @@ STATIC PROCEDURE ShowHelp( hbmk, lFull, lLong )
|
||||
AEval( aHdr_APIShell, {| tmp | OutHdr( hbmk, tmp + _OUT_EOL ) } )
|
||||
AEval( aLst_APIShell, {| tmp | OutOpt( hbmk, tmp, -1 ) } )
|
||||
#endif
|
||||
/* TODO: Move to separate section from notes:
|
||||
- filter and macro syntax, %{}, subprojects
|
||||
- shell plugins
|
||||
*/
|
||||
/* TODO: %{}, shell plugins */
|
||||
ENDIF
|
||||
AEval( aHdr_ExampleBasic, {| tmp | OutOpt( hbmk, tmp, 0 ) } )
|
||||
AEval( aLst_ExampleBasic, {| tmp | OutOpt( hbmk, tmp, -1 ) } )
|
||||
|
||||
@@ -723,7 +723,7 @@ msgstr "especifique um novo alvo para compilação. <script> pode ser módulo .p
|
||||
|
||||
#: hbmk2.prg:7960 hbmk2.prg:11650 hbmk2.prg:13120
|
||||
#, c-format
|
||||
msgid "Options accepting macro variables also support command substitution. Enclose command inside ``, and, if the command contains space, also enclose in double quotes. F.e. \"-cflag=`wx-config --cflags`\", or ldflags={unix&gcc}\"`wx-config --libs`\"."
|
||||
msgid "Options accepting macro variables also support command substitution. Enclose command inside ``, and, if the command contains space, also enclose in double quotes. Standard output of the command will be used as the value. F.e. \"-cflag=`wx-config --cflags`\", or ldflags={unix&gcc}\"`wx-config --libs`\"."
|
||||
msgstr "Opções aceitando macros também suportam linhas de comando. Neste caso basta rodeiar o comando dentro de ``, e, se o comando contiver espaço, também adicione aspas duplas. i.e. \"-cflag=`wx-config --cflags`\", ou ldflags={unix&gcc}\"`wx-config --libs`\"."
|
||||
|
||||
#: hbmk2.prg:6872 hbmk2.prg:10136 hbmk2.prg:10862
|
||||
@@ -943,7 +943,7 @@ msgstr "não adicione bibliotecas extras do sistema à lista padrão de bibliote
|
||||
|
||||
#: hbmk2.prg:7960 hbmk2.prg:11650 hbmk2.prg:13120
|
||||
#, c-format
|
||||
msgid "Platform filters are accepted in each .hbc line and with several options.\nFilter format: {[!][<platform>|<compiler>|<cpu>|<keyword>]}. Filters can be combined using '&', '|' operators and grouped by parentheses. Ex.: {win}, {gcc}, {linux|darwin}, {win&!pocc}, {(win|linux)&!watcom}, {unix&mt&gui}, -cflag={win}-DMYDEF, -stop{dos}, -stop{!allwin}"
|
||||
msgid "Filters are accepted in each .hbc line and most options.\nFilters can be combined using '&' (and), '|' (or) operators, negated by '!' operator and grouped by parentheses. Ex.: {win}, {gcc}, {linux|darwin}, {win&!pocc}, {(win|linux)&!watcom}, {unix&mt&gui}, -cflag={win}-DMYDEF, -stop{dos}, -stop{!allwin}"
|
||||
msgstr "Os filtros para plataformas são aceitos para cada uma das linhas de um arquivo .hbc e possuem diversas opções.\nFormato de um filtro: {[!][<arquitetura>|<compilador>|<cpu>|<palavra-chave>]}. Os filtros podem ser combinados usando os operadores '&', '|' e agrupados por parênteses. Ex.: {win}, {gcc}, {linux|darwin}, {win&!pocc}, {(win|linux)&!watcom}, {unix&mt&gui}, -cflag={win}-DMYDEF, -stop{dos}, -stop{!allwin}"
|
||||
|
||||
#: hbmk2.prg:7555 hbmk2.prg:7672 hbmk2.prg:7755 hbmk2.prg:11163 hbmk2.prg:11284 hbmk2.prg:11408 hbmk2.prg:12183 hbmk2.prg:12311 hbmk2.prg:12459
|
||||
|
||||
Reference in New Issue
Block a user