]> Kevux Git Server - fll/commit
Bugfix: Problematic handling of object files.
authorKevin Day <kevin@kevux.org>
Fri, 29 Mar 2024 04:10:45 +0000 (23:10 -0500)
committerKevin Day <kevin@kevux.org>
Fri, 29 Mar 2024 04:10:45 +0000 (23:10 -0500)
commit05e16beb0cce74f3117cc4a06440374a7d36a7a7
treea27054c83b618a1808f89cb6c0defaacaaff0ec2
parent1088826fa851ace6020d5366da0755a1b99936c5
Bugfix: Problematic handling of object files.

The object files are not being compiled correctly when performing a static build.
There may now be multiple object sources files which are now built individually.

The build object sources must be built without source code files.
The logic is relocated into a fake_build_library_static_object() function to build the object files.
These files are then included when static linking.
A new build stage is also added to accommodate this.

Building the objects should not include libraries linked.
Remove the logic that auto-adds the library linkage when building objects.

Break out the "path_sources" Object into multiple sub-parts:
  - "path_sources_headers".
  - "path_sources_library".
  - "path_sources_object".
  - "path_sources_program".
  - "path_sources_script".

Update the documentation and specification files accordingly.

Add missing version dates to the specifications.

Update the bootstrap.sh script with these changes.
Fix incidental problems discovered in the bootstrap.sh script:
  - Remove already compiled warning as it is not needed and is not exhaustive.
  - Improve handling of directory detection and simplify the relating code.
  - The built setting files are now being properly checked (a regression caused them to not be properly checked).
28 files changed:
build/scripts/bootstrap.sh
build/stand_alone/fake.settings
level_3/fake/c/private-build-library.c
level_3/fake/c/private-build-library.h
level_3/fake/c/private-build-load.c
level_3/fake/c/private-build-object.c
level_3/fake/c/private-build-object.h
level_3/fake/c/private-build-objects.c [deleted file]
level_3/fake/c/private-build-objects.h [deleted file]
level_3/fake/c/private-build-program.c
level_3/fake/c/private-build.c
level_3/fake/c/private-build.h
level_3/fake/c/private-common.c
level_3/fake/c/private-common.h
level_3/fake/c/private-make-operate.c
level_3/fake/c/private-skeleton.h
level_3/fake/data/build/settings
level_3/fake/data/documentation/man/man5/fake-defines.5
level_3/fake/data/documentation/man/man5/fake-depedencies.5
level_3/fake/data/documentation/man/man5/fake-fakefile.5
level_3/fake/data/documentation/man/man5/fake-settings.5
level_3/fake/data/projects/example/return_code.fakefile
level_3/fake/documents/fakefile.txt
level_3/fake/documents/settings.txt
level_3/fake/specifications/defines.txt
level_3/fake/specifications/dependencies.txt
level_3/fake/specifications/fakefile.txt
level_3/fake/specifications/settings.txt