Changeset 28765

Show
Ignore:
Timestamp:
12/02/08 21:02:28 (5 weeks ago)
Author:
bonefish
Message:

Introduced rules UserBuildConfigRulePostBuildTargets,
UserBuildConfigRulePreImage, and UserBuildConfigRulePostImage which will be
invoked at different points in the build system execution. They can be
overridden in UserBuildConfig, thus allowing for executing user code at
those points.

Location:
haiku/trunk
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • haiku/trunk/Jamrules

    r28304 r28765  
    4646include [ FDirName $(HAIKU_BUILD_RULES_DIR) BuildSetup ] ; 
    4747 
     48# Declare no-op user-overridable build rules. 
     49rule UserBuildConfigRulePostBuildTargets        { } 
     50rule UserBuildConfigRulePreImage                        { } 
     51rule UserBuildConfigRulePostImage                       { } 
     52 
    4853# Include UserBuildConfig. 
    4954{ 
  • haiku/trunk/build/jam/HaikuImage

    r28752 r28765  
    607607 
    608608 
     609# Execute pre-image user config rules. 
     610UserBuildConfigRulePreImage     ; 
     611 
    609612# Set image name and directory defaults and locate the image. 
    610613HAIKU_IMAGE_NAME ?= $(HAIKU_DEFAULT_IMAGE_NAME) ; 
     
    717720NotFile haiku-vmware-image ; 
    718721Depends haiku-vmware-image : $(HAIKU_VMWARE_IMAGE) ; 
     722 
     723# Execute post-image user config rules. 
     724UserBuildConfigRulePostImage ; 
  • haiku/trunk/build/jam/UserBuildConfig.ReadMe

    r27641 r28765  
    1313 
    1414 
    15 # Adding timezone and keymap settings 
    16 AddSymlinkToHaikuImage home config settings 
    17         : /boot/beos/etc/timezones/Europe/Paris : timezone ; 
    18  
    19 AddFilesToHaikuImage home config settings : <keymap>US-International 
    20         : Key_map ; 
    21  
    22  
    2315# Adjusting Build Variables 
    2416 
     
    9991# Make a symlink to home/config/bin/crash. 
    10092AddSymlinkToHaikuImage home config bin : /beos/bin/crashing_app : crash ; 
     93 
     94# Add timezone and keymap settings. 
     95AddSymlinkToHaikuImage home config settings 
     96        : /boot/beos/etc/timezones/Europe/Paris : timezone ; 
     97AddFilesToHaikuImage home config settings : <keymap>US-International : Key_map ; 
    10198 
    10299# Adds the source directories src/kits/storage and src/tests/servers/debug 
     
    285282# name to be used recursively. 
    286283DeferredSubInclude HAIKU_TOP src 3rdparty myproject : Jamfile.haiku : local ; 
     284 
     285# The following rules can be overriden to do things at different points of 
     286# the build system execution by jam (note: we're talking about execution of 
     287# Jamfiles, not the build actions they define): 
     288# 
     289# UserBuildConfigRulePostBuildTargets: 
     290#       Executed after the complete Jamfile tree has been processed. I.e. all build 
     291#       targets are known and located at this point. 
     292# UserBuildConfigRulePreImage: 
     293#       Executed after the contents of the Haiku image has been defined, but before 
     294#       the scripts generating the images are defined. 
     295# UserBuildConfigRulePostImage: 
     296#       Executed after the Haiku image build target has been fully defined. 
     297# 
     298# E.g. making use of the fact that all targets have already been located when 
     299# UserBuildConfigRulePostBuildTargets is called, we can print the directory 
     300# where the StyledEdit executable will be generated. 
     301rule UserBuildConfigRulePostBuildTargets 
     302{ 
     303        Echo "StyledEdit will appear here:" [ on StyledEdit return $(LOCATE) ] ; 
     304}