2009-06-15 15:41 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)

* utils/hbmk2/hbmk2.prg
    + Added skip=yes|no option support to .hbc files.
      skip=yes will cause the rest of the .hbc file to be skipped
      from processing.
    + Now .hbc files are recognized even in libs= lines.
    + Showing error message when a referred .hbc cannot be found.

  * utils/hbmk2/examples/contribf.hbc
    * Updates/fixes.

  * contrib/xhb/xhb.hbc
  * contrib/hbtpathy/hbtpathy.hbc
  * contrib/hbblat/hbblat.hbc
  * contrib/hbziparc/hbziparc.hbc
  * contrib/hbxbp/hbxbp.hbc
  * contrib/rddsql/sddmy/sddmy.hbc
  + contrib/rddsql/sddpg/sddpg.hbc
  + contrib/rddsql/sddfb/sddfb.hbc
  * contrib/rddsql/sddodbc/sddodbc.hbc
  * contrib/rddado/rddado.hbc
  * contrib/gtwvg/gtwvg.hbc
  * contrib/rddads/rddads.hbc
  * contrib/hbfimage/hbfimage.hbc
  * contrib/hbtip/hbtip.hbc
  * contrib/hbwin/hbwin.hbc
  * contrib/hbssl/hbssl.hbc
    + Added some missing .hbc files.
    * Tweaked to use .hbc references.
    * Tweaked filters. .hbc files will now filter themselves out,
      if they are references in unsupported environment, like hbwin
      under linux.
This commit is contained in:
Viktor Szakats
2009-06-15 13:43:32 +00:00
parent 7bf93bff46
commit 9d353c511a
19 changed files with 126 additions and 22 deletions

View File

@@ -17,6 +17,39 @@
past entries belonging to author(s): Viktor Szakats.
*/
2009-06-15 15:41 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
+ Added skip=yes|no option support to .hbc files.
skip=yes will cause the rest of the .hbc file to be skipped
from processing.
+ Now .hbc files are recognized even in libs= lines.
+ Showing error message when a referred .hbc cannot be found.
* utils/hbmk2/examples/contribf.hbc
* Updates/fixes.
* contrib/xhb/xhb.hbc
* contrib/hbtpathy/hbtpathy.hbc
* contrib/hbblat/hbblat.hbc
* contrib/hbziparc/hbziparc.hbc
* contrib/hbxbp/hbxbp.hbc
* contrib/rddsql/sddmy/sddmy.hbc
+ contrib/rddsql/sddpg/sddpg.hbc
+ contrib/rddsql/sddfb/sddfb.hbc
* contrib/rddsql/sddodbc/sddodbc.hbc
* contrib/rddado/rddado.hbc
* contrib/gtwvg/gtwvg.hbc
* contrib/rddads/rddads.hbc
* contrib/hbfimage/hbfimage.hbc
* contrib/hbtip/hbtip.hbc
* contrib/hbwin/hbwin.hbc
* contrib/hbssl/hbssl.hbc
+ Added some missing .hbc files.
* Tweaked to use .hbc references.
* Tweaked filters. .hbc files will now filter themselves out,
if they are references in unsupported environment, like hbwin
under linux.
2009-06-15 15:19 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/mainstd.c
* forced '\' in argv[0] instead of '/' in DJGPP builds

View File

@@ -2,7 +2,9 @@
# $Id$
#
{win}gt=gtwvg
{win}libs=hbwin
{!win}skip=yes
gt=gtwvg
libs=..\hbwin\hbwin.hbc
gui=yes
mt=yes

View File

@@ -2,6 +2,8 @@
# $Id$
#
{!win}skip=yes
incpaths=.
libs=hbblat

View File

@@ -2,6 +2,8 @@
# $Id$
#
{dos}skip=yes
incpaths=.
libs=hbfimage

View File

@@ -2,6 +2,8 @@
# $Id$
#
{dos}skip=yes
incpaths=.
libs=hbssl

View File

@@ -2,6 +2,8 @@
# $Id$
#
{dos}skip=yes
incpaths=.
libs=hbtip

View File

@@ -2,6 +2,8 @@
# $Id$
#
{!(linux|win|os2)}skip=yes
incpaths=.
libs=hbtpathy

View File

@@ -2,6 +2,8 @@
# $Id$
#
{!allwin}skip=yes
incpaths=.
{win}libs=hbwin
libs=hbwin

View File

@@ -5,4 +5,4 @@
incpaths=.
libs=hbxbp
hbcs=../hbqt/hbqt.hbc
libs=../hbqt/hbqt.hbc

View File

@@ -3,4 +3,4 @@
#
libs=hbziparc
hbcs=../hbmzip/hbmzip.hbc
libs=../hbmzip/hbmzip.hbc

View File

@@ -2,7 +2,9 @@
# $Id$
#
{!allwin}skip=yes
incpaths=.
{win}libs=rddado
{win}libs=hbwin
libs=rddado
libs=..\hbwin\hbwin.hbc

View File

@@ -2,6 +2,8 @@
# $Id$
#
{!(linux|win)}skip=yes
incpaths=.
libs=rddads

View File

@@ -0,0 +1,8 @@
#
# $Id$
#
libs=sddfb
libs=fbclient
libs=../rddsql.hbc

View File

@@ -5,4 +5,4 @@
libs=sddmy
libs=libmysql
hbcs=../rddsql.hbc
libs=../rddsql.hbc

View File

@@ -5,4 +5,4 @@
libs=sddodbc
{win}libs=odbc32
hbcs=../rddsql.hbc
libs=../rddsql.hbc

View File

@@ -0,0 +1,8 @@
#
# $Id$
#
libs=sddpg
libs=libpq
libs=../rddsql.hbc

View File

@@ -8,5 +8,6 @@ libs=xhb
# xhb has these as part of core, so we're adding them to emulate it.
# They are not needed to use xhb lib itself.
libs=hbct hbtip
{allwin}libs=hbwin
libs=../hbct/hbct.hbc
libs=../hbtip/hbtip.hbc
libs=../hbwin/hbwin.hbc

View File

@@ -9,15 +9,14 @@
libs=hbbmcdx hbbtree hbclipsm hbcrypt hbct hbgt hbmisc hbmzip hbnf hbvpdf hbziparc rddsql xhb
# contribs portable, with external dependencies:
libs=hbcurl hbfbird hbgd hbhpdf hbmsql hbmysql hbpgsql hbqt sddfb sddmy sddpg
libs=hbcurl hbfbird hbgd hbhpdf hbmysql hbpgsql hbqt sddfb sddmy sddpg
# contribs with limited availability (some with external dependencies):
{!pocc&!xcc&!dmc&!watcom}libs=gtalleg
{!dos}libs=hbapollo hbfimage hbssl hbtip rddads
{!dos}libs=hbfimage hbssl hbtip
{linux|win}libs=rddads
{linux|win|os2}libs=hbtpathy
{win}libs=gtwvg hbblat hbgfwin hbwin rddado
{win}libs=gtwvg hbblat hbwin rddado
{win&!dmc}libs=hbwhat
{linux}libs=hbgfgtk
{os2}libs=hbgfos2
{!rsxnt}libs=hbodbc
{!bsd&!hpux&!pocc}libs=hbsqlit3

View File

