[haiku-commits] Re: r36456 - in haiku/trunk/build: jam scripts

  • From: Matt Madia <mattmadia@xxxxxxxxx>
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Sat, 24 Apr 2010 19:59:27 +0000

On Sat, Apr 24, 2010 at 19:52,  <mattmadia@xxxxxxxxx> wrote:
> Author: mmadia
> Date: 2010-04-24 21:52:36 +0200 (Sat, 24 Apr 2010)
> New Revision: 36456
> Changeset: http://dev.haiku-os.org/changeset/36456/haiku
>
> Modified:
>   haiku/trunk/build/jam/HaikuCD
>   haiku/trunk/build/jam/HaikuImage
>   haiku/trunk/build/jam/ImageRules
>   haiku/trunk/build/scripts/build_haiku_image
> Log:
> Enhance InstallOptionalHaikuImagePackage to accept a new parameter, which
> indicates the archive to be usable with either GCC. When utilized, the
> packages shared libraries will automatically be symlinked in the alternative
> gcc subdir, eg common/lib/gcc4. At the moment, packages that set isCDPackage
> are not supported, as Installer needs to be enhanced.
>
>

> Modified: haiku/trunk/build/jam/ImageRules
> ===================================================================
> --- haiku/trunk/build/jam/ImageRules    2010-04-24 19:35:53 UTC (rev 36455)
> +++ haiku/trunk/build/jam/ImageRules    2010-04-24 19:52:36 UTC (rev 36456)
...

> @@ -604,15 +605,21 @@
>
>                        local extractedSubDir = [ on $(archiveFile)
>                                return $(ARCHIVE_SUBDIR_TO_INSTALL_FROM) ] ;
> -                       NotFile $(extractedSubDir) ;
> +                       ARCHIVE_SUBDIR_TO_INSTALL_FROM on $(dummyTarget) =
> +                               $(extractedSubDir:E=.) ;
>
> +                       local isGCCAgnostic = [ on $(archiveFile)
> +                               return $(ARCHIVE_IS_GCC_AGNOSTIC) ] ;
> +                       ARCHIVE_IS_GCC_AGNOSTIC on $(dummyTarget) =
> +                               $(isGCCAgnostic:E=false) ;
> +
>                        Depends $(dummyTarget) : $(initScript) $(archiveFile)
>                                $(serializationDependency) ;
>                        Depends $(script) : $(dummyTarget) ;
>                        serializationDependency = $(dummyTarget) ;
>
>                        AddExtractFileToContainerExtractFilesScript 
> $(dummyTarget)
> -                               : $(initScript) $(archiveFile) 
> $(extractedSubDir) ;
> +                               : $(initScript) $(archiveFile) ;
>                }
>        }
>  }
> @@ -620,7 +627,9 @@
>
>  actions AddExtractFileToContainerExtractFilesScript
>  {
> -       echo extractFile "\"$(2[2])\"" "\"$(TARGET_DIR)\"" "\"$(2[3])\"" >> 
> $(2[1])
> +       echo extractFile "\"$(2[2])\"" "\"$(TARGET_DIR)\"" \
> +               "\"$(ARCHIVE_SUBDIR_TO_INSTALL_FROM)\"" \
> +               "\"$(ARCHIVE_IS_GCC_AGNOSTIC)\"" >> $(2[1])
>  }

This changeset also fixes the passing of extractedSubDir to the action.
I'm not confident in my abilities to extend Installer to support this.
Also, is there a programmatic way to confirm if a set of libraries are
gcc agnostic?
Otherwise, I'd be partially guessing while updating OptionalPackages.

--mmadia

Other related posts: