diff --git a/harbour/ChangeLog b/harbour/ChangeLog index bf7549acc9..dfb79f4f07 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -17,6 +17,11 @@ past entries belonging to author(s): Viktor Szakats. */ +2009-07-14 18:28 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) + * source/pp/hbpp.c + * source/pp/Makefile + + Moved ChangeLog name detection logic to C level. + 2009-07-14 18:03 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) * bin/hb-func.sh * make_gnu.sh diff --git a/harbour/source/pp/Makefile b/harbour/source/pp/Makefile index a4e1cc26dd..1a5ca75267 100644 --- a/harbour/source/pp/Makefile +++ b/harbour/source/pp/Makefile @@ -26,33 +26,12 @@ INSTALL_RULE_LIBRARIES := $(INSTALL_RULE) HB_VERHEADER=$(TOP)$(ROOT)include/hbverbld.h -ifeq ($(HB_CHANGELOG),) - ifneq ($(HB_ARCHITECTURE)/$(HB_COMPILER),dos/watcom) - HB_CHANGELOG:=$(wildcard $(TOP)$(ROOT)[Cc]hange[Ll]og) - endif -ifeq ($(HB_CHANGELOG),) - HB_CHANGELOG:=$(wildcard $(TOP)$(ROOT)[Cc]hange[Ll]o) -ifeq ($(HB_CHANGELOG),) - HB_CHANGELOG:=$(wildcard $(TOP)$(ROOT)[Cc]hange~1) -ifeq ($(HB_CHANGELOG),) - HB_CHANGELOG:=$(wildcard $(TOP)$(ROOT)[Cc]hange~?) -ifeq ($(HB_CHANGELOG),) - HB_CHANGELOG:=$(wildcard $(TOP)$(ROOT)[Cc]hang~??) -ifeq ($(HB_CHANGELOG),) - HB_CHANGELOG:=$(wildcard $(TOP)$(ROOT)[Cc]hange[Ll]og) -endif -endif -endif -endif -endif -endif - ifneq ($(HB_PP_RULES),) pptable.c : $(HB_PP_RULES) $(CP) $(subst /,$(DIRSEP),$<) $@ else pptable.c : hbpp$(EXE_EXT) - $(HB_PPGEN_PATH)/hbpp$(EXE_EXT) $(TOP)$(ROOT)include/hbstdgen.ch -opptable.c -q -c$(HB_CHANGELOG) -v$(HB_VERHEADER) + $(HB_PPGEN_PATH)/hbpp$(EXE_EXT) $(TOP)$(ROOT)include/hbstdgen.ch -opptable.c -q -c -v$(HB_VERHEADER) endif ifneq ($(HB_BIN_INSTALL),) diff --git a/harbour/source/pp/hbpp.c b/harbour/source/pp/hbpp.c index aeeb088ffe..7fb1bc6bf1 100644 --- a/harbour/source/pp/hbpp.c +++ b/harbour/source/pp/hbpp.c @@ -441,18 +441,44 @@ static int hb_pp_parseChangelog( PHB_PP_STATE pState, const char * pszFileName, int iResult = 0; const char * pszFile; FILE * file_in; + int tmp; + BOOL bFound; - pszFile = pszFileName ? pszFileName : "../../../../ChangeLog"; + const char * names[] = { NULL + , "../../../../ChangeLog" + , "../../../../CHANGES" +#if defined( HB_OS_DOS ) + , "../../../../ChangeLo" + , "../../../../Change~1" + , "../../../../Chang~01" +#endif + }; - if( !pszFileName ) + names[ 0 ] = pszFileName; + + pszFile = NULL; + bFound = FALSE; + for( tmp = 0; tmp < ( int ) HB_SIZEOFARRAY( names ) && ! bFound; ++tmp ) { - while( *pszFile == '.' ) + pszFile = names[ tmp ]; + + if( pszFile ) { - if( hb_fsFileExists( pszFile ) ) - break; - pszFile += 3; + while( *pszFile == '.' ) + { + if( hb_fsFileExists( pszFile ) ) + { + bFound = TRUE; + break; + } + pszFile += 3; + } } } + + if( pszFile ) + fprintf( stdout, "Using ChangeLog file: %s\n", pszFile ); + file_in = hb_fopen( pszFile, "r" ); if( !file_in ) {