diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 2cee479f9e..2b5928a9ec 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -17,6 +17,142 @@ past entries belonging to these authors: Viktor Szakats. */ +2009-05-28 08:20 UTC+0200 Viktor Szakats (harbour.01 syenar hu) + * utils/hbmk2/hbmk2.prg + * .hbl extension changed to .hbc (Harbour Make Config). + * -nohbl -> -nohbc + ; Sorry for the mess. + + Added support for instpaths= in .hbc files. + + Added support for HB_USER_LIBPATHS envvar to specify + lib search paths (similar to -L). + ! Fixed so that sripping/compressing isn't attempted if + the target didn't need an update. + + * source/rtl/Makefile + * source/rdd/Makefile + + Enabled -gc3 for hbrtl and hbrdd locally + (except for wce builds). Same can be done locally + for any libs where we find performance increase + due to -gc3. + ; NOTE: Probably it would be enough to compile just a few + sensitive .prg sources (or program parts) with -gc3, + so it would great to have such #pragma option in + Harbour. Doesn't seem easy to implement though. + + * config/rules.cf + * HB_GCMODE default set 0 (from 3). + This means .prgs will be again compiled with -gc0 by default. + Because of the contribs, this means the complete size + of Harbour libs is now reduced significantly. + + * config/wce/global.cf + * config/wce/msvcarm.cf + * config/wce/mingwarm.cf + * config/wce/poccarm.cf + % HB_GCMODE=0 moved to wce/global.cf + + - utils/hbmk2/examples/hmg.hbl + + utils/hbmk2/examples/fwh.hbc + - utils/hbmk2/examples/whoo.hbl + + utils/hbmk2/examples/xhgtk.hbc + - utils/hbmk2/examples/xbgtk.hbl + - utils/hbmk2/examples/hwgui.hbl + - utils/hbmk2/examples/fwh.hbl + + utils/hbmk2/examples/c4w.hbc + - utils/hbmk2/examples/xhgtk.hbl + + utils/hbmk2/examples/contrib.hbc + - utils/hbmk2/examples/c4w.hbl + + utils/hbmk2/examples/contribf.hbc + - utils/hbmk2/examples/contrib.hbl + + utils/hbmk2/examples/hmg.hbc + + utils/hbmk2/examples/whoo.hbc + - utils/hbmk2/examples/contribf.hbl + + utils/hbmk2/examples/xbgtk.hbc + + utils/hbmk2/examples/hwgui.hbc + - contrib/gtalleg/tests/gtallegs.hbl + - contrib/gtalleg/tests/gtallegd.hbl + + contrib/gtalleg/tests/gtallegs.hbc + + contrib/gtalleg/tests/gtallegd.hbc + - contrib/hbmysql/utils/hbmysql.hbl + + contrib/hbmysql/utils/hbmysql.hbc + - contrib/hbmysql/tests/hbmysql.hbl + + contrib/hbmysql/tests/hbmysql.hbc + + contrib/hbct/tests/hbct.hbc + - contrib/hbct/tests/hbct.hbl + - contrib/xhb/tests/xhb.hbl + + contrib/xhb/tests/xhb.hbc + - contrib/hbodbc/tests/hbodbc.hbl + + contrib/hbodbc/tests/hbodbc.hbc + - contrib/hbtpathy/tests/hbtpathy.hbl + + contrib/hbtpathy/tests/hbtpathy.hbc + + contrib/hbmsql/tests/hbmsql.hbc + - contrib/hbmsql/tests/hbmsql.hbl + + contrib/hbmzip/tests/hbmzip.hbc + - contrib/hbmzip/tests/hbmzip.hbl + + contrib/hbsqlit3/tests/hbsqlit3.hbc + - contrib/hbsqlit3/tests/hbsqlit3.hbl + - contrib/hbblat/tests/hbblat.hbl + + contrib/hbblat/tests/hbblat.hbc + - contrib/hbqt/tests/hbqt.hbl + + contrib/hbqt/tests/hbqt.hbc + - contrib/hbfbird/tests/hbfbird.hbl + + contrib/hbfbird/tests/hbfbird.hbc + - contrib/hbziparc/tests/hbziparc.hbl + + contrib/hbziparc/tests/hbziparc.hbc + - contrib/hbnf/tests/hbnf.hbl + + contrib/hbnf/tests/hbnf.hbc + - contrib/hbcurl/tests/hbcurl.hbl + + contrib/hbcurl/tests/hbcurl.hbc + - contrib/gtqtc/tests/gtqtc.hbl + + contrib/gtqtc/tests/gtqtc.hbc + - contrib/rddsql/sddmy/tests/sddmy.hbl + + contrib/rddsql/sddmy/tests/sddmy.hbc + + contrib/rddsql/tests/rddsql.hbc + - contrib/rddsql/tests/rddsql.hbl + - contrib/rddsql/sddodbc/tests/sddodbc.hbl + + contrib/rddsql/sddodbc/tests/sddodbc.hbc + - contrib/hbhpdf/tests/hbhpdf.hbl + + contrib/hbhpdf/tests/hbhpdf.hbc + - contrib/rddado/tests/rddado.hbl + + contrib/rddado/tests/rddado.hbc + + contrib/gtwvg/tests/gtwvg.hbc + - contrib/gtwvg/tests/gtwvg.hbl + - contrib/hbpgsql/tests/hbpgsql.hbl + + contrib/hbpgsql/tests/hbpgsql.hbc + - contrib/rddads/tests/rddads.hbl + + contrib/rddads/tests/rddads.hbc + - contrib/hbclipsm/tests/hbclipsm.hbl + + contrib/hbclipsm/tests/hbclipsm.hbc + - contrib/hbfimage/tests/hbfimage.hbl + + contrib/hbfimage/tests/hbfimage.hbc + + contrib/hbgd/tests/hbgd.hbc + - contrib/hbgd/tests/hbgd.hbl + + contrib/hbmisc/tests/hbmisc.hbc + - contrib/hbmisc/tests/hbmisc.hbl + + contrib/hbtip/tests/hbtip.hbc + - contrib/hbtip/tests/hbtip.hbl + + contrib/hbwin/tests/hbwin.hbc + - contrib/hbwin/tests/hbwin.hbl + + contrib/hbvpdf/tests/hbvpdf.hbc + - contrib/hbvpdf/tests/hbvpdf.hbl + - contrib/hbssl/tests/hbssl.hbl + + contrib/hbssl/tests/hbssl.hbc + - contrib/hbbtree/tests/hbbtree.hbl + + contrib/hbbtree/tests/hbbtree.hbc + - contrib/hbcrypt/tests/hbcrypt.hbl + + contrib/hbcrypt/tests/hbcrypt.hbc + + contrib/examples/hbsqlit2/tests/hbsqlit2.hbc + - contrib/examples/hbsqlit2/tests/hbsqlit2.hbl + - contrib/examples/hbapollo/tests/hbapollo.hbl + + contrib/examples/hbapollo/tests/hbapollo.hbc + + contrib/examples/hbgf/tests/hbgf.hbc + - contrib/examples/hbgf/tests/hbgf.hbl + - contrib/examples/terminal/terminal.hbl + + contrib/examples/terminal/terminal.hbc + - contrib/examples/hbwhat/tests/hbwhat.hbl + + contrib/examples/hbwhat/tests/hbwhat.hbc + * Renamed *.hbl -> *.hbc (Harbour Make Config) in whole source tree. + 2009-05-27 20:08 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com) * contrib/gtwvg/wvgwin.c + Workaround for GCLP_HBRBACKGROUND reported missing from some MinGW distros. diff --git a/harbour/config/rules.cf b/harbour/config/rules.cf index f72cf86ebd..7a93671d64 100644 --- a/harbour/config/rules.cf +++ b/harbour/config/rules.cf @@ -27,7 +27,7 @@ endif HB := $(HB)harbour$(EXE_EXT) ifeq ($(HB_GCMODE),) - HB_GCMODE=3 + HB_GCMODE=0 endif HB_FLAGS := -i$(HB_INC_COMPILE) -q0 -w3 -es2 -kmo $(HB_PDBG) HB_RULE = $(HB) $? -n1 $(HB_FLAGS) -gc$(HB_GCMODE) $(HB_FLAGSEXTRA) $(HB_USER_PRGFLAGS) diff --git a/harbour/config/wce/global.cf b/harbour/config/wce/global.cf index 981dd113a2..528e4f4f03 100644 --- a/harbour/config/wce/global.cf +++ b/harbour/config/wce/global.cf @@ -17,6 +17,9 @@ HB_GT_LIST=\ # verify if GT drivers exist HB_GT_LIBS := $(foreach gt, $(HB_GT_LIST), $(if $(wildcard $(TOP)$(ROOT)source/rtl/$(gt)),$(gt),)) +# Favor size for CE builds. +HB_GCMODE=0 + HB_FLAGSEXTRA = -D__PLATFORM__WINCE ifeq ($(HB_DYNLIB),yes) diff --git a/harbour/config/wce/mingwarm.cf b/harbour/config/wce/mingwarm.cf index 10e446f5f8..43dcd40877 100644 --- a/harbour/config/wce/mingwarm.cf +++ b/harbour/config/wce/mingwarm.cf @@ -9,9 +9,6 @@ EXE_EXT = .exe LIB_PREF = lib LIB_EXT = .a -# Favor size for CE builds. -HB_GCMODE=0 - CC = $(HB_CCPREFIX)gcc CC_IN = -c CC_OUT = -o diff --git a/harbour/config/wce/msvcarm.cf b/harbour/config/wce/msvcarm.cf index 660051fb3b..dd5fbc6d98 100644 --- a/harbour/config/wce/msvcarm.cf +++ b/harbour/config/wce/msvcarm.cf @@ -11,9 +11,6 @@ EXE_EXT = .exe LIB_PREF = LIB_EXT = .lib -# Favor size for CE builds. -HB_GCMODE=0 - ifeq ($(HB_VISUALC_VER_PRE80),) CC = cl.exe else diff --git a/harbour/config/wce/poccarm.cf b/harbour/config/wce/poccarm.cf index 642e2c3695..e106695761 100644 --- a/harbour/config/wce/poccarm.cf +++ b/harbour/config/wce/poccarm.cf @@ -12,9 +12,6 @@ EXE_EXT = .exe LIB_PREF = LIB_EXT = .lib -# Favor size for CE builds. -HB_GCMODE=0 - CC = pocc.exe CC_IN = -c CC_OUT = -Fo diff --git a/harbour/contrib/examples/hbapollo/tests/hbapollo.hbl b/harbour/contrib/examples/hbapollo/tests/hbapollo.hbc similarity index 100% rename from harbour/contrib/examples/hbapollo/tests/hbapollo.hbl rename to harbour/contrib/examples/hbapollo/tests/hbapollo.hbc diff --git a/harbour/contrib/examples/hbgf/tests/hbgf.hbl b/harbour/contrib/examples/hbgf/tests/hbgf.hbc similarity index 100% rename from harbour/contrib/examples/hbgf/tests/hbgf.hbl rename to harbour/contrib/examples/hbgf/tests/hbgf.hbc diff --git a/harbour/contrib/examples/hbsqlit2/tests/hbsqlit2.hbl b/harbour/contrib/examples/hbsqlit2/tests/hbsqlit2.hbc similarity index 100% rename from harbour/contrib/examples/hbsqlit2/tests/hbsqlit2.hbl rename to harbour/contrib/examples/hbsqlit2/tests/hbsqlit2.hbc diff --git a/harbour/contrib/examples/hbwhat/tests/hbwhat.hbl b/harbour/contrib/examples/hbwhat/tests/hbwhat.hbc similarity index 100% rename from harbour/contrib/examples/hbwhat/tests/hbwhat.hbl rename to harbour/contrib/examples/hbwhat/tests/hbwhat.hbc diff --git a/harbour/contrib/examples/terminal/terminal.hbl b/harbour/contrib/examples/terminal/terminal.hbc similarity index 100% rename from harbour/contrib/examples/terminal/terminal.hbl rename to harbour/contrib/examples/terminal/terminal.hbc diff --git a/harbour/contrib/gtalleg/tests/gtallegd.hbl b/harbour/contrib/gtalleg/tests/gtallegd.hbc similarity index 100% rename from harbour/contrib/gtalleg/tests/gtallegd.hbl rename to harbour/contrib/gtalleg/tests/gtallegd.hbc diff --git a/harbour/contrib/gtalleg/tests/gtallegs.hbl b/harbour/contrib/gtalleg/tests/gtallegs.hbc similarity index 100% rename from harbour/contrib/gtalleg/tests/gtallegs.hbl rename to harbour/contrib/gtalleg/tests/gtallegs.hbc diff --git a/harbour/contrib/gtqtc/tests/gtqtc.hbl b/harbour/contrib/gtqtc/tests/gtqtc.hbc similarity index 100% rename from harbour/contrib/gtqtc/tests/gtqtc.hbl rename to harbour/contrib/gtqtc/tests/gtqtc.hbc diff --git a/harbour/contrib/gtwvg/tests/gtwvg.hbl b/harbour/contrib/gtwvg/tests/gtwvg.hbc similarity index 100% rename from harbour/contrib/gtwvg/tests/gtwvg.hbl rename to harbour/contrib/gtwvg/tests/gtwvg.hbc diff --git a/harbour/contrib/hbblat/tests/hbblat.hbl b/harbour/contrib/hbblat/tests/hbblat.hbc similarity index 100% rename from harbour/contrib/hbblat/tests/hbblat.hbl rename to harbour/contrib/hbblat/tests/hbblat.hbc diff --git a/harbour/contrib/hbbtree/tests/hbbtree.hbl b/harbour/contrib/hbbtree/tests/hbbtree.hbc similarity index 100% rename from harbour/contrib/hbbtree/tests/hbbtree.hbl rename to harbour/contrib/hbbtree/tests/hbbtree.hbc diff --git a/harbour/contrib/hbclipsm/tests/hbclipsm.hbl b/harbour/contrib/hbclipsm/tests/hbclipsm.hbc similarity index 100% rename from harbour/contrib/hbclipsm/tests/hbclipsm.hbl rename to harbour/contrib/hbclipsm/tests/hbclipsm.hbc diff --git a/harbour/contrib/hbcrypt/tests/hbcrypt.hbl b/harbour/contrib/hbcrypt/tests/hbcrypt.hbc similarity index 100% rename from harbour/contrib/hbcrypt/tests/hbcrypt.hbl rename to harbour/contrib/hbcrypt/tests/hbcrypt.hbc diff --git a/harbour/contrib/hbct/tests/hbct.hbl b/harbour/contrib/hbct/tests/hbct.hbc similarity index 100% rename from harbour/contrib/hbct/tests/hbct.hbl rename to harbour/contrib/hbct/tests/hbct.hbc diff --git a/harbour/contrib/hbcurl/tests/hbcurl.hbl b/harbour/contrib/hbcurl/tests/hbcurl.hbc similarity index 100% rename from harbour/contrib/hbcurl/tests/hbcurl.hbl rename to harbour/contrib/hbcurl/tests/hbcurl.hbc diff --git a/harbour/contrib/hbfbird/tests/hbfbird.hbl b/harbour/contrib/hbfbird/tests/hbfbird.hbc similarity index 100% rename from harbour/contrib/hbfbird/tests/hbfbird.hbl rename to harbour/contrib/hbfbird/tests/hbfbird.hbc diff --git a/harbour/contrib/hbfimage/tests/hbfimage.hbl b/harbour/contrib/hbfimage/tests/hbfimage.hbc similarity index 100% rename from harbour/contrib/hbfimage/tests/hbfimage.hbl rename to harbour/contrib/hbfimage/tests/hbfimage.hbc diff --git a/harbour/contrib/hbgd/tests/hbgd.hbl b/harbour/contrib/hbgd/tests/hbgd.hbc similarity index 100% rename from harbour/contrib/hbgd/tests/hbgd.hbl rename to harbour/contrib/hbgd/tests/hbgd.hbc diff --git a/harbour/contrib/hbhpdf/tests/hbhpdf.hbl b/harbour/contrib/hbhpdf/tests/hbhpdf.hbc similarity index 100% rename from harbour/contrib/hbhpdf/tests/hbhpdf.hbl rename to harbour/contrib/hbhpdf/tests/hbhpdf.hbc diff --git a/harbour/contrib/hbmisc/tests/hbmisc.hbl b/harbour/contrib/hbmisc/tests/hbmisc.hbc similarity index 100% rename from harbour/contrib/hbmisc/tests/hbmisc.hbl rename to harbour/contrib/hbmisc/tests/hbmisc.hbc diff --git a/harbour/contrib/hbmsql/tests/hbmsql.hbl b/harbour/contrib/hbmsql/tests/hbmsql.hbc similarity index 100% rename from harbour/contrib/hbmsql/tests/hbmsql.hbl rename to harbour/contrib/hbmsql/tests/hbmsql.hbc diff --git a/harbour/contrib/hbmysql/tests/hbmysql.hbl b/harbour/contrib/hbmysql/tests/hbmysql.hbc similarity index 100% rename from harbour/contrib/hbmysql/tests/hbmysql.hbl rename to harbour/contrib/hbmysql/tests/hbmysql.hbc diff --git a/harbour/contrib/hbmysql/utils/hbmysql.hbl b/harbour/contrib/hbmysql/utils/hbmysql.hbc similarity index 100% rename from harbour/contrib/hbmysql/utils/hbmysql.hbl rename to harbour/contrib/hbmysql/utils/hbmysql.hbc diff --git a/harbour/contrib/hbmzip/tests/hbmzip.hbl b/harbour/contrib/hbmzip/tests/hbmzip.hbc similarity index 100% rename from harbour/contrib/hbmzip/tests/hbmzip.hbl rename to harbour/contrib/hbmzip/tests/hbmzip.hbc diff --git a/harbour/contrib/hbnf/tests/hbnf.hbl b/harbour/contrib/hbnf/tests/hbnf.hbc similarity index 100% rename from harbour/contrib/hbnf/tests/hbnf.hbl rename to harbour/contrib/hbnf/tests/hbnf.hbc diff --git a/harbour/contrib/hbodbc/tests/hbodbc.hbl b/harbour/contrib/hbodbc/tests/hbodbc.hbc similarity index 100% rename from harbour/contrib/hbodbc/tests/hbodbc.hbl rename to harbour/contrib/hbodbc/tests/hbodbc.hbc diff --git a/harbour/contrib/hbpgsql/tests/hbpgsql.hbl b/harbour/contrib/hbpgsql/tests/hbpgsql.hbc similarity index 100% rename from harbour/contrib/hbpgsql/tests/hbpgsql.hbl rename to harbour/contrib/hbpgsql/tests/hbpgsql.hbc diff --git a/harbour/contrib/hbqt/tests/hbqt.hbl b/harbour/contrib/hbqt/tests/hbqt.hbc similarity index 100% rename from harbour/contrib/hbqt/tests/hbqt.hbl rename to harbour/contrib/hbqt/tests/hbqt.hbc diff --git a/harbour/contrib/hbsqlit3/tests/hbsqlit3.hbl b/harbour/contrib/hbsqlit3/tests/hbsqlit3.hbc similarity index 100% rename from harbour/contrib/hbsqlit3/tests/hbsqlit3.hbl rename to harbour/contrib/hbsqlit3/tests/hbsqlit3.hbc diff --git a/harbour/contrib/hbssl/tests/hbssl.hbl b/harbour/contrib/hbssl/tests/hbssl.hbc similarity index 100% rename from harbour/contrib/hbssl/tests/hbssl.hbl rename to harbour/contrib/hbssl/tests/hbssl.hbc diff --git a/harbour/contrib/hbtip/tests/hbtip.hbl b/harbour/contrib/hbtip/tests/hbtip.hbc similarity index 100% rename from harbour/contrib/hbtip/tests/hbtip.hbl rename to harbour/contrib/hbtip/tests/hbtip.hbc diff --git a/harbour/contrib/hbtpathy/tests/hbtpathy.hbl b/harbour/contrib/hbtpathy/tests/hbtpathy.hbc similarity index 100% rename from harbour/contrib/hbtpathy/tests/hbtpathy.hbl rename to harbour/contrib/hbtpathy/tests/hbtpathy.hbc diff --git a/harbour/contrib/hbvpdf/tests/hbvpdf.hbl b/harbour/contrib/hbvpdf/tests/hbvpdf.hbc similarity index 100% rename from harbour/contrib/hbvpdf/tests/hbvpdf.hbl rename to harbour/contrib/hbvpdf/tests/hbvpdf.hbc diff --git a/harbour/contrib/hbwin/tests/hbwin.hbl b/harbour/contrib/hbwin/tests/hbwin.hbc similarity index 100% rename from harbour/contrib/hbwin/tests/hbwin.hbl rename to harbour/contrib/hbwin/tests/hbwin.hbc diff --git a/harbour/contrib/hbziparc/tests/hbziparc.hbl b/harbour/contrib/hbziparc/tests/hbziparc.hbc similarity index 100% rename from harbour/contrib/hbziparc/tests/hbziparc.hbl rename to harbour/contrib/hbziparc/tests/hbziparc.hbc diff --git a/harbour/contrib/rddado/tests/rddado.hbl b/harbour/contrib/rddado/tests/rddado.hbc similarity index 100% rename from harbour/contrib/rddado/tests/rddado.hbl rename to harbour/contrib/rddado/tests/rddado.hbc diff --git a/harbour/contrib/rddads/tests/rddads.hbl b/harbour/contrib/rddads/tests/rddads.hbc similarity index 100% rename from harbour/contrib/rddads/tests/rddads.hbl rename to harbour/contrib/rddads/tests/rddads.hbc diff --git a/harbour/contrib/rddsql/sddmy/tests/sddmy.hbl b/harbour/contrib/rddsql/sddmy/tests/sddmy.hbc similarity index 100% rename from harbour/contrib/rddsql/sddmy/tests/sddmy.hbl rename to harbour/contrib/rddsql/sddmy/tests/sddmy.hbc diff --git a/harbour/contrib/rddsql/sddodbc/tests/sddodbc.hbl b/harbour/contrib/rddsql/sddodbc/tests/sddodbc.hbc similarity index 100% rename from harbour/contrib/rddsql/sddodbc/tests/sddodbc.hbl rename to harbour/contrib/rddsql/sddodbc/tests/sddodbc.hbc diff --git a/harbour/contrib/rddsql/tests/rddsql.hbl b/harbour/contrib/rddsql/tests/rddsql.hbc similarity index 100% rename from harbour/contrib/rddsql/tests/rddsql.hbl rename to harbour/contrib/rddsql/tests/rddsql.hbc diff --git a/harbour/contrib/xhb/tests/xhb.hbl b/harbour/contrib/xhb/tests/xhb.hbc similarity index 100% rename from harbour/contrib/xhb/tests/xhb.hbl rename to harbour/contrib/xhb/tests/xhb.hbc diff --git a/harbour/source/rdd/Makefile b/harbour/source/rdd/Makefile index c256186c91..7fe38a410a 100644 --- a/harbour/source/rdd/Makefile +++ b/harbour/source/rdd/Makefile @@ -4,6 +4,10 @@ ROOT = ../../ +ifneq ($(HB_ARCHITECTURE),wce) + HB_GCMODE=3 +endif + C_SOURCES=\ dbcmd.c \ dbcmd53.c \ diff --git a/harbour/source/rtl/Makefile b/harbour/source/rtl/Makefile index bb83864414..aadea8bfa5 100644 --- a/harbour/source/rtl/Makefile +++ b/harbour/source/rtl/Makefile @@ -4,6 +4,10 @@ ROOT = ../../ +ifneq ($(HB_ARCHITECTURE),wce) + HB_GCMODE=3 +endif + C_SOURCES=\ abs.c \ accept.c \ diff --git a/harbour/utils/hbmk2/examples/c4w.hbl b/harbour/utils/hbmk2/examples/c4w.hbc similarity index 100% rename from harbour/utils/hbmk2/examples/c4w.hbl rename to harbour/utils/hbmk2/examples/c4w.hbc diff --git a/harbour/utils/hbmk2/examples/contrib.hbl b/harbour/utils/hbmk2/examples/contrib.hbc similarity index 100% rename from harbour/utils/hbmk2/examples/contrib.hbl rename to harbour/utils/hbmk2/examples/contrib.hbc diff --git a/harbour/utils/hbmk2/examples/contribf.hbl b/harbour/utils/hbmk2/examples/contribf.hbc similarity index 100% rename from harbour/utils/hbmk2/examples/contribf.hbl rename to harbour/utils/hbmk2/examples/contribf.hbc diff --git a/harbour/utils/hbmk2/examples/fwh.hbl b/harbour/utils/hbmk2/examples/fwh.hbc similarity index 100% rename from harbour/utils/hbmk2/examples/fwh.hbl rename to harbour/utils/hbmk2/examples/fwh.hbc diff --git a/harbour/utils/hbmk2/examples/hmg.hbl b/harbour/utils/hbmk2/examples/hmg.hbc similarity index 100% rename from harbour/utils/hbmk2/examples/hmg.hbl rename to harbour/utils/hbmk2/examples/hmg.hbc diff --git a/harbour/utils/hbmk2/examples/hwgui.hbl b/harbour/utils/hbmk2/examples/hwgui.hbc similarity index 100% rename from harbour/utils/hbmk2/examples/hwgui.hbl rename to harbour/utils/hbmk2/examples/hwgui.hbc diff --git a/harbour/utils/hbmk2/examples/whoo.hbl b/harbour/utils/hbmk2/examples/whoo.hbc similarity index 100% rename from harbour/utils/hbmk2/examples/whoo.hbl rename to harbour/utils/hbmk2/examples/whoo.hbc diff --git a/harbour/utils/hbmk2/examples/xbgtk.hbl b/harbour/utils/hbmk2/examples/xbgtk.hbc similarity index 100% rename from harbour/utils/hbmk2/examples/xbgtk.hbl rename to harbour/utils/hbmk2/examples/xbgtk.hbc diff --git a/harbour/utils/hbmk2/examples/xhgtk.hbl b/harbour/utils/hbmk2/examples/xhgtk.hbc similarity index 100% rename from harbour/utils/hbmk2/examples/xhgtk.hbl rename to harbour/utils/hbmk2/examples/xhgtk.hbc diff --git a/harbour/utils/hbmk2/hbmk2.prg b/harbour/utils/hbmk2/hbmk2.prg index c9d666136d..a6e3c6bbed 100644 --- a/harbour/utils/hbmk2/hbmk2.prg +++ b/harbour/utils/hbmk2/hbmk2.prg @@ -71,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 .hbl files themselves, as part of + maintain and provide .hbc files themselves, as part of their standard distribution packages. You can find a few - such .hbl examples in the 'examples' directory. + such .hbc examples in the 'examples' directory. For Harbour contribs, the recommended method is to supply - and maintain .hbl files in their respective directories, + and maintain .hbc files in their respective directories, usually under tests (or utils, samples). As of this writing, most of them has one created. Thank you. [vszakats] */ @@ -194,41 +194,42 @@ REQUEST hbmk_KEYW #define _HBMK_aLIBUSERGT 21 #define _HBMK_aLIBPATH 22 #define _HBMK_aLIBDYNHAS 23 -#define _HBMK_aOPTC 24 -#define _HBMK_aOPTPRG 25 -#define _HBMK_aOPTRES 26 -#define _HBMK_aOPTL 27 -#define _HBMK_aOPTA 28 -#define _HBMK_aOPTD 29 -#define _HBMK_lSHARED 30 -#define _HBMK_lSTATICFULL 31 -#define _HBMK_lSHAREDDIST 32 -#define _HBMK_lNULRDD 33 -#define _HBMK_lMAP 34 -#define _HBMK_lSTRIP 35 -#define _HBMK_lOPTIM 36 -#define _HBMK_nCOMPR 37 -#define _HBMK_lRUN 38 -#define _HBMK_lINC 39 -#define _HBMK_lREBUILDPO 40 -#define _HBMK_lMINIPO 41 +#define _HBMK_aINSTPATH 24 +#define _HBMK_aOPTC 25 +#define _HBMK_aOPTPRG 26 +#define _HBMK_aOPTRES 27 +#define _HBMK_aOPTL 28 +#define _HBMK_aOPTA 29 +#define _HBMK_aOPTD 30 +#define _HBMK_lSHARED 31 +#define _HBMK_lSTATICFULL 32 +#define _HBMK_lSHAREDDIST 33 +#define _HBMK_lNULRDD 34 +#define _HBMK_lMAP 35 +#define _HBMK_lSTRIP 36 +#define _HBMK_lOPTIM 37 +#define _HBMK_nCOMPR 38 +#define _HBMK_lRUN 39 +#define _HBMK_lINC 40 +#define _HBMK_lREBUILDPO 41 +#define _HBMK_lMINIPO 42 -#define _HBMK_aPO 42 -#define _HBMK_cHBI 43 -#define _HBMK_aLNG 44 -#define _HBMK_cPO 45 +#define _HBMK_aPO 43 +#define _HBMK_cHBI 44 +#define _HBMK_aLNG 45 +#define _HBMK_cPO 46 -#define _HBMK_lDEBUGTIME 46 -#define _HBMK_lDEBUGINC 47 -#define _HBMK_lDEBUGSTUB 48 -#define _HBMK_lDEBUGI18N 49 +#define _HBMK_lDEBUGTIME 47 +#define _HBMK_lDEBUGINC 48 +#define _HBMK_lDEBUGSTUB 49 +#define _HBMK_lDEBUGI18N 50 -#define _HBMK_cCCPATH 50 -#define _HBMK_cCCPREFIX 51 +#define _HBMK_cCCPATH 51 +#define _HBMK_cCCPREFIX 52 -#define _HBMK_lUTF8 52 +#define _HBMK_lUTF8 53 -#define _HBMK_MAX_ 52 +#define _HBMK_MAX_ 53 #ifndef _HBMK_EMBEDDED_ @@ -314,7 +315,7 @@ PROCEDURE Main( ... ) ENDCASE NEXT - /* Exit if there was no more projects found on the command line */ + /* Exit if there was no more targets found on the command line */ IF nTarget < nTargetTODO .AND. nTargetTODO != 1 EXIT ENDIF @@ -411,7 +412,6 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 ) LOCAL s_aOBJA LOCAL s_aOBJUSER LOCAL s_aCLEAN - LOCAL s_aINSTPATH LOCAL s_lHB_PCRE := .T. LOCAL s_lHB_ZLIB := .T. LOCAL s_cMAIN := NIL @@ -475,7 +475,7 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 ) LOCAL tmp, tmp1, tmp2, array LOCAL cScriptFile LOCAL fhnd - LOCAL lNOHBL + LOCAL lNOHBC LOCAL lSysLoc LOCAL cPrefix LOCAL cPostfix @@ -1122,6 +1122,10 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 ) SetupForGT( GetEnv( "HB_GT" ), @hbmk[ _HBMK_cGT ], @hbmk[ _HBMK_lGUI ] ) ENDIF + FOR EACH tmp IN ListToArray( PathSepToTarget( hbmk, GetEnv( "HB_USER_LIBPATHS" ) ) ) + AAddNotEmpty( hbmk[ _HBMK_aLIBPATH ], tmp ) + NEXT + /* Process command line */ s_aPRG := {} @@ -1148,7 +1152,7 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 ) hbmk[ _HBMK_cHBI ] := NIL hbmk[ _HBMK_cPO ] := NIL hbmk[ _HBMK_aLNG ] := {} - s_aINSTPATH := {} + hbmk[ _HBMK_aINSTPATH ] := {} /* Collect all command line parameters */ aParams := {} @@ -1178,15 +1182,15 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 ) NEXT /* Process command line (1st pass) */ - lNOHBL := .F. + lNOHBC := .F. FOR EACH aParam IN aParams - IF Lower( aParam[ _PAR_cParam ] ) == "-nohbl" - lNOHBL := .T. + IF Lower( aParam[ _PAR_cParam ] ) == "-nohbc" + lNOHBC := .T. ENDIF NEXT /* Process automatic control files. */ - HBL_ProcessAll( hbmk, lNOHBL ) + HBC_ProcessAll( hbmk, lNOHBC ) /* Build with shared libs by default, if we're installed to default system locations. */ @@ -1213,7 +1217,7 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 ) cParamL == "-hbcmp" .OR. ; cParamL == "-hbcc" .OR. ; cParamL == "-hblnk" .OR. ; - cParamL == "-nohbl" .OR. ; + cParamL == "-nohbc" .OR. ; cParamL == "-xhb" .OR. ; cParamL == "-clipper" .OR. ; cParamL == "-rtlink" .OR. ; @@ -1422,7 +1426,7 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 ) cParam := PathProc( MacroProc( hbmk, tmp := ArchCompFilter( hbmk, SubStr( cParam, Len( "-instpath=" ) + 1 ) ), FN_DirGet( aParam[ _PAR_cFileName ] ) ), aParam[ _PAR_cFileName ] ) IF ! Empty( cParam ) - AAdd( s_aINSTPATH, PathSepToTarget( hbmk, cParam ) ) + AAdd( hbmk[ _HBMK_aINSTPATH ], PathSepToTarget( hbmk, cParam ) ) ENDIF CASE Left( cParamL, Len( "-incpath=" ) ) == "-incpath=" .AND. ; @@ -1565,7 +1569,7 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 ) AAdd( hbmk[ _HBMK_aLIBUSER ], PathSepToTarget( hbmk, cParam ) ) ENDIF - CASE FN_ExtGet( cParamL ) == ".hbl" + CASE FN_ExtGet( cParamL ) == ".hbc" cParam := PathProc( cParam, aParam[ _PAR_cFileName ] ) @@ -1582,7 +1586,7 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 ) hbmk_OutStd( hbmk, hb_StrFormat( I_( "Processing: %1$s" ), cParam ) ) ENDIF - HBL_ProcessOne( hbmk, cParam ) + HBC_ProcessOne( hbmk, cParam ) CASE FN_ExtGet( cParamL ) == ".prg" @@ -3561,7 +3565,7 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 ) DirUnbuild( cWorkDir ) ENDIF - IF nErrorLevel == 0 .AND. ! s_lCLEAN + IF nErrorLevel == 0 .AND. ! s_lCLEAN .AND. ! lTargetUpToDate IF ! Empty( cBin_Post ) @@ -3614,8 +3618,8 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 ) ENDIF ENDIF - IF ! Empty( s_aINSTPATH ) - FOR EACH tmp IN s_aINSTPATH + IF ! Empty( hbmk[ _HBMK_aINSTPATH ] ) + FOR EACH tmp IN hbmk[ _HBMK_aINSTPATH ] IF Empty( FN_NameExtGet( tmp ) ) tmp1 := DirAddPathSep( PathSepToSelf( tmp ) ) + FN_NameExtGet( s_cPROGNAME ) ELSE @@ -4453,7 +4457,7 @@ STATIC FUNCTION FN_HasWildcard( cFileName ) #define HBMK_CFG_NAME "hbmk.cfg" -STATIC PROCEDURE HBL_ProcessAll( hbmk, lConfigOnly ) +STATIC PROCEDURE HBC_ProcessAll( hbmk, lConfigOnly ) LOCAL aFile LOCAL cDir LOCAL cFileName @@ -4475,19 +4479,19 @@ STATIC PROCEDURE HBL_ProcessAll( hbmk, lConfigOnly ) IF ! hbmk[ _HBMK_lQuiet ] hbmk_OutStd( hbmk, hb_StrFormat( I_( "Processing configuration: %1$s" ), cFileName ) ) ENDIF - HBL_ProcessOne( hbmk, cFileName ) + HBC_ProcessOne( hbmk, cFileName ) EXIT ENDIF NEXT IF ! lConfigOnly - FOR EACH aFile IN Directory( "*" + ".hbl" ) + FOR EACH aFile IN Directory( "*" + ".hbc" ) cFileName := aFile[ F_NAME ] - IF !( cFileName == HBMK_CFG_NAME ) .AND. Lower( FN_ExtGet( cFileName ) ) == ".hbl" + IF !( cFileName == HBMK_CFG_NAME ) .AND. Lower( FN_ExtGet( cFileName ) ) == ".hbc" IF ! hbmk[ _HBMK_lQuiet ] hbmk_OutStd( hbmk, hb_StrFormat( I_( "Processing: %1$s" ), cFileName ) ) ENDIF - HBL_ProcessOne( hbmk, cFileName ) + HBC_ProcessOne( hbmk, cFileName ) ENDIF NEXT ENDIF @@ -4496,7 +4500,7 @@ STATIC PROCEDURE HBL_ProcessAll( hbmk, lConfigOnly ) #define _EOL Chr( 10 ) -STATIC PROCEDURE HBL_ProcessOne( hbmk, cFileName ) +STATIC PROCEDURE HBC_ProcessOne( hbmk, cFileName ) LOCAL cFile := MemoRead( cFileName ) /* NOTE: Intentionally using MemoRead() which handles EOF char. */ LOCAL cLine LOCAL cItem @@ -4555,6 +4559,14 @@ STATIC PROCEDURE HBL_ProcessOne( hbmk, cFileName ) ENDIF NEXT + CASE Lower( Left( cLine, Len( "instpaths=" ) ) ) == "instpaths=" ; cLine := SubStr( cLine, Len( "instpaths=" ) + 1 ) + FOR EACH cItem IN hb_ATokens( cLine,, .T. ) + cItem := PathSepToTarget( hbmk, PathProc( MacroProc( hbmk, StrStripQuote( cItem ), FN_DirGet( cFileName ) ), FN_DirGet( cFileName ) ) ) + IF AScan( hbmk[ _HBMK_aINSTPATH ], {|tmp| tmp == cItem } ) == 0 + AAddNotEmpty( hbmk[ _HBMK_aINSTPATH ], cItem ) + ENDIF + NEXT + /* NOTE: This keyword is used in hbmk.cfg and signals whether a given optional module (gtsln, gtcrs, gtxwc) is part of the Harbour shared library, so that we can automatically add @@ -5810,7 +5822,7 @@ STATIC PROCEDURE ShowHelp( hbmk, lLong ) { "-vcshead=" , 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=" , 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=" , I_( "copy target to . if is a directory, it should end with path separator. can be specified multiple times" ) },; - { "-nohbl" , I_( "do not process .hbl files in current directory" ) },; + { "-nohbc" , I_( "do not process .hbc files in current directory" ) },; { "-stop" , I_( "stop without doing anything" ) },; NIL,; { "-bldf[-]" , I_( "inherit all/no (default) flags from Harbour build" ) },; @@ -5868,14 +5880,14 @@ STATIC PROCEDURE ShowHelp( hbmk, lLong ) I_( "Notes:" ) } LOCAL aNotes := {; - I_( "