[OpenWrt-Devel] [PATCH] build: improve ccache support
Petr Štetiar
ynezz at true.cz
Mon Jun 1 16:51:57 EDT 2020
Roman Yeryomin <roman at advem.lv> [2020-06-01 18:32:26]:
Hi,
> Set CCACHE_DIR to $(TOPDIR)/.ccache and CCACHE_BASEDIR to $(TOPDIR).
this changes location of ccache directory (people would need to move it,
symlink back or override it) and with CCACHE_BASEDIR it probably also
invalidates the current cache/hashes, doesn't it?
BTW you've missed following hardcoded patterns:
target/toolchain/Makefile:EXCLUDE_DIRS:=*/ccache
target/sdk/Makefile:EXCLUDE_DIRS:=*/ccache/*
> This allows to do clean and dirclean.
Isn't it desired to remove potentially broken ccache as well with
clean/dirclean? Do I want to remove my config, downloads, feeds etc. in order
to remove ccache?
> +++ b/include/host-build.mk
> + $(if $(CONFIG_CCACHE),$(1) : export CCACHE_COMPILERCHECK:=%compiler% -dumpmachine; %compiler% -dumpversion)
you've missed to describe this change
> distclean:
> rm -rf bin build_dir .config* dl feeds key-build* logs package/feeds package/openwrt-packages staging_dir tmp
> + rm -rf $(TOPDIR)/.ccache
Other CCACHE_DIR variable occurencies can be overriden, this is hardcoded
path.
Michael Jones <mike at meshplusplus.com> [2020-06-01 13:34:51]:
> Having build behavior change based on a symlink is undesirable.
`make CCACHE_DIR=/whatever` should work as well
> Additionally, having the ccache directory be a configuration option allows
> it to persist across clones of the git repository, if the .config file is
> stored in git.
BTW .config is .gitignored for a reason.
Anyway, I don't think, that bloating the menu config with every Make variable
from now on is desired. System has sane defaults and is flexible enough to
allow fine tunning if needed.
-- ynezz
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel
More information about the openwrt-devel
mailing list