@@ -4742,12 +4742,17 @@ STATIC PROCEDURE HBC_ProcessAll( hbmk, lConfigOnly )
#define _EOL Chr( 10 )
STATIC PROCEDURE HBC_ProcessOne( hbmk, cFileName, nNestingLevel )
STATIC FUNCTION HBC_ProcessOne( hbmk, cFileName, nNestingLevel )
LOCAL cFile
LOCAL cLine
LOCAL cItem
LOCAL tmp
IF ! hb_FileExists( cFileName )
hbmk_OutErr( hbmk, hb_StrFormat( I_( "Error: Opening: %1$s" ), cFileName ) )
RETURN .F.
ENDIF
cFile := MemoRead( cFileName ) /* NOTE: Intentionally using MemoRead() which handles EOF char. */
IF ! hb_osNewLine() == _EOL
@@ -4762,6 +4767,15 @@ STATIC PROCEDURE HBC_ProcessOne( hbmk, cFileName, nNestingLevel )
cLine := AllTrim( ArchCompFilter( hbmk, AllTrim( cLine ) ) )
DO CASE
CASE Lower( Left( cLine, Len( "skip=" ) ) ) == "skip=" ; cLine := SubStr( cLine, Len( "skip=" ) + 1 )
cLine := MacroProc( hbmk, cLine, FN_DirGet( cFileName ) )
IF ValueIsT( cLine )
IF hbmk[ _HBMK_lInfo ]
hbmk_OutStd( hbmk, hb_StrFormat( I_( "Skipping from: %1$s" ), cFileName ) )
ENDIF
EXIT
ENDIF
CASE Lower( Left( cLine, Len( "pos=" ) ) ) == "pos=" ; cLine := SubStr( cLine, Len( "pos=" ) + 1 )
FOR EACH cItem IN hb_ATokens( cLine,, .T. )
cItem := PathSepToTarget( hbmk, PathProc( StrStripQuote( cItem ), FN_DirGet( cFileName ) ) )
@@ -4772,9 +4786,32 @@ STATIC PROCEDURE HBC_ProcessOne( hbmk, cFileName, nNestingLevel )
CASE Lower( Left( cLine, Len( "libs=" ) ) ) == "libs=" ; cLine := SubStr( cLine, Len( "libs=" ) + 1 )
FOR EACH cItem IN hb_ATokens( cLine,, .T. )
cItem := PathSepToTarget( hbmk, MacroProc( hbmk, StrStripQuote( cItem ), FN_DirGet( cFileName ) ) )
IF AScan( hbmk[ _HBMK_aLIBUSER ], {|tmp| tmp == cItem } ) == 0
AAddNotEmpty( hbmk[ _HBMK_aLIBUSER ], cItem )
cItem := MacroProc( hbmk, StrStripQuote( cItem ), FN_DirGet( cFileName ) )
IF FN_ExtGet( cItem ) == ".hbc"
cItem := PathProc( cItem, FN_DirGet( cFileName ) )
IF nNestingLevel < _HBMK_NEST_MAX
IF ! hb_FileExists( cItem )
FOR EACH tmp IN hbmk[ _HBMK_aLIBPATH ]
IF hb_FileExists( DirAddPathSep( tmp ) + FN_NameExtGet( cItem ) )
cItem := DirAddPathSep( tmp ) + FN_NameExtGet( cItem )
EXIT
ENDIF
NEXT
ENDIF
IF hbmk[ _HBMK_lInfo ]
hbmk_OutStd( hbmk, hb_StrFormat( I_( "Processing: %1$s" ), cItem ) )
ENDIF
HBC_ProcessOne( hbmk, cItem, nNestingLevel + 1 )
ELSE
hbmk_OutErr( hbmk, hb_StrFormat( I_( "Warning: Cannot nest deeper in %1$s" ), cFileName ) )
ENDIF
ELSE
cItem := PathSepToTarget( hbmk, cItem )
IF AScan( hbmk[ _HBMK_aLIBUSER ], {|tmp| tmp == cItem } ) == 0
AAddNotEmpty( hbmk[ _HBMK_aLIBUSER ], cItem )
ENDIF
ENDIF
NEXT
@@ -5022,7 +5059,7 @@ STATIC PROCEDURE HBC_ProcessOne( hbmk, cFileName, nNestingLevel )
ENDCASE
NEXT
RETURN
RETURN .T.
STATIC FUNCTION IsGTRequested( hbmk, cWhichGT )
@@ -6249,7 +6286,7 @@ STATIC PROCEDURE ShowHelp( hbmk, lLong )
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 .hbc." ), _HBMK_CFG_NAME ),;
hb_StrFormat( I_( "%1$s make script in current directory is always processed if it exists." ), _HBMK_AUTOHBM_NAME ),;
I_( ".hbc config files in current dir are automatically processed." ),;
I_( ".hbc options (they should come in separate lines): libs=[<libname[s]>], hbcs=[<.hbc file[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], instpaths=[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_( ".hbc options (they should come in separate lines): libs=[<libname[s]>], hbcs=[<.hbc file[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], instpaths=[paths], gui|mt|shared|nulrdd|debug|opt|map|strip|run|inc=[yes|no], compr=[yes|no|def|min|max], head=[off|partial|full], skip=[yes|no], echo=<text>\nLines starting with '#' char are ignored" ),;
I_( "Platform filters are accepted in each .hbc 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)&!watcom}, {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 .hbc lines (libs=, hbcs=, prgflags=, cflags=, ldflags=, libpaths=, inctrypaths=, instpaths=, echo=) and corresponding command line parameters will accept macros: ${hb_root}, ${hb_self}, ${hb_arch}, ${hb_comp}, ${hb_cpu}, ${hb_bin}, ${hb_lib}, ${hb_dyn}, ${hb_inc}, ${<envvar>}" ),;
I_( "Defaults and feature support vary by architecture/compiler." ) }