Changeset 3256


Ignore:
Timestamp:
Jan 2, 2019, 11:17:28 PM (7 years ago)
Author:
bird
Message:

GXX3.kmk,footer*.kmk: Turns out pch + kObjCache actually does help with build performance. Working on making the kObjCache bits more flexible by introducing a target level use_objcache variable during expansion.

Location:
trunk/kBuild
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/kBuild/footer-pass2-compiling-targets.kmk

    r3160 r3256  
    5757$(obj): .MUST_MAKE = $$(comp-cmds-ex $$($(target)_$(subst :,_,$(source))_CMDS_PREV_),$$(commands $$@),FORCE)
    5858endif
    59 ifdef TOOL_$(tool)_COMPILE_$(type)_USES_KOBJCACHE
     59ifneq ($(TOOL_$(tool)_COMPILE_$(type)_USES_KOBJCACHE),)
    6060_OUT_FILES += $(outbase).koc
    6161$(outbase).koc +| $(obj) $($(target)_$(source)_OUTPUT_) $($(target)_$(source)_OUTPUT_MAYBE_) : \
     
    499499$(foreach unit,$(units),$(evalvalctx def_unit_$(unit)_target_pre))
    500500$(foreach unit,$(units),$(evalvalctx def_unit_$(unit)_target_pre_2))
     501
     502# kObjCache.
     503ifdef KBUILD_USE_KOBJCACHE
     504 ifneq ($($(target)_KOBJCACHE),)
     505local use_objcache := 1
     506 else
     507local use_objcache :=
     508 endif
     509local use_objcache :=
     510endif
    501511
    502512# source -> object
     
    704714$(foreach unit,$(units),$(evalvalctx def_unit_$(unit)_target_pre))
    705715$(foreach unit,$(units),$(evalvalctx def_unit_$(unit)_target_pre_2))
     716
     717# kObjCache.
     718ifdef KBUILD_USE_KOBJCACHE
     719 ifneq ($($(target)_KOBJCACHE),)
     720local use_objcache := 1
     721 else
     722local use_objcache :=
     723 endif
     724local use_objcache :=
     725endif
    706726
    707727# source -> object
  • trunk/kBuild/tools/GXX3.kmk

    r3255 r3256  
    130130TOOL_GXX3_COMPILE_C_DEPEND =
    131131TOOL_GXX3_COMPILE_C_DEPORD =
    132 ifdef KBUILD_USE_KOBJCACHE
    133 TOOL_GXX3_COMPILE_C_USES_KOBJCACHE = 1
    134 TOOL_GXX3_COMPILE_C_OUTPUT = $(outbase).i
     132TOOL_GXX3_COMPILE_C_OUTPUT         = $(if-expr "$(use_objcache)" != "",$(outbase).i,)
     133TOOL_GXX3_COMPILE_C_USES_KOBJCACHE = $(if-expr "$(use_objcache)" != "",1,)
    135134define TOOL_GXX3_COMPILE_C_CMDS
     135if "$(use_objcache)" != ""
    136136        $(QUIET)$(KOBJCACHE) -f $(outbase).koc -d $(PATH_OBJCACHE) -t $(bld_trg).$(bld_trg_arch) -p\
    137137                --kObjCache-cpp $(outbase).i\
     
    145145                -o $(obj)\
    146146                -
    147         $(QUIET)$(APPEND) -n "$(dep)" "" "$(source):" ""
    148 endef
    149 else # !KBUILD_USE_KOBJCACHE
    150 TOOL_GXX3_COMPILE_C_OUTPUT =
    151 define TOOL_GXX3_COMPILE_C_CMDS
     147else
    152148        $(QUIET)$(TOOL_GXX3_CC) -c\
    153149                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
     
    155151                -o $(obj)\
    156152                $(abspath $(source))
     153endif
    157154        $(QUIET)$(APPEND) -n "$(dep)" "" "$(source):" ""
    158155endef
    159 endif # !KBUILD_USE_KOBJCACHE
    160156
    161157
     
    172168# @param    $(outbase)  Output basename (full). Use this for list files and such.
    173169# @param    $(objsuff)  Object suffix.
    174 TOOL_GXX3_COMPILE_CXX_DEPEND = $($(target)_1_GCC_PCH_FILE)
    175 TOOL_GXX3_COMPILE_CXX_DEPORD =
    176 ifdef KBUILD_USE_KOBJCACHE
    177 TOOL_GXX3_COMPILE_CXX_USES_KOBJCACHE = 1
    178 TOOL_GXX3_COMPILE_CXX_OUTPUT = $(outbase).ii
     170TOOL_GXX3_COMPILE_CXX_DEPEND         = $($(target)_1_GCC_PCH_FILE)
     171TOOL_GXX3_COMPILE_CXX_DEPORD         =
     172TOOL_GXX3_COMPILE_CXX_OUTPUT         = $(if-expr "$(use_objcache)" != "",$(outbase).ii,)
     173TOOL_GXX3_COMPILE_CXX_USES_KOBJCACHE = $(if-expr "$(use_objcache)" != "",1,)
    179174define TOOL_GXX3_COMPILE_CXX_CMDS
     175if "$(use_objcache)" != ""
    180176        $(QUIET)$(KOBJCACHE) -f $(outbase).koc -d $(PATH_OBJCACHE) -t $(bld_trg).$(bld_trg_arch) -p\
    181177                --kObjCache-cpp $(outbase).ii\
     
    190186                -o $(obj)\
    191187                -
    192         $(QUIET)$(APPEND) -n "$(dep)" "" "$(source):" ""
    193 endef
    194 else # !KBUILD_USE_KOBJCACHE
    195 TOOL_GXX3_COMPILE_CXX_OUTPUT =
    196 define TOOL_GXX3_COMPILE_CXX_CMDS
     188else
    197189        $(QUIET)$(TOOL_GXX3_CXX) -c\
    198190                $(flags) $(addprefix -I, $($(target)_1_GCC_PCH_DIR) $(incs)) $(addprefix -D, $(defs))\
     
    201193                ,-Winvalid-pch -include $(basename $($(target)_1_GCC_PCH_FILE)),) \
    202194                $(abspath $(source))
     195endif
    203196        $(QUIET)$(APPEND) -n "$(dep)" "" "$(source):" ""
    204197endef
    205 endif # !KBUILD_USE_KOBJCACHE
    206198
    207199
Note: See TracChangeset for help on using the changeset viewer.