Preparations for introducing a sysroot object
/cc @denittis
-
tests: Move resolve-in-sysroot test out of pressure-vessel/
It doesn't actually call anything PV-specific.
-
lib: Move libelf glue to its own translation unit
It's generally good to separate out miscellaneous utilities that do and don't have an external dependency; and if we don't do this, it seems that an apparently unrelated bit of refactoring (making SrtVirtualizationInfo no longer use _srt_file_get_contents_in_sysroot()) will fail to build with scout toolchains for whatever reason, with a missing link reference to libelf symbols, even though -lelf appears on the link line.
-
system-info: Split destruction into dispose and finalize
dispose should be idempotent, and should free all refcounted GObjects, allowing it to be used to break reference cycles.
-
system-info: Make sure container info always gets populated
Otherwise, we could find ourselves in a situation where srt_system_info_check_container() calls ensure_container_info() and then finds that there is, in fact, no container_info object.
-
sysroot: Add a flag to return the resolved path as absolute
This lets us skip a malloc/free cycle in a couple of places.
-
build: Tighten up build dependencies on generated headers
I can't reproduce this locally, but on CI, it seems like some of these could be compiled before the header had been generated. Fix that.