2009-05-25 10:11 UTC+0200 Viktor Szakats (harbour.01 syenar hu)

* doc/howtosvn.txt
    * Deleted sections dealing with sending commit e-mails.

  * doc/dirstruc.txt
  * utils/hbmk2/hbmk2.hu_HU.po
  * utils/hbmk2/hbmk2.pt_BR.po
  * utils/hbmk2/hbmk2.prg
  * utils/hbi18n/hbi18n.prg
    * Shuffling extensions:
      .hbl -> .hbi (Harbour i18n)
      .hbp -> .hbl (Harbour Library)
      .hbm -> (unchanged) (Harbour Make)
      .hbt -> .hbp (Harbour Project)

  * utils/hbmk2/hbmk2.hu_HU.po
  * utils/hbmk2/hbmk2.pt_BR.po
  * utils/hbmk2/hbmk2.prg
    + Added reference to -b switch to -debug switch description.
    + Added _HBMK_EMBEDDED_ mode (like in hbformat).
    + Accepting .hbp files (same format as .hbm) on the command
      line (top level). .hbp refers to "Harbour project file".
      Similar function to recent experimental .hbt files, but not
      embeddable.
    * Minor tweak to HB_SHARED envvar reading code.
    * Changed -nohbp switch to -nohbl.
    * Changed -hbl switch to -hbi.

      Updated usage:
      There are three ways to do multitarget hbmk2 sessions:
      1.) hbmk2 [<common_params1>] -target=target1[.hbm|.prg] [<common_params2>] -target=target2[.hbm|.prg] [<common_params3>]
          Examples:
             hbmk2 -target=prog1 -target=prog2 -target=prog3
             hbmk2 -target=prog1.prg -target=prog2.prg -target=prog3.prg
             hbmk2 -target=mylib1.hbm -target=mylib2.hbm -target=myapp.hbm
             hbmk2 -trace -pause -target=mylib1.hbm -target=mylib2.hbm -target=myapp.hbm -beep
      2.) hbmk2 [<common_params1>] -target <target1_params> -target <target2_params> [-notarget <common_params2>]
          Examples:
             hbmk2 -target hello1.prg -target hello2.prg
             hbmk2 -trace -target hello1.prg -target hello2.prg
             hbmk2 -trace -target hello1.prg -target hello2.prg -notarget -beep
      3.) hbmk2 [<common_params1>] target1.hbp [<common_params2>] target2.hbp [<common_params3>]
          where .hbp is an .hbm file just with an .hbp extension.
          Examples:
             hbmk2 mylib1.hbp mylib.hbp myapp.hbp
             hbmk2 -trace -pause mylib1.hbp mylib2.hbp myapp.hbp -beep

   + utils/hbmk2/examples/hmg.hbl
   + utils/hbmk2/examples/whoo.hbl
   + utils/hbmk2/examples/xbgtk.hbl
   - utils/hbmk2/examples/hmg.hbp
   - utils/hbmk2/examples/whoo.hbp
   - utils/hbmk2/examples/xbgtk.hbp
   + utils/hbmk2/examples/hwgui.hbl
   + utils/hbmk2/examples/fwh.hbl
   + utils/hbmk2/examples/xhgtk.hbl
   - utils/hbmk2/examples/hwgui.hbp
   - utils/hbmk2/examples/fwh.hbp
   - utils/hbmk2/examples/xhgtk.hbp
   + utils/hbmk2/examples/c4w.hbl
   + utils/hbmk2/examples/contrib.hbl
   - utils/hbmk2/examples/c4w.hbp
   - utils/hbmk2/examples/contrib.hbp
   + utils/hbmk2/examples/contribf.hbl
   - utils/hbmk2/examples/contribf.hbp
   + contrib/gtalleg/tests/gtallegs.hbl
   + contrib/gtalleg/tests/gtallegd.hbl
   - contrib/gtalleg/tests/gtallegs.hbp
   - contrib/gtalleg/tests/gtallegd.hbp
   + contrib/hbmysql/utils/hbmysql.hbl
   - contrib/hbmysql/utils/hbmysql.hbp
   + contrib/hbmysql/tests/hbmysql.hbl
   - contrib/hbmysql/tests/hbmysql.hbp
   + contrib/hbct/tests/hbct.hbl
   - contrib/hbct/tests/hbct.hbp
   + contrib/xhb/tests/xhb.hbl
   - contrib/xhb/tests/xhb.hbp
   + contrib/hbodbc/tests/hbodbc.hbl
   - contrib/hbodbc/tests/hbodbc.hbp
   + contrib/hbtpathy/tests/hbtpathy.hbl
   - contrib/hbtpathy/tests/hbtpathy.hbp
   + contrib/hbmsql/tests/hbmsql.hbl
   - contrib/hbmsql/tests/hbmsql.hbp
   - contrib/hbmzip/tests/hbmzip.hbp
   + contrib/hbmzip/tests/hbmzip.hbl
   - contrib/hbsqlit3/tests/hbsqlit3.hbp
   + contrib/hbsqlit3/tests/hbsqlit3.hbl
   + contrib/hbblat/tests/hbblat.hbl
   - contrib/hbblat/tests/hbblat.hbp
   + contrib/hbqt/tests/hbqt.hbl
   - contrib/hbqt/tests/hbqt.hbp
   + contrib/hbfbird/tests/hbfbird.hbl
   - contrib/hbfbird/tests/hbfbird.hbp
   + contrib/hbziparc/tests/hbziparc.hbl
   - contrib/hbziparc/tests/hbziparc.hbp
   + contrib/hbnf/tests/hbnf.hbl
   - contrib/hbnf/tests/hbnf.hbp
   + contrib/hbcurl/tests/hbcurl.hbl
   - contrib/hbcurl/tests/hbcurl.hbp
   + contrib/gtqtc/tests/gtqtc.hbl
   - contrib/gtqtc/tests/gtqtc.hbp
   + contrib/rddsql/sddmy/tests/sddmy.hbl
   - contrib/rddsql/sddmy/tests/sddmy.hbp
   - contrib/rddsql/tests/rddsql.hbp
   + contrib/rddsql/tests/rddsql.hbl
   + contrib/rddsql/sddodbc/tests/sddodbc.hbl
   - contrib/rddsql/sddodbc/tests/sddodbc.hbp
   + contrib/hbhpdf/tests/hbhpdf.hbl
   - contrib/hbhpdf/tests/hbhpdf.hbp
   + contrib/rddado/tests/rddado.hbl
   - contrib/rddado/tests/rddado.hbp
   + contrib/gtwvg/tests/gtwvg.hbl
   - contrib/gtwvg/tests/gtwvg.hbp
   + contrib/hbpgsql/tests/hbpgsql.hbl
   - contrib/hbpgsql/tests/hbpgsql.hbp
   + contrib/rddads/tests/rddads.hbl
   - contrib/rddads/tests/rddads.hbp
   + contrib/hbclipsm/tests/hbclipsm.hbl
   - contrib/hbclipsm/tests/hbclipsm.hbp
   + contrib/hbfimage/tests/hbfimage.hbl
   - contrib/hbfimage/tests/hbfimage.hbp
   + contrib/hbgd/tests/hbgd.hbl
   - contrib/hbgd/tests/hbgd.hbp
   + contrib/hbmisc/tests/hbmisc.hbl
   - contrib/hbmisc/tests/hbmisc.hbp
   + contrib/hbtip/tests/hbtip.hbl
   - contrib/hbtip/tests/hbtip.hbp
   - contrib/hbwin/tests/hbwin.hbp
   + contrib/hbwin/tests/hbwin.hbl
   - contrib/hbvpdf/tests/hbvpdf.hbp
   + contrib/hbvpdf/tests/hbvpdf.hbl
   + contrib/hbssl/tests/hbssl.hbl
   - contrib/hbssl/tests/hbssl.hbp
   + contrib/hbbtree/tests/hbbtree.hbl
   - contrib/hbbtree/tests/hbbtree.hbp
   + contrib/hbcrypt/tests/hbcrypt.hbl
   - contrib/hbcrypt/tests/hbcrypt.hbp
   - contrib/examples/hbsqlit2/tests/hbsqlit2.hbp
   + contrib/examples/hbsqlit2/tests/hbsqlit2.hbl
   + contrib/examples/hbapollo/tests/hbapollo.hbl
   - contrib/examples/hbapollo/tests/hbapollo.hbp
   + contrib/examples/hbgf/tests/hbgf.hbl
   - contrib/examples/hbgf/tests/hbgf.hbp
   + contrib/examples/terminal/terminal.hbl
   - contrib/examples/terminal/terminal.hbp
   + contrib/examples/hbwhat/tests/hbwhat.hbl
   - contrib/examples/hbwhat/tests/hbwhat.hbp
    * Renamed *.hbp -> *.hbl in whole source tree.

  * doc/dirstruc.txt
  * bin/postinst.bat
  * utils/hbformat/hbformat.ini
  + utils/hbformat/hbformat.hbm
  * utils/hbformat/hbformat.prg
  * utils/hbformat/Makefile
    ! Added SVN props.
    + Added hbformat.hbm (hbmk2 make file).
    % Deleted forced MT mode from Makefile (not needed for hbformat)
    ! Separated C code from .prg.
    ! Minor fix to RF_FILEREAD() (non-string param GPF)
    % Minor opts to RF_FILEREAD().
    * RF_FULLPATH() changed to .prg level macro (from C).
    * Some formatting tweaks to hbformat.prg.
    + Added generation of shared hbformat executable to build process.
    * Using DEFAULT (common.ch).
    ! Using hb_osFileMask() instead of "*.*".
    * Minor tweaks to header output.
    ! Added to distruct.txt.
