Ticket #5507: AddExpanderRules-23.patch

File AddExpanderRules-23.patch, 2.1 KB (added by mmadia, 14 years ago)
  • build/jam/ImageRules

     
    856856    AddEntryToHaikuImageUserGroupFile <haiku-image>group : $(entry) ;
    857857}
    858858
     859rule AddEntryToHaikuImageExpanderRuleFile file : entry
     860{
     861    local allEntries
     862        = [ on $(file) return $(HAIKU_IMAGE_EXPANDER_RULES_ENTRIES) ] ;
     863
     864    if $(allEntries) {
     865        allEntries = $(allEntries)|$(entry) ;
     866    } else {
     867        allEntries = $(entry) ;
     868
     869        Always $(file) ;
     870        MakeLocate $(file) : $(HAIKU_COMMON_PLATFORM_OBJECT_DIR) ;
     871        BuildHaikuImageExpanderRules $(file) ;
     872        AddFilesToHaikuImage common etc : $(file) ;
     873    }
     874
     875    HAIKU_IMAGE_EXPANDER_RULES_ENTRIES on $(file) = $(allEntries) ;
     876}
     877
     878actions BuildHaikuImageExpanderRules
     879{
     880    echo "$(HAIKU_IMAGE_EXPANDER_RULES_ENTRIES)" | tr '|' '\n' > $(1)
     881}
     882
     883rule AddExpanerRule mimetype : extension : list : extract
     884{
     885    #AddExpanerRule <mimetype> : <extension> : <list> : <extract>
     886
     887    if ! $(mimetype) || ! $(extension) || ! $(list) || ! $(extract) {
     888        Exit "Invalid expander rule specification passed to AddExpanerRule." ;
     889    }
     890
     891    local entry = "\"$(mimetype)\"\t$(extension)\t\"$(list)\"\t\"$(extract)\"" ;
     892
     893    AddEntryToHaikuImageExpanderRuleFile <haiku-image>expander.rules : $(entry) ;
     894}
     895
    859896rule AddOptionalPackageDescriptionToHaikuImage file : searchPath
    860897{
    861898    if $(searchPath) {
  • build/jam/OptionalPackages

     
    824824                :
    825825            ;
    826826        }
    827 
    828         actions BuildHaikuImageExpanderRules
    829         {
    830             echo -e "\"application/x-7z-compressed\"\t.7z\t\"7za l \0045s\"\t\"7za x -y \0045s\"" > $(1)
    831         }
    832 
    833         Always expander.rules ;
    834         MakeLocate expander.rules : $(HAIKU_COMMON_PLATFORM_OBJECT_DIR) ;
    835         BuildHaikuImageExpanderRules expander.rules ;
    836         AddFilesToHaikuImage home config etc : expander.rules ;
     827        AddExpanerRule "application/x-7z-compressed" : .7z : "7za l %s"
     828            : "7za x -y %s" ;
    837829    }
    838830}
    839831