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