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:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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.
|
||||
| |
|
||||
|
||||
@@ -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
|
||||
===============================================
|
||||
|
||||
@@ -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 \
|
||||
|
||||
7
harbour/utils/hbformat/hbformat.hbm
Normal file
7
harbour/utils/hbformat/hbformat.hbm
Normal file
@@ -0,0 +1,7 @@
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
|
||||
-nulrdd
|
||||
hbformat.prg
|
||||
hbformac.c
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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 ""
|
||||
|
||||
|
||||
Reference in New Issue
Block a user