Add DetermineEffectiveHaikuRevision rule
Simplifies PreprocessPackageInfo a bit.
This commit is contained in:
@@ -377,6 +377,7 @@ rule DetermineHaikuRevision
|
||||
if ! [ on $(gitIndex) return $(HAIKU_GIT_REVISION_DETERMINED) ] {
|
||||
HAIKU_GIT_REVISION_DETERMINED on $(gitIndex) = 1 ;
|
||||
MakeLocate $(revisionFile) : $(HAIKU_BUILD_OUTPUT_DIR) ;
|
||||
LocalClean clean : $(revisionFile) ;
|
||||
if $(HAIKU_REVISION) {
|
||||
DetermineHaikuRevision2 $(revisionFile) ;
|
||||
} else if [ Glob [ FDirName $(HAIKU_TOP) .git ] : index ] {
|
||||
@@ -404,6 +405,29 @@ actions DetermineHaikuRevision2
|
||||
}
|
||||
|
||||
|
||||
rule DetermineEffectiveHaikuRevision
|
||||
{
|
||||
local revisionFile = <haiku-rootdir>effective-haiku-revision ;
|
||||
if ! [ on $(revisionFile) return $(HAIKU_EFFECTIVE_REVISION_DETERMINED) ] {
|
||||
HAIKU_EFFECTIVE_REVISION_DETERMINED on $(revisionFile) = 1 ;
|
||||
MakeLocate $(revisionFile) : $(HAIKU_BUILD_OUTPUT_DIR) ;
|
||||
local rawRevision = [ DetermineHaikuRevision ] ;
|
||||
Depends $(revisionFile) : $(rawRevision) ;
|
||||
DetermineEffectiveHaikuRevision1 $(revisionFile) : $(rawRevision) ;
|
||||
LocalClean clean : $(revisionFile) ;
|
||||
}
|
||||
|
||||
return $(revisionFile) ;
|
||||
}
|
||||
|
||||
|
||||
actions DetermineEffectiveHaikuRevision1
|
||||
{
|
||||
revision=`sed -n 's,^\(hrev[0-9]*\).*,\1,p' "$(2:E=unknown-revision)"`
|
||||
echo "${revision:-0}" > "$(1)"
|
||||
}
|
||||
|
||||
|
||||
rule DataFileToSourceFile sourceFile : dataFile : dataVariable : sizeVariable
|
||||
{
|
||||
sourceFile = [ FGristFiles $(sourceFile) ] ;
|
||||
|
||||
Reference in New Issue
Block a user