From 1b56bd2b40008eef0a5e9f26cfcfce788b054cf4 Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Wed, 27 May 2009 00:42:04 +0000 Subject: [PATCH] * Added rule CopyDirectoryToAlternativeGCCArchive, analogous to CopyDirectoryToHaikuImage just for the alternative GCC. * Added rules Add{Files,Symlink}ToHaikuHybridImage. Those call both the Add{Files,Symlink}toHaikuImage and Add{Files,Symlink}toAlternativeGCCArchive rules, the latter with an optionally slightly changed parameter. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30873 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- build/jam/ImageRules | 65 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) diff --git a/build/jam/ImageRules b/build/jam/ImageRules index bcc11c4c6e..7952068eea 100644 --- a/build/jam/ImageRules +++ b/build/jam/ImageRules @@ -989,6 +989,14 @@ rule AddSymlinkToAlternativeGCCArchive directoryTokens : linkTarget : linkName : $(directoryTokens) : $(linkTarget) : $(linkName) ; } +rule CopyDirectoryToAlternativeGCCArchive directoryTokens : sourceDirectory + : targetDirectoryName : excludePatterns : alwaysUpdate +{ + CopyDirectoryToContainer $(HAIKU_ALTERNATIVE_GCC_ARCHIVE_CONTAINER_NAME) + : $(directoryTokens) : $(sourceDirectory) : $(targetDirectoryName) + : $(excludePatterns) : $(alwaysUpdate) ; +} + rule CreateAlternativeGCCArchiveMakeDirectoriesScript script { CreateContainerMakeDirectoriesScript @@ -1018,6 +1026,63 @@ actions BuildAlternativeGCCArchive1 } +#pragma mark - Haiku Hybrid Image rules + + +rule AddFilesToHaikuHybridImage directory : targets : destName + : useABISubDir +{ + # AddFilesToHaikuHybridImage : : + # : + # + # Convenience rule calling both AddFilesToHaikuImage and + # AddFilesToAlternativeGCCArchive. + # + # + # if non-empty, specifies that an ABI subdirectory shall be appended to + # for the alternative GCC archive. + + local alternativeSubDir ; + if $(useABISubDir) { + alternativeSubDir = gcc$(HAIKU_GCC_VERSION[1]) ; + } + + AddFilesToHaikuImage $(directory) : $(targets) : $(destName) ; + AddFilesToAlternativeGCCArchive $(directory) $(alternativeSubDir) + : $(targets) : $(destName) ; +} + +rule AddSymlinkToHaikuHybridImage directoryTokens : linkTarget : linkName + : useSymlinkABISubDir +{ + # AddFilesToHaikuHybridImage : : + # : + # + # Convenience rule calling both AddSymlinkToHaikuImage and + # AddSymlinkToAlternativeGCCArchive. + # + # + # Can be a list of components that will be joined to path inserting + # "/"s inbetween. + # + # If non-empty, specifies that an ABI subdirectory shall be inserted + # into (between the first and second component) for the + # alternative GCC archive. + + local alternativeLinkTarget = $(linkTarget) ; + if $(useSymlinkABISubDir) { + alternativeLinkTarget = $(linkTarget[1]) gcc$(HAIKU_GCC_VERSION[1]) + $(linkTarget[2-]) ; + } + linkTarget = $(linkTarget:J=/) ; + alternativeLinkTarget = $(alternativeLinkTarget:J=/) ; + + AddSymlinkToHaikuImage $(directoryTokens) : $(linkTarget) : $(linkName) ; + AddSymlinkToAlternativeGCCArchive $(directoryTokens) + : $(alternativeLinkTarget) : $(linkName) ; +} + + #pragma mark - Floppy Boot Archive rules