This commit is contained in:
Viktor Szakats
2009-05-25 08:19:23 +00:00
parent 58c7591149
commit d394df5105
61 changed files with 341 additions and 219 deletions

View File

@@ -17,6 +17,175 @@
past entries belonging to these authors: Viktor Szakats.
*/
2009-05-25 10:11 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* doc/howtosvn.txt
* Deleted sections dealing with sending commit e-mails.
* doc/dirstruc.txt
* utils/hbmk2/hbmk2.hu_HU.po
* utils/hbmk2/hbmk2.pt_BR.po
* utils/hbmk2/hbmk2.prg
* utils/hbi18n/hbi18n.prg
* Shuffling extensions:
.hbl -> .hbi (Harbour i18n)
.hbp -> .hbl (Harbour Library)
.hbm -> (unchanged) (Harbour Make)
.hbt -> .hbp (Harbour Project)
* utils/hbmk2/hbmk2.hu_HU.po
* utils/hbmk2/hbmk2.pt_BR.po
* utils/hbmk2/hbmk2.prg
+ Added reference to -b switch to -debug switch description.
+ Added _HBMK_EMBEDDED_ mode (like in hbformat).
+ Accepting .hbp files (same format as .hbm) on the command
line (top level). .hbp refers to "Harbour project file".
Similar function to recent experimental .hbt files, but not
embeddable.
* Minor tweak to HB_SHARED envvar reading code.
* Changed -nohbp switch to -nohbl.
* Changed -hbl switch to -hbi.
Updated usage:
There are three ways to do multitarget hbmk2 sessions:
1.) hbmk2 [<common_params1>] -target=target1[.hbm|.prg] [<common_params2>] -target=target2[.hbm|.prg] [<common_params3>]
Examples:
hbmk2 -target=prog1 -target=prog2 -target=prog3
hbmk2 -target=prog1.prg -target=prog2.prg -target=prog3.prg
hbmk2 -target=mylib1.hbm -target=mylib2.hbm -target=myapp.hbm
hbmk2 -trace -pause -target=mylib1.hbm -target=mylib2.hbm -target=myapp.hbm -beep
2.) hbmk2 [<common_params1>] -target <target1_params> -target <target2_params> [-notarget <common_params2>]
Examples:
hbmk2 -target hello1.prg -target hello2.prg
hbmk2 -trace -target hello1.prg -target hello2.prg
hbmk2 -trace -target hello1.prg -target hello2.prg -notarget -beep
3.) hbmk2 [<common_params1>] target1.hbp [<common_params2>] target2.hbp [<common_params3>]
where .hbp is an .hbm file just with an .hbp extension.
Examples:
hbmk2 mylib1.hbp mylib.hbp myapp.hbp
hbmk2 -trace -pause mylib1.hbp mylib2.hbp myapp.hbp -beep
+ utils/hbmk2/examples/hmg.hbl
+ utils/hbmk2/examples/whoo.hbl
+ utils/hbmk2/examples/xbgtk.hbl
- utils/hbmk2/examples/hmg.hbp
- utils/hbmk2/examples/whoo.hbp
- utils/hbmk2/examples/xbgtk.hbp
+ utils/hbmk2/examples/hwgui.hbl
+ utils/hbmk2/examples/fwh.hbl
+ utils/hbmk2/examples/xhgtk.hbl
- utils/hbmk2/examples/hwgui.hbp
- utils/hbmk2/examples/fwh.hbp
- utils/hbmk2/examples/xhgtk.hbp
+ utils/hbmk2/examples/c4w.hbl
+ utils/hbmk2/examples/contrib.hbl
- utils/hbmk2/examples/c4w.hbp
- utils/hbmk2/examples/contrib.hbp
+ utils/hbmk2/examples/contribf.hbl
- utils/hbmk2/examples/contribf.hbp
+ contrib/gtalleg/tests/gtallegs.hbl
+ contrib/gtalleg/tests/gtallegd.hbl
- contrib/gtalleg/tests/gtallegs.hbp
- contrib/gtalleg/tests/gtallegd.hbp
+ contrib/hbmysql/utils/hbmysql.hbl
- contrib/hbmysql/utils/hbmysql.hbp
+ contrib/hbmysql/tests/hbmysql.hbl
- contrib/hbmysql/tests/hbmysql.hbp
+ contrib/hbct/tests/hbct.hbl
- contrib/hbct/tests/hbct.hbp
+ contrib/xhb/tests/xhb.hbl
- contrib/xhb/tests/xhb.hbp
+ contrib/hbodbc/tests/hbodbc.hbl
- contrib/hbodbc/tests/hbodbc.hbp
+ contrib/hbtpathy/tests/hbtpathy.hbl
- contrib/hbtpathy/tests/hbtpathy.hbp
+ contrib/hbmsql/tests/hbmsql.hbl
- contrib/hbmsql/tests/hbmsql.hbp
- contrib/hbmzip/tests/hbmzip.hbp
+ contrib/hbmzip/tests/hbmzip.hbl
- contrib/hbsqlit3/tests/hbsqlit3.hbp
+ contrib/hbsqlit3/tests/hbsqlit3.hbl
+ contrib/hbblat/tests/hbblat.hbl
- contrib/hbblat/tests/hbblat.hbp
+ contrib/hbqt/tests/hbqt.hbl
- contrib/hbqt/tests/hbqt.hbp
+ contrib/hbfbird/tests/hbfbird.hbl
- contrib/hbfbird/tests/hbfbird.hbp
+ contrib/hbziparc/tests/hbziparc.hbl
- contrib/hbziparc/tests/hbziparc.hbp
+ contrib/hbnf/tests/hbnf.hbl
- contrib/hbnf/tests/hbnf.hbp
+ contrib/hbcurl/tests/hbcurl.hbl
- contrib/hbcurl/tests/hbcurl.hbp
+ contrib/gtqtc/tests/gtqtc.hbl
- contrib/gtqtc/tests/gtqtc.hbp
+ contrib/rddsql/sddmy/tests/sddmy.hbl
- contrib/rddsql/sddmy/tests/sddmy.hbp
- contrib/rddsql/tests/rddsql.hbp
+ contrib/rddsql/tests/rddsql.hbl
+ contrib/rddsql/sddodbc/tests/sddodbc.hbl
- contrib/rddsql/sddodbc/tests/sddodbc.hbp
+ contrib/hbhpdf/tests/hbhpdf.hbl
- contrib/hbhpdf/tests/hbhpdf.hbp
+ contrib/rddado/tests/rddado.hbl
- contrib/rddado/tests/rddado.hbp
+ contrib/gtwvg/tests/gtwvg.hbl
- contrib/gtwvg/tests/gtwvg.hbp
+ contrib/hbpgsql/tests/hbpgsql.hbl
- contrib/hbpgsql/tests/hbpgsql.hbp
+ contrib/rddads/tests/rddads.hbl
- contrib/rddads/tests/rddads.hbp
+ contrib/hbclipsm/tests/hbclipsm.hbl
- contrib/hbclipsm/tests/hbclipsm.hbp
+ contrib/hbfimage/tests/hbfimage.hbl
- contrib/hbfimage/tests/hbfimage.hbp
+ contrib/hbgd/tests/hbgd.hbl
- contrib/hbgd/tests/hbgd.hbp
+ contrib/hbmisc/tests/hbmisc.hbl
- contrib/hbmisc/tests/hbmisc.hbp
+ contrib/hbtip/tests/hbtip.hbl
- contrib/hbtip/tests/hbtip.hbp
- contrib/hbwin/tests/hbwin.hbp
+ contrib/hbwin/tests/hbwin.hbl
- contrib/hbvpdf/tests/hbvpdf.hbp
+ contrib/hbvpdf/tests/hbvpdf.hbl
+ contrib/hbssl/tests/hbssl.hbl
- contrib/hbssl/tests/hbssl.hbp
+ contrib/hbbtree/tests/hbbtree.hbl
- contrib/hbbtree/tests/hbbtree.hbp
+ contrib/hbcrypt/tests/hbcrypt.hbl
- contrib/hbcrypt/tests/hbcrypt.hbp
- contrib/examples/hbsqlit2/tests/hbsqlit2.hbp
+ contrib/examples/hbsqlit2/tests/hbsqlit2.hbl
+ contrib/examples/hbapollo/tests/hbapollo.hbl
- contrib/examples/hbapollo/tests/hbapollo.hbp
+ contrib/examples/hbgf/tests/hbgf.hbl
- contrib/examples/hbgf/tests/hbgf.hbp
+ contrib/examples/terminal/terminal.hbl
- contrib/examples/terminal/terminal.hbp
+ contrib/examples/hbwhat/tests/hbwhat.hbl
- contrib/examples/hbwhat/tests/hbwhat.hbp
* Renamed *.hbp -> *.hbl in whole source tree.
* doc/dirstruc.txt
* bin/postinst.bat
* utils/hbformat/hbformat.ini
+ utils/hbformat/hbformat.hbm
* utils/hbformat/hbformat.prg
* utils/hbformat/Makefile
! Added SVN props.
+ Added hbformat.hbm (hbmk2 make file).
% Deleted forced MT mode from Makefile (not needed for hbformat)
! Separated C code from .prg.
! Minor fix to RF_FILEREAD() (non-string param GPF)
% Minor opts to RF_FILEREAD().
* RF_FULLPATH() changed to .prg level macro (from C).
* Some formatting tweaks to hbformat.prg.
+ Added generation of shared hbformat executable to build process.
* Using DEFAULT (common.ch).
! Using hb_osFileMask() instead of "*.*".
* Minor tweaks to header output.
! Added to distruct.txt.
2009-05-25 10:30 UTC+0300 Alexander Kresin <alex at belacy.belgorod.su>
+ utils/hbformat
+ utils/hbformat/hbformat.prg

