]> Kevux Git Server - fll/commit
Progress: controller program and related changes, such a adding fll_environment.
authorKevin Day <thekevinday@gmail.com>
Sun, 20 Dec 2020 00:05:49 +0000 (18:05 -0600)
committerKevin Day <thekevinday@gmail.com>
Sun, 20 Dec 2020 00:05:49 +0000 (18:05 -0600)
commit5ce1e850ccf4009faa25ae1e1894de0157dcf047
tree7cc7839d98e227efba1372d86c4449ba6ba1fa81
parent98a44214dfad50d64797880c63ab644ae751eae8
Progress: controller program and related changes, such a adding fll_environment.

The environment loading functionality is likely to be very common.
Create fll_environment (because it depends on fl_string) and provide the environment variable loading functionality.
Replace the related code from Featureless Make to use the code from fll_environment.

Instead of using two string arrays, use an array of string maps for the environment.
Make the appropriate changes in all affected projects.

Add the fll_execute_as() function to perform an execution without a fork() operation.
This will become important once I write the f_asynchronous and related projects.

A new execute parameter option fl_execute_parameter_option_fixated is introduced to allow for execution without automatically prepending the program name at index 0.
There are existing projects that have to reconstruct an array to meet the structure of the execute functions (which then reconstructs the array again...essentially back to how it started).
This is a bit ridiculous and an artifact of the previous design.
With this new execute parameter option, the array is not reconstructed and assumed to be correct.

The controller program now sets the environment variables on the executed process (which currently only script execution is written).
35 files changed:
build/level_2/settings
build/monolithic/settings
build/scripts/bootstrap-example.sh
level_1/fl_execute/c/execute-common.h
level_2/fll_environment/c/environment.c [new file with mode: 0644]
level_2/fll_environment/c/environment.h [new file with mode: 0644]
level_2/fll_environment/data/build/defines [new file with mode: 0644]
level_2/fll_environment/data/build/dependencies [new file with mode: 0644]
level_2/fll_environment/data/build/settings [new file with mode: 0644]
level_2/fll_execute/c/execute.c
level_2/fll_execute/c/execute.h
level_2/fll_execute/c/private-execute.c
level_2/fll_execute/c/private-execute.h
level_2/fll_program/c/program.c
level_3/controller/c/controller.h
level_3/controller/c/private-common.h
level_3/controller/c/private-rule.c
level_3/controller/c/private-rule.h
level_3/controller/data/build/dependencies
level_3/controller/data/build/settings
level_3/fake/c/fake.h
level_3/fake/c/private-build.c
level_3/fake/c/private-build.h
level_3/fake/c/private-fake.c
level_3/fake/c/private-fake.h
level_3/fake/c/private-make.c
level_3/fake/c/private-make.h
level_3/fake/data/build/dependencies
level_3/fake/data/build/settings
level_3/firewall/c/private-firewall.h
level_3/fss_basic_list_read/c/private-fss_basic_list_read.h
level_3/fss_basic_read/c/private-fss_basic_read.h
level_3/fss_embedded_list_read/c/private-fss_embedded_list_read.h
level_3/fss_extended_list_read/c/private-fss_extended_list_read.h
level_3/fss_extended_read/c/private-fss_extended_read.h