]> Kevux Git Server - fll/commit
Bugfix: Static builds with '../' relative paths for objects do not build correctly.
authorKevin Day <Kevin@kevux.org>
Mon, 12 Jan 2026 02:47:31 +0000 (20:47 -0600)
committerKevin Day <Kevin@kevux.org>
Mon, 12 Jan 2026 03:01:19 +0000 (21:01 -0600)
commitfa09b647629497867b44a01b30e6f358d40fa0fb
treeb38aaf4e95bd1ecfd041b0c450dc80f4880e1ac9
parent90dde6b70f18447ff3481ce97d99a81b49536b5f
Bugfix: Static builds with '../' relative paths for objects do not build correctly.

Add new function that handles converting the relative path with '../' with one that has no '../'.
Use this to build the object paths by adding the full relative directory path for the build files.

Note that this could be a problem with possible directory structure conflicts in some situations.

Utilize a new cache `cache_relative` for the processing of the relative path.

Add additional debug reporting to improve the error reporting details with the programs, like `ar`, fail.

Add note how future FLL versions (0.9 and later) should have something like `fl_path_canonical()`.

I need to also follow this commit up with an investigation to see if any of these `../` can get outside the project root.
There is a need for a project root parameter for situations where different paths are specified, such as specifying `--sources`.
Alternatively, I might have to restrict all `../` to the sources directory and then move all of my `tests/` directory files within the `sources/` directoreis for all projects.

This also gives me reason to consider adding IKI support to enhance the build settings.
I am on the fence on actually doing this or not.
level_3/fake/c/main/build/library.c
level_3/fake/c/main/common.c
level_3/fake/c/main/common.h
level_3/fake/c/main/common/type.c
level_3/fake/c/main/common/type.h
level_3/fake/c/main/make/operate_process.c
level_3/fake/c/main/make/operate_process.h
level_3/fake/c/main/make/operate_process_type.c
level_3/fake/c/main/make/print/error.c
level_3/fake/c/main/make/print/error.h