diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 239ab8536d..1fbcc78790 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -16,6 +16,24 @@ The license applies to all entries newer than 2009-04-28. */ +2010-07-06 13:02 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) + * src/rtl/console.c + * src/rtl/philes.c + * include/hbextern.ch + + Added: HB_PS() function, which does the same as HB_OSPATHSEPARATOR(). + + Added: HB_EOL() function, which does the same as HB_OSNEWLINE(). + ; These are very often used functions with an exceptionally long and + hard to type name, so most programs employed macros for it. Now this + is unnecessary. Long names are deprecated. + + * contrib/Makefile + - contrib/makefile.hbs + + contrib/make.hbs + * Renamed to be shorter. + + Little steps for standlone running mode. + + Using HB_EOL() and HB_PS(). + ; TODO: Change it all over Harbour SVN. + 2010-07-06 12:28 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) * utils/hbmk2/hbmk2.prg ! Added strict parameter checking in sensitive places. diff --git a/harbour/contrib/Makefile b/harbour/contrib/Makefile index 1da3f1d00d..61a60790f3 100644 --- a/harbour/contrib/Makefile +++ b/harbour/contrib/Makefile @@ -28,7 +28,7 @@ DIRS := \ hbziparc \ xhb \ -# under testing in makefile.hbs +# under testing in make.hbs # hbblink \ # hbclipsm \ # rddbmcdx \ @@ -80,10 +80,10 @@ else endif clean:: - $(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/makefile.hbs clean migr,@$(ECHO) $(ECHOQUOTE)! Warning: hbrun not found, contrib/makefile.hbs not run.$(ECHOQUOTE)) + $(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 clean migr,@$(ECHO) $(ECHOQUOTE)! Warning: hbrun not found, contrib/make.hbs not run.$(ECHOQUOTE)) 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/makefile.hbs install migr,@$(ECHO) $(ECHOQUOTE)! Warning: hbrun not found, contrib/makefile.hbs not run.$(ECHOQUOTE)) + $(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 install migr,@$(ECHO) $(ECHOQUOTE)! Warning: hbrun not found, contrib/make.hbs not run.$(ECHOQUOTE)) all: - $(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/makefile.hbs all migr,@$(ECHO) $(ECHOQUOTE)! Warning: hbrun not found, contrib/makefile.hbs not run.$(ECHOQUOTE)) + $(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 all migr,@$(ECHO) $(ECHOQUOTE)! Warning: hbrun not found, contrib/make.hbs not run.$(ECHOQUOTE)) diff --git a/harbour/contrib/makefile.hbs b/harbour/contrib/make.hbs similarity index 96% rename from harbour/contrib/makefile.hbs rename to harbour/contrib/make.hbs index 8fe66505f4..0840881cdb 100644 --- a/harbour/contrib/makefile.hbs +++ b/harbour/contrib/make.hbs @@ -21,13 +21,12 @@ #define F_NAME 1 /* File name */ #define F_ATTR 5 /* File attribute */ -#define _PS_ hb_osPathSeparator() - #define _ACT_CLEAN 1 #define _ACT_INC 2 #define _ACT_INC_INST 3 #define _ACT_INC_REBUILD_INST 4 +STATIC s_lStdAlone STATIC s_lTest STATIC s_lMigr @@ -145,10 +144,11 @@ PROCEDURE Main( ... ) LOCAL tmp LOCAL nAction + s_lStdAlone := Empty( "HB_HOST_BIN_DIR" ) s_lMigr := "migr" $ hb_cmdLine() IF s_lMigr - OutStd( "! New contrib make orchestrator test run. |" + hb_cmdLine() + "|" + GetEnv( "HB_MAKECMDGOALS" ) + "|" + hb_dirBase() + "|" + CurDir() + "|", hb_osNewLine() ) + OutStd( "! New contrib make orchestrator test run. |" + hb_cmdLine() + "|" + GetEnv( "HB_MAKECMDGOALS" ) + "|" + hb_dirBase() + "|" + CurDir() + "|", hb_eol() ) /* testing with a limited set of contribs */ aLibsPass1 := {; @@ -235,11 +235,13 @@ PROCEDURE Main( ... ) /* Clearing envvars that may interact with hbmk2 */ + /* Copy 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" ) ) + /* Override hbmk2 autodetection */ hb_setenv( "HB_INSTALL_PREFIX", cRoot ) hb_setenv( "HB_BIN_INSTALL", cRoot + "bin/" + GetEnv( "HB_PLATFORM" ) + "/" + GetEnv( "HB_COMPILER" ) + iif( lBuildName, "/" + GetEnv( "HB_BUILD_NAME" ), "" ) ) hb_setenv( "HB_LIB_INSTALL", cRoot + "lib/" + GetEnv( "HB_PLATFORM" ) + "/" + GetEnv( "HB_COMPILER" ) + iif( lBuildName, "/" + GetEnv( "HB_BUILD_NAME" ), "" ) ) @@ -252,8 +254,6 @@ PROCEDURE Main( ... ) hb_setenv( "__HB_D", GetEnv( "HB_DYN_INSTALL" ) ) hb_setenv( "__HB_I", GetEnv( "HB_INC_INSTALL" ) ) - hb_setenv( "HBMK_OPTIONS" ) - /* Parse filter */ aFilter := iif( Empty( cFilter ), {}, hb_ATokens( cFilter,, .T. ) ) @@ -361,7 +361,7 @@ PROCEDURE Main( ... ) call_hbmk2( cBase + cProject, cTargetDir, cOptionsPre, cOptionsPost, .T. ) ENDIF ELSE - /* OutStd( hb_StrFormat( "'%s' project skipped", cProject ), hb_osNewLine() ) */ + /* OutStd( hb_StrFormat( "'%s' project skipped", cProject ), hb_eol() ) */ ENDIF ENDIF NEXT @@ -378,16 +378,17 @@ STATIC FUNCTION call_hbmk2( cProject, cTargetDir, cOptionsPre, cOptionsPost, lDy hb_FNameSplit( cProject, @cDir, @cName ) - /* Keeping cmdline as short as possible */ + /* Keeping cmdline as short as possible. Also making sure that user settings + do not interfere with the std build process. */ hb_setenv( "HBMK_OPTIONS", cOptionsPre ) - nErrorLevel := mk_hb_processRun( PathSepToSelf( GetEnv( "HB_HOST_BIN_DIR" ) ) + _PS_ + "hbmk2" +; + nErrorLevel := mk_hb_processRun( PathSepToSelf( GetEnv( "HB_HOST_BIN_DIR" ) ) + hb_ps() + "hbmk2" +; " " + cProject +; cOptionsPost +; " -workdir=" + cTargetDir + "/${hb_work}/" + cName + iif( lDyn, "${hb_workdynsub}", "" ) +; " -o" + cTargetDir + "/" ) IF nErrorLevel != 0 - OutStd( hb_StrFormat( "'%s' returned status: %s", cProject, hb_ntos( nErrorLevel ) ), hb_osNewLine() ) + OutStd( hb_StrFormat( "'%s' returned status: %s", cProject, hb_ntos( nErrorLevel ) ), hb_eol() ) RETURN .F. ENDIF @@ -395,7 +396,7 @@ STATIC FUNCTION call_hbmk2( cProject, cTargetDir, cOptionsPre, cOptionsPost, lDy STATIC FUNCTION mk_hb_processRun( cCommand ) - OutStd( cCommand, hb_osNewLine() ) + OutStd( cCommand, hb_eol() ) RETURN iif( s_lTest, 0, hb_processRun( cCommand ) ) diff --git a/harbour/include/hbextern.ch b/harbour/include/hbextern.ch index 37b0e3faec..020af90f35 100644 --- a/harbour/include/hbextern.ch +++ b/harbour/include/hbextern.ch @@ -921,6 +921,7 @@ EXTERNAL HB_OSERROR EXTERNAL HB_OSDRIVESEPARATOR EXTERNAL HB_OSPATHDELIMITERS EXTERNAL HB_OSPATHLISTSEPARATOR +EXTERNAL HB_PS EXTERNAL HB_OSPATHSEPARATOR EXTERNAL HB_OSFILEMASK EXTERNAL HB_SETKEY @@ -950,6 +951,7 @@ EXTERNAL HB_MEMOWRIT EXTERNAL HB_NTOS EXTERNAL HB_MILLISECONDS EXTERNAL HB_CURDRIVE +EXTERNAL HB_EOL EXTERNAL HB_OSNEWLINE EXTERNAL HB_OSISWINNT EXTERNAL HB_OSISWIN2K diff --git a/harbour/src/rtl/console.c b/harbour/src/rtl/console.c index 089ed37a7a..49cdb3efb5 100644 --- a/harbour/src/rtl/console.c +++ b/harbour/src/rtl/console.c @@ -202,6 +202,12 @@ const char * hb_conNewLine( void ) return s_szCrLf; } +HB_FUNC( HB_EOL ) +{ + hb_retc_const( s_szCrLf ); +} + +/* Deprecated */ HB_FUNC( HB_OSNEWLINE ) { hb_retc_const( s_szCrLf ); diff --git a/harbour/src/rtl/philes.c b/harbour/src/rtl/philes.c index 3b07b48682..01e925f77d 100644 --- a/harbour/src/rtl/philes.c +++ b/harbour/src/rtl/philes.c @@ -480,6 +480,12 @@ HB_FUNC( HB_OSERROR ) hb_retni( hb_fsOsError() ); } +HB_FUNC( HB_PS ) +{ + hb_retc_const( HB_OS_PATH_DELIM_CHR_STRING ); +} + +/* Deprecated */ HB_FUNC( HB_OSPATHSEPARATOR ) { hb_retc_const( HB_OS_PATH_DELIM_CHR_STRING );