View File

@@ -40,10 +40,11 @@ if not "%HB_DYNLIB%" == "yes" goto _SKIP_DLL_BIN
setlocal
if "%HB_BIN_COMPILE%" == "" set HB_BIN_COMPILE=%HB_BIN_INSTALL%
if exist "%HB_BIN_INSTALL%\*.dll" (
%HB_BIN_COMPILE%\hbmk2 -q0 -shared -o%HB_BIN_INSTALL%\hbrun-dll %~dp0..\utils\hbrun\hbrun.hbm -lhbcplr -lhbpp -lhbcommon
%HB_BIN_COMPILE%\hbmk2 -q0 -shared -o%HB_BIN_INSTALL%\hbmk2-dll %~dp0..\utils\hbmk2\hbmk2.hbm -lhbcplr -lhbpp -lhbcommon
%HB_BIN_COMPILE%\hbmk2 -q0 -shared -o%HB_BIN_INSTALL%\hbtest-dll %~dp0..\utils\hbtest\hbtest.hbm
%HB_BIN_COMPILE%\hbmk2 -q0 -shared -o%HB_BIN_INSTALL%\hbi18n-dll %~dp0..\utils\hbi18n\hbi18n.hbm
%HB_BIN_COMPILE%\hbmk2 -q0 -shared -o%HB_BIN_INSTALL%\hbrun-dll %~dp0..\utils\hbrun\hbrun.hbm -lhbcplr -lhbpp -lhbcommon
%HB_BIN_COMPILE%\hbmk2 -q0 -shared -o%HB_BIN_INSTALL%\hbmk2-dll %~dp0..\utils\hbmk2\hbmk2.hbm -lhbcplr -lhbpp -lhbcommon
%HB_BIN_COMPILE%\hbmk2 -q0 -shared -o%HB_BIN_INSTALL%\hbtest-dll %~dp0..\utils\hbtest\hbtest.hbm
%HB_BIN_COMPILE%\hbmk2 -q0 -shared -o%HB_BIN_INSTALL%\hbi18n-dll %~dp0..\utils\hbi18n\hbi18n.hbm
%HB_BIN_COMPILE%\hbmk2 -q0 -shared -o%HB_BIN_INSTALL%\hbformat-dll %~dp0..\utils\hbi18n\hbformat.hbm
)
endlocal

View File

@@ -392,7 +392,9 @@ track of all files (read the FAQ if you don't know what SVN is).
|
+---hbextern - hbextern.ch generator.
|
+---hbi18n - Harbour i18n .pot/.hbl file manager.
+---hbformat - Harbour Source Formatter utility.
|
+---hbi18n - Harbour i18n .pot/.hbi file manager.
|
+---hbmk - Harbour Make utility.
| |

View File

@@ -42,18 +42,14 @@ by Viktor Szakats
6) SVN COMMIT --editor-cmd notepad.exe --username sfuser
Change notepad.exe to the editor of your choice and platform.
Change "sfuser" to your sf.net username.
7) New email message, paste the new ChangeLog entry
8) Copy and paste the ChangeLog entry header to the subject after
"CHANGELOG: "
9) The SVN pops up a window with the changed filenames
10) Check if all the changed filenames are referred in the ChangeLog entry,
7) The SVN pops up a window with the changed filenames
8) Check if all the changed filenames are referred in the ChangeLog entry,
if not, make the corrections and start again
11) Paste the ChangeLog entry header to the SVN window, save, exit
12) SVN is now uploading,
9) Paste the ChangeLog entry header to the SVN window, save, exit
10) SVN is now uploading,
if there are any errors, make the corrections and start again
13) Always check if the upload session ended without errors.
14) Send the email message containing the changes
15) Go offline (if needed)
11) Always check if the upload session ended without errors.
12) Go offline (if needed)
alternative method:
by Ryszard Glab
@@ -85,7 +81,7 @@ Important notes:
placement.
Add the new filename to the related makefiles.
(*) There are some exceptions: ChangeLog.*, Makefile, COPYING,
ERRATA and TODO for example.
ERRATA, TODO and INSTALL for example.
1.3 Here's how to format your ChangeLog entries
===============================================

View File

@@ -6,29 +6,25 @@ ifeq ($(HB_MAIN),)
HB_MAIN = std
endif
HVMLIB = hbvm
ifneq ($(HB_ARCHITECTURE),dos)
ifneq ($(HB_MT),no)
HVMLIB = hbvmmt
endif
endif
ROOT = ../../
PRG_SOURCES=\
hbformat.prg \
C_SOURCES=\
hbformac.c \
PRG_MAIN=hbformat.prg
LIBS=\
hbdebug \
$(HVMLIB) \
hbvm \
hbrtl \
hblang \
hbcpage \
hbnulrdd \
hbrtl \
$(HVMLIB) \
hbvm \
hbmacro \
hbcommon \
hbpp \

View File

@@ -0,0 +1,7 @@
#
# $Id$
#
-nulrdd
hbformat.prg
hbformac.c

View File

