From 67e483e6d88b36dedab649ff95da09fb45c21073 Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Thu, 29 Jul 2010 11:12:47 +0000 Subject: [PATCH] 2010-07-29 13:12 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) * utils/hbrun/hbrun.prg + Added public function HBRUN_DIRBASE() which returns the same value as envvar __HBRUN__DIRBASE, but this one looks a superior interface between scripts and runner environment. Pls comment. * contrib/make.hbs * contrib/hbpost.hbm * Updated TODO list. * Renamed internal _HB_*_INSTALL vars to _HB_INSTALL_* ; TODO: Do the same in Harbour with HB_*_INSTALL envvars. --- harbour/ChangeLog | 13 +++++++++++++ harbour/contrib/hbpost.hbm | 14 +++++++------- harbour/contrib/make.hbs | 24 +++++++++++------------- harbour/utils/hbrun/hbrun.prg | 8 +++++++- 4 files changed, 38 insertions(+), 21 deletions(-) diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 71c30b3556..bd92c02e53 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -16,6 +16,19 @@ The license applies to all entries newer than 2009-04-28. */ +2010-07-29 13:12 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) + * utils/hbrun/hbrun.prg + + Added public function HBRUN_DIRBASE() which returns the + same value as envvar __HBRUN__DIRBASE, but this one looks + a superior interface between scripts and runner environment. + Pls comment. + + * contrib/make.hbs + * contrib/hbpost.hbm + * Updated TODO list. + * Renamed internal _HB_*_INSTALL vars to _HB_INSTALL_* + ; TODO: Do the same in Harbour with HB_*_INSTALL envvars. + 2010-07-29 12:52 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) * utils/hbmk2/hbmk2.prg ! Changed pkg-config based dependency detection to only consider diff --git a/harbour/contrib/hbpost.hbm b/harbour/contrib/hbpost.hbm index 302aa84c8f..b2f3adfd7f 100644 --- a/harbour/contrib/hbpost.hbm +++ b/harbour/contrib/hbpost.hbm @@ -42,11 +42,11 @@ {hblib}-workdir=../lib/${hb_plat}/${hb_comp}${hb_build}/${hb_work}/${hb_outputname}${hb_workdynsub} {hbexe|hbdyn}-workdir=../bin/${hb_plat}/${hb_comp}${hb_build}/${hb_work}/${hb_outputname}${hb_workdynsub} -{_HB_BUILD_INSTALL&hblib}-instpath=${_HB_LIB_INSTALL}/ -{_HB_BUILD_INSTALL&hbexe}-instpath=${_HB_BIN_INSTALL}/ -{_HB_BUILD_INSTALL&hbdyn}-instpath=${_HB_DYN_INSTALL}/ -{_HB_BUILD_INSTALL&hblib}-instpath=inc:${_HB_INC_INSTALL}/ -{_HB_BUILD_INSTALL}-instpath=etc:${_HB_ETC_INSTALL}/ -{_HB_BUILD_INSTALL}-instpath=man:${_HB_MAN_INSTALL}/ -{_HB_BUILD_INSTALL&HB_INSTALL_IMPLIB='yes'}-instpath=implib:${_HB_LIB_INSTALL}/ +{_HB_BUILD_INSTALL&hblib}-instpath=${_HB_INSTALL_LIB}/ +{_HB_BUILD_INSTALL&hbexe}-instpath=${_HB_INSTALL_BIN}/ +{_HB_BUILD_INSTALL&hbdyn}-instpath=${_HB_INSTALL_DYN}/ +{_HB_BUILD_INSTALL&hblib}-instpath=inc:${_HB_INSTALL_INC}/ +{_HB_BUILD_INSTALL}-instpath=etc:${_HB_INSTALL_ETC}/ +{_HB_BUILD_INSTALL}-instpath=man:${_HB_INSTALL_MAN}/ +{_HB_BUILD_INSTALL&HB_INSTALL_IMPLIB='yes'}-instpath=implib:${_HB_INSTALL_LIB}/ {_HB_BUILD_INSTALL}-instforce diff --git a/harbour/contrib/make.hbs b/harbour/contrib/make.hbs index a69c8fc60f..838c5364c4 100755 --- a/harbour/contrib/make.hbs +++ b/harbour/contrib/make.hbs @@ -31,19 +31,17 @@ 1. normalize path to hbpre/hbpost to save on cmdline 2. solve HB_BUILD_CONTRIB_DLL support the .dlls are either huge, or they don't link. - 3. hbmk2 location detection in standalone mode - (or move hbmk2 to core lib?) - 4. Move in external libs to contrib area? (bz2, minizip, sqlite3) + 3. Move in external libs to contrib area? (bz2, minizip, sqlite3) (the only downside is that irrelevant hits will be spilling 'grep -R' results) - 5. 'install' is ignored in stdalone mode. It would be needed to + 4. 'install' is ignored in stdalone mode. It would be needed to replicate the install dir defaulting logic found in global.mk to implement it. - 6. Delete header install related logic from GNU Make system, + 5. Delete header install related logic from GNU Make system, also delete doc/*.txt install related logic (easily replacable with postinst.hbs logic) - 7. Honor paths found in --hbinfo hbctree{{}} section. - 8. Move lib output dir and workdirs inside contrib dirs. + 6. Honor paths found in --hbinfo hbctree{{}} section. + 7. Move lib output dir and workdirs inside contrib dirs. */ #pragma warninglevel=3 @@ -323,12 +321,12 @@ PROCEDURE GNUMake( aParams, hPackageList ) /* Clearing envvars that may interact with hbmk2 */ /* Saving original install dirs to our own variables */ - hb_setenv( "_HB_BIN_INSTALL", GetEnv( "HB_BIN_INSTALL" ) ) - hb_setenv( "_HB_LIB_INSTALL", GetEnv( "HB_LIB_INSTALL" ) ) - hb_setenv( "_HB_DYN_INSTALL", GetEnv( "HB_DYN_INSTALL" ) ) - hb_setenv( "_HB_INC_INSTALL", GetEnv( "HB_INC_INSTALL" ) ) - hb_setenv( "_HB_MAN_INSTALL", GetEnv( "HB_MAN_INSTALL" ) ) - hb_setenv( "_HB_ETC_INSTALL", GetEnv( "HB_ETC_INSTALL" ) ) + hb_setenv( "_HB_INSTALL_BIN", GetEnv( "HB_BIN_INSTALL" ) ) + hb_setenv( "_HB_INSTALL_LIB", GetEnv( "HB_LIB_INSTALL" ) ) + hb_setenv( "_HB_INSTALL_DYN", GetEnv( "HB_DYN_INSTALL" ) ) + hb_setenv( "_HB_INSTALL_INC", GetEnv( "HB_INC_INSTALL" ) ) + hb_setenv( "_HB_INSTALL_MAN", GetEnv( "HB_MAN_INSTALL" ) ) + hb_setenv( "_HB_INSTALL_ETC", GetEnv( "HB_ETC_INSTALL" ) ) /* Override hbmk2 autodetection */ hb_setenv( "HB_INSTALL_PREFIX", s_cRoot ) diff --git a/harbour/utils/hbrun/hbrun.prg b/harbour/utils/hbrun/hbrun.prg index 8aede01e4d..9a84e2e2ac 100644 --- a/harbour/utils/hbrun/hbrun.prg +++ b/harbour/utils/hbrun/hbrun.prg @@ -81,6 +81,8 @@ STATIC s_aHistory := {} STATIC s_lPreserveHistory := .T. STATIC s_lWasLoad := .F. +STATIC s_cDirBase + /* ********************************************************************** */ PROCEDURE _APPMAIN( cFile, ... ) @@ -150,7 +152,8 @@ PROCEDURE _APPMAIN( cFile, ... ) ERRORLEVEL( 1 ) ENDIF OTHERWISE - hb_setenv( "__HBRUN__DIRBASE", hb_DirBase() ) + s_cDirBase := hb_DirBase() + hb_setenv( "__HBRUN__DIRBASE", s_cDirBase ) hb_argShift( .T. ) hb_hrbRun( cFile, ... ) EXIT @@ -163,6 +166,9 @@ PROCEDURE _APPMAIN( cFile, ... ) RETURN +FUNCTION hbrun_DirBase() + RETURN s_cDirBase + EXIT PROCEDURE hbrun_exit() hbrun_HistorySave()