From f6c7dde00c06ef0dc3b74bd82ddfcf5f9f5f81f5 Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Tue, 8 Feb 2011 22:23:10 +0000 Subject: [PATCH] 2011-02-08 23:22 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * Makefile * contrib/Makefile + Changed script runner tool to hbmk2 (from hbrun). So now hbrun is not required for build process. * utils/Makefile * package/harbour.spec * INSTALL * Changed to reflect that now hbmk2 runs the build scripts. * utils/hbmk2/hbmk2.prg * utils/hbrun/hbrun.prg + Added hbrun_ProgrName() function to return runner executable name. --- harbour/ChangeLog | 15 +++++++++++++++ harbour/INSTALL | 4 ++-- harbour/Makefile | 4 ++-- harbour/contrib/Makefile | 2 +- harbour/package/harbour.spec | 2 +- harbour/utils/Makefile | 2 +- harbour/utils/hbmk2/hbmk2.prg | 6 ++++++ harbour/utils/hbrun/hbrun.prg | 6 ++++++ 8 files changed, 34 insertions(+), 7 deletions(-) diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 51a5cb20b7..d470abc39e 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -16,6 +16,21 @@ The license applies to all entries newer than 2009-04-28. */ +2011-02-08 23:22 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) + * Makefile + * contrib/Makefile + + Changed script runner tool to hbmk2 (from hbrun). + So now hbrun is not required for build process. + + * utils/Makefile + * package/harbour.spec + * INSTALL + * Changed to reflect that now hbmk2 runs the build scripts. + + * utils/hbmk2/hbmk2.prg + * utils/hbrun/hbrun.prg + + Added hbrun_ProgrName() function to return runner executable name. + 2011-02-08 22:29 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * utils/hbmk2/hbmk2.prg + Added experimental hbrun script runner "emulation" to hbmk2. diff --git a/harbour/INSTALL b/harbour/INSTALL index e69fde0d68..0ddaa606eb 100644 --- a/harbour/INSTALL +++ b/harbour/INSTALL @@ -220,7 +220,7 @@ HARBOUR If you want to rebuild one specific contrib package, use this: cd contrib/ - ..\..\bin\\\hbrun ..\make.hbs [clean] [install] [custom hbmk2 options] + ..\..\bin\\\hbmk2 ..\make.hbs [clean] [install] [custom hbmk2 options] @@ -771,7 +771,7 @@ HARBOUR If you leave this value empty, the make system will try to autodetect it, so in practice all you have to do is to create a native build first (no 'install' required), then create the cross-build. If you set this value - manually, it may be useful to know that harbour, hbpp, hbmk2, hbrun + manually, it may be useful to know that harbour, hbpp and hbmk2 executables are required for a cross-build process to succeed. diff --git a/harbour/Makefile b/harbour/Makefile index e93aa9058f..498403ce4c 100644 --- a/harbour/Makefile +++ b/harbour/Makefile @@ -14,7 +14,7 @@ ifeq ($(HB_BUILD_PARTS),compiler) else - # When doing a plain clean, we must not clean hbrun and hbmk2 + # When doing a plain clean, we must not clean hbmk2 # before calling it to clean the contrib area. _CONTRIB_FIRST := ifneq ($(filter clean,$(HB_MAKECMDGOALS)),) @@ -48,6 +48,6 @@ include $(ROOT)config/dir.mk ifneq ($(HB_NO_HBSCRIPT),yes) first clean install:: - $(if $(wildcard $(HB_HOST_BIN_DIR)/hbrun$(HB_HOST_BIN_EXT)),+$(HB_HOST_BIN_DIR)/hbrun$(HB_HOST_BIN_EXT) --hb:gtcgi $(TOP)$(ROOT)config/postinst.hbs $@,@$(ECHO) $(ECHOQUOTE)! Warning: hbrun not found, config/postinst.hbs skipped.$(ECHOQUOTE)) + $(if $(wildcard $(HB_HOST_BIN_DIR)/hbmk2$(HB_HOST_BIN_EXT)),+$(HB_HOST_BIN_DIR)/hbmk2$(HB_HOST_BIN_EXT) $(TOP)$(ROOT)config/postinst.hbs $@,@$(ECHO) $(ECHOQUOTE)! Warning: hbmk2 not found, config/postinst.hbs skipped.$(ECHOQUOTE)) endif diff --git a/harbour/contrib/Makefile b/harbour/contrib/Makefile index ccf169b125..d824c38b06 100644 --- a/harbour/contrib/Makefile +++ b/harbour/contrib/Makefile @@ -9,6 +9,6 @@ include $(ROOT)config/global.mk ifneq ($(HB_NO_HBSCRIPT),yes) first clean install:: - $(if $(wildcard $(HB_HOST_BIN_DIR)/hbrun$(HB_HOST_BIN_EXT)),-$(HB_HOST_BIN_DIR)/hbrun$(HB_HOST_BIN_EXT) --hb:gtcgi $(TOP)$(ROOT)contrib/make.hbs $@,@$(ECHO) $(ECHOQUOTE)! Warning: hbrun not found, contrib/make.hbs skipped.$(ECHOQUOTE)) + $(if $(wildcard $(HB_HOST_BIN_DIR)/hbmk2$(HB_HOST_BIN_EXT)),-$(HB_HOST_BIN_DIR)/hbmk2$(HB_HOST_BIN_EXT) $(TOP)$(ROOT)contrib/make.hbs $@,@$(ECHO) $(ECHOQUOTE)! Warning: hbmk2 not found, contrib/make.hbs skipped.$(ECHOQUOTE)) endif diff --git a/harbour/package/harbour.spec b/harbour/package/harbour.spec index 04bca80be1..c866fbc8a2 100644 --- a/harbour/package/harbour.spec +++ b/harbour/package/harbour.spec @@ -406,7 +406,7 @@ make %{?_smp_mflags} %install %{hb_env} -# necessary for shared linked hbrun used to execute postinst.hbs +# necessary for shared linked hbmk2 used to execute postinst.hbs export LD_LIBRARY_PATH=$HB_INSTALL_LIB make install %{?_smp_mflags} diff --git a/harbour/utils/Makefile b/harbour/utils/Makefile index 7f003be4ba..40412d42e3 100644 --- a/harbour/utils/Makefile +++ b/harbour/utils/Makefile @@ -7,13 +7,13 @@ ROOT := ../ ifneq ($(HB_BUILD_PARTS),lib) DIRS := \ - hbrun \ hbmk2 \ ifneq ($(HB_BUILD_PARTS),compiler) DIRS += \ hbi18n \ + hbrun \ hbtest \ $(__HB_UTIL_ADDONS) diff --git a/harbour/utils/hbmk2/hbmk2.prg b/harbour/utils/hbmk2/hbmk2.prg index 672efbd74e..881ddf61db 100644 --- a/harbour/utils/hbmk2/hbmk2.prg +++ b/harbour/utils/hbmk2/hbmk2.prg @@ -512,6 +512,7 @@ REQUEST HB_FGETATTR /* For hbrun emulation */ STATIC s_cDirBase_hbrun +STATIC s_cProgName_hbrun /* NOTE: Security token to protect against plugins accessing our internal structures referenced from context variable */ @@ -11511,6 +11512,7 @@ PROCEDURE hbmk2_hbrun_minimal( cFile, ... ) ENDIF CASE ".hrb" s_cDirBase_hbrun := hb_DirBase() + s_cProgName_hbrun := hb_ProgName() hb_argShift( .T. ) hb_hrbRun( cFile, ... ) EXIT @@ -11525,6 +11527,10 @@ PROCEDURE hbmk2_hbrun_minimal( cFile, ... ) FUNCTION hbrun_DirBase() RETURN s_cDirBase_hbrun +/* Public hbrun API */ +FUNCTION hbrun_ProgName() + RETURN s_cProgName_hbrun + /* Public hbrun API */ PROCEDURE hbrun_gtInteractive() hb_gtSelect( hb_gtCreate( hbrun_gtDefault() ) ) diff --git a/harbour/utils/hbrun/hbrun.prg b/harbour/utils/hbrun/hbrun.prg index 8dcabbfd6a..e1972c955d 100644 --- a/harbour/utils/hbrun/hbrun.prg +++ b/harbour/utils/hbrun/hbrun.prg @@ -87,6 +87,7 @@ STATIC s_lPreserveHistory := .T. STATIC s_lWasLoad := .F. STATIC s_cDirBase +STATIC s_cProgName /* ********************************************************************** */ @@ -166,6 +167,7 @@ PROCEDURE _APPMAIN( cFile, ... ) ENDIF OTHERWISE s_cDirBase := hb_DirBase() + s_cProgName := hb_ProgName() hb_argShift( .T. ) hb_hrbRun( cFile, ... ) EXIT @@ -271,6 +273,10 @@ STATIC FUNCTION hbrun_CoreHeaderFiles() FUNCTION hbrun_DirBase() RETURN s_cDirBase +/* Public hbrun API */ +FUNCTION hbrun_ProgName() + RETURN s_cProgName + EXIT PROCEDURE hbrun_exit() hbrun_HistorySave()