@@ -52,6 +52,10 @@
#include "hbclass.ch"
#include "common.ch"
#define rf_FullPath() hb_ArgV( 0 )
#ifndef _CODEFORMAT_EMBEDDED_
MEMVAR cFunctions
@@ -63,7 +67,7 @@ FUNCTION MAIN( ... )
// Altd( 2 ); Altd()
aParams := hb_AParams()
IF Empty( aParams ) .OR. ( Left( cFileName := Atail(aParams ),1 ) $ "@/-" )
IF Empty( aParams ) .OR. ( Left( cFileName := Atail(aParams ), 1 ) $ "@/-" )
About()
RETURN Nil
ENDIF
@@ -168,10 +172,12 @@ FUNCTION DirEval( cInitDir, cMask, lRecur, bCode )
LOCAL i, nLen, aFiles
IF Right( cInitDir, 1 ) != Set( _SET_DIRSEPARATOR ); cInitDir += Set( _SET_DIRSEPARATOR ); ENDIF
cMask := Iif( cMask == Nil, "*.*", Upper( cMask ) )
IF Right( cInitDir, 1 ) != Set( _SET_DIRSEPARATOR )
cInitDir += Set( _SET_DIRSEPARATOR )
ENDIF
cMask := Iif( cMask == Nil, hb_osFileMask(), Upper( cMask ) )
aFiles := Directory( cInitDir + "*.*", "HSD" )
aFiles := Directory( cInitDir + hb_osFileMask(), "HSD" )
nLen := Len( aFiles )
FOR i := 1 TO nLen
IF "D" $ aFiles[ i,5 ]
@@ -189,7 +195,7 @@ FUNCTION DirEval( cInitDir, cMask, lRecur, bCode )
STATIC FUNCTION About()
? "Harbour source formatter " + Version()
?? "Harbour Source Formatter " + HBRawVersion()
? "Copyright (c) 2009, Alexander S.Kresin"
? "http://www.harbour-project.org/"
?
@@ -198,6 +204,9 @@ STATIC FUNCTION About()
RETURN Nil
STATIC FUNCTION HBRawVersion()
RETURN StrTran( Version(), "Harbour " )
#endif
CLASS CODEFORMAT
@@ -205,7 +214,7 @@ CLASS CODEFORMAT
DATA cEol
DATA nLineErr, nErr, cLineErr
DATA nEol INIT - 1 // Eol: -1 - no change, 1 - DOS, 2 - UNIX
DATA nEol INIT - 1 // Eol: -1 - no change, 1 - DOS, 2 - UNIX
DATA lNoTabs INIT .T. // If true, converts all tabs to spaces
DATA lIndent INIT .T. // If true, indent code
DATA lCase INIT .T. // If true, make case conversion
@@ -223,7 +232,7 @@ CLASS CODEFORMAT
DATA nCaseCmd INIT 1 // Case of commands ( -1 - no change, 1 - upper, 2 - lower, 3 - title )
DATA nCaseBoo INIT 1 // Case of boolean operators ( -1 - no change, 1 - upper, 2 - lower, 3 - title )
DATA nCaseFnc INIT 4 // Case of functions ( -1 - no change, 1 - upper, 2 - lower, 3 - title, 4 - as in pattern )
DATA nCaseUnk INIT - 1 // Case of functions ( -1 - no change, 1 - upper, 2 - lower, 3 - title )
DATA nCaseUnk INIT - 1 // Case of functions ( -1 - no change, 1 - upper, 2 - lower, 3 - title )
DATA nCaseDrt INIT 2 // Case of directives ( -1 - no change, 1 - upper, 2 - lower, 3 - title )
DATA nSpaceDrt INIT 0 // Number of spaces after # in directives ( -1 - no change )
DATA nLineFnc INIT 1 // -1 - no change, 1 - insert empty line before a function ( procedure,class ) declaration, 2 - remove it
@@ -303,17 +312,17 @@ METHOD New( aParams ) CLASS CODEFORMAT
::cFunctions += ","
ENDIF
IF ! ( ",STR," $ Upper( ::cFunctions ) )
::cFunctions += "AAdd,Abs,AChoice,AClone,ACopy,ADel,ADir,AEval,AFields,AFill,AIns,Alert,Alias,AllTrim,Altd,"
::cFunctions += "Array,Asc,ASize,ASort,At,Bin2i,Bin2l,Bin2w,Bof,Browse,Cdow,Chr,Cmonth,Col,Ctod,Curdir,"
::cFunctions += "AAdd,Abs,AChoice,AClone,ACopy,ADel,ADir,AEval,AFields,AFill,AIns,Alert,Alias,AllTrim,AltD,"
::cFunctions += "Array,Asc,ASize,ASort,At,Bin2I,Bin2L,Bin2W,Bof,Browse,CDow,Chr,CMonth,Col,CToD,CurDir,"
::cFunctions += "Date,Day,dbAppend,dbClearFil,dbClearInd,dbCloseAll,dbCloseArea,dbCommit,dbCreate,dbDelete,dbEdit,dbEval,Dbf,dbFilter,dbGoBottom,dbGoto,dbRecall,dbReindex,dbRelation,dbRLock,dbRSelect,dbRunLock,"
::cFunctions += "dbSeek,dbSelectArea,dbSetDriver,dbSetFilter,dbSetIndex,dbSetOrder,dbSetRelat,dbSkip,dbStruct,dbUnlock,dbUseArea,Deleted,Descend,Devout,Devpos,"
::cFunctions += "Directory,DiskSpace,DispBegin,DispBox,DispCount,DispEnd,DispOut,DosError,Dow,Dtoc,Dtos,Empty,Eof,Errorblock,Errorlevel,Eval,Exp,FClose,FCount,FCreate,FErase,FError,FieldBlock,FieldGet,FieldName,"
::cFunctions += "FieldPos,FieldPut,Fieldwblock,File,Fklabel,Fkmax,FLock,FOpen,Found,FRead,FReadstr,FRename,FSeek,FWrite,Getenv,Hardcr,Header,Iif,IndexExt,IndexKey,IndexOrd,Inkey,Int,Isalpha,Isarray,Ischaracter,"
::cFunctions += "IsDate,IsDigit,IsLogic,IsLower,IsNumber,IsPrinter,IsUpper,I2bin,L2bin,LastKey,LastRec,Left,Len,Lower,LTrim,LUpdate,MakeDir,Max,MaxCol,MaxRow,MCol,MemoEdit,MemoLine,MemoRead,"
::cFunctions += "Memory,MemoTran,MemoWrite,MemvarBlock,Min,Mlcount,Mlctopos,Mlpos,Mod,Month,Mpostolc,NetErr,NetName,NextKey,Nosnow,Os,OrdBagExt,OrdBagName,OrdCreate,OrdDestroy,OrdFor,OrdKey,OrdListAdd,"
::cFunctions += "OrdListClear,OrdListRebuild,OrdName,OrdNumber,OrdSetFocus,OutErr,OutStd,Pad,PadR,PadL,PCol,PCount,ProcLine,ProcName,PRow,QQout,Qout,Rat,Rddlist,Rddname,Rddsetdefault,Readexit,Readinsert,Readkey,"
::cFunctions += "ReadModal,ReadVar,RecCount,RecNo,RecSize,Replicate,RestScreen,Right,RLock,Round,Row,RTrim,SaveScreen,Scroll,Seconds,Select,Set,Setblink,Setcancel,Setcolor,Setcursor,Setkey,Setmode,Setpos,Setprc,"
::cFunctions += "Soundex,Space,Sqrt,Str,StrZero,StrTran,Stuff,SubStr,Time,Tone,Transform,Trim,Type,Updated,Upper,Used,Val,ValType,Version,Word,Year,"
::cFunctions += "dbSeek,dbSelectArea,dbSetDriver,dbSetFilter,dbSetIndex,dbSetOrder,dbSetRelat,dbSkip,dbStruct,dbUnlock,dbUseArea,Deleted,Descend,DevOut,DevPos,"
::cFunctions += "Directory,DiskSpace,DispBegin,DispBox,DispCount,DispEnd,DispOut,DosError,Dow,Dtoc,Dtos,Empty,Eof,ErrorBlock,ErrorLevel,Eval,Exp,FClose,FCount,FCreate,FErase,FError,FieldBlock,FieldGet,FieldName,"
::cFunctions += "FieldPos,FieldPut,FieldWBlock,File,FkLabel,FkMax,FLock,FOpen,Found,FRead,FReadStr,FRename,FSeek,FWrite,GetEnv,HardCR,Header,iif,IndexExt,IndexKey,IndexOrd,Inkey,Int,IsAlpha,ISARRAY,ISCHARACTER,"
::cFunctions += "ISDATE,IsDigit,ISLOGICAL,IsLower,ISNUMBER,IsPrinter,IsUpper,I2Bin,L2Bin,LastKey,LastRec,Left,Len,Lower,LTrim,LUpdate,MakeDir,Max,MaxCol,MaxRow,MCol,MemoEdit,MemoLine,MemoRead,"
::cFunctions += "Memory,MemoTran,MemoWrite,MemvarBlock,Min,MLCount,MLCToPos,MLPos,Mod,Month,MPosToLC,NetErr,NetName,NextKey,NoSnow,OS,OrdBagExt,OrdBagName,OrdCreate,OrdDestroy,OrdFor,OrdKey,OrdListAdd,"
::cFunctions += "OrdListClear,OrdListRebuild,OrdName,OrdNumber,OrdSetFocus,OutErr,OutStd,Pad,PadR,PadL,PCol,PCount,ProcLine,ProcName,PRow,QQOut,QOut,RAt,rddList,rddName,rddSetDefault,ReadExit,ReadInsert,ReadKey,"
::cFunctions += "ReadModal,ReadVar,RecCount,RecNo,RecSize,Replicate,RestScreen,Right,RLock,Round,Row,RTrim,SaveScreen,Scroll,Seconds,Select,Set,Setblink,Setcancel,Setcolor,SetCursor,SetKey,SetMode,SetPos,SetPrc,"
::cFunctions += "SoundEx,Space,Sqrt,Str,StrZero,StrTran,Stuff,SubStr,Time,Tone,Transform,Trim,Type,Updated,Upper,Used,Val,ValType,Version,Word,Year,"
ENDIF
IF ::nEol == 2
@@ -574,7 +583,7 @@ METHOD FormatLine( cLine, lContinued ) CLASS CODEFORMAT
RETURN cLine
ENDIF
IF lContinued == Nil; lContinued := .F. ; ENDIF
DEFAULT lContinued TO .F.
lFirst := !lContinued
nLen := Len( cLine )
@@ -737,7 +746,7 @@ METHOD ConvertCmd( cLine, nBegin, nEnd, lFirstOnly ) CLASS CODEFORMAT
LOCAL nPos, cToken := Upper( SubStr( cLine, nBegin, nEnd - nBegin ) )
IF ::lCase
IF lFirstOnly == Nil; lFirstOnly := .F. ; ENDIF
DEFAULT lFirstOnly TO .F.
IF ( ( nPos := At( "," + cToken, ::cCommands ) ) != 0 .AND. ( Len(cToken ) >= 4 ;
.OR. SubStr( ::cCommands, nPos + Len( cToken ) + 1, 1 ) == ',' ) ) ;
.OR. ;
@@ -860,7 +869,7 @@ METHOD SetOption( cLine, i, aIni ) CLASS CODEFORMAT
::cLineErr := cLine
ENDIF
RETURN ( ::nErr == 0 )
RETURN ::nErr == 0
METHOD ReadIni( cIniName ) CLASS CODEFORMAT
@@ -948,7 +957,8 @@ STATIC FUNCTION FindNotQuoted( subs, stroka, nPos2 )
LOCAL nPos1, i, c, nState := 0, cSymb
IF nPos2 == Nil; nPos2 := 1; ENDIF
DEFAULT nPos2 TO 1
DO WHILE .T.
IF ( nPos1 := hb_At( subs, stroka, nPos2 ) ) == 0
EXIT
@@ -973,76 +983,3 @@ STATIC FUNCTION FindNotQuoted( subs, stroka, nPos2 )
ENDDO
RETURN nPos1
#pragma BEGINDUMP
#include "hbapi.h"
#include "hbapiitm.h"
/* rf_FileRead( cText, @cEol ) */
HB_FUNC( RF_FILEREAD )
{
char * szText = hb_parc( 1 );
char * ptr, * ptr1;
unsigned long ul, ulLines = 0;
PHB_ITEM temp;
PHB_ITEM arr;
ptr = szText;
while( *ptr )
{
if( *ptr == '\r' || *ptr == '\n' )
{
if( !ulLines )
{
if ISBYREF( 2 )
hb_storclen( ptr, ( *(ptr+1) == '\r' || *(ptr+1) == '\n' )? 2:1, 2 );
}
if( *(ptr+1) == '\r' || *(ptr+1) == '\n' )
{
ptr ++;
}
ulLines ++;
}
ptr ++;
}
ptr --;
if( *ptr != '\r' && *ptr != '\n' )
ulLines ++;
arr = hb_itemArrayNew( ulLines );
ptr = ptr1 = szText;
ul = 1;
while( *ptr )
{
if( *ptr == '\r' || *ptr == '\n' )
{
temp = hb_itemPutCL( NULL, ptr1, ptr - ptr1 );
hb_itemArrayPut( arr, ul, temp );
hb_itemRelease( temp );
if( *(ptr+1) == '\r' || *(ptr+1) == '\n' )
{
ptr ++;
}
ptr1 = ptr + 1;
ul ++;
}
ptr ++;
}
if( ul == ulLines )
{
temp = hb_itemPutCL( NULL, ptr1, ptr - ptr1 );
hb_itemArrayPut( arr, ul, temp );
hb_itemRelease( temp );
}
hb_itemReturn( arr );
hb_itemRelease( arr );
}
HB_FUNC( RF_FULLPATH )
{
hb_retc( hb_cmdargARGV()[0] );
}
#pragma ENDDUMP

