b0ce12a2af
when the user attempts to build an incorrectly configured hybrid. For example a GCC 2 + GCC 2 system. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38949 a95241bf-73f2-0310-859d-f6bbb57e9c96
64 lines
2.1 KiB
Plaintext
64 lines
2.1 KiB
Plaintext
# This file defines what ends up in the alternative GCC archive and it executes
|
|
# the rules building the archive. Included by HaikuImage.
|
|
|
|
|
|
#sanity check - make sure the primary gcc is different than the alternative gcc
|
|
if $(HAIKU_PRIMARY_GCC) = $(HAIKU_GCC_VERSION[1]) {
|
|
Exit "Error: Your alternative gcc is the same as the main gcc!"
|
|
"You need to reconfigure your generated directories." ;
|
|
}
|
|
|
|
#pragma mark - Build The Archive
|
|
|
|
|
|
# archive target
|
|
HAIKU_ALTERNATIVE_GCC_ARCHIVE = alternative_system_libs.zip ;
|
|
MakeLocate $(HAIKU_ALTERNATIVE_GCC_ARCHIVE) : $(HAIKU_OUTPUT_DIR) ;
|
|
|
|
# the pseudo target all archive contents is attached to
|
|
NotFile $(HAIKU_ALTERNATIVE_GCC_ARCHIVE_CONTAINER_NAME) ;
|
|
|
|
# prepare the script that initializes the shell variables
|
|
local initVarsScript = <AlternativeGCCArchive>haiku-alternative-gcc-init-vars ;
|
|
local script = $(initVarsScript) ;
|
|
MakeLocate $(script) : $(HAIKU_OUTPUT_DIR) ;
|
|
Always $(script) ;
|
|
|
|
AddVariableToScript $(script) : tmpDir : $(HAIKU_TMP_DIR) ;
|
|
AddVariableToScript $(script) : addBuildCompatibilityLibDir
|
|
: $(HOST_ADD_BUILD_COMPATIBILITY_LIB_DIR) ;
|
|
AddTargetVariableToScript $(script) : <build>copyattr ;
|
|
AddTargetVariableToScript $(script) : <build>zip ;
|
|
if $(HOST_RM_ATTRS_TARGET) {
|
|
AddTargetVariableToScript $(script) : $(HOST_RM_ATTRS_TARGET) : rmAttrs ;
|
|
} else {
|
|
AddVariableToScript $(script) : rmAttrs : rm ;
|
|
}
|
|
|
|
# create the other scripts
|
|
local makeDirsScript = <AlternativeGCCArchive>haiku-alternative-gcc-make-dirs ;
|
|
local copyFilesScript
|
|
= <AlternativeGCCArchive>haiku-alternative-gcc-copy-files ;
|
|
MakeLocate $(makeDirsScript) $(copyFilesScript) : $(HAIKU_OUTPUT_DIR) ;
|
|
|
|
CreateAlternativeGCCArchiveMakeDirectoriesScript $(makeDirsScript) ;
|
|
CreateAlternativeGCCArchiveCopyFilesScript $(copyFilesScript) ;
|
|
|
|
# build the archive
|
|
|
|
BuildAlternativeGCCArchive $(HAIKU_ALTERNATIVE_GCC_ARCHIVE) :
|
|
$(initVarsScript)
|
|
$(makeDirsScript)
|
|
$(copyFilesScript)
|
|
;
|
|
|
|
# remove the scripts we have generated
|
|
RmTemps $(HAIKU_ALTERNATIVE_GCC_ARCHIVE) :
|
|
$(initVarsScript)
|
|
$(makeDirsScript)
|
|
$(copyFilesScript)
|
|
;
|
|
|
|
NotFile haiku-alternative-gcc-archive ;
|
|
Depends haiku-alternative-gcc-archive : $(HAIKU_ALTERNATIVE_GCC_ARCHIVE) ;
|