From 1ebc0350d3b4ebcaf8b5f9d45c18196cadb7c4b4 Mon Sep 17 00:00:00 2001 From: florian Date: Wed, 24 Nov 2021 22:37:04 +0100 Subject: [PATCH] * fpcmake uses now git for date and hash in revision.inc --- utils/fpcm/fpcmake.inc | 333 ++++++++++++++++++++-------------------- utils/fpcm/fpmake.pp | 137 ++++++++--------- utils/fpcm/revision.inc | 2 +- 3 files changed, 235 insertions(+), 237 deletions(-) diff --git a/utils/fpcm/fpcmake.inc b/utils/fpcm/fpcmake.inc index 06ccd18c42..b56b9e6c05 100644 --- a/utils/fpcm/fpcmake.inc +++ b/utils/fpcm/fpcmake.inc @@ -1,7 +1,7 @@ {$ifdef Delphi} -const fpcmakeini : array[0..258] of string[240]=( +const fpcmakeini : array[0..259] of string[240]=( {$else Delphi} -const fpcmakeini : array[0..258,1..240] of char=( +const fpcmakeini : array[0..259,1..240] of char=( {$endif Delphi} ';'#010+ '; Templates used by fpcmake to create a Makefile from Makefile.fpc'#010+ @@ -1603,7 +1603,8 @@ const fpcmakeini : array[0..258,1..240] of char=( '# on unix-like systems'#010+ 'ifneq ($(findstring $(OS_TARGET),dragonf','ly freebsd openbsd netbsd li'+ 'nux solaris),)'#010+ - 'ifneq ($(findstring $(CPU_TARGET),x86_64 mips mipsel riscv64),)'#010+ + 'ifneq ($(findstring $(CPU_TARGET),x86_64 mips mipsel riscv64 powerpc64'+ + '),)'#010+ 'override FPCOPT+=-Cg'#010+ 'endif'#010+ 'endif'#010+ @@ -1614,7 +1615,7 @@ const fpcmakeini : array[0..258,1..240] of char=( #010+ #010+ '[command_libc]'#010+ - '# Add GCC l','ib path if asked'#010+ + '#',' Add GCC lib path if asked'#010+ 'ifdef GCCLIBDIR'#010+ 'override FPCOPT+=-Fl$(GCCLIBDIR)'#010+ 'ifdef FPCMAKEGCCLIBDIR'#010+ @@ -1624,7 +1625,7 @@ const fpcmakeini : array[0..258,1..240] of char=( 'endif'#010+ 'endif'#010+ 'ifdef OTHERLIBDIR'#010+ - 'override FPCOPT+=$(addprefix -Fl,$(','OTHERLIBDIR))'#010+ + 'override FPCOPT+=$(addpre','fix -Fl,$(OTHERLIBDIR))'#010+ 'endif'#010+ #010+ #010+ @@ -1635,8 +1636,8 @@ const fpcmakeini : array[0..258,1..240] of char=( 'endif'#010+ #010+ '# Override options to compile the fpmake-binary with command-line opti'+ - 'ons provided in FPMAKEBUILDOPT'#010+ - 'ifdef FPMA','KEBUILDOPT'#010+ + 'ons provided in FPMAKEBUILDOPT'#010, + 'ifdef FPMAKEBUILDOPT'#010+ 'override FPMAKE_BUILD_OPT+=$(FPMAKEBUILDOPT)'#010+ 'endif'#010+ #010+ @@ -1647,7 +1648,7 @@ const fpcmakeini : array[0..258,1..240] of char=( #010+ '# Was a config file specified ?'#010+ 'ifdef CFGFILE'#010+ - 'override FPCOPT+=@$(CFG','FILE)'#010+ + 'override FPCO','PT+=@$(CFGFILE)'#010+ 'endif'#010+ #010+ '# Use the environment to pass commandline options?'#010+ @@ -1658,7 +1659,7 @@ const fpcmakeini : array[0..258,1..240] of char=( 'endif'#010+ #010+ 'override AFULL_TARGET=$(CPU_TARGET)-$(OS_TARGET)'#010+ - 'override AFULL_SOURCE=$(CPU_SOUR','CE)-$(OS_SOURCE)'#010+ + 'override AFULL_SOURCE=','$(CPU_SOURCE)-$(OS_SOURCE)'#010+ #010+ 'ifneq ($(AFULL_TARGET),$(AFULL_SOURCE))'#010+ 'override ACROSSCOMPILE=1'#010+ @@ -1671,15 +1672,15 @@ const fpcmakeini : array[0..258,1..240] of char=( '# Compiler commandline'#010+ 'override COMPILER:=$(strip $(FPC) $(FPCOPT))'#010+ #010+ - '# also call ppas if with ','command option -s'#010+ + '# also call ppa','s if with command option -s'#010+ '# but only if the FULL_SOURCE and FULL_TARGET are equal'#010+ '# or if -sh is used'#010+ 'ifneq (,$(findstring -sh ,$(COMPILER)))'#010+ 'UseEXECPPAS=1'#010+ 'endif'#010+ 'ifneq (,$(findstring -s ,$(COMPILER)))'#010+ - 'ifeq ($(FULL_SOURCE),$(FULL_TARGET))'#010+ - 'UseEXECPPA','S=1'#010+ + 'ifeq ($(FULL_SOURCE),$(FULL_TARGET))'#010, + 'UseEXECPPAS=1'#010+ 'endif'#010+ 'endif'#010+ 'ifneq ($(UseEXECPPAS),1)'#010+ @@ -1695,9 +1696,8 @@ const fpcmakeini : array[0..258,1..240] of char=( #010+ '[loaderrules]'#010+ '#####################################################################'#010+ - '# Loaders'#010+ - '######','##############################################################'+ - '#'#010+ + '# Load','ers'#010+ + '#####################################################################'#010+ #010+ '.PHONY: fpc_loaders'#010+ #010+ @@ -1705,8 +1705,8 @@ const fpcmakeini : array[0..258,1..240] of char=( 'override ALLTARGET+=fpc_loaders'#010+ 'override CLEANTARGET+=fpc_loaders_clean'#010+ 'override INSTALLTARGET+=fpc_loaders_install'#010+ - #010+ - 'override L','OADEROFILES:=$(addsuffix $(OEXT),$(TARGET_LOADERS))'#010+ + #010, + 'override LOADEROFILES:=$(addsuffix $(OEXT),$(TARGET_LOADERS))'#010+ 'endif'#010+ #010+ '%$(OEXT): %$(LOADEREXT)'#010+ @@ -1716,7 +1716,7 @@ const fpcmakeini : array[0..258,1..240] of char=( ' $(AS) -o $*$(OEXT) $<'#010+ 'endif'#010+ #010+ - 'fpc_loaders: $(COMPILER_UNITTA','RGETDIR) $(LOADEROFILES)'#010+ + 'fpc_loaders: $(COMPI','LER_UNITTARGETDIR) $(LOADEROFILES)'#010+ #010+ 'fpc_loaders_clean:'#010+ 'ifdef COMPILER_UNITTARGETDIR'#010+ @@ -1727,7 +1727,7 @@ const fpcmakeini : array[0..258,1..240] of char=( 'endif'#010+ #010+ 'fpc_loaders_install:'#010+ - ' $(MKDIR) $(INSTALL_UN','ITDIR)'#010+ + ' $(MKDIR) $(','INSTALL_UNITDIR)'#010+ 'ifdef COMPILER_UNITTARGETDIR'#010+ ' $(INSTALL) $(addprefix $(COMPILER_UNITTARGETDIR)/,$(LOADEROFIL'+ 'ES)) $(INSTALL_UNITDIR)'#010+ @@ -1737,7 +1737,7 @@ const fpcmakeini : array[0..258,1..240] of char=( #010+ #010+ '[unitrules]'#010+ - '###############################','#####################################'+ + '#####################','###############################################'+ '#'#010+ '# Units'#010+ '#####################################################################'#010+ @@ -1747,11 +1747,11 @@ const fpcmakeini : array[0..258,1..240] of char=( 'ifneq ($(TARGET_UNITS)$(TARGET_IMPLICITUNITS),)'#010+ 'override ALLTARGET+=fpc_units'#010+ #010+ - 'override UNITPPUFILES=$(','addsuffix $(PPUEXT),$(TARGET_UNITS))'#010+ + 'override UNITP','PUFILES=$(addsuffix $(PPUEXT),$(TARGET_UNITS))'#010+ 'override IMPLICITUNITPPUFILES=$(addsuffix $(PPUEXT),$(TARGET_IMPLICITU'+ 'NITS))'#010+ 'override INSTALLPPUFILES+=$(UNITPPUFILES) $(IMPLICITUNITPPUFILES)'#010+ - 'override CLEANPPUFILES+=$(UNITPPUFILES) $(IMPLICITUNITPPUFIL','ES)'#010+ + 'override CLEANPPUFILES+=$(UNITPPUFILES) $(IMPLICIT','UNITPPUFILES)'#010+ 'endif'#010+ #010+ 'fpc_units: $(COMPILER_UNITTARGETDIR) $(UNITPPUFILES)'#010+ @@ -1762,24 +1762,24 @@ const fpcmakeini : array[0..258,1..240] of char=( '# Exes'#010+ '#####################################################################'#010+ #010+ - '.PHONY: fpc_exe','s'#010+ + '.PHON','Y: fpc_exes'#010+ #010+ '# Programs are not needed for a cross installation'#010+ 'ifndef CROSSINSTALL'#010+ 'ifneq ($(TARGET_PROGRAMS),)'#010+ 'override EXEFILES=$(addsuffix $(EXEEXT),$(TARGET_PROGRAMS))'#010+ - 'override EXEOFILES:=$(addsuffix $(OEXT),$(TARGET_PROGRAMS)) $(addsuffi'+ - 'x $(LTOE','XT),$(TARGET_PROGRAMS))$(addprefix $(STATICLIBPREFIX),$(adds'+ - 'uffix $(STATICLIBEXT),$(TARGET_PROGRAMS))) $(addprefix $(IMPORTLIBPREF'+ - 'IX),$(addsuffix $(STATICLIBEXT),$(TARGET_PROGRAMS)))'#010+ - 'override EXEDBGFILES:=$(addsuffix $(EXEDBGEXT),$(TARGET_P','ROGRAMS))'#010+ + 'override EXEOFILES:=$(addsuffix $(OEXT),$(TARGET_PROGRAMS)) $(addsuf','f'+ + 'ix $(LTOEXT),$(TARGET_PROGRAMS))$(addprefix $(STATICLIBPREFIX),$(addsu'+ + 'ffix $(STATICLIBEXT),$(TARGET_PROGRAMS))) $(addprefix $(IMPORTLIBPREFI'+ + 'X),$(addsuffix $(STATICLIBEXT),$(TARGET_PROGRAMS)))'#010+ + 'override EXEDBGFILES:=$(addsuffix $(EXEDBGEXT),','$(TARGET_PROGRAMS))'#010+ #010+ 'override ALLTARGET+=fpc_exes'#010+ 'override INSTALLEXEFILES+=$(EXEFILES)'#010+ 'override CLEANEXEFILES+=$(EXEFILES) $(EXEOFILES)'#010+ 'override CLEANEXEDBGFILES+=$(EXEDBGFILES)'#010+ 'ifeq ($(OS_TARGET),os2)'#010+ - 'override CLEANEXEFILES+=$(addsuffix $(AOUTEXT),','$(TARGET_PROGRAMS))'#010+ + 'override CLEANEXEFILES+=$(addsuffix $','(AOUTEXT),$(TARGET_PROGRAMS))'#010+ 'endif'#010+ 'ifeq ($(OS_TARGET),emx)'#010+ 'override CLEANEXEFILES+=$(addsuffix $(AOUTEXT),$(TARGET_PROGRAMS))'#010+ @@ -1791,7 +1791,7 @@ const fpcmakeini : array[0..258,1..240] of char=( #010+ #010+ '[rstrules]'#010+ - '#####################','###############################################'+ + '###########','#########################################################'+ '#'#010+ '# Resource strings'#010+ '#####################################################################'#010+ @@ -1799,7 +1799,7 @@ const fpcmakeini : array[0..258,1..240] of char=( 'ifdef TARGET_RSTS'#010+ 'override RSTFILES=$(addsuffix $(RSTEXT),$(TARGET_RSTS))'#010+ #010+ - 'override CLEANRSTFILES+=$(','RSTFILES)'#010+ + 'override CLEANRS','TFILES+=$(RSTFILES)'#010+ 'endif'#010+ #010+ #010+ @@ -1810,22 +1810,22 @@ const fpcmakeini : array[0..258,1..240] of char=( #010+ '.PHONY: fpc_examples'#010+ #010+ - 'ifneq ($(TARGET_EXAMPLES),)'#010+ - 'HASEX','AMPLES=1'#010+ + 'ifneq ($(TARGET_EXAMPLE','S),)'#010+ + 'HASEXAMPLES=1'#010+ 'override EXAMPLESOURCEFILES=$(wildcard $(addsuffix .pp,$(TARGET_EXAMPL'+ 'ES)) $(addsuffix .pas,$(TARGET_EXAMPLES)) $(addsuffix .lpr,$(TARGET_EX'+ 'AMPLES)) $(addsuffix .dpr,$(TARGET_EXAMPLES)))'#010+ - 'override EXAMPLEFILES:=$(addsuffix $(EXEEXT)',',$(TARGET_EXAMPLES))'#010+ + 'override EXAMPLEFILES:=$(addsuffix',' $(EXEEXT),$(TARGET_EXAMPLES))'#010+ 'override EXAMPLEOFILES:=$(addsuffix $(OEXT),$(TARGET_EXAMPLES)) $(adds'+ 'uffix $(LTOEXT),$(TARGET_EXAMPLES)) $(addprefix $(STATICLIBPREFIX),$(a'+ - 'ddsuffix $(STATICLIBEXT),$(TARGET_EXAMPLES))) $(addprefix $(IMPORTLIBP'+ - 'REFIX),$(','addsuffix $(STATICLIBEXT),$(TARGET_EXAMPLES)))'#010+ + 'ddsuffix $(STATICLIBEXT),$(TARGET_EXAMPLES))) $(addprefix $(IMPORTLIB', + 'PREFIX),$(addsuffix $(STATICLIBEXT),$(TARGET_EXAMPLES)))'#010+ 'override EXAMPLEDBGFILES:=$(addsuffix $(EXEDBGEXT),$(TARGET_EXAMPLES))'+ #010+ #010+ 'override CLEANEXEFILES+=$(EXAMPLEFILES) $(EXAMPLEOFILES)'#010+ 'override CLEANEXEDBGFILES+=$(EXAMPLEDBGFILES)'#010+ - 'ifeq ($(OS_TARGET)',',os2)'#010+ + 'ifeq ($(','OS_TARGET),os2)'#010+ 'override CLEANEXEFILES+=$(addsuffix $(AOUTEXT),$(TARGET_EXAMPLES))'#010+ 'endif'#010+ 'ifeq ($(OS_TARGET),emx)'#010+ @@ -1834,16 +1834,16 @@ const fpcmakeini : array[0..258,1..240] of char=( 'endif'#010+ 'ifneq ($(TARGET_EXAMPLEDIRS),)'#010+ 'HASEXAMPLES=1'#010+ - 'endif'#010+ + 'end','if'#010+ #010+ - 'fpc_ex','amples: all $(EXAMPLEFILES) $(addsuffix _all,$(TARGET_EXAMPLED'+ - 'IRS))'#010+ + 'fpc_examples: all $(EXAMPLEFILES) $(addsuffix _all,$(TARGET_EXAMPLEDIR'+ + 'S))'#010+ #010+ #010+ '[compilerules]'#010+ '#####################################################################'#010+ '# General compile rules'#010+ - '#############################################################','#######'+ + '###################################################','#################'+ '#'#010+ #010+ '.PHONY: fpc_all fpc_smart fpc_debug fpc_release fpc_shared'#010+ @@ -1854,9 +1854,9 @@ const fpcmakeini : array[0..258,1..240] of char=( 'fpc_all: $(FPCMADE)'#010+ #010+ 'fpc_smart:'#010+ - ' $(MAKE) all LINKSMART=1 CREATESMART=1'#010+ + ' $(MAKE) all LINKSMART=1 CREATES','MART=1'#010+ #010+ - 'fp','c_debug:'#010+ + 'fpc_debug:'#010+ ' $(MAKE) all DEBUG=1'#010+ #010+ 'fpc_release:'#010+ @@ -1865,10 +1865,10 @@ const fpcmakeini : array[0..258,1..240] of char=( '# General compile rules, available for both possible .pp and .pas exte'+ 'nsions'#010+ #010+ - '.SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) $(LTOEXT) .pas .lpr .dpr .pp .r'+ + '.SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) $(LTOEXT) .pas .lpr .dpr .pp .r', 'c .res'#010+ #010+ - '$(','COMPILER_UNITTARGETDIR):'#010+ + '$(COMPILER_UNITTARGETDIR):'#010+ ' $(MKDIRTREE) $(COMPILER_UNITTARGETDIR)'#010+ #010+ '$(COMPILER_TARGETDIR):'#010+ @@ -1879,7 +1879,7 @@ const fpcmakeini : array[0..258,1..240] of char=( ' $(EXECPPAS)'#010+ #010+ '%$(PPUEXT): %.pas'#010+ - ' $(COMPILER) $','<'#010+ + ' $(C','OMPILER) $<'#010+ ' $(EXECPPAS)'#010+ #010+ '%$(EXEEXT): %.pp'#010+ @@ -1895,7 +1895,7 @@ const fpcmakeini : array[0..258,1..240] of char=( ' $(EXECPPAS)'#010+ #010+ '%$(EXEEXT): %.dpr'#010+ - ' $(COMP','ILER) $<'#010+ + ' ',' $(COMPILER) $<'#010+ ' $(EXECPPAS)'#010+ #010+ '%.res: %.rc'#010+ @@ -1903,13 +1903,13 @@ const fpcmakeini : array[0..258,1..240] of char=( #010+ '# Search paths for .ppu, .pp, .pas, .lpr, .dpr'#010+ 'vpath %.pp $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)'#010+ - 'vpath %.pas $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)'#010+ - 'vpath %.l','pr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)'#010+ + 'vpath %.pas $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)',#010+ + 'vpath %.lpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)'#010+ 'vpath %.dpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)'#010+ 'vpath %.inc $(COMPILER_INCLUDEDIR)'#010+ 'vpath %$(OEXT) $(COMPILER_UNITTARGETDIR)'#010+ 'vpath %$(LTOEXT) $(COMPILER_UNITTARGETDIR)'#010+ - 'vpath %$(PPUEXT)',' $(COMPILER_UNITTARGETDIR)'#010+ + 'vpath ','%$(PPUEXT) $(COMPILER_UNITTARGETDIR)'#010+ #010+ '[sharedrules]'#010+ '#####################################################################'#010+ @@ -1918,7 +1918,7 @@ const fpcmakeini : array[0..258,1..240] of char=( #010+ '.PHONY: fpc_shared'#010+ #010+ - 'override INSTALLTARGET+=fpc','_shared_install'#010+ + 'override INSTALLT','ARGET+=fpc_shared_install'#010+ #010+ 'ifndef SHARED_LIBVERSION'#010+ 'SHARED_LIBVERSION=$(FPC_VERSION)'#010+ @@ -1929,8 +1929,8 @@ const fpcmakeini : array[0..258,1..240] of char=( 'endif'#010+ #010+ 'ifndef SHARED_FULLNAME'#010+ - 'SHARED_FULLNAME=$(SHAREDLIBPREFIX)$(SHARED_LIBNAME)-$(SHARED_LIBVERSIO'+ - 'N)$(S','HAREDLIBEXT)'#010+ + 'SHARED_FULLNAME=$(SHAREDLIBPREFIX)$(SHARED_LIBNAME)-$(SHARED_LIBV','ERS'+ + 'ION)$(SHAREDLIBEXT)'#010+ 'endif'#010+ #010+ '# Default sharedlib units are all unit objects'#010+ @@ -1938,14 +1938,14 @@ const fpcmakeini : array[0..258,1..240] of char=( 'SHARED_LIBUNITS:=$(TARGET_UNITS) $(TARGET_IMPLICITUNITS)'#010+ 'override SHARED_LIBUNITS:=$(filter-out $(INSTALL_BUILDUNIT),$(SHARED_L'+ 'IBUNITS))'#010+ - 'endif'#010+ + 'end','if'#010+ #010+ - 'fpc_sh','ared:'#010+ + 'fpc_shared:'#010+ 'ifdef HASSHAREDLIB'#010+ ' $(MAKE) all CREATESHARED=1 LINKSHARED=1 CREATESMART=1'#010+ 'ifneq ($(SHARED_BUILD),n)'#010+ ' $(PPUMOVE) -q $(SHARED_LIBUNITS) -i$(COMPILER_UNITTARGETDIR) -'+ - 'o$(SHARED_FULLNAME) -d$(COMPILER_UNITTARGETDIR) -P$(BINUT','ILSPREFIX)'#010+ + 'o$(SHARED_FULLNAME) -d$(COMPILER_UNITTARGETDIR)',' -P$(BINUTILSPREFIX)'#010+ 'endif'#010+ 'else'#010+ ' @$(ECHO) Shared Libraries not supported'#010+ @@ -1955,7 +1955,7 @@ const fpcmakeini : array[0..258,1..240] of char=( 'ifneq ($(SHARED_BUILD),n)'#010+ 'ifneq ($(SHARED_LIBUNITS),)'#010+ 'ifneq ($(wildcard $(COMPILER_UNITTARGETDIR)/$(SHARED_FULLNAME)),)'#010+ - ' $(INSTALL) $(CO','MPILER_UNITTARGETDIR)/$(SHARED_FULLNAME) $(IN'+ + ' $(INS','TALL) $(COMPILER_UNITTARGETDIR)/$(SHARED_FULLNAME) $(IN'+ 'STALL_SHAREDDIR)'#010+ 'endif'#010+ 'endif'#010+ @@ -1964,7 +1964,7 @@ const fpcmakeini : array[0..258,1..240] of char=( '[installrules]'#010+ '#####################################################################'#010+ '# Install rules'#010+ - '##########################################################','##########'+ + '################################################','####################'+ '#'#010+ #010+ '.PHONY: fpc_install fpc_sourceinstall fpc_exampleinstall'#010+ @@ -1974,38 +1974,38 @@ const fpcmakeini : array[0..258,1..240] of char=( 'endif'#010+ #010+ 'ifdef INSTALL_BUILDUNIT'#010+ - 'override INSTALLPPUFILES:=$(filter-out $(INSTALL_BUI','LDUNIT)$(PPUEXT)'+ + 'override INSTALLPPUFILES:=$(filter-out $(I','NSTALL_BUILDUNIT)$(PPUEXT)'+ ',$(INSTALLPPUFILES))'#010+ 'endif'#010+ #010+ 'ifdef INSTALLPPUFILES'#010+ '# Avoid getting the same name twice as some install EXE fail'#010+ '# in this case, happends for instance for OS/2 target'#010+ - 'ifneq ($(IMPORTLIBPREFIX)-$(STATICLIBEXT),$(STATICLIBPREFIX',')-$(STATI'+ + 'ifneq ($(IMPORTLIBPREFIX)-$(STATICLIBEXT),$(STATI','CLIBPREFIX)-$(STATI'+ 'CLIBEXT))'#010+ 'override INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFI'+ 'LES)) $(subst $(PPUEXT),$(LTOEXT),$(INSTALLPPUFILES)) $(addprefix $(ST'+ 'ATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES))) '+ - '$(addprefix',' $(IMPORTLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(I'+ + '$','(addprefix $(IMPORTLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(I'+ 'NSTALLPPUFILES)))'#010+ 'else'#010+ 'override INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFI'+ 'LES)) $(subst $(PPUEXT),$(LTOEXT),$(INSTALLPPUFILES)) $(addprefix $(ST'+ - 'ATICLIBPREFIX),$(sub','st $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES))'+ + 'ATICLIBPRE','FIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES))'+ ')'#010+ 'endif'#010+ #010+ 'ifneq ($(UNITTARGETDIRPREFIX),)'#010+ 'override INSTALLPPUFILENAMES:=$(notdir $(INSTALLPPUFILES))'#010+ 'override INSTALLPPULINKFILENAMES:=$(notdir $(INSTALLPPULINKFILES))'#010+ - 'override INSTALLPPUFILES=','$(addprefix $(UNITTARGETDIRPREFIX),$(INSTAL'+ + 'override INSTAL','LPPUFILES=$(addprefix $(UNITTARGETDIRPREFIX),$(INSTAL'+ 'LPPUFILENAMES))'#010+ 'override INSTALLPPULINKFILES=$(wildcard $(addprefix $(UNITTARGETDIRPRE'+ 'FIX),$(INSTALLPPULINKFILENAMES)))'#010+ 'endif'#010+ '# Implicitly install Package.fpc'#010+ - 'override INSTALL_CREATEPACKAGEFPC=1'#010+ - 'en','dif'#010+ + 'override INSTALL_CREATEPACKA','GEFPC=1'#010+ + 'endif'#010+ #010+ 'ifdef INSTALLEXEFILES'#010+ 'ifneq ($(TARGETDIRPREFIX),)'#010+ @@ -2016,14 +2016,14 @@ const fpcmakeini : array[0..258,1..240] of char=( #010+ 'fpc_install: all $(INSTALLTARGET)'#010+ 'ifdef INSTALLEXEFILES'#010+ - ' $(MKDIR) $(INSTALL_BI','NDIR)'#010+ + ' $(MKDIR) $(','INSTALL_BINDIR)'#010+ ' $(INSTALLEXE) $(INSTALLEXEFILES) $(INSTALL_BINDIR)'#010+ 'endif'#010+ 'ifdef INSTALL_CREATEPACKAGEFPC'#010+ 'ifdef FPCMAKE'#010+ '# If the fpcpackage variable is set then create and install Package.fp'+ 'c,'#010+ - '# a safety check is done if Makefile.fpc is availab','le'#010+ + '# a safety check is done if Makefile.fpc ','is available'#010+ 'ifdef PACKAGE_VERSION'#010+ 'ifneq ($(wildcard Makefile.fpc),)'#010+ ' $(FPCMAKE) -p -T$(CPU_TARGET)-$(OS_TARGET) Makefile.fpc'#010+ @@ -2032,14 +2032,14 @@ const fpcmakeini : array[0..258,1..240] of char=( 'endif'#010+ 'endif'#010+ 'endif'#010+ - 'endif'#010+ - 'ifdef I','NSTALLPPUFILES'#010+ + 'end','if'#010+ + 'ifdef INSTALLPPUFILES'#010+ ' $(MKDIR) $(INSTALL_UNITDIR)'#010+ ' $(INSTALL) $(INSTALLPPUFILES) $(INSTALL_UNITDIR)'#010+ 'ifneq ($(INSTALLPPULINKFILES),)'#010+ ' $(INSTALL) $(INSTALLPPULINKFILES) $(INSTALL_UNITDIR)'#010+ 'endif'#010+ - 'ifneq ($(wildcard $(LIB_FULLNAME)','),)'#010+ + 'ifneq ($(wildcard $(LIB','_FULLNAME)),)'#010+ ' $(MKDIR) $(INSTALL_LIBDIR)'#010+ ' $(INSTALL) $(LIB_FULLNAME) $(INSTALL_LIBDIR)'#010+ 'ifdef inUnix'#010+ @@ -2048,7 +2048,7 @@ const fpcmakeini : array[0..258,1..240] of char=( 'endif'#010+ 'endif'#010+ 'ifdef INSTALL_FILES'#010+ - ' $(MKDIR) $(INSTALL_DATADIR)'#010, + ' $(MKDIR) $(INSTALL','_DATADIR)'#010+ ' $(INSTALL) $(INSTALL_FILES) $(INSTALL_DATADIR)'#010+ 'endif'#010+ #010+ @@ -2056,7 +2056,7 @@ const fpcmakeini : array[0..258,1..240] of char=( ' $(MKDIR) $(INSTALL_SOURCEDIR)'#010+ ' $(COPYTREE) $(BASEDIR)/* $(INSTALL_SOURCEDIR)'#010+ #010+ - 'fpc_exampleinstall: $(EXAMPLEINSTALLTARGET) $(addsuffix ','_distclean,$'+ + 'fpc_exampleinstall: $(EXAMPLEINSTALLTARGET) $(','addsuffix _distclean,$'+ '(TARGET_EXAMPLEDIRS))'#010+ 'ifdef HASEXAMPLES'#010+ ' $(MKDIR) $(INSTALL_EXAMPLEDIR)'#010+ @@ -2065,16 +2065,17 @@ const fpcmakeini : array[0..258,1..240] of char=( ' $(COPY) $(EXAMPLESOURCEFILES) $(INSTALL_EXAMPLEDIR)'#010+ 'endif'#010+ 'ifdef TARGET_EXAMPLEDIRS'#010+ - ' $(COPYTREE) $(addsu','ffix /*,$(TARGET_EXAMPLEDIRS)) $(INSTALL_'+ + ' $(COPYTRE','E) $(addsuffix /*,$(TARGET_EXAMPLEDIRS)) $(INSTALL_'+ 'EXAMPLEDIR)'#010+ 'endif'#010+ #010+ '[distinstallrules]'#010+ '#####################################################################'#010+ '# Dist Install'#010+ - '#####################################################################'#010+ + '##################################################################','##'+ + '#'#010+ #010+ - '.PHON','Y: fpc_distinstall'#010+ + '.PHONY: fpc_distinstall'#010+ #010+ 'fpc_distinstall: install exampleinstall'#010+ #010+ @@ -2084,14 +2085,14 @@ const fpcmakeini : array[0..258,1..240] of char=( '# Zip'#010+ '#####################################################################'#010+ #010+ - '.PHONY: fpc_z','ipinstall fpc_zipsourceinstall fpc_zipexampleinstall'#010+ + '.PH','ONY: fpc_zipinstall fpc_zipsourceinstall fpc_zipexampleinstall'#010+ #010+ '# Temporary path to pack a file, can only use a single deep'#010+ '# subdir, because the deltree can'#039't see the whole tree to remove'#010+ 'ifndef PACKDIR'#010+ 'ifndef inUnix'#010+ - 'PACKDIR=$(BASEDIR)/../fpc-pack'#010+ - 'e','lse'#010+ + 'PACKDIR=$(BASEDIR)/../','fpc-pack'#010+ + 'else'#010+ 'PACKDIR=/tmp/fpc-pack'#010+ 'endif'#010+ 'endif'#010+ @@ -2106,7 +2107,7 @@ const fpcmakeini : array[0..258,1..240] of char=( 'endif'#010+ #010+ 'ifndef FULLZIPNAME'#010+ - 'FULLZIPNAME=$(ZIPCROSSPREFIX)$(ZIP','PREFIX)$(ZIPNAME)$(ZIPSUFFIX)'#010+ + 'FULLZIPNAME=$(ZIPCROSSPR','EFIX)$(ZIPPREFIX)$(ZIPNAME)$(ZIPSUFFIX)'#010+ 'endif'#010+ #010+ '# ZipTarget'#010+ @@ -2124,8 +2125,8 @@ const fpcmakeini : array[0..258,1..240] of char=( 'USETAR=1'#010+ 'endif'#010+ 'endif'#010+ - #010+ - '# Use a wr','apper script by default for Os/2'#010+ + #010, + '# Use a wrapper script by default for Os/2'#010+ 'ifndef inUnix'#010+ 'USEZIPWRAPPER=1'#010+ 'endif'#010+ @@ -2134,7 +2135,7 @@ const fpcmakeini : array[0..258,1..240] of char=( '# the path separator'#010+ 'ifdef USEZIPWRAPPER'#010+ 'ZIPPATHSEP=$(PATHSEP)'#010+ - 'ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip','$(SRCBATCHEXT)'+ + 'ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTD','IR)/fpczip$(SRCBATCHEXT)'+ ')'#010+ 'else'#010+ 'ZIPPATHSEP=/'#010+ @@ -2144,7 +2145,7 @@ const fpcmakeini : array[0..258,1..240] of char=( 'ZIPCMD_CDPACK:=cd $(subst /,$(ZIPPATHSEP),$(PACKDIR))'#010+ 'ZIPCMD_CDBASE:=cd $(subst /,$(ZIPPATHSEP),$(BASEDIR))'#010+ 'ifdef USETAR'#010+ - 'ZIPDESTFILE:=$(DIST_DESTDIR)/$(FU','LLZIPNAME)$(TAREXT)'#010+ + 'ZIPDESTFILE:=$(DIST_DES','TDIR)/$(FULLZIPNAME)$(TAREXT)'#010+ 'ZIPCMD_ZIP:=$(TARPROG) c$(TAROPT)f $(ZIPDESTFILE) *'#010+ 'else'#010+ 'ZIPDESTFILE:=$(DIST_DESTDIR)/$(FULLZIPNAME)$(ZIPEXT)'#010+ @@ -2152,21 +2153,21 @@ const fpcmakeini : array[0..258,1..240] of char=( 'TFILE) *'#010+ 'endif'#010+ #010+ - 'fpc_zipinstall:'#010+ - ' ','$(MAKE) $(ZIPTARGET) INSTALL_PREFIX=$(PACKDIR) ZIPINSTALL=1'#010+ + 'fpc_zipinstall',':'#010+ + ' $(MAKE) $(ZIPTARGET) INSTALL_PREFIX=$(PACKDIR) ZIPINSTALL=1'#010+ ' $(MKDIR) $(DIST_DESTDIR)'#010+ ' $(DEL) $(ZIPDESTFILE)'#010+ 'ifdef USEZIPWRAPPER'#010+ '# Handle gecho separate as we need to espace \ with \\'#010+ 'ifneq ($(ECHOREDIR),echo)'#010+ - ' $(ECHORE','DIR) -e "$(subst \,\\,$(ZIPCMD_CDPACK))" > $(ZIPWRAP'+ + ' ',' $(ECHOREDIR) -e "$(subst \,\\,$(ZIPCMD_CDPACK))" > $(ZIPWRAP'+ 'PER)'#010+ ' $(ECHOREDIR) -e "$(subst \,\\,$(ZIPCMD_ZIP))" >> $(ZIPWRAPPER)'+ #010+ ' $(ECHOREDIR) -e "$(subst \,\\,$(ZIPCMD_CDBASE))" >> $(ZIPWRAPP'+ 'ER)'#010+ 'else'#010+ - ' echo $(ZIPCMD_CDPACK) > $','(ZIPWRAPPER)'#010+ + ' echo $(ZIPCMD_C','DPACK) > $(ZIPWRAPPER)'#010+ ' echo $(ZIPCMD_ZIP) >> $(ZIPWRAPPER)'#010+ ' echo $(ZIPCMD_CDBASE) >> $(ZIPWRAPPER)'#010+ 'endif'#010+ @@ -2176,8 +2177,8 @@ const fpcmakeini : array[0..258,1..240] of char=( 'ifdef RUNBATCH'#010+ ' $(RUNBATCH) $(ZIPWRAPPER)'#010+ 'else'#010+ - ' $(ZIPWRAPPER)'#010+ - 'endif'#010, + ' $(ZIPWRAPP','ER)'#010+ + 'endif'#010+ 'endif'#010+ ' $(DEL) $(ZIPWRAPPER)'#010+ 'else'#010+ @@ -2187,7 +2188,7 @@ const fpcmakeini : array[0..258,1..240] of char=( #010+ 'fpc_zipsourceinstall:'#010+ ' $(MAKE) fpc_zipinstall ZIPTARGET=sourceinstall ZIPSUFFIX=$(ZIP'+ - 'SOURCESUFFI','X)'#010+ + 'S','OURCESUFFIX)'#010+ #010+ 'fpc_zipexampleinstall:'#010+ 'ifdef HASEXAMPLES'#010+ @@ -2200,7 +2201,7 @@ const fpcmakeini : array[0..258,1..240] of char=( #010+ #010+ '[cleanrules]'#010+ - '##############','######################################################'+ + '####','################################################################'+ '#'#010+ '# Clean rules'#010+ '#####################################################################'#010+ @@ -2208,7 +2209,7 @@ const fpcmakeini : array[0..258,1..240] of char=( '.PHONY: fpc_clean fpc_cleanall fpc_distclean'#010+ #010+ 'ifdef EXEFILES'#010+ - 'override CLEANEXEFILES:=$(addprefix $(','TARGETDIRPREFIX),$(CLEANEXEFIL'+ + 'override CLEANEXEFILES:=$(ad','dprefix $(TARGETDIRPREFIX),$(CLEANEXEFIL'+ 'ES))'#010+ 'override CLEANEXEDBGFILES:=$(addprefix $(TARGETDIRPREFIX),$(CLEANEXEDB'+ 'GFILES))'#010+ @@ -2216,7 +2217,7 @@ const fpcmakeini : array[0..258,1..240] of char=( #010+ 'ifdef CLEAN_PROGRAMS'#010+ 'override CLEANEXEFILES+=$(addprefix $(TARGETDIRPREFIX),$(addsuffix $(E'+ - 'XEEXT), $(CLEAN_PROGRAMS)))'#010, + 'XEEXT), $(CLEAN_PR','OGRAMS)))'#010+ 'override CLEANEXEDBGFILES+=$(addprefix $(TARGETDIRPREFIX),$(addsuffix '+ '$(EXEDBGEXT), $(CLEAN_PROGRAMS)))'#010+ 'endif'#010+ @@ -2226,18 +2227,18 @@ const fpcmakeini : array[0..258,1..240] of char=( 'endif'#010+ #010+ 'ifdef CLEANPPUFILES'#010+ - 'override CLEANPPULINKF','ILES:=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILE'+ + 'override CLE','ANPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILE'+ 'S)) $(subst $(PPUEXT),$(LTOEXT),$(CLEANPPUFILES)) $(addprefix $(STATIC'+ 'LIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES))) $(addp'+ - 'refix $(IMPORTLIBPREFIX),$(subst $(PPUEXT),$(STATICLIB','EXT),$(CLEANPP'+ + 'refix $(IMPORTLIBPREFIX),$(subst $(PPUEXT),$','(STATICLIBEXT),$(CLEANPP'+ 'UFILES)))'#010+ 'ifdef DEBUGSYMEXT'#010+ 'override CLEANPPULINKFILES+=$(subst $(PPUEXT),$(DEBUGSYMEXT),$(CLEANPP'+ 'UFILES))'#010+ 'endif'#010+ 'override CLEANPPUFILENAMES:=$(CLEANPPUFILES)'#010+ - 'override CLEANPPUFILES=$(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPU','F'+ - 'ILENAMES))'#010+ + 'override CLEANPPUFILES=$(addprefix $(UNITTARGETDIRPREFIX),','$(CLEANPPU'+ + 'FILENAMES))'#010+ 'override CLEANPPULINKFILENAMES:=$(CLEANPPULINKFILES)'#010+ 'override CLEANPPULINKFILES=$(wildcard $(addprefix $(UNITTARGETDIRPREFI'+ 'X),$(CLEANPPULINKFILENAMES)))'#010+ @@ -2245,7 +2246,7 @@ const fpcmakeini : array[0..258,1..240] of char=( #010+ 'fpc_clean: $(CLEANTARGET)'#010+ 'ifdef CLEANEXEFILES'#010+ - ' -$(DEL) $(CLEA','NEXEFILES)'#010+ + ' -$(D','EL) $(CLEANEXEFILES)'#010+ 'endif'#010+ '# DELTREE instead of DEL because on Mac OS X these are directories'#010+ 'ifdef CLEANEXEDBGFILES'#010+ @@ -2254,7 +2255,7 @@ const fpcmakeini : array[0..258,1..240] of char=( 'ifdef CLEANPPUFILES'#010+ ' -$(DEL) $(CLEANPPUFILES)'#010+ 'endif'#010+ - 'ifneq ($(CLEANPPULINKFILES),',')'#010+ + 'ifneq ($(CLEANPPUL','INKFILES),)'#010+ ' -$(DEL) $(CLEANPPULINKFILES)'#010+ 'endif'#010+ 'ifdef CLEANRSTFILES'#010+ @@ -2264,12 +2265,12 @@ const fpcmakeini : array[0..258,1..240] of char=( ' -$(DEL) $(CLEAN_FILES)'#010+ 'endif'#010+ 'ifdef LIB_NAME'#010+ - ' -$(DEL) $(LIB_NAME) $(','LIB_FULLNAME)'#010+ + ' -$(DEL) $(LI','B_NAME) $(LIB_FULLNAME)'#010+ 'endif'#010+ ' -$(DEL) $(FPCMADE) *$(FULL_TARGET).fpm Package.fpc *$(ASMEXT)'#010+ ' -$(DEL) $(FPCEXTFILE) $(REDIRFILE) script*.res link*.res *_scr'+ 'ipt.res *_link.res'#010+ - ' -$(DEL) $(PPAS) *_ppas$(BATCHEXT) ppas$(BATCHEXT) ppa','slink$('+ + ' -$(DEL) $(PPAS) *_ppas$(BATCHEXT) ppas$(BAT','CHEXT) ppaslink$('+ 'BATCHEXT)'#010+ #010+ 'fpc_cleanall: $(CLEANTARGET)'#010+ @@ -2281,7 +2282,7 @@ const fpcmakeini : array[0..258,1..240] of char=( ' -$(DEL) $(CLEANPPUFILES)'#010+ 'endif'#010+ 'ifneq ($(CLEANPPULINKFILES),)'#010+ - ' -$(DEL) ','$(CLEANPPULINKFILES)'#010+ + ' ',' -$(DEL) $(CLEANPPULINKFILES)'#010+ 'endif'#010+ 'ifdef CLEANRSTFILES'#010+ ' -$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES))'#010+ @@ -2291,14 +2292,14 @@ const fpcmakeini : array[0..258,1..240] of char=( ' -$(DEL) $(CLEAN_FILES)'#010+ 'endif'#010+ ' -$(DELTREE) units'#010+ - ' -$(DELTREE) bin'#010+ - ' ',' -$(DEL) *$(OEXT) *$(LTOEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT)'+ - ' *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)'#010+ + ' -$(DELTREE) b','in'#010+ + ' -$(DEL) *$(OEXT) *$(LTOEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *'+ + '$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)'#010+ 'ifneq ($(PPUEXT),.ppu)'#010+ ' -$(DEL) *.o *.ppu *.a'#010+ 'endif'#010+ ' -$(DELTREE) *$(SMARTEXT)'#010+ - ' -$(DEL) fpcmade.* Package.fpc *.f','pm'#010+ + ' -$(DEL) fpcmade.* Packa','ge.fpc *.fpm'#010+ ' -$(DEL) $(FPCEXTFILE) $(REDIRFILE) script*.res link*.res *_scr'+ 'ipt.res *_link.res'#010+ ' -$(DEL) $(PPAS) *_ppas$(BATCHEXT) ppas$(BATCHEXT) ppaslink$(BA'+ @@ -2306,8 +2307,8 @@ const fpcmakeini : array[0..258,1..240] of char=( 'ifdef AOUTEXT'#010+ ' -$(DEL) *$(AOUTEXT)'#010+ 'endif'#010+ - 'ifdef DEBUGSYMEXT'#010+ - ' ',' -$(DEL) *$(DEBUGSYMEXT)'#010+ + 'ifdef DEBUGS','YMEXT'#010+ + ' -$(DEL) *$(DEBUGSYMEXT)'#010+ 'endif'#010+ 'ifdef LOCALFPMAKEBIN'#010+ ' -$(DEL) $(LOCALFPMAKEBIN)'#010+ @@ -2318,7 +2319,8 @@ const fpcmakeini : array[0..258,1..240] of char=( #010+ #010+ '[baseinforules]'#010+ - '#####################################################################'#010, + '############################################################','########'+ + '#'#010+ '# Base info rules'#010+ '#####################################################################'#010+ #010+ @@ -2329,37 +2331,37 @@ const fpcmakeini : array[0..258,1..240] of char=( 'fpc_baseinfo:'#010+ ' @$(ECHO)'#010+ ' @$(ECHO) == Package info =='#010+ - ' @$(ECHO) Package N','ame..... $(PACKAGE_NAME)'#010+ + ' @$(ECHO) ',' Package Name..... $(PACKAGE_NAME)'#010+ ' @$(ECHO) Package Version.. $(PACKAGE_VERSION)'#010+ ' @$(ECHO)'#010+ ' @$(ECHO) == Configuration info =='#010+ ' @$(ECHO)'#010+ ' @$(ECHO) FPC.......... $(FPC)'#010+ - ' @$(ECHO) FPC Version.. $(FPC_VERSIO','N)'#010+ + ' @$(ECHO) FPC Version.. $(','FPC_VERSION)'#010+ ' @$(ECHO) Source CPU... $(CPU_SOURCE)'#010+ ' @$(ECHO) Target CPU... $(CPU_TARGET)'#010+ ' @$(ECHO) Source OS.... $(OS_SOURCE)'#010+ ' @$(ECHO) Target OS.... $(OS_TARGET)'#010+ - ' @$(ECHO) Full Source.. $(FULL_SOURCE)'#010+ - ' ','@$(ECHO) Full Target.. $(FULL_TARGET)'#010+ + ' @$(ECHO) Full Source.. $(FULL_SOURCE',')'#010+ + ' @$(ECHO) Full Target.. $(FULL_TARGET)'#010+ ' @$(ECHO) SourceSuffix. $(SOURCESUFFIX)'#010+ ' @$(ECHO) TargetSuffix. $(TARGETSUFFIX)'#010+ ' @$(ECHO) FPC fpmake... $(FPCFPMAKE)'#010+ ' @$(ECHO)'#010+ - ' @$(ECHO) == Directory info =='#010+ - ' ',' @$(ECHO)'#010+ + ' @$(ECHO) == Directory in','fo =='#010+ + ' @$(ECHO)'#010+ ' @$(ECHO) Required pkgs... $(REQUIRE_PACKAGES)'#010+ ' @$(ECHO)'#010+ ' @$(ECHO) Basedir......... $(BASEDIR)'#010+ ' @$(ECHO) FPCDir.......... $(FPCDIR)'#010+ ' @$(ECHO) CrossBinDir..... $(CROSSBINDIR)'#010+ - ' @$(ECH','O) UnitsDir........ $(UNITSDIR)'#010+ + ' ',' @$(ECHO) UnitsDir........ $(UNITSDIR)'#010+ ' @$(ECHO) PackagesDir..... $(PACKAGESDIR)'#010+ ' @$(ECHO)'#010+ ' @$(ECHO) GCC library..... $(GCCLIBDIR)'#010+ ' @$(ECHO) Other library... $(OTHERLIBDIR)'#010+ ' @$(ECHO)'#010+ - ' @$(ECHO) == Tool','s info =='#010+ + ' @$(ECHO',') == Tools info =='#010+ ' @$(ECHO)'#010+ ' @$(ECHO) As........ $(AS)'#010+ ' @$(ECHO) Ld........ $(LD)'#010+ @@ -2367,54 +2369,54 @@ const fpcmakeini : array[0..258,1..240] of char=( ' @$(ECHO) Rc........ $(RC)'#010+ ' @$(ECHO)'#010+ ' @$(ECHO) Mv........ $(MVPROG)'#010+ - ' @$(ECHO) ',' Cp........ $(CPPROG)'#010+ + ' ',' @$(ECHO) Cp........ $(CPPROG)'#010+ ' @$(ECHO) Rm........ $(RMPROG)'#010+ ' @$(ECHO) GInstall.. $(GINSTALL)'#010+ ' @$(ECHO) Echo...... $(ECHO)'#010+ ' @$(ECHO) Shell..... $(SHELL)'#010+ ' @$(ECHO) Date...... $(DATE)'#010+ - ' @$(ECHO) FPCMake.','.. $(FPCMAKE)'#010+ + ' @$(ECHO)',' FPCMake... $(FPCMAKE)'#010+ ' @$(ECHO) PPUMove... $(PPUMOVE)'#010+ ' @$(ECHO) Zip....... $(ZIPPROG)'#010+ ' @$(ECHO)'#010+ ' @$(ECHO) == Object info =='#010+ ' @$(ECHO)'#010+ ' @$(ECHO) Target Loaders........ $(TARGET_LOADERS)'#010+ - ' @$(ECHO) ',' Target Units.......... $(TARGET_UNITS)'#010+ + ' ',' @$(ECHO) Target Units.......... $(TARGET_UNITS)'#010+ ' @$(ECHO) Target Implicit Units. $(TARGET_IMPLICITUNITS)'#010+ ' @$(ECHO) Target Programs....... $(TARGET_PROGRAMS)'#010+ ' @$(ECHO) Target Dirs........... $(TARGET_DIRS)'#010+ - ' @$(ECHO) T','arget Examples....... $(TARGET_EXAMPLES)'#010+ + ' @','$(ECHO) Target Examples....... $(TARGET_EXAMPLES)'#010+ ' @$(ECHO) Target ExampleDirs.... $(TARGET_EXAMPLEDIRS)'#010+ ' @$(ECHO)'#010+ ' @$(ECHO) Clean Units......... $(CLEAN_UNITS)'#010+ ' @$(ECHO) Clean Files......... $(CLEAN_FILES)'#010+ - ' @$(','ECHO)'#010+ + ' ',' @$(ECHO)'#010+ ' @$(ECHO) Install Units....... $(INSTALL_UNITS)'#010+ ' @$(ECHO) Install Files....... $(INSTALL_FILES)'#010+ ' @$(ECHO)'#010+ ' @$(ECHO) == Install info =='#010+ ' @$(ECHO)'#010+ - ' @$(ECHO) DateStr.............. $(DATESTR)'#010, + ' @$(ECHO) DateStr.............. $','(DATESTR)'#010+ ' @$(ECHO) ZipName.............. $(ZIPNAME)'#010+ ' @$(ECHO) ZipPrefix............ $(ZIPPREFIX)'#010+ ' @$(ECHO) ZipCrossPrefix....... $(ZIPCROSSPREFIX)'#010+ ' @$(ECHO) ZipSuffix............ $(ZIPSUFFIX)'#010+ - ' @$(ECHO) FullZip','Name.......... $(FULLZIPNAME)'#010+ + ' @$(ECHO',') FullZipName.......... $(FULLZIPNAME)'#010+ ' @$(ECHO) Install FPC Package.. $(INSTALL_FPCPACKAGE)'#010+ ' @$(ECHO)'#010+ ' @$(ECHO) Install base dir..... $(INSTALL_BASEDIR)'#010+ ' @$(ECHO) Install binary dir... $(INSTALL_BINDIR)'#010+ - ' @$(ECH','O) Install library dir.. $(INSTALL_LIBDIR)'#010+ + ' ',' @$(ECHO) Install library dir.. $(INSTALL_LIBDIR)'#010+ ' @$(ECHO) Install units dir.... $(INSTALL_UNITDIR)'#010+ ' @$(ECHO) Install source dir... $(INSTALL_SOURCEDIR)'#010+ ' @$(ECHO) Install doc dir...... $(INSTALL_DOCDIR)'#010+ - ' @$(ECHO) ','Install example dir.. $(INSTALL_EXAMPLEDIR)'#010+ + ' ','@$(ECHO) Install example dir.. $(INSTALL_EXAMPLEDIR)'#010+ ' @$(ECHO) Install data dir..... $(INSTALL_DATADIR)'#010+ ' @$(ECHO)'#010+ ' @$(ECHO) Dist destination dir. $(DIST_DESTDIR)'#010+ - ' @$(ECHO) Dist zip name........ $(DIST_ZIPNAME)'#010+ - ' ','@$(ECHO)'#010+ + ' @$(ECHO) Dist zip name........ $(DIST_ZIPNAME',')'#010+ + ' @$(ECHO)'#010+ #010+ '[inforules]'#010+ '#####################################################################'#010+ @@ -2425,15 +2427,14 @@ const fpcmakeini : array[0..258,1..240] of char=( #010+ 'fpc_info: $(INFORULES)'#010+ #010+ - '[makefilerules]'#010+ - '######','##############################################################'+ - '#'#010+ + '[makefilerul','es]'#010+ + '#####################################################################'#010+ '# Rebuild Makefile'#010+ '#####################################################################'#010+ #010+ '.PHONY: fpc_makefile fpc_makefiles fpc_makefile_sub1 fpc_makefile_sub2'+ ' \'#010+ - ' fpc_m','akefile_dirs'#010+ + ' ',' fpc_makefile_dirs'#010+ #010+ 'fpc_makefile:'#010+ ' $(FPCMAKE) -w -T$(OS_TARGET) Makefile.fpc'#010+ @@ -2444,7 +2445,7 @@ const fpcmakeini : array[0..258,1..240] of char=( 'T_DIRS))'#010+ 'endif'#010+ 'ifdef TARGET_EXAMPLEDIRS'#010+ - ' $(FPCM','AKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TAR'+ + ' ',' $(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TAR'+ 'GET_EXAMPLEDIRS))'#010+ 'endif'#010+ #010+ @@ -2453,15 +2454,15 @@ const fpcmakeini : array[0..258,1..240] of char=( #010+ 'fpc_makefile_dirs: fpc_makefile_sub1 fpc_makefile_sub2'#010+ #010+ - 'fpc_makefiles: fpc_m','akefile fpc_makefile_dirs'#010+ + 'fpc_makefi','les: fpc_makefile fpc_makefile_dirs'#010+ #010+ '[localmakefile]'#010+ '#####################################################################'#010+ '# Local Makefile'#010+ '#####################################################################'#010+ #010+ - 'ifneq ($(wildcard fpcmake.loc),)'#010+ - 'includ','e fpcmake.loc'#010+ + 'ifneq ($(wildcard fpcmake.loc','),)'#010+ + 'include fpcmake.loc'#010+ 'endif'#010+ #010+ #010+ @@ -2471,7 +2472,7 @@ const fpcmakeini : array[0..258,1..240] of char=( '#####################################################################'#010+ #010+ '[lclrules]'#010+ - '########################################','############################'+ + '##############################','######################################'+ '#'#010+ '# LCL Rules'#010+ '#####################################################################'#010+ @@ -2481,8 +2482,8 @@ const fpcmakeini : array[0..258,1..240] of char=( 'ifneq ($(findstring $(OS_TARGET),win32 win64),)'#010+ 'LCL_PLATFORM=win32'#010+ 'else'#010+ - 'LCL_PLATFORM=gtk'#010+ - 'end','if'#010+ + 'LCL_PLATFO','RM=gtk'#010+ + 'endif'#010+ 'endif'#010+ 'export LCL_PLATFORM'#010+ #010+ @@ -2493,9 +2494,9 @@ const fpcmakeini : array[0..258,1..240] of char=( 'override LCLDIR=wrong'#010+ 'endif'#010+ 'else'#010+ - 'override LCLDIR=wrong'#010+ + 'override LCLDIR=wro','ng'#010+ 'endif'#010+ - #010, + #010+ '# Check if the default LCLDIR is correct'#010+ 'ifdef DEFAULT_LCLDIR'#010+ 'override LCLDIR:=$(subst \,/,$(DEFAULT_LCLDIR))'#010+ @@ -2505,7 +2506,7 @@ const fpcmakeini : array[0..258,1..240] of char=( 'endif'#010+ #010+ '# Check for development version'#010+ - 'ifeq ($(LCL','DIR),wrong)'#010+ + 'i','feq ($(LCLDIR),wrong)'#010+ 'override LCLDIR=$(subst /units/$(LCL_PLATFORM),,$(firstword $(wildcard'+ ' $(addsuffix /units/$(LCL_PLATFORM),$(BASEDIR)/lcl $(BASEDIR)))))'#010+ 'ifeq ($(LCLDIR),)'#010+ @@ -2514,7 +2515,7 @@ const fpcmakeini : array[0..258,1..240] of char=( 'endif'#010+ #010+ '# Check for release version'#010+ - 'ifeq ($(LCL','DIR),wrong)'#010+ + 'i','feq ($(LCLDIR),wrong)'#010+ 'override LCLDIR=$(subst /units/$(LCL_PLATFORM),,$(firstword $(wildcard'+ ' $(addsuffix /lib/lazarus/units/$(LCL_PLATFORM),/usr/local /usr))))'#010+ 'ifeq ($(LCLDIR),)'#010+ @@ -2523,20 +2524,20 @@ const fpcmakeini : array[0..258,1..240] of char=( 'endif'#010+ #010+ '# Generate dirs'#010+ - 'override LCLUNITDIR=$','(wildcard $(LCLDIR)/units/$(LCL_PLATFORM) $(LCL'+ + 'override LC','LUNITDIR=$(wildcard $(LCLDIR)/units/$(LCL_PLATFORM) $(LCL'+ 'DIR)/units)'#010+ 'override LCLCOMPONENTDIR=$(wildcard $(LCLDIR)/.. $(LCLDIR)/../componen'+ 'ts $(LCLDIR)/components)'#010+ 'export LCLDIR LCLUNITDIR LCLCOMPONENTDIR'#010+ #010+ '# Add LCL dirs to paths'#010+ - 'override REQUIRE_PAC','KAGESDIR+=$(LCLCOMPONENTDIR)'#010+ + 'override R','EQUIRE_PACKAGESDIR+=$(LCLCOMPONENTDIR)'#010+ 'override COMPILER_UNITDIR+=$(LCLUNITDIR)'#010+ #010+ '[lclinforules]'#010+ '#####################################################################'#010+ '# LCL Info rules'#010+ - '###################################################################','#'+ + '#########################################################','###########'+ '#'#010+ 'override INFORULES+=lclinfo'#010+ #010+ @@ -2547,22 +2548,22 @@ const fpcmakeini : array[0..258,1..240] of char=( ' @$(ECHO)'#010+ ' @$(ECHO) Platform............. $(LCL_PLATFORM)'#010+ ' @$(ECHO) LCLDIR............... $(LCLDIR)'#010+ - ' @$(ECHO) LCL Unit',' dir......... $(LCLUNITDIR)'#010+ + ' @$(ECHO)',' LCL Unit dir......... $(LCLUNITDIR)'#010+ ' @$(ECHO) LCL Component dir.... $(LCLCOMPONENTDIR)'#010+ ' @$(ECHO)'#010+ #010+ '[fpmakeprerules]'#010+ '#####################################################################'#010+ '# fpmake prerules'#010+ - '##############################','######################################'+ + '####################','################################################'+ '#'#010+ 'FPMAKEBIN=fpmake$(SRCEXEEXT)'#010+ 'FPMAKEBINOBJ=fpmake$(OEXT) fpmake$(LTOEXT)'#010+ 'LOCALFPMAKEBIN=.$(PATHSEP)$(FPMAKEBIN)'#010+ #010+ '# Convert the OS_TARGET and CPU_TARGET options to fpmake'#039's --os an'+ - 'd --cpu parameters'#010+ - 'ifd','ef OS_TARGET'#010+ + 'd --cpu para','meters'#010+ + 'ifdef OS_TARGET'#010+ 'FPC_TARGETOPT+=--os=$(OS_TARGET)'#010+ 'endif'#010+ 'ifdef CPU_TARGET'#010+ @@ -2570,13 +2571,13 @@ const fpcmakeini : array[0..258,1..240] of char=( 'endif'#010+ #010+ '# Get the location of the bootstrap-fpmkunit units'#010+ - 'PACKAGEDIR_FPMKUNIT:=$(firstword $(subst /Makefile.fpc,,$(strip $(wild'+ - 'card $(a','ddsuffix /fpmkunit/Makefile.fpc,$(PACKAGESDIR))))))'#010+ + 'PACKAGEDIR_FPMKUNIT:=$(firstword $(subst /Makefile.fpc,,$(strip $(wi','l'+ + 'dcard $(addsuffix /fpmkunit/Makefile.fpc,$(PACKAGESDIR))))))'#010+ 'ifneq ($(PACKAGEDIR_FPMKUNIT),)'#010+ 'UNITDIR_FPMAKE_FPMKUNIT=$(PACKAGEDIR_FPMKUNIT)/units_bs/$(SOURCESUFFIX'+ ')'#010+ 'override COMPILER_FPMAKE_UNITDIR=$(UNITDIR_FPMAKE_FPMKUNIT)'#010+ - 'FPMKUNIT_SRC=$(PACKAGEDI','R_FPMKUNIT)/src/fpmkunit.pp'#010+ + 'FPMKUNIT_SRC=$','(PACKAGEDIR_FPMKUNIT)/src/fpmkunit.pp'#010+ 'FPMKUNIT_PPU=$(UNITDIR_FPMAKE_FPMKUNIT)/fpmkunit.ppu'#010+ 'endif'#010+ #010+ @@ -2585,14 +2586,14 @@ const fpcmakeini : array[0..258,1..240] of char=( 'endif'#010+ #010+ '[fpmakerules]'#010+ - '#########################################################','###########'+ + '###############################################','#####################'+ '#'#010+ '# fpmake rules'#010+ '#####################################################################'#010+ '.PHONY: fpc_fpmake fpc_fpmake_clean fpc_fpmake_install fpc_fpmake_exam'+ 'pleinstall'#010+ #010+ - '# Do not pass the Makefile'#039's unit and binary target location','s. f'+ + '# Do not pass the Makefile'#039's unit and binary targe','t locations. f'+ 'pmake uses it'#039's own.'#010+ 'override FPCOPT:=$(filter-out -FU%,$(FPCOPT))'#010+ 'override FPCOPT:=$(filter-out -FE%,$(FPCOPT))'#010+ @@ -2600,16 +2601,16 @@ const fpcmakeini : array[0..258,1..240] of char=( 'ifdef FPMAKEOPT'#010+ 'FPMAKE_OPT+=$(FPMAKEOPT)'#010+ 'endif'#010+ - 'FPMAKE_OPT+=--localunitdir=$(FPCDIR)'#010+ - 'FPM','AKE_OPT+=--globalunitdir=$(FPCDIR)/packages'#010+ + 'FPMAKE_OPT+=--localunitdir=$(F','PCDIR)'#010+ + 'FPMAKE_OPT+=--globalunitdir=$(FPCDIR)/packages'#010+ 'FPMAKE_OPT+=$(FPC_TARGETOPT)'#010+ 'FPMAKE_OPT+=$(addprefix -o ,$(FPCOPT))'#010+ 'FPMAKE_OPT+=--compiler=$(FPC)'#010+ 'FPMAKE_OPT+=-bu'#010+ #010+ 'FPMAKE_INSTALL_OPT+=--unitinstalldir=$(INSTALL_UNITDIR)'#010+ - 'ifdef UNIXHier'#010+ - 'FPMAKE_INS','TALL_OPT+=--prefix=$(INSTALL_PREFIX)'#010+ + 'ifdef UNIXHier'#010, + 'FPMAKE_INSTALL_OPT+=--prefix=$(INSTALL_PREFIX)'#010+ 'FPMAKE_INSTALL_OPT+=--baseinstalldir=$(INSTALL_LIBDIR)/fpc/$(FPC_VERSI'+ 'ON)'#010+ 'else'#010+ @@ -2617,12 +2618,12 @@ const fpcmakeini : array[0..258,1..240] of char=( 'endif'#010+ #010+ 'override ALLTARGET+=fpc_fpmake'#010+ - 'override INSTALLTARGET+=fpc_fpmake_ins','tall'#010+ + 'override INSTALLTARGET+=fpc_','fpmake_install'#010+ 'override EXAMPLEINSTALLTARGET+=fpc_fpmake_exampleinstall'#010+ '# If no fpmake exists and (dist)clean is called, do not try to build f'+ 'pmake, it will'#010+ '# most often fail because the dependencies are cleared.'#010+ - '# In case of a clean, simply do nothi','ng'#010+ + '# In case of a clean, simpl','y do nothing'#010+ 'ifneq ($(wildcard $(LOCALFPMAKEBIN)),)'#010+ 'override CLEANTARGET+=fpc_fpmake_clean'#010+ 'endif'#010+ @@ -2631,7 +2632,7 @@ const fpcmakeini : array[0..258,1..240] of char=( ' $(MAKE) -C $(PACKAGEDIR_FPMKUNIT) bootstrap $(addprefix OP'+ 'T=,$(FPMAKE_BUILD_OPT))'#010+ #010+ - '$(FPMAKEBIN): fpmake.pp ','$(FPMKUNIT_PPU)'#010+ + '$(FPMAKEBIN): ','fpmake.pp $(FPMKUNIT_PPU)'#010+ ' $(FPCFPMAKE) fpmake.pp $(addprefix -Fu,$(COMPILER_FPMAKE_UNITD'+ 'IR)) $(FPMAKE_BUILD_OPT)'#010+ #010+ @@ -2639,7 +2640,7 @@ const fpcmakeini : array[0..258,1..240] of char=( ' $(LOCALFPMAKEBIN) compile $(FPMAKE_OPT)'#010+ #010+ 'fpc_fpmake_clean: $(FPMAKEBIN)'#010+ - ' $(LOCAL','FPMAKEBIN) clean $(FPMAKE_OPT)'#010+ + ' ',' $(LOCALFPMAKEBIN) clean $(FPMAKE_OPT)'#010+ #010+ 'fpc_fpmake_install: $(FPMAKEBIN)'#010+ ' $(LOCALFPMAKEBIN) install $(FPMAKE_OPT) $(FPMAKE_INSTALL_O'+ @@ -2647,10 +2648,10 @@ const fpcmakeini : array[0..258,1..240] of char=( #010+ '# This is not completely valid. Exampleinstall should only install the'+ ' examples, while'#010+ - '# fpmake -ie ','installs everything, including the examples. This also '+ + '# f','pmake -ie installs everything, including the examples. This also '+ 'means that on'#010+ '# a distinstall fpmake install wil be called twice.'#010+ 'fpc_fpmake_exampleinstall: $(FPMAKEBIN)'#010+ - ' $(LOCALFPMAKEBIN) install -ie $(FPMAKE_OPT) $(FPMAKE_INSTA'+ - 'LL_OPT)'#010 + ' $(LOCALFPMAKEBIN) install -ie $(FPMAKE_OPT) $(FPMAKE_INST', + 'ALL_OPT)'#010 ); diff --git a/utils/fpcm/fpmake.pp b/utils/fpcm/fpmake.pp index fc588c6f85..23db97f421 100644 --- a/utils/fpcm/fpmake.pp +++ b/utils/fpcm/fpmake.pp @@ -29,7 +29,7 @@ uses {$ifdef HAS_UNIT_PROCESS} procedure fpcm_update_revision_info(Sender: TObject); - function ReadSVNLine(AProcess: TProcess; var ALine: string): boolean; + function ReadGitLine(AProcess: TProcess; var ALine: string): boolean; var b,i: byte; begin @@ -55,13 +55,13 @@ procedure fpcm_update_revision_info(Sender: TObject); var P : TPackage; - SVNBin : String; - SVNProcess: TProcess; + GitBin : String; + GitProcess: TProcess; f: text; fileurl, line, date, lastdate, - revision, oldrevstring, olddate : string; + hash, lasthash, oldhash, + oldhashstring, olddate : string; i, io : longint; - rev, lastrev, oldrev : longint; begin // If revision.inc does exist, try to update the file with the latest @@ -78,61 +78,58 @@ begin // Run svn info, and catch output. P := sender as TPackage; P.Options.Add('-dREVINC'); - SVNBin := ExeSearch(AddProgramExtension('svn', Defaults.BuildOS), GetEnvironmentvariable('PATH')); - if SVNBin<>'' then + GitBin := ExeSearch(AddProgramExtension('git', Defaults.BuildOS), GetEnvironmentvariable('PATH')); + if GitBin<>'' then begin - SVNProcess := TProcess.create(nil); + GitProcess := TProcess.create(nil); try - SVNProcess.Executable := SVNBin; - SVNProcess.Parameters.Add('info'); - SVNProcess.Parameters.Add('-R'); - SVNProcess.Parameters.Add(BuildEngine.AddPathPrefix(P,'fpcmpkg.pp')); - SVNProcess.Parameters.Add(BuildEngine.AddPathPrefix(P,'fpcmake.pp')); - SVNProcess.Parameters.Add(BuildEngine.AddPathPrefix(P,'fpcmwr.pp')); - SVNProcess.Parameters.Add(BuildEngine.AddPathPrefix(P,'fpcmmain.pp')); - SVNProcess.Parameters.Add(BuildEngine.AddPathPrefix(P,'fpcmdic.pp')); - SVNProcess.Parameters.Add(BuildEngine.AddPathPrefix(P,'fpcmake.ini')); - SVNProcess.Parameters.Add(BuildEngine.AddPathPrefix(P,'Makefile.fpc')); - SVNProcess.Options:=[poUsePipes]; - SVNProcess.Execute; + GitProcess.Executable := GitBin; + GitProcess.Parameters.Add('log'); + GitProcess.Parameters.Add('-n'); + GitProcess.Parameters.Add('1'); + GitProcess.Parameters.Add('--date=iso'); + GitProcess.Parameters.Add('--pretty=%cs'); + GitProcess.Parameters.Add(BuildEngine.AddPathPrefix(P,'fpcmpkg.pp')); + GitProcess.Parameters.Add(BuildEngine.AddPathPrefix(P,'fpcmake.pp')); + GitProcess.Parameters.Add(BuildEngine.AddPathPrefix(P,'fpcmwr.pp')); + GitProcess.Parameters.Add(BuildEngine.AddPathPrefix(P,'fpcmmain.pp')); + GitProcess.Parameters.Add(BuildEngine.AddPathPrefix(P,'fpcmdic.pp')); + GitProcess.Parameters.Add(BuildEngine.AddPathPrefix(P,'fpcmake.ini')); + GitProcess.Parameters.Add(BuildEngine.AddPathPrefix(P,'Makefile.fpc')); GitProcess.Options:=[poUsePipes]; + GitProcess.Execute; // Search for latest revision in output: - lastrev:=0; lastdate:='0'; - while ReadSVNLine(SVNProcess, Line) do - begin - i:=pos('URL: ',line); - if i>0 then - begin - fileurl:=copy(line,i+length('URL: '),length(line)); - BuildEngine.Log(vlCommand,'fileurl='+fileurl); - end; - i:=pos('Last Changed Date: ',line); - if i>0 then - begin - date:=copy(line,i+length('Last Changed Date: '),length(line)); - i:=pos(' ',date); - if i>0 then - date:=copy(date,1,i-1); - BuildEngine.Log(vlCommand,'date='+date); - if date>lastdate then - lastdate:=date; - end; - i:=pos('Last Changed Rev: ',line); - if i>0 then - begin - revision:=copy(line,i+length('Last Changed Rev: '),length(line)); - BuildEngine.Log(vlCommand,'rev='+revision); - val(revision,rev); - if rev>lastrev then - lastrev:=rev; - end; - end; + ReadGitLine(GitProcess, lastdate); finally - SVNProcess.Free; + GitProcess.Free; end; - oldrev:=0; + GitProcess := TProcess.create(nil); + try + GitProcess.Executable := GitBin; + GitProcess.Parameters.Add('log'); + GitProcess.Parameters.Add('-n'); + GitProcess.Parameters.Add('1'); + GitProcess.Parameters.Add('--date=iso'); + GitProcess.Parameters.Add('--pretty=%h'); + GitProcess.Parameters.Add(BuildEngine.AddPathPrefix(P,'fpcmpkg.pp')); + GitProcess.Parameters.Add(BuildEngine.AddPathPrefix(P,'fpcmake.pp')); + GitProcess.Parameters.Add(BuildEngine.AddPathPrefix(P,'fpcmwr.pp')); + GitProcess.Parameters.Add(BuildEngine.AddPathPrefix(P,'fpcmmain.pp')); + GitProcess.Parameters.Add(BuildEngine.AddPathPrefix(P,'fpcmdic.pp')); + GitProcess.Parameters.Add(BuildEngine.AddPathPrefix(P,'fpcmake.ini')); + GitProcess.Parameters.Add(BuildEngine.AddPathPrefix(P,'Makefile.fpc')); GitProcess.Options:=[poUsePipes]; + GitProcess.Options:=[poUsePipes]; + GitProcess.Execute; + + lasthash:='0'; + ReadGitLine(GitProcess, lasthash); + finally + GitProcess.Free; + end; + + oldhash:=''; olddate:=''; // Write the latest change-date and revision to file revision.inc system.assign(f,BuildEngine.AddPathPrefix(P,'revision.inc')); @@ -145,35 +142,35 @@ begin end else begin - readln(f,oldrevstring); + readln(f,oldhashstring); close(f); - BuildEngine.Log(vlCommand, 'oldrevstring '+oldrevstring); - if oldrevstring[1]='''' then - oldrevstring:=copy(oldrevstring,2,length(oldrevstring)); - i:=length(oldrevstring); - if oldrevstring[i]='''' then - oldrevstring:=copy(oldrevstring,1,i-1); - i:=pos(' rev ',oldrevstring); + BuildEngine.Log(vlCommand, 'oldhashstring '+oldhashstring); + if oldhashstring[1]='''' then + oldhashstring:=copy(oldhashstring,2,length(oldhashstring)); + i:=length(oldhashstring); + if oldhashstring[i]='''' then + oldhashstring:=copy(oldhashstring,1,i-1); + i:=pos(' hash ',oldhashstring); if i>0 then begin - val(copy(oldrevstring,i+5,length(oldrevstring)),oldrev); - olddate:=copy(oldrevstring,1,i-1); - BuildEngine.Log(vlCommand,'Old values '+olddate+' '+IntToStr(oldrev)); - if (olddate >= lastdate) and (oldrev >= lastrev) then + oldhash:=copy(oldhashstring,i+6,length(oldhashstring)); + olddate:=copy(oldhashstring,1,i-1); + BuildEngine.Log(vlCommand,'Old values '+olddate+' '+oldhash); + if (olddate >= lastdate) and (oldhash <> lasthash) then begin - BuildEngine.Log(vlCommand,'New values '+lastdate+' '+IntToStr(lastrev)); + BuildEngine.Log(vlCommand,'New values '+lastdate+' '+lasthash); BuildEngine.Log(vlCommand,'Keeping old values'); - lastrev:=oldrev; + lasthash:=oldhash; lastdate:=olddate; end; end; end; - if (lastdate=olddate) and (lastrev=oldrev) then + if (lastdate=olddate) and (lasthash=oldhash) then BuildEngine.Log(vlCommand,'revision.inc unchanged') else begin - BuildEngine.Log(vlCommand,'revision.inc set to '''+lastdate+' rev '+IntToStr(lastrev)+''''); + BuildEngine.Log(vlCommand,'revision.inc set to '''+lastdate+' hash '+lasthash+''''); system.assign(f,BuildEngine.AddPathPrefix(P,'revision.inc')); rewrite(f); @@ -183,12 +180,12 @@ begin BuildEngine.Log(vlError, 'Error opening revision.inc for writing'); halt(3); end; - Writeln(f,'''',lastdate,' rev ',lastrev,''''); + Writeln(f,'''',lastdate,' hash ',lasthash,''''); close(f); end end else - BuildEngine.Log(vlWarning,'Subversion executable (svn) not found. Svn-revision in fpcmake executable might be out of date.'); + BuildEngine.Log(vlWarning,'Git executable (git) not found. Git-hash in fpcmake executable might be out of date.'); end; end; {$endif HAS_UNIT_PROCESS} diff --git a/utils/fpcm/revision.inc b/utils/fpcm/revision.inc index 8b12398082..e55ec204f7 100644 --- a/utils/fpcm/revision.inc +++ b/utils/fpcm/revision.inc @@ -1 +1 @@ -'2021-06-24 rev 49552' +'2021-06-24 hash 433050a2c4'