wlav / cppyy-backend

23 stars 28 forks source link

Allow skipping rebuild of PCH #22

Closed saschwartz closed 3 months ago

saschwartz commented 3 months ago

Motivation: Currently, if the include dir in conda env is newer than PCH, we will always rebuild. In fact, it's useful to be able to skip the rebuild if you have a valid PCH you'd like to use, regardless of the age of the conda env.

wlav commented 3 months ago

CLING_REBUILD_PCH is a debugging/development thing, but I'd guess it would get out at some point anyway. I'd also caution that weird stuff happens if the PCH is out-of-date. Otherwise fine.

saschwartz commented 3 months ago

CLING_REBUILD_PCH is a debugging/development thing, but I'd guess it would get out at some point anyway. I'd also caution that weird stuff happens if the PCH is out-of-date. Otherwise fine.

Understood - this is in the context of using cppyy inside the Bazel build system which tries to keep a lot of things hermetic and does not like things reaching out into the filesystem (mounts lots of things read-only) - thus helpful to be able to prevent PCH rebuild so long as we are confident we can point it to a valid PCH (which we are). Thanks!

saschwartz commented 3 months ago

@wlav Thanks for the review - would you be able to give any color on the release process frequency of cppyy_backend and cppyy as a whole?

wlav commented 3 months ago

I'm just one person, so not really able to stick to a fixed release schedule. I tried CI, but there are various reasons why that doesn't work (other than on well supported platforms such as Linux x86_64). Upstream is taking over many of these tasks in what will be cppyy 4.0, based on clang-repl, which has a simplified build process, so there's light at the end of the tunnel.

saschwartz commented 3 months ago

Thanks for the colour. When you say "upstream is taking over" - which upstream and where might I learn more about this?

wlav commented 3 months ago

Is here: https://github.com/compiler-research (and to learn more: https://compiler-research.org/ ).