View File

@@ -4,7 +4,7 @@
/*
* Harbour Project source code:
* Harbour i18n .pot/.hbl file manger
* Harbour i18n .pot/.hbi file manger
*
* Copyright 2009 Przemyslaw Czerpak <druzus / at / priv.onet.pl>
* www - http://www.harbour-project.org
@@ -54,7 +54,7 @@
#include "directry.ch"
#define _HB_I18N_MERGE 1
#define _HB_I18N_GENHBL 2
#define _HB_I18N_GENHBI 2
#define _HB_I18N_TRANS 3
PROCEDURE Main( ... )
@@ -85,7 +85,7 @@ PROCEDURE Main( ... )
IF nMode != 0
lError := .T.
ELSE
nMode := _HB_I18N_GENHBL
nMode := _HB_I18N_GENHBI
ENDIF
ELSEIF param == "a"
IF nMode != 0
@@ -121,7 +121,7 @@ PROCEDURE Main( ... )
IF nMode == _HB_I18N_TRANS
FOR n := 1 TO Len( aFiles )
hb_FNameSplit( aFiles[ n ],,, @cExt )
IF !Lower( cExt ) == ".hbl"
IF !Lower( cExt ) == ".hbi"
cFileIn := aFiles[ n ]
HB_ADel( aFiles, n, .T. )
EXIT
@@ -140,8 +140,8 @@ PROCEDURE Main( ... )
IF nMode == _HB_I18N_MERGE
Merge( aFiles, cFileOut )
ELSEIF nMode == _HB_I18N_GENHBL
GenHbl( aFiles, cFileOut, lEmpty )
ELSEIF nMode == _HB_I18N_GENHBI
GenHBI( aFiles, cFileOut, lEmpty )
ELSEIF nMode == _HB_I18N_TRANS
AutoTrans( cFileIn, aFiles, cFileOut )
ENDIF
@@ -154,7 +154,7 @@ STATIC FUNCTION HBRawVersion()
STATIC PROCEDURE Logo()
OutStd( "Harbour i18n .pot/.hbl file manager " + HBRawVersion() + HB_OSNewLine() +;
OutStd( "Harbour i18n .pot/.hbi file manager " + HBRawVersion() + HB_OSNewLine() +;
"Copyright (c) 2009, Przemyslaw Czerpak" + HB_OSNewLine() + ;
"http://www.harbour-project.org/" + HB_OSNewLine() +;
HB_OSNewLine() )
@@ -167,13 +167,13 @@ STATIC PROCEDURE Syntax()
OutStd( "Syntax: hbi18n -m | -g | -a [-o<outfile>] [-e] [-q] <files1[.pot] ...>" + HB_OSNewLine() + ;
HB_OSNewLine() + ;
" -m merge given .pot files" + HB_OSNewLine() + ;
" -g generate .hbl file from given .pot files" + HB_OSNewLine() + ;
" -g generate .hbi file from given .pot files" + HB_OSNewLine() + ;
" -a add automatic translations to 1-st .pot file using" + HB_OSNewLine() + ;
" translations from other .pot or .hbl files" + HB_OSNewLine() + ;
" translations from other .pot or .hbi files" + HB_OSNewLine() + ;
" -o<outfile> output file name" + HB_OSNewLine() + ;
" default is first .pot file name with" + HB_OSNewLine() + ;
" .po (merge) or .hbl extension" + HB_OSNewLine() + ;
" -e do not strip empty translation rules from .hbl files" + HB_OSNewLine() + ;
" .po (merge) or .hbi extension" + HB_OSNewLine() + ;
" -e do not strip empty translation rules from .hbi files" + HB_OSNewLine() + ;
" -q quiet mode" + HB_OSNewLine() + ;
HB_OSNewLine() )
@@ -270,7 +270,7 @@ STATIC FUNCTION LoadFilesAsHash( aFiles )
FOR n := 1 TO Len( aFiles )
hb_FNameSplit( aFiles[ n ],,, @cExt )
IF Lower( cExt ) == ".hbl"
IF Lower( cExt ) == ".hbi"
cTrans := hb_memoRead( aFiles[ n ] )
IF !HB_I18N_Check( cTrans )
ErrorMsg( "Wrong file format: " + aFiles[ n ] )
@@ -308,20 +308,20 @@ STATIC PROCEDURE Merge( aFiles, cFileOut )
RETURN
STATIC PROCEDURE GenHbl( aFiles, cFileOut, lEmpty )
LOCAL cHblBody
STATIC PROCEDURE GenHBI( aFiles, cFileOut, lEmpty )
LOCAL cHBIBody
LOCAL pI18N
IF Empty( cFileOut )
cFileOut := FileExt( aFiles[ 1 ], ".hbl", .T. )
cFileOut := FileExt( aFiles[ 1 ], ".hbi", .T. )
ELSE
cFileOut := FileExt( cFileOut, ".hbl", .F. )
cFileOut := FileExt( cFileOut, ".hbi", .F. )
ENDIF
pI18N := __I18N_hashTable( __I18N_potArrayToHash( LoadFiles( aFiles ), ;
lEmpty ) )
cHblBody := HB_I18N_SaveTable( pI18N )
IF !hb_memoWrit( cFileOut, cHblBody )
cHBIBody := HB_I18N_SaveTable( pI18N )
IF !hb_memoWrit( cFileOut, cHBIBody )
ErrorMsg( "cannot create file: " + cFileOut )
ENDIF

View File

@@ -179,8 +179,8 @@ msgstr "Hiba: Harbour k
#: hbmk2.prg:5758
#, c-format
msgid "list of languages to be replaced in ${lng} macros in .pot/.po filenames and output .hbl/.po filenames. Comma separared list:\\n-lng=en-EN,hu-HU,de"
msgstr "nyelvek listája, amelyek a .pot/.po és .hbl/.po állományokban levõ ${lng} makrókba kerülnek behelyettesítésre. Vesszõvel elválasztott lista:\\n-lng=en-EN,hu-HU,de"
msgid "list of languages to be replaced in ${lng} macros in .pot/.po filenames and output .hbi/.po filenames. Comma separared list:\\n-lng=en-EN,hu-HU,de"
msgstr "nyelvek listája, amelyek a .pot/.po és .hbi/.po állományokban levõ ${lng} makrókba kerülnek behelyettesítésre. Vesszõvel elválasztott lista:\\n-lng=en-EN,hu-HU,de"
#: hbmk2.prg:2737
#, c-format
@@ -219,13 +219,13 @@ msgstr "'%1$s' .po f
#: hbmk2.prg:5345
#, c-format
msgid "Created .hbl file '%1$s'"
msgstr "'%1$s' .hbl fájl létrehozva"
msgid "Created .hbi file '%1$s'"
msgstr "'%1$s' .hbi fájl létrehozva"
#: hbmk2.prg:5347
#, c-format
msgid "Created .hbl file '%1$s' for language(s): %2$s"
msgstr "'%1$s' .hbl fájl létrehozva a következõ nyelv(ek)hez: %2$s"
msgid "Created .hbi file '%1$s' for language(s): %2$s"
msgstr "'%1$s' .hbi fájl létrehozva a következõ nyelv(ek)hez: %2$s"
#: hbmk2.prg:3339
#, c-format
@@ -434,8 +434,8 @@ msgstr "kapcsol
#: hbmk2.prg:5758
#, c-format
msgid "output .hbl filename. ${lng} macro is accepted in filename"
msgstr "kimeneti .hbl fájlnév. ${lng} makró használható a fájlnévben"
msgid "output .hbi filename. ${lng} macro is accepted in filename"
msgstr "kimeneti .hbi fájlnév. ${lng} makró használható a fájlnévben"
#: hbmk2.prg:5187
#, c-format
@@ -719,8 +719,8 @@ msgstr "Hiba: C ford
#: hbmk2.prg:5661
#, c-format
msgid " hbmk [options] [<script[s]>] <src[s][.prg|.c|.obj|.o|.rc|.res|.po|.pot|.hbl]>"
msgstr " hbmk [kapcsolók] [<parancsállomány[s]>] <forrás[.prg|.c|.obj|.o|.rc|.res|.po|.pot|.hbl]>"
msgid " hbmk [options] [<script[s]>] <src[s][.prg|.c|.obj|.o|.rc|.res|.po|.pot|.hbi]>"
msgstr " hbmk [kapcsolók] [<parancsállomány[s]>] <forrás[.prg|.c|.obj|.o|.rc|.res|.po|.pot|.hbi]>"
#: hbmk2.prg:2937
#, c-format
@@ -734,8 +734,8 @@ msgstr "t
#: hbmk2.prg:5758
#, c-format
msgid "add/exclude C compiler debug info"
msgstr "C fordító debug információ hozzáadása (vagy sem)"
msgid "add/exclude C compiler debug info. For Harbour level debug, use Harbour option -b as usual"
msgstr "C fordító debug információ hozzáadása (vagy sem). Harbour szintû debughoz használja a -b kapcsolót"
#: hbmk2.prg:2640
#, c-format

View File

@@ -35,14 +35,13 @@
* bash script with similar purpose for gcc family.
* entry point override method and detection code for gcc.
* rtlink/blinker link script parsers.
* POTMerge(), LoadPOTFilesAsHash(), GenHbl() and AutoTrans().
* POTMerge(), LoadPOTFilesAsHash(), GenHBI() and AutoTrans().
* (with local modifications by hbmk author)
*
* See COPYING for licensing terms.
*
*/
#pragma linenumber=on
/* Optimizations */
#pragma -km+
#pragma -ko+
@@ -72,11 +71,11 @@
_core_ (official interfaces preferred), C compilers and OS
details on the smallest possible level.
Instead, 3rd party Harbour packages are recommended to
maintain and provide .hbp files themselves, as part of
maintain and provide .hbl files themselves, as part of
their standard distribution packages. You can find a few
such .hbp examples in the 'examples' directory.
such .hbl examples in the 'examples' directory.
For Harbour contribs, the recommended method is to supply
and maintain .hbp files in their respective directories,
and maintain .hbl files in their respective directories,
usually under tests (or utils, samples). As of this
writing, most of them has one created.
Thank you. [vszakats] */
@@ -98,6 +97,10 @@
/* TODO: Add a way to fallback to stop if required headers couldn't be found.
This needs a way to spec what key headers to look for. */
#ifndef _HBMK_EMBEDDED_
#pragma linenumber=on
ANNOUNCE HB_GTSYS
REQUEST HB_GT_CGI_DEFAULT
@@ -125,6 +128,8 @@ REQUEST HB_CODEPAGE_PL852, HB_CODEPAGE_PLISO
REQUEST HB_CODEPAGE_PT850, HB_CODEPAGE_PTISO
REQUEST HB_CODEPAGE_RU866, HB_CODEPAGE_RUISO
#endif
REQUEST hbmk_ARCH
REQUEST hbmk_COMP
REQUEST hbmk_KEYW
@@ -208,7 +213,7 @@ REQUEST hbmk_KEYW
#define _HBMK_lREBUILDPO 40
#define _HBMK_aPO 41
#define _HBMK_cHBL 42
#define _HBMK_cHBI 42
#define _HBMK_aLNG 43
#define _HBMK_cPO 44
@@ -224,6 +229,8 @@ REQUEST hbmk_KEYW
#define _HBMK_MAX_ 51
#ifndef _HBMK_EMBEDDED_
PROCEDURE Main( ... )
LOCAL aArgs := hb_AParams()
LOCAL nResult
@@ -284,6 +291,11 @@ PROCEDURE Main( ... )
FOR EACH tmp IN aArgs
DO CASE
CASE Lower( FN_ExtGet( tmp ) ) == ".hbp" .AND. ! lHadTarget
nTarget++
IF nTarget == nTargetTODO
AAdd( aArgsTarget, tmp )
ENDIF
CASE Lower( Left( tmp, Len( "-target=" ) ) ) == "-target="
nTarget++
IF nTarget == nTargetTODO
@@ -328,6 +340,8 @@ PROCEDURE Main( ... )
RETURN
#endif
STATIC FUNCTION hbmk_run( cCmd )
#if defined( __PLATFORM__DOS )
RETURN hb_run( cCmd )
@@ -460,7 +474,7 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 )
LOCAL tmp, tmp1, tmp2, array
LOCAL cScriptFile
LOCAL fhnd
LOCAL lNOHBP
LOCAL lNOHBL
LOCAL lSysLoc
LOCAL cPrefix
LOCAL cPostfix
@@ -1093,7 +1107,7 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 )
IF Lower( GetEnv( "HB_MT" ) ) == "mt" ; hbmk[ _HBMK_lMT ] := .T. ; ENDIF /* Compatibility */
IF ValueIsT( GetEnv( "HB_MT" ) ) ; hbmk[ _HBMK_lMT ] := .T. ; ENDIF
IF ValueIsT( GetEnv( "HB_GUI" ) ) ; hbmk[ _HBMK_lGUI ] := .T. ; ENDIF
IF ValueIsT( GetEnv( "HB_SHARED" ) ) ; hbmk[ _HBMK_lSHARED ] := .T. ; hbmk[ _HBMK_lSTATICFULL ] := .F. ; ENDIF
IF ValueIsT( GetEnv( "HB_SHARED" ) ) ; hbmk[ _HBMK_lSHARED ] := .T. ; hbmk[ _HBMK_lSTATICFULL ] := .F. ; hbmk[ _HBMK_lSHAREDDIST ] := NIL ; ENDIF
IF ValueIsT( GetEnv( "HB_DEBUG" ) ) ; hbmk[ _HBMK_lDEBUG ] := .T. ; ENDIF
IF ValueIsT( GetEnv( "HB_NULRDD" ) ) ; hbmk[ _HBMK_lNULRDD ] := .T. ; ENDIF
@@ -1124,7 +1138,7 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 )
s_cPROGNAME := NIL
s_cFIRST := NIL
hbmk[ _HBMK_aPO ] := {}
hbmk[ _HBMK_cHBL ] := NIL
hbmk[ _HBMK_cHBI ] := NIL
hbmk[ _HBMK_cPO ] := NIL
hbmk[ _HBMK_aLNG ] := {}
s_aINSTPATH := {}
@@ -1147,7 +1161,8 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 )
nEmbedLevel := 1
HBM_Load( hbmk, aParams, cParam, @nEmbedLevel ) /* Load parameters from script file */
ENDIF
CASE Lower( FN_ExtGet( cParam ) ) == ".hbm"
CASE Lower( FN_ExtGet( cParam ) ) == ".hbm" .OR. ;
Lower( FN_ExtGet( cParam ) ) == ".hbp"
nEmbedLevel := 1
HBM_Load( hbmk, aParams, cParam, @nEmbedLevel ) /* Load parameters from script file */
OTHERWISE
@@ -1156,15 +1171,15 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 )
NEXT
/* Process command line (1st pass) */
lNOHBP := .F.
lNOHBL := .F.
FOR EACH aParam IN aParams
IF Lower( aParam[ _PAR_cParam ] ) == "-nohbp"
lNOHBP := .T.
IF Lower( aParam[ _PAR_cParam ] ) == "-nohbl"
lNOHBL := .T.
ENDIF
NEXT
/* Process automatic control files. */
HBP_ProcessAll( hbmk, lNOHBP )
HBL_ProcessAll( hbmk, lNOHBL )
/* Build with shared libs by default, if we're installed to default system locations. */
@@ -1191,7 +1206,7 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 )
cParamL == "-hbcmp" .OR. ;
cParamL == "-hbcc" .OR. ;
cParamL == "-hblnk" .OR. ;
cParamL == "-nohbp" .OR. ;
cParamL == "-nohbl" .OR. ;
cParamL == "-xhb" .OR. ;
cParamL == "-clipper" .OR. ;
cParamL == "-rtlink" .OR. ;
@@ -1323,17 +1338,17 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 )
hbmk[ _HBMK_aLNG ] := ListToArray( cParam, "," )
ENDIF
CASE Left( cParamL, 5 ) == "-hbl="
CASE Left( cParamL, 5 ) == "-hbi="
hbmk[ _HBMK_cHBL ] := PathSepToTarget( hbmk, PathProc( SubStr( cParam, 6 ), FN_DirGet( aParam[ _PAR_cFileName ] ) ) )
hbmk[ _HBMK_cHBI ] := PathSepToTarget( hbmk, PathProc( SubStr( cParam, 6 ), FN_DirGet( aParam[ _PAR_cFileName ] ) ) )
CASE Left( cParamL, 4 ) == "-po="
hbmk[ _HBMK_cPO ] := PathSepToTarget( hbmk, PathProc( SubStr( cParam, 5 ), FN_DirGet( aParam[ _PAR_cFileName ] ) ) )
CASE Left( cParamL, 5 ) == "-hbl"
CASE Left( cParamL, 5 ) == "-hbi"
hbmk[ _HBMK_cHBL ] := ""
hbmk[ _HBMK_cHBI ] := ""
CASE Left( cParamL, 6 ) == "-main="
@@ -1540,7 +1555,7 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 )
AAdd( hbmk[ _HBMK_aLIBUSER ], PathSepToTarget( hbmk, cParam ) )
ENDIF
CASE FN_ExtGet( cParamL ) == ".hbp"
CASE FN_ExtGet( cParamL ) == ".hbl"
cParam := PathProc( cParam, aParam[ _PAR_cFileName ] )
@@ -1557,7 +1572,7 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 )
hbmk_OutStd( hbmk, hb_StrFormat( I_( "Processing: %1$s" ), cParam ) )
ENDIF
HBP_ProcessOne( hbmk, cParam )
HBL_ProcessOne( hbmk, cParam )
CASE FN_ExtGet( cParamL ) == ".prg"
@@ -1617,9 +1632,9 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 )
AAdd( hbmk[ _HBMK_aPO ], PathSepToTarget( hbmk, cParam ) )
NEXT
CASE FN_ExtGet( cParamL ) == ".hbl"
CASE FN_ExtGet( cParamL ) == ".hbi"
hbmk[ _HBMK_cHBL ] := PathSepToTarget( hbmk, PathProc( cParam, aParam[ _PAR_cFileName ] ) )
hbmk[ _HBMK_cHBI ] := PathSepToTarget( hbmk, PathProc( cParam, aParam[ _PAR_cFileName ] ) )
OTHERWISE
@@ -3048,8 +3063,8 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 )
ENDIF
ENDIF
IF Len( hbmk[ _HBMK_aPO ] ) > 0 .AND. hbmk[ _HBMK_cHBL ] != NIL .AND. ! s_lCLEAN
MakeHBL( hbmk, hbmk[ _HBMK_cHBL ] )
IF Len( hbmk[ _HBMK_aPO ] ) > 0 .AND. hbmk[ _HBMK_cHBI ] != NIL .AND. ! s_lCLEAN
MakeHBI( hbmk, hbmk[ _HBMK_cHBI ] )
ENDIF
IF Len( s_aRESSRC_TODO ) > 0 .AND. ! Empty( cBin_Res ) .AND. ! s_lCLEAN
@@ -4417,7 +4432,7 @@ STATIC FUNCTION FN_HasWildcard( cFileName )
#define HBMK_CFG_NAME "hbmk.cfg"
STATIC PROCEDURE HBP_ProcessAll( hbmk, lConfigOnly )
STATIC PROCEDURE HBL_ProcessAll( hbmk, lConfigOnly )
LOCAL aFile
LOCAL cDir
LOCAL cFileName
@@ -4439,19 +4454,19 @@ STATIC PROCEDURE HBP_ProcessAll( hbmk, lConfigOnly )
IF ! hbmk[ _HBMK_lQuiet ]
hbmk_OutStd( hbmk, hb_StrFormat( I_( "Processing configuration: %1$s" ), cFileName ) )
ENDIF
HBP_ProcessOne( hbmk, cFileName )
HBL_ProcessOne( hbmk, cFileName )
EXIT
ENDIF
NEXT
IF ! lConfigOnly
FOR EACH aFile IN Directory( "*" + ".hbp" )
FOR EACH aFile IN Directory( "*" + ".hbl" )
cFileName := aFile[ F_NAME ]
IF !( cFileName == HBMK_CFG_NAME ) .AND. Lower( FN_ExtGet( cFileName ) ) == ".hbp"
IF !( cFileName == HBMK_CFG_NAME ) .AND. Lower( FN_ExtGet( cFileName ) ) == ".hbl"
IF ! hbmk[ _HBMK_lQuiet ]
hbmk_OutStd( hbmk, hb_StrFormat( I_( "Processing: %1$s" ), cFileName ) )
ENDIF
HBP_ProcessOne( hbmk, cFileName )
HBL_ProcessOne( hbmk, cFileName )
ENDIF
NEXT
ENDIF
@@ -4460,7 +4475,7 @@ STATIC PROCEDURE HBP_ProcessAll( hbmk, lConfigOnly )
#define _EOL Chr( 10 )
STATIC PROCEDURE HBP_ProcessOne( hbmk, cFileName )
STATIC PROCEDURE HBL_ProcessOne( hbmk, cFileName )
LOCAL cFile := MemoRead( cFileName ) /* NOTE: Intentionally using MemoRead() which handles EOF char. */
LOCAL cLine
LOCAL cItem
@@ -5337,9 +5352,9 @@ STATIC PROCEDURE UpdatePO( hbmk, aPOTIN )
RETURN
/* .hbl generation */
/* .hbi generation */
STATIC PROCEDURE MakeHBL( hbmk, cHBL )
STATIC PROCEDURE MakeHBI( hbmk, cHBI )
LOCAL cPO
LOCAL tPO
LOCAL cLNG
@@ -5353,16 +5368,16 @@ STATIC PROCEDURE MakeHBL( hbmk, cHBL )
IF hbmk[ _HBMK_lDEBUGI18N ]
hbmk_OutStd( hbmk, hb_StrFormat( "po: in: %1$s", ArrayToList( hbmk[ _HBMK_aPO ] ) ) )
ENDIF
IF Empty( cHBL )
cHBL := FN_NameGet( hbmk[ _HBMK_aPO ][ 1 ] )
IF Empty( cHBI )
cHBI := FN_NameGet( hbmk[ _HBMK_aPO ][ 1 ] )
ENDIF
IF Empty( FN_ExtGet( cHBL ) )
cHBL := FN_ExtSet( cHBL, ".hbl" )
IF Empty( FN_ExtGet( cHBI ) )
cHBI := FN_ExtSet( cHBI, ".hbi" )
ENDIF
FOR EACH cLNG IN iif( Empty( hbmk[ _HBMK_aLNG ] ) .OR. !( _LNG_MARKER $ cHBL ), { _LNG_MARKER }, hbmk[ _HBMK_aLNG ] )
FOR EACH cLNG IN iif( Empty( hbmk[ _HBMK_aLNG ] ) .OR. !( _LNG_MARKER $ cHBI ), { _LNG_MARKER }, hbmk[ _HBMK_aLNG ] )
tLNG := NIL
hb_FGetDateTime( StrTran( cHBL, _LNG_MARKER, cLNG ), @tLNG )
hb_FGetDateTime( StrTran( cHBI, _LNG_MARKER, cLNG ), @tLNG )
lUpdateNeeded := .F.
aPO_TODO := {}
FOR EACH cPO IN hbmk[ _HBMK_aPO ]
@@ -5373,19 +5388,19 @@ STATIC PROCEDURE MakeHBL( hbmk, cHBL )
NEXT
IF lUpdateNeeded
IF hbmk[ _HBMK_lDEBUGI18N ]
hbmk_OutStd( hbmk, hb_StrFormat( "po: %1$s -> %2$s", ArrayToList( aPO_TODO ), StrTran( cHBL, _LNG_MARKER, cLNG ) ) )
hbmk_OutStd( hbmk, hb_StrFormat( "po: %1$s -> %2$s", ArrayToList( aPO_TODO ), StrTran( cHBI, _LNG_MARKER, cLNG ) ) )
ENDIF
GenHbl( hbmk, aPO_TODO, StrTran( cHBL, _LNG_MARKER, cLNG ) )
GenHBI( hbmk, aPO_TODO, StrTran( cHBI, _LNG_MARKER, cLNG ) )
AAdd( aNew, cLNG )
ENDIF
NEXT
ENDIF
IF ! Empty( aNew )
IF Empty( hbmk[ _HBMK_aLNG ] ) .OR. !( _LNG_MARKER $ cHBL )
hbmk_OutStd( hbmk, hb_StrFormat( I_( "Created .hbl file '%1$s'" ), cHBL ) )
IF Empty( hbmk[ _HBMK_aLNG ] ) .OR. !( _LNG_MARKER $ cHBI )
hbmk_OutStd( hbmk, hb_StrFormat( I_( "Created .hbi file '%1$s'" ), cHBI ) )
ELSE
hbmk_OutStd( hbmk, hb_StrFormat( I_( "Created .hbl file '%1$s' for language(s): %2$s" ), cHBL, ArrayToList( aNew, "," ) ) )
hbmk_OutStd( hbmk, hb_StrFormat( I_( "Created .hbi file '%1$s' for language(s): %2$s" ), cHBI, ArrayToList( aNew, "," ) ) )
ENDIF
ENDIF
@@ -5467,16 +5482,16 @@ STATIC PROCEDURE AutoTrans( hbmk, cFileIn, aFiles, cFileOut )
RETURN
STATIC FUNCTION GenHbl( hbmk, aFiles, cFileOut, lEmpty )
LOCAL cHblBody
STATIC FUNCTION GenHBI( hbmk, aFiles, cFileOut, lEmpty )
LOCAL cHBIBody
LOCAL pI18N
LOCAL aTrans := LoadPOTFiles( hbmk, aFiles, NIL, .F. )
LOCAL lRetVal := .F.
IF ISARRAY( aTrans )
pI18N := __i18n_hashTable( __i18n_potArrayToHash( aTrans, lEmpty ) )
cHblBody := hb_i18n_SaveTable( pI18N )
IF hb_MemoWrit( cFileOut, cHblBody )
cHBIBody := hb_i18n_SaveTable( pI18N )
IF hb_MemoWrit( cFileOut, cHBIBody )
lRetVal := .T.
ELSE
hbmk_OutErr( hbmk, hb_StrFormat( I_( "Error: Cannot create file: %1$s" ), cFileOut ) )
@@ -5660,7 +5675,7 @@ STATIC PROCEDURE SetUILang( hbmk )
IF hbmk[ _HBMK_cUILNG ] == "en-EN"
hb_i18n_set( NIL )
ELSE
tmp := "${hb_root}hbmk2.${lng}.hbl"
tmp := "${hb_root}hbmk2.${lng}.hbi"
tmp := StrTran( tmp, "${hb_root}", PathSepToSelf( DirAddPathSep( hb_DirBase() ) ) )
tmp := StrTran( tmp, "${lng}", StrTran( hbmk[ _HBMK_cUILNG ], "-", "_" ) )
hb_i18n_set( iif( hb_i18n_check( tmp := hb_MemoRead( tmp ) ), hb_i18n_restoretable( tmp ), NIL ) )
@@ -5702,7 +5717,7 @@ STATIC PROCEDURE ShowHelp( hbmk, lLong )
LOCAL aText_Basic := {;
I_( "Syntax:" ),;
"",;
I_( " hbmk [options] [<script[s]>] <src[s][.prg|.c|.obj|.o|.rc|.res|.po|.pot|.hbl]>" ),;
I_( " hbmk [options] [<script[s]>] <src[s][.prg|.c|.obj|.o|.rc|.res|.po|.pot|.hbi]>" ),;
"",;
I_( "Options:" ) }
@@ -5743,7 +5758,7 @@ STATIC PROCEDURE ShowHelp( hbmk, lLong )
{ "-fullstatic" , I_( "link with all static libs" ) },;
{ "-[full|fix]shared" , I_( "create shared Harbour binaries without/with absolute dir reference to Harbour library (default: 'fullshared' when Harbour is installed on system location, 'fixshared' otherwise) (fix/full option in *nix only)" ) },;
{ "-nulrdd[-]" , I_( "link with nulrdd" ) },;
{ "-[no]debug" , I_( "add/exclude C compiler debug info" ) },;
{ "-[no]debug" , I_( "add/exclude C compiler debug info. For Harbour level debug, use Harbour option -b as usual" ) },;
{ "-[no]optim" , I_( "toggle C compiler optimizations (default: on)" ) },;
{ "-[no]map" , I_( "create (or not) a map file" ) },;
{ "-[no]strip" , I_( "strip (no strip) binaries" ) },;
@@ -5755,7 +5770,7 @@ STATIC PROCEDURE ShowHelp( hbmk, lLong )
{ "-vcshead=<file>" , I_( "generate .ch header file with local repository information. SVN, Git and Mercurial 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" ) },;
{ "-instpath=<path>" , I_( "copy target to <path>. if <path> is a directory, it should end with path separator. can be specified multiple times" ) },;
{ "-nohbp" , I_( "do not process .hbp files in current directory" ) },;
{ "-nohbl" , I_( "do not process .hbl files in current directory" ) },;
{ "-stop" , I_( "stop without doing anything" ) },;
NIL,;
{ "-bldf[-]" , I_( "inherit all/no (default) flags from Harbour build" ) },;
@@ -5775,8 +5790,8 @@ STATIC PROCEDURE ShowHelp( hbmk, lLong )
{ "-clean" , I_( "clean (in incremental build mode)" ) },;
{ "-workdir=<dir>" , hb_StrFormat( I_( "working directory for incremental build mode\n(default: %1$s/arch/comp)" ), _WORKDIR_BASE_ ) },;
NIL,;
{ "-hbl[=<output>]" , I_( "output .hbl filename. ${lng} macro is accepted in filename" ) },;
{ "-lng=<languages>" , I_( "list of languages to be replaced in ${lng} macros in .pot/.po filenames and output .hbl/.po filenames. Comma separared list:\n-lng=en-EN,hu-HU,de" ) },;
{ "-hbi[=<output>]" , I_( "output .hbi filename. ${lng} macro is accepted in filename" ) },;
{ "-lng=<languages>" , I_( "list of languages to be replaced in ${lng} macros in .pot/.po filenames and output .hbi/.po filenames. Comma separared list:\n-lng=en-EN,hu-HU,de" ) },;
{ "-po=<output>" , I_( "create/update .po file from source. Merge it with previous .po file of the same name" ) },;
{ "-rebuildpo" , I_( "recreate .po file, thus removing all obsolete entries in it" ) },;
NIL,;
@@ -5804,14 +5819,14 @@ STATIC PROCEDURE ShowHelp( hbmk, lLong )
{ "-quiet" , I_( "suppress all screen messages" ) } }
LOCAL aNotes := {;
I_( "<script> can be <@script> (.hbm file), <script.hbm> or <script.hbp>." ),;
I_( "<script> can be <@script> (.hbm file), <script.hbm> or <script.hbl>." ),;
I_( "Regular Harbour compiler options are also accepted." ),;
I_( "Multiple -l, -L and <script> parameters are accepted." ),;
hb_StrFormat( I_( "%1$s option file in hbmk 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 hbmk directory. The file format is the same as .hbp." ), HBMK_CFG_NAME ),;
I_( ".hbp option files in current dir are automatically processed." ),;
I_( ".hbp options (they should come in separate lines): libs=[<libname[s]>], gt=[gtname], prgflags=[Harbour flags], cflags=[C compiler flags], resflags=[resource compiler flags], ldflags=[linker flags], libpaths=[paths], pos=[.po files], incpaths=[paths], inctrypaths=[paths], gui|mt|shared|nulrdd|debug|opt|map|strip|run|inc=[yes|no], compr=[yes|no|def|min|max], head=[off|partial|full], echo=<text>\nLines starting with '#' char are ignored" ),;
I_( "Platform filters are accepted in each .hbp line and with several options.\nFilter format: {[!][<arch>|<comp>|<keyword>]}. Filters can be combined using '&', '|' operators and grouped by parantheses. Ex.: {win}, {gcc}, {linux|darwin}, {win&!pocc}, {(win|linux)&!owatcom}, {unix&mt&gui}, -cflag={win}-DMYDEF, -stop{dos}, -stop{!allwin}, {allpocc|allgcc|allmingw|unix}, {allmsvc}, {x86|x86_64|ia64|arm}, {debug|nodebug|gui|std|mt|st|xhb}" ),;
I_( "Certain .hbp lines (prgflags=, cflags=, ldflags=, libpaths=, inctrypaths=,echo=) and corresponding command line parameters will accept macros: ${hb_root}, ${hb_self}, ${hb_arch}, ${hb_comp}, ${hb_cpu}, ${<envvar>}" ),;
hb_StrFormat( I_( "%1$s option file in hbmk 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 hbmk directory. The file format is the same as .hbl." ), HBMK_CFG_NAME ),;
I_( ".hbl option files in current dir are automatically processed." ),;
I_( ".hbl options (they should come in separate lines): libs=[<libname[s]>], gt=[gtname], prgflags=[Harbour flags], cflags=[C compiler flags], resflags=[resource compiler flags], ldflags=[linker flags], libpaths=[paths], pos=[.po files], incpaths=[paths], inctrypaths=[paths], gui|mt|shared|nulrdd|debug|opt|map|strip|run|inc=[yes|no], compr=[yes|no|def|min|max], head=[off|partial|full], echo=<text>\nLines starting with '#' char are ignored" ),;
I_( "Platform filters are accepted in each .hbl line and with several options.\nFilter format: {[!][<arch>|<comp>|<keyword>]}. Filters can be combined using '&', '|' operators and grouped by parantheses. Ex.: {win}, {gcc}, {linux|darwin}, {win&!pocc}, {(win|linux)&!owatcom}, {unix&mt&gui}, -cflag={win}-DMYDEF, -stop{dos}, -stop{!allwin}, {allpocc|allgcc|allmingw|unix}, {allmsvc}, {x86|x86_64|ia64|arm}, {debug|nodebug|gui|std|mt|st|xhb}" ),;
I_( "Certain .hbl lines (prgflags=, cflags=, ldflags=, libpaths=, inctrypaths=,echo=) and corresponding command line parameters will accept macros: ${hb_root}, ${hb_self}, ${hb_arch}, ${hb_comp}, ${hb_cpu}, ${<envvar>}" ),;
I_( "Defaults and feature support vary by architecture/compiler." ) }
DEFAULT lLong TO .F.

View File

@@ -469,7 +469,7 @@ msgstr ""
#: hbmk2.prg:5294
#, c-format
msgid " -hbl[=<output>] output .hbl filename. ${lng} macro is accepted in filename"
msgid " -hbi[=<output>] output .hbi filename. ${lng} macro is accepted in filename"
msgstr ""
#: hbmk2.prg:5294
@@ -479,7 +479,7 @@ msgstr ""
#: hbmk2.prg:5294
#, c-format
msgid " filenames and output .hbl filenames. Comma separared list:"
msgid " filenames and output .hbi filenames. Comma separared list:"
msgstr ""
#: hbmk2.prg:5294
@@ -724,7 +724,7 @@ msgstr ""
#: hbmk2.prg:5294
#, c-format
msgid " -nohbp do not process .hbp files in current directory"
msgid " -nohbl do not process .hbl files in current directory"
msgstr ""
#: hbmk2.prg:5294
@@ -809,7 +809,7 @@ msgstr ""
#: hbmk2.prg:5180
#, c-format
msgid " hbmk [options] [<script[s]>] <src[s][.prg|.c|.obj|.o|.rc|.res|.pot|.hbl]>"
msgid " hbmk [options] [<script[s]>] <src[s][.prg|.c|.obj|.o|.rc|.res|.pot|.hbi]>"
msgstr ""
#: hbmk2.prg:5450 hbmk2.prg:5644
@@ -984,7 +984,7 @@ msgstr ""
#: hbmk2.prg:5758
#, c-format
msgid "list of languages to be replaced in ${lng} macros in .pot/.po filenames and output .hbl/.po filenames. Comma separared list:\\n-lng=en-EN,hu-HU,de"
msgid "list of languages to be replaced in ${lng} macros in .pot/.po filenames and output .hbi/.po filenames. Comma separared list:\\n-lng=en-EN,hu-HU,de"
msgstr ""
#: hbmk2.prg:3532
@@ -1014,12 +1014,12 @@ msgstr ""
#: hbmk2.prg:5345
#, c-format
msgid "Created .hbl file '%1$s'"
msgid "Created .hbi file '%1$s'"
msgstr ""
#: hbmk2.prg:5347
#, c-format
msgid "Created .hbl file '%1$s' for language(s): %2$s"
msgid "Created .hbi file '%1$s' for language(s): %2$s"
msgstr ""
#: hbmk2.prg:3339
@@ -1224,7 +1224,7 @@ msgstr ""
#: hbmk2.prg:5758
#, c-format
msgid "output .hbl filename. ${lng} macro is accepted in filename"
msgid "output .hbi filename. ${lng} macro is accepted in filename"
msgstr ""
#: hbmk2.prg:5187
@@ -1494,7 +1494,7 @@ msgstr ""
#: hbmk2.prg:5661
#, c-format
msgid " hbmk [options] [<script[s]>] <src[s][.prg|.c|.obj|.o|.rc|.res|.po|.pot|.hbl]>"
msgid " hbmk [options] [<script[s]>] <src[s][.prg|.c|.obj|.o|.rc|.res|.po|.pot|.hbi]>"
msgstr ""
#: hbmk2.prg:2937
@@ -1591,4 +1591,3 @@ msgstr ""
#, c-format
msgid "Error: Cannot create temporary unified .po file."
msgstr ""