From 9db3f21118cd1990608e88d47f7a1880cee1a811 Mon Sep 17 00:00:00 2001 From: Kevin Day Date: Sun, 6 Sep 2020 17:35:23 -0500 Subject: [PATCH] Cleanup: rename linker/archiver to indexer in featureless make and tweak bootstrap.sh. The linker program 'ar' creates an archive which is essentially an index. By switching the words from linker and archiver to indexer, I believe that I can avoid terminology conflicts. This avoids conflicting the 'linker' in terms of 'ar' and the 'linker' in terms of 'ln'. This avoids conflicting the 'archiver' in terms of 'ar' and the 'archiver' in terms of 'bzip2'. Use "return" instead of "exit" in bootstrap.sh. --- build/level_0/settings | 2 +- build/level_1/settings | 2 +- build/level_2/settings | 2 +- build/monolithic/settings | 2 +- build/scripts/bootstrap.sh | 75 ++++++++++++++-------- level_0/f_account/data/build/settings | 2 +- level_0/f_color/data/build/settings | 2 +- level_0/f_console/data/build/settings | 2 +- level_0/f_conversion/data/build/settings | 2 +- level_0/f_directory/data/build/settings | 2 +- level_0/f_environment/data/build/settings | 2 +- level_0/f_file/data/build/settings | 2 +- level_0/f_fss/data/build/settings | 2 +- level_0/f_iki/data/build/settings | 2 +- level_0/f_memory/data/build/settings | 2 +- level_0/f_path/data/build/settings | 2 +- level_0/f_pipe/data/build/settings | 2 +- level_0/f_print/data/build/settings | 2 +- level_0/f_serialize/data/build/settings | 2 +- level_0/f_socket/data/build/settings | 2 +- level_0/f_status/data/build/settings | 2 +- level_0/f_string/data/build/settings | 2 +- level_0/f_type/data/build/settings | 2 +- level_0/f_utf/data/build/settings | 2 +- level_1/fl_color/data/build/settings | 2 +- level_1/fl_console/data/build/settings | 2 +- level_1/fl_conversion/data/build/settings | 2 +- level_1/fl_directory/data/build/settings | 2 +- level_1/fl_environment/data/build/settings | 2 +- level_1/fl_fss/data/build/settings | 2 +- level_1/fl_iki/data/build/settings | 2 +- level_1/fl_print/data/build/settings | 2 +- level_1/fl_status/data/build/settings | 2 +- level_1/fl_string/data/build/settings | 2 +- level_1/fl_utf/data/build/settings | 2 +- level_1/fl_utf_file/data/build/settings | 2 +- level_2/fll_execute/data/build/settings | 2 +- level_2/fll_file/data/build/settings | 2 +- level_2/fll_fss/data/build/settings | 2 +- level_2/fll_path/data/build/settings | 2 +- level_2/fll_program/data/build/settings | 2 +- level_2/fll_status/data/build/settings | 2 +- level_3/byte_dump/data/build/settings | 2 +- level_3/fake/c/private-build.c | 21 +++--- level_3/fake/c/private-build.h | 8 +-- level_3/fake/c/private-make.c | 32 ++++----- level_3/fake/c/private-make.h | 8 +-- level_3/fake/data/build/settings | 2 +- level_3/fake/data/build/settings-example-bzip2 | 2 +- .../fake/data/build/settings-example-bzip2recover | 2 +- level_3/fake/documents/fakefile.txt | 10 +-- level_3/fake/documents/settings.txt | 12 ++-- level_3/fake/specifications/fakefile.txt | 2 +- level_3/fake/specifications/settings.txt | 2 +- level_3/firewall/data/build/settings | 2 +- level_3/fss_basic_list_read/data/build/settings | 2 +- level_3/fss_basic_list_write/data/build/settings | 2 +- level_3/fss_basic_read/data/build/settings | 2 +- level_3/fss_basic_write/data/build/settings | 2 +- level_3/fss_extended_list_read/data/build/settings | 2 +- level_3/fss_extended_read/data/build/settings | 2 +- level_3/fss_extended_write/data/build/settings | 2 +- level_3/fss_status_code/data/build/settings | 2 +- level_3/iki_read/data/build/settings | 2 +- level_3/init/data/build/settings | 2 +- level_3/status_code/data/build/settings | 2 +- 66 files changed, 153 insertions(+), 131 deletions(-) diff --git a/build/level_0/settings b/build/level_0/settings index 6f9dd38..b8ad29b 100644 --- a/build/level_0/settings +++ b/build/level_0/settings @@ -16,8 +16,8 @@ modes level modes_default level build_compiler gcc +build_indexer ar build_language c -build_linker ar build_libraries -lc build_libraries-level build_sources_library account.c console.c conversion.c directory.c private-directory.c environment.c private-environment.c file.c private-file.c fss.c iki.c memory.c path.c private-path.c pipe.c print.c serialize.c private-serialize.c socket.c utf.c private-utf.c diff --git a/build/level_1/settings b/build/level_1/settings index 8d33cbf..4af6981 100644 --- a/build/level_1/settings +++ b/build/level_1/settings @@ -16,8 +16,8 @@ modes level modes_default level build_compiler gcc +build_indexer ar build_language c -build_linker ar build_libraries -lc build_libraries-level -lfll_0 build_sources_library color.c console.c conversion.c directory.c private-directory.c environment.c private-fss.c fss_basic.c fss_basic_list.c fss_extended.c fss_extended_list.c iki.c print.c status.c string.c private-string.c utf.c private-utf.c utf_file.c private-utf_file.c diff --git a/build/level_2/settings b/build/level_2/settings index 036cc02..546d33a 100644 --- a/build/level_2/settings +++ b/build/level_2/settings @@ -16,8 +16,8 @@ modes level modes_default level build_compiler gcc +build_indexer ar build_language c -build_linker ar build_libraries -lc build_libraries-level -lfll_1 -lfll_0 build_sources_library execute.c private-execute.c file.c fss.c private-fss.c fss_basic.c fss_basic_list.c fss_extended.c fss_extended_list.c fss_status.c path.c program.c status.c diff --git a/build/monolithic/settings b/build/monolithic/settings index 88b8e73..88f4862 100644 --- a/build/monolithic/settings +++ b/build/monolithic/settings @@ -16,8 +16,8 @@ modes monolithic modes_default monolithic build_compiler gcc +build_indexer ar build_language c -build_linker ar build_libraries -lc build_libraries-monolithic build_sources_library level_0/account.c level_0/console.c level_0/conversion.c level_0/directory.c level_0/private-directory.c level_0/environment.c level_0/private-environment.c level_0/file.c level_0/private-file.c level_0/fss.c level_0/iki.c level_0/memory.c level_0/path.c level_0/private-path.c level_0/pipe.c level_0/print.c level_0/serialize.c level_0/private-serialize.c level_0/socket.c level_0/utf.c level_0/private-utf.c level_1/color.c level_1/console.c level_1/conversion.c level_1/directory.c level_1/private-directory.c level_1/environment.c level_1/private-fss.c level_1/fss_basic.c level_1/fss_basic_list.c level_1/fss_extended.c level_1/fss_extended_list.c level_1/iki.c level_1/print.c level_1/status.c level_1/string.c level_1/private-string.c level_1/utf.c level_1/private-utf.c level_1/utf_file.c level_1/private-utf_file.c level_2/execute.c level_2/private-execute.c level_2/file.c level_2/fss.c level_2/private-fss.c level_2/fss_basic.c level_2/fss_basic_list.c level_2/fss_extended.c level_2/fss_extended_list.c level_2/fss_status.c level_2/path.c level_2/program.c level_2/status.c diff --git a/build/scripts/bootstrap.sh b/build/scripts/bootstrap.sh index bb3169d..71e6161 100644 --- a/build/scripts/bootstrap.sh +++ b/build/scripts/bootstrap.sh @@ -158,6 +158,11 @@ bootstrap_main() { bootstrap_load_settings + if [[ $? -ne 0 ]] ; then + bootstrap_cleanup + return 1 + fi + if [[ $mode == "" ]] ; then mode=${variables[$(bootstrap_id modes_default)]} @@ -173,6 +178,11 @@ bootstrap_main() { bootstrap_load_settings_mode + if [[ $? -ne 0 ]] ; then + bootstrap_cleanup + return 1 + fi + project_built="${path_build_stage}${variables[$(bootstrap_id project_name)]}" if [[ $process != "" ]] ; then project_built="${project_built}-$process" @@ -312,9 +322,19 @@ bootstrap_main() { else if [[ ! -f ${project_built}.prepared ]] ; then bootstrap_prepare_build + + if [[ $? -ne 0 ]] ; then + bootstrap_cleanup + return 1 + fi fi bootstrap_operation_build + + if [[ $? -ne 0 ]] ; then + bootstrap_cleanup + return 1 + fi fi elif [[ $operation == "clean" ]] ; then if [[ $verbosity != "quiet" ]] ; then @@ -405,9 +425,9 @@ bootstrap_id() { case $name in "build_compiler") echo -n 0;; - "build_language") echo -n 1;; - "build_libraries") echo -n 2;; - "build_linker") echo -n 3;; + "build_indexer") echo -n 1;; + "build_language") echo -n 2;; + "build_libraries") echo -n 3;; "build_script") echo -n 4;; "build_shared") echo -n 5;; "build_sources_headers") echo -n 6;; @@ -486,11 +506,10 @@ bootstrap_load_settings() { fi if [[ $failure != "" ]] ; then - bootstrap_cleanup - exit $failure + return 1 fi - for i in build_compiler build_language build_libraries build_linker build_script build_shared build_sources_headers build_sources_library build_sources_program build_sources_setting build_sources_script build_static defines_all defines_shared defines_static environment flags_all flags_library flags_program flags_shared flags_static modes modes_default path_language path_headers path_library_script path_library_shared path_library_static path_program_script path_program_shared path_program_static path_sources path_standard process_post process_pre project_name search_exclusive search_shared search_static version_major version_micro version_minor ; do + for i in build_compiler build_indexer build_language build_libraries build_script build_shared build_sources_headers build_sources_library build_sources_program build_sources_setting build_sources_script build_static defines_all defines_shared defines_static environment flags_all flags_library flags_program flags_shared flags_static modes modes_default path_language path_headers path_library_script path_library_shared path_library_static path_program_script path_program_shared path_program_static path_sources path_standard process_post process_pre project_name search_exclusive search_shared search_static version_major version_micro version_minor ; do variables[$(bootstrap_id $i)]=$(grep -s -o "^[[:space:]]*$i[[:space:]].*\$" $settings_file | sed -e "s|^[[:space:]]*$i\>||" -e 's|^[[:space:]]*||') done } @@ -517,8 +536,7 @@ bootstrap_prepare_build() { fi if [[ $failure != "" ]] ; then - bootstrap_cleanup - exit $failure + return $failure fi touch ${project_built}.prepared @@ -532,7 +550,7 @@ bootstrap_operation_build() { local micro=${variables[$(bootstrap_id version_micro)]} local target=${variables[$(bootstrap_id version_target)]} local compiler=${variables[$(bootstrap_id build_compiler)]} - local linker=${variables[$(bootstrap_id build_linker)]} + local indexer=${variables[$(bootstrap_id build_indexer)]} local arguments_include="-I${path_build}includes" local arguments_shared="-L${path_build}libraries/shared" local arguments_static="-L${path_build}libraries/static" @@ -708,8 +726,7 @@ bootstrap_operation_build() { echo -e "${c_error}ERROR: Cannot Build, either build_shared or build_static must be set to 'yes'.$c_reset" fi - bootstrap_cleanup - exit -1 + return 1 fi if [[ $search_shared != "yes" && $search_static != "yes" ]] ; then @@ -717,8 +734,7 @@ bootstrap_operation_build() { echo -e "${c_error}ERROR: Cannot Build, either search_shared or search_static must be set to 'yes'.$c_reset" fi - bootstrap_cleanup - exit -1 + return 1 fi for i in $sources_library ; do @@ -727,8 +743,7 @@ bootstrap_operation_build() { echo -e "${c_error}ERROR: Cannot Build, invalid source_library path provided: '$i'.$c_reset" fi - bootstrap_cleanup - exit -1 + return 1 fi done @@ -738,8 +753,7 @@ bootstrap_operation_build() { echo -e "${c_error}ERROR: Cannot Build, invalid sources_program path provided: '$i'.$c_reset" fi - bootstrap_cleanup - exit -1 + return 1 fi done @@ -749,8 +763,7 @@ bootstrap_operation_build() { echo -e "${c_error}ERROR: Cannot Build, invalid sources_headers path provided: '$i'.$c_reset" fi - bootstrap_cleanup - exit -1 + return 1 fi done @@ -760,8 +773,7 @@ bootstrap_operation_build() { echo -e "${c_error}ERROR: Cannot Build, invalid sources_bash path provided: '$i'.$c_reset" fi - bootstrap_cleanup - exit -1 + return 1 fi done @@ -771,8 +783,7 @@ bootstrap_operation_build() { echo -e "${c_error}ERROR: Cannot Build, invalid sources_setting path provided: '$i'.$c_reset" fi - bootstrap_cleanup - exit -1 + return 1 fi done @@ -789,6 +800,16 @@ bootstrap_operation_build() { arguments_shared="$arguments_shared $arguments_static" fi + if [[ $compiler == "" ]] ; then + echo -e "${c_error}ERROR: Cannot Build, no '${c_notice}build_compiler${c_error}' specified, such as '${c_notice}gcc${c_error}'.$c_reset" + return 1 + fi + + if [[ $indexer == "" ]] ; then + echo -e "${c_error}ERROR: Cannot Build, no '${c_notice}build_indexer${c_error}' specified, such as '${c_notice}ar${c_error}'.$c_reset" + failure=1 + fi + if [[ $sources_setting != "" ]] ; then for i in $sources_setting ; do directory=$(dirname $i) @@ -896,11 +917,12 @@ bootstrap_operation_build() { done if [[ $failure == "" && $sources_library != "" ]] ; then + if [[ $verbosity == "verbose" ]] ; then - echo $linker rcs ${path_build}libraries/static/lib$name.a $sources + echo $indexer rcs ${path_build}libraries/static/lib$name.a $sources fi - $linker rcs ${path_build}libraries/static/lib$name.a $sources || failure=1 + $indexer rcs ${path_build}libraries/static/lib$name.a $sources || failure=1 fi fi @@ -929,8 +951,7 @@ bootstrap_operation_build() { echo -e "${c_error}ERROR: failed to build.$c_reset" fi - bootstrap_cleanup - exit $failure + return 1 fi touch ${project_built}.built diff --git a/level_0/f_account/data/build/settings b/level_0/f_account/data/build/settings index 5d28964..d776bf6 100644 --- a/level_0/f_account/data/build/settings +++ b/level_0/f_account/data/build/settings @@ -16,8 +16,8 @@ modes individual modes_default individual build_compiler gcc +build_indexer ar build_language c -build_linker ar build_libraries -lc build_libraries-individual build_sources_library account.c diff --git a/level_0/f_color/data/build/settings b/level_0/f_color/data/build/settings index c4f5eac..b0dccca 100644 --- a/level_0/f_color/data/build/settings +++ b/level_0/f_color/data/build/settings @@ -16,8 +16,8 @@ modes individual modes_default individual build_compiler gcc +build_indexer ar build_language c -build_linker ar build_libraries -lc build_libraries-individual build_sources_library diff --git a/level_0/f_console/data/build/settings b/level_0/f_console/data/build/settings index 7dab937..0edd6fb 100644 --- a/level_0/f_console/data/build/settings +++ b/level_0/f_console/data/build/settings @@ -16,8 +16,8 @@ modes individual modes_default individual build_compiler gcc +build_indexer ar build_language c -build_linker ar build_libraries -lc build_libraries-individual -lf_utf -lf_memory build_sources_library console.c diff --git a/level_0/f_conversion/data/build/settings b/level_0/f_conversion/data/build/settings index 11624cc..434a3c9 100644 --- a/level_0/f_conversion/data/build/settings +++ b/level_0/f_conversion/data/build/settings @@ -16,8 +16,8 @@ modes individual modes_default individual build_compiler gcc +build_indexer ar build_language c -build_linker ar build_libraries -lc build_libraries-individual -lf_utf -lf_memory build_sources_library conversion.c diff --git a/level_0/f_directory/data/build/settings b/level_0/f_directory/data/build/settings index 01c4e24..5b2c826 100644 --- a/level_0/f_directory/data/build/settings +++ b/level_0/f_directory/data/build/settings @@ -16,8 +16,8 @@ modes individual modes_default individual build_compiler gcc +build_indexer ar build_language c -build_linker ar build_libraries -lc build_libraries-individual -lf_memory build_sources_library directory.c private-directory.c diff --git a/level_0/f_environment/data/build/settings b/level_0/f_environment/data/build/settings index 97dc09d..ad1a0dd 100644 --- a/level_0/f_environment/data/build/settings +++ b/level_0/f_environment/data/build/settings @@ -16,8 +16,8 @@ modes individual modes_default individual build_compiler gcc +build_indexer ar build_language c -build_linker ar build_libraries -lc build_libraries-individual -lf_memory build_sources_library environment.c private-environment.c diff --git a/level_0/f_file/data/build/settings b/level_0/f_file/data/build/settings index 953619c..797fd67 100644 --- a/level_0/f_file/data/build/settings +++ b/level_0/f_file/data/build/settings @@ -16,8 +16,8 @@ modes individual modes_default individual build_compiler gcc +build_indexer ar build_language c -build_linker ar build_libraries -lc build_libraries-individual -lf_memory build_sources_library file.c private-file.c diff --git a/level_0/f_fss/data/build/settings b/level_0/f_fss/data/build/settings index 5b74602..0611f35 100644 --- a/level_0/f_fss/data/build/settings +++ b/level_0/f_fss/data/build/settings @@ -16,8 +16,8 @@ modes individual modes_default individual build_compiler gcc +build_indexer ar build_language c -build_linker ar build_libraries -lc build_libraries-individual -lf_utf -lf_memory build_sources_library fss.c diff --git a/level_0/f_iki/data/build/settings b/level_0/f_iki/data/build/settings index d17147d..43c0f2c 100644 --- a/level_0/f_iki/data/build/settings +++ b/level_0/f_iki/data/build/settings @@ -16,8 +16,8 @@ modes individual modes_default individual build_compiler gcc +build_indexer ar build_language c -build_linker ar build_libraries -lc build_libraries-individual -lf_utf -lf_memory build_sources_library iki.c diff --git a/level_0/f_memory/data/build/settings b/level_0/f_memory/data/build/settings index 8dbc496..3f4acc6 100644 --- a/level_0/f_memory/data/build/settings +++ b/level_0/f_memory/data/build/settings @@ -16,8 +16,8 @@ modes individual modes_default individual build_compiler gcc +build_indexer ar build_language c -build_linker ar build_libraries -lc build_libraries-individual build_sources_library memory.c diff --git a/level_0/f_path/data/build/settings b/level_0/f_path/data/build/settings index fc6701a..2c62f48 100644 --- a/level_0/f_path/data/build/settings +++ b/level_0/f_path/data/build/settings @@ -16,8 +16,8 @@ modes individual modes_default individual build_compiler gcc +build_indexer ar build_language c -build_linker ar build_libraries -lc build_libraries-individual -lf_memory build_sources_library path.c private-path.c diff --git a/level_0/f_pipe/data/build/settings b/level_0/f_pipe/data/build/settings index 1147df1..1d8bc91 100644 --- a/level_0/f_pipe/data/build/settings +++ b/level_0/f_pipe/data/build/settings @@ -16,8 +16,8 @@ modes individual modes_default individual build_compiler gcc +build_indexer ar build_language c -build_linker ar build_libraries -lc build_libraries-individual build_sources_library pipe.c diff --git a/level_0/f_print/data/build/settings b/level_0/f_print/data/build/settings index 54be37c..857a605 100644 --- a/level_0/f_print/data/build/settings +++ b/level_0/f_print/data/build/settings @@ -16,8 +16,8 @@ modes individual modes_default individual build_compiler gcc +build_indexer ar build_language c -build_linker ar build_libraries -lc build_libraries-individual -lf_memory build_sources_library print.c diff --git a/level_0/f_serialize/data/build/settings b/level_0/f_serialize/data/build/settings index 0d08928..603b607 100644 --- a/level_0/f_serialize/data/build/settings +++ b/level_0/f_serialize/data/build/settings @@ -16,8 +16,8 @@ modes individual modes_default individual build_compiler gcc +build_indexer ar build_language c -build_linker ar build_libraries -lc build_libraries-individual -lf_utf -lf_memory build_sources_library serialize.c private-serialize.c diff --git a/level_0/f_socket/data/build/settings b/level_0/f_socket/data/build/settings index 9b4dc47..bedd8f0 100644 --- a/level_0/f_socket/data/build/settings +++ b/level_0/f_socket/data/build/settings @@ -16,8 +16,8 @@ modes individual modes_default individual build_compiler gcc +build_indexer ar build_language c -build_linker ar build_libraries -lc build_libraries-individual -lf_memory build_sources_library socket.c diff --git a/level_0/f_status/data/build/settings b/level_0/f_status/data/build/settings index 7b35729..0010c19 100644 --- a/level_0/f_status/data/build/settings +++ b/level_0/f_status/data/build/settings @@ -16,8 +16,8 @@ modes individual modes_default individual build_compiler gcc +build_indexer ar build_language c -build_linker ar build_libraries -lc build_libraries-individual build_sources_library diff --git a/level_0/f_string/data/build/settings b/level_0/f_string/data/build/settings index fbcd0d4..2f4089b 100644 --- a/level_0/f_string/data/build/settings +++ b/level_0/f_string/data/build/settings @@ -16,8 +16,8 @@ modes individual modes_default individual build_compiler gcc +build_indexer ar build_language c -build_linker ar build_libraries -lc build_libraries-individual -lf_memory build_sources_library diff --git a/level_0/f_type/data/build/settings b/level_0/f_type/data/build/settings index 93b9eb9..8bb632f 100644 --- a/level_0/f_type/data/build/settings +++ b/level_0/f_type/data/build/settings @@ -16,8 +16,8 @@ modes individual modes_default individual build_compiler gcc +build_indexer ar build_language c -build_linker ar build_libraries -lc build_libraries-individual build_sources_library diff --git a/level_0/f_utf/data/build/settings b/level_0/f_utf/data/build/settings index 5c149bb..20a50df 100644 --- a/level_0/f_utf/data/build/settings +++ b/level_0/f_utf/data/build/settings @@ -16,8 +16,8 @@ modes individual modes_default individual build_compiler gcc +build_indexer ar build_language c -build_linker ar build_libraries -lc build_libraries-individual -lf_memory build_sources_library utf.c private-utf.c diff --git a/level_1/fl_color/data/build/settings b/level_1/fl_color/data/build/settings index 7fec93b..d65aec1 100644 --- a/level_1/fl_color/data/build/settings +++ b/level_1/fl_color/data/build/settings @@ -16,8 +16,8 @@ modes individual modes_default individual build_compiler gcc +build_indexer ar build_language c -build_linker ar build_libraries -lc build_libraries-individual -lf_print -lf_file -lf_memory build_sources_library color.c diff --git a/level_1/fl_console/data/build/settings b/level_1/fl_console/data/build/settings index 491a237..8cdee2c 100644 --- a/level_1/fl_console/data/build/settings +++ b/level_1/fl_console/data/build/settings @@ -16,8 +16,8 @@ modes individual modes_default individual build_compiler gcc +build_indexer ar build_language c -build_linker ar build_libraries -lc build_libraries-individual -lf_conversion -lf_console -lf_utf -lf_memory build_sources_library console.c diff --git a/level_1/fl_conversion/data/build/settings b/level_1/fl_conversion/data/build/settings index 6105dee..80a9744 100644 --- a/level_1/fl_conversion/data/build/settings +++ b/level_1/fl_conversion/data/build/settings @@ -16,8 +16,8 @@ modes individual modes_default individual build_compiler gcc +build_indexer ar build_language c -build_linker ar build_libraries -lc build_libraries-individual -lf_conversion -lf_utf -lf_memory build_sources_library conversion.c diff --git a/level_1/fl_directory/data/build/settings b/level_1/fl_directory/data/build/settings index 6184d2c..4c8001a 100644 --- a/level_1/fl_directory/data/build/settings +++ b/level_1/fl_directory/data/build/settings @@ -16,8 +16,8 @@ modes individual modes_default individual build_compiler gcc +build_indexer ar build_language c -build_linker ar build_libraries -lc build_libraries-individual -lf_path -lf_file -lf_directory -lf_utf -lf_memory build_sources_library directory.c private-directory.c diff --git a/level_1/fl_environment/data/build/settings b/level_1/fl_environment/data/build/settings index 3988b5a..ca816f4 100644 --- a/level_1/fl_environment/data/build/settings +++ b/level_1/fl_environment/data/build/settings @@ -16,8 +16,8 @@ modes individual modes_default individual build_compiler gcc +build_indexer ar build_language c -build_linker ar build_libraries -lc build_libraries-individual -lf_path -lf_environment -lf_utf -lf_memory build_sources_library environment.c diff --git a/level_1/fl_fss/data/build/settings b/level_1/fl_fss/data/build/settings index 0539c66..9a70357 100644 --- a/level_1/fl_fss/data/build/settings +++ b/level_1/fl_fss/data/build/settings @@ -16,8 +16,8 @@ modes individual modes_default individual build_compiler gcc +build_indexer ar build_language c -build_linker ar build_libraries -lc build_libraries-individual -lf_fss -lf_file -lf_utf -lf_memory build_sources_library private-fss.c fss_basic.c fss_basic_list.c fss_extended.c fss_extended_list.c diff --git a/level_1/fl_iki/data/build/settings b/level_1/fl_iki/data/build/settings index 5b94f71..d0d16d0 100644 --- a/level_1/fl_iki/data/build/settings +++ b/level_1/fl_iki/data/build/settings @@ -16,8 +16,8 @@ modes individual modes_default individual build_compiler gcc +build_indexer ar build_language c -build_linker ar build_libraries -lc build_libraries-individual -lf_iki -lf_utf -lf_memory build_sources_library iki.c diff --git a/level_1/fl_print/data/build/settings b/level_1/fl_print/data/build/settings index 2068a95..6ef8239 100644 --- a/level_1/fl_print/data/build/settings +++ b/level_1/fl_print/data/build/settings @@ -16,8 +16,8 @@ modes individual modes_default individual build_compiler gcc +build_indexer ar build_language c -build_linker ar build_libraries -lc build_libraries-individual -lf_print -lf_conversion -lf_utf -lf_memory build_sources_library print.c diff --git a/level_1/fl_status/data/build/settings b/level_1/fl_status/data/build/settings index e582323..12ad355 100644 --- a/level_1/fl_status/data/build/settings +++ b/level_1/fl_status/data/build/settings @@ -16,8 +16,8 @@ modes individual modes_default individual build_compiler gcc +build_indexer ar build_language c -build_linker ar build_libraries -lc build_libraries-individual -lf_utf -lf_memory build_sources_library status.c diff --git a/level_1/fl_string/data/build/settings b/level_1/fl_string/data/build/settings index d17a1e9..4e5ca81 100644 --- a/level_1/fl_string/data/build/settings +++ b/level_1/fl_string/data/build/settings @@ -16,8 +16,8 @@ modes individual modes_default individual build_compiler gcc +build_indexer ar build_language c -build_linker ar build_libraries -lc build_libraries-individual -lf_utf -lf_memory build_sources_library string.c private-string.c diff --git a/level_1/fl_utf/data/build/settings b/level_1/fl_utf/data/build/settings index 0533a88..a1d95f8 100644 --- a/level_1/fl_utf/data/build/settings +++ b/level_1/fl_utf/data/build/settings @@ -16,8 +16,8 @@ modes individual modes_default individual build_compiler gcc +build_indexer ar build_language c -build_linker ar build_libraries -lc build_libraries-individual -lf_utf -lf_memory build_sources_library utf.c private-utf.c diff --git a/level_1/fl_utf_file/data/build/settings b/level_1/fl_utf_file/data/build/settings index 83edb99..9f40576 100644 --- a/level_1/fl_utf_file/data/build/settings +++ b/level_1/fl_utf_file/data/build/settings @@ -16,8 +16,8 @@ modes individual modes_default individual build_compiler gcc +build_indexer ar build_language c -build_linker ar build_libraries -lc build_libraries-individual -lf_file -lf_utf -lf_memory build_sources_library utf_file.c private-utf_file.c diff --git a/level_2/fll_execute/data/build/settings b/level_2/fll_execute/data/build/settings index a70371b..224c3a0 100644 --- a/level_2/fll_execute/data/build/settings +++ b/level_2/fll_execute/data/build/settings @@ -16,8 +16,8 @@ modes individual modes_default individual build_compiler gcc +build_indexer ar build_language c -build_linker ar build_libraries -lc build_libraries-individual -lfl_string -lfl_environment -lf_utf -lf_path -lf_file -lf_environment -lf_memory build_sources_library execute.c private-execute.c diff --git a/level_2/fll_file/data/build/settings b/level_2/fll_file/data/build/settings index ac1cfb8..93b342a 100644 --- a/level_2/fll_file/data/build/settings +++ b/level_2/fll_file/data/build/settings @@ -16,8 +16,8 @@ modes individual modes_default individual build_compiler gcc +build_indexer ar build_language c -build_linker ar build_libraries -lc build_libraries-individual -lfl_color -lf_print -lf_file -lf_memory build_sources_library file.c diff --git a/level_2/fll_fss/data/build/settings b/level_2/fll_fss/data/build/settings index 5983b60..53b7031 100644 --- a/level_2/fll_fss/data/build/settings +++ b/level_2/fll_fss/data/build/settings @@ -16,8 +16,8 @@ modes individual modes_default individual build_compiler gcc +build_indexer ar build_language c -build_linker ar build_libraries -lc build_libraries-individual -lfl_string -lfl_status -lfl_fss -lfl_conversion -lf_file -lf_fss -lf_conversion -lf_utf -lf_memory build_sources_library fss.c private-fss.c fss_basic.c fss_basic_list.c fss_extended.c fss_extended_list.c fss_status.c diff --git a/level_2/fll_path/data/build/settings b/level_2/fll_path/data/build/settings index 26fa3f2..65fcd03 100644 --- a/level_2/fll_path/data/build/settings +++ b/level_2/fll_path/data/build/settings @@ -16,8 +16,8 @@ modes individual modes_default individual build_compiler gcc +build_indexer ar build_language c -build_linker ar build_libraries -lc build_libraries-individual -lfl_string -lf_utf -lf_path -lf_memory build_sources_library path.c diff --git a/level_2/fll_program/data/build/settings b/level_2/fll_program/data/build/settings index e73e732..98e1cfd 100644 --- a/level_2/fll_program/data/build/settings +++ b/level_2/fll_program/data/build/settings @@ -16,8 +16,8 @@ modes individual modes_default individual build_compiler gcc +build_indexer ar build_language c -build_linker ar build_libraries -lc build_libraries-individual -lfl_string -lfl_color -lf_print -lf_file -lf_console -lf_utf -lf_memory build_sources_library program.c diff --git a/level_2/fll_status/data/build/settings b/level_2/fll_status/data/build/settings index 2665e87..73c2cc4 100644 --- a/level_2/fll_status/data/build/settings +++ b/level_2/fll_status/data/build/settings @@ -16,8 +16,8 @@ modes individual modes_default individual build_compiler gcc +build_indexer ar build_language c -build_linker ar build_libraries -lc build_libraries-individual -lfl_string -lfl_status -lf_conversion -lf_utf -lf_memory build_sources_library status.c diff --git a/level_3/byte_dump/data/build/settings b/level_3/byte_dump/data/build/settings index c87f4a3..22699a3 100644 --- a/level_3/byte_dump/data/build/settings +++ b/level_3/byte_dump/data/build/settings @@ -16,8 +16,8 @@ modes individual level monolithic modes_default individual build_compiler gcc +build_indexer ar build_language c -build_linker ar build_libraries -lc build_libraries-individual -lfll_program -lfl_utf -lfl_string -lfl_conversion -lfl_console -lfl_color -lf_print -lf_pipe -lf_file -lf_conversion -lf_console -lf_utf -lf_memory build_libraries-level -lfll_2 -lfll_1 -lfll_0 diff --git a/level_3/fake/c/private-build.c b/level_3/fake/c/private-build.c index 52e485b..55ed70e 100644 --- a/level_3/fake/c/private-build.c +++ b/level_3/fake/c/private-build.c @@ -995,7 +995,7 @@ extern "C" { } } - fake_execute(data, data_build.environment, data_build.setting.build_linker, arguments, status); + fake_execute(data, data_build.environment, data_build.setting.build_indexer, arguments, status); f_macro_string_dynamic_t_delete_simple(file_name); f_macro_string_dynamic_t_delete_simple(source_path); @@ -1250,9 +1250,9 @@ extern "C" { const f_string_t settings_name[] = { fake_build_setting_name_build_compiler, + fake_build_setting_name_build_indexer, fake_build_setting_name_build_language, fake_build_setting_name_build_libraries, - fake_build_setting_name_build_linker, fake_build_setting_name_build_script, fake_build_setting_name_build_shared, fake_build_setting_name_build_sources_headers, @@ -1296,9 +1296,9 @@ extern "C" { const f_string_length_t settings_length[] = { fake_build_setting_name_build_compiler_length, + fake_build_setting_name_build_indexer_length, fake_build_setting_name_build_language_length, fake_build_setting_name_build_libraries_length, - fake_build_setting_name_build_linker_length, fake_build_setting_name_build_script_length, fake_build_setting_name_build_shared_length, fake_build_setting_name_build_sources_headers_length, @@ -1341,8 +1341,8 @@ extern "C" { }; f_string_dynamics_t build_compiler = f_string_dynamics_t_initialize; + f_string_dynamics_t build_indexer = f_string_dynamics_t_initialize; f_string_dynamics_t build_language = f_string_dynamics_t_initialize; - f_string_dynamics_t build_linker = f_string_dynamics_t_initialize; f_string_dynamics_t build_script = f_string_dynamics_t_initialize; f_string_dynamics_t build_shared = f_string_dynamics_t_initialize; f_string_dynamics_t build_static = f_string_dynamics_t_initialize; @@ -1369,9 +1369,9 @@ extern "C" { f_string_dynamics_t *settings_value[] = { &build_compiler, + &build_indexer, &build_language, &setting->build_libraries, - &build_linker, &build_script, &build_shared, &setting->build_sources_headers, @@ -1511,8 +1511,8 @@ extern "C" { else { const f_string_t settings_single_name[] = { fake_build_setting_name_build_compiler, + fake_build_setting_name_build_indexer, fake_build_setting_name_build_language, - fake_build_setting_name_build_linker, fake_build_setting_name_build_script, fake_build_setting_name_build_shared, fake_build_setting_name_build_static, @@ -1540,8 +1540,8 @@ extern "C" { const f_string_statics_t *settings_single_source[] = { &build_compiler, + &build_indexer, &build_language, - &build_linker, &build_script, &build_shared, &build_static, @@ -1594,8 +1594,8 @@ extern "C" { f_string_dynamic_t *settings_single_destination[] = { &setting->build_compiler, + &setting->build_indexer, 0, - &setting->build_linker, 0, 0, 0, @@ -1622,6 +1622,7 @@ extern "C" { uint8_t *settings_single_language[] = { 0, + 0, &setting->build_language, }; @@ -1657,8 +1658,8 @@ extern "C" { // 1 = "yes" or "no", 2 = path/, 3 = literal, 4 = "bash", "c", or "c++", 5 = "major", "minor", or "micro". uint8_t settings_single_type[] = { 3, - 4, 3, + 4, 1, 1, 1, @@ -1816,8 +1817,8 @@ extern "C" { } f_macro_string_dynamics_t_delete_simple(build_compiler); + f_macro_string_dynamics_t_delete_simple(build_indexer); f_macro_string_dynamics_t_delete_simple(build_language); - f_macro_string_dynamics_t_delete_simple(build_linker); f_macro_string_dynamics_t_delete_simple(build_script); f_macro_string_dynamics_t_delete_simple(build_shared); f_macro_string_dynamics_t_delete_simple(build_static); diff --git a/level_3/fake/c/private-build.h b/level_3/fake/c/private-build.h index 3787fe8..5b7294f 100644 --- a/level_3/fake/c/private-build.h +++ b/level_3/fake/c/private-build.h @@ -29,7 +29,7 @@ extern "C" { bool search_static; f_string_dynamic_t build_compiler; - f_string_dynamic_t build_linker; + f_string_dynamic_t build_indexer; f_string_dynamic_t path_headers; f_string_dynamic_t path_language; f_string_dynamic_t path_library_script; @@ -113,7 +113,7 @@ extern "C" { #define fake_macro_build_setting_t_delete_simple(setting) \ f_macro_string_dynamic_t_delete_simple(setting.build_compiler) \ - f_macro_string_dynamic_t_delete_simple(setting.build_linker) \ + f_macro_string_dynamic_t_delete_simple(setting.build_indexer) \ f_macro_string_dynamic_t_delete_simple(setting.path_headers) \ f_macro_string_dynamic_t_delete_simple(setting.path_language) \ f_macro_string_dynamic_t_delete_simple(setting.path_library_script) \ @@ -150,7 +150,7 @@ extern "C" { #define fake_build_setting_name_build_compiler "build_compiler" #define fake_build_setting_name_build_language "build_language" #define fake_build_setting_name_build_libraries "build_libraries" - #define fake_build_setting_name_build_linker "build_linker" + #define fake_build_setting_name_build_indexer "build_indexer" #define fake_build_setting_name_build_script "build_script" #define fake_build_setting_name_build_shared "build_shared" #define fake_build_setting_name_build_sources_headers "build_sources_headers" @@ -194,7 +194,7 @@ extern "C" { #define fake_build_setting_name_build_compiler_length 14 #define fake_build_setting_name_build_language_length 14 #define fake_build_setting_name_build_libraries_length 15 - #define fake_build_setting_name_build_linker_length 12 + #define fake_build_setting_name_build_indexer_length 13 #define fake_build_setting_name_build_script_length 12 #define fake_build_setting_name_build_shared_length 12 #define fake_build_setting_name_build_sources_headers_length 21 diff --git a/level_3/fake/c/private-make.c b/level_3/fake/c/private-make.c index bfe9963..245513e 100644 --- a/level_3/fake/c/private-make.c +++ b/level_3/fake/c/private-make.c @@ -572,15 +572,15 @@ extern "C" { } } - // if either compiler or linker is specified, each will replace any existing build_compiler or build_linker, respectively. + // if either compiler or linker is specified, each will replace any existing build_compiler or build_indexer, respectively. if (range_compiler) { data_make->setting_build.build_compiler.used = 0; *status = fl_string_dynamic_partial_append(data_make->buffer, *range_compiler, &data_make->setting_build.build_compiler); } if (F_status_is_fine(*status) && range_linker) { - data_make->setting_build.build_linker.used = 0; - *status = fl_string_dynamic_partial_append(data_make->buffer, *range_linker, &data_make->setting_build.build_linker); + data_make->setting_build.build_indexer.used = 0; + *status = fl_string_dynamic_partial_append(data_make->buffer, *range_linker, &data_make->setting_build.build_indexer); } if (F_status_is_error(*status)) { @@ -1137,7 +1137,7 @@ extern "C" { if (unmatched) { const f_string_t dynamic_name[] = { fake_build_setting_name_build_compiler, - fake_build_setting_name_build_linker, + fake_build_setting_name_build_indexer, fake_build_setting_name_path_headers, fake_build_setting_name_path_language, fake_build_setting_name_path_library_script, @@ -1157,7 +1157,7 @@ extern "C" { const f_string_length_t dynamic_length[] = { fake_build_setting_name_build_compiler_length, - fake_build_setting_name_build_linker_length, + fake_build_setting_name_build_indexer_length, fake_build_setting_name_path_headers_length, fake_build_setting_name_path_language_length, fake_build_setting_name_path_library_script_length, @@ -1177,7 +1177,7 @@ extern "C" { const f_string_dynamic_t dynamic_value[] = { data_make->setting_build.build_compiler, - data_make->setting_build.build_linker, + data_make->setting_build.build_indexer, data_make->setting_build.path_headers, data_make->setting_build.path_language, data_make->setting_build.path_library_script, @@ -1426,7 +1426,6 @@ extern "C" { } const f_string_static_t operations_name[] = { - f_macro_string_static_t_initialize(fake_make_operation_archive, fake_make_operation_archive_length), f_macro_string_static_t_initialize(fake_make_operation_break, fake_make_operation_break_length), f_macro_string_static_t_initialize(fake_make_operation_build, fake_make_operation_build_length), f_macro_string_static_t_initialize(fake_make_operation_clean, fake_make_operation_clean_length), @@ -1440,6 +1439,7 @@ extern "C" { f_macro_string_static_t_initialize(fake_make_operation_group, fake_make_operation_group_length), f_macro_string_static_t_initialize(fake_make_operation_groups, fake_make_operation_groups_length), f_macro_string_static_t_initialize(fake_make_operation_if, fake_make_operation_if_length), + f_macro_string_static_t_initialize(fake_make_operation_index, fake_make_operation_index_length), f_macro_string_static_t_initialize(fake_make_operation_link, fake_make_operation_link_length), f_macro_string_static_t_initialize(fake_make_operation_mode, fake_make_operation_mode_length), f_macro_string_static_t_initialize(fake_make_operation_modes, fake_make_operation_modes_length), @@ -1457,7 +1457,6 @@ extern "C" { }; const f_string_range_t operations_range[] = { - f_macro_string_range_initialize(fake_make_operation_archive_length), f_macro_string_range_initialize(fake_make_operation_break_length), f_macro_string_range_initialize(fake_make_operation_build_length), f_macro_string_range_initialize(fake_make_operation_clean_length), @@ -1471,6 +1470,7 @@ extern "C" { f_macro_string_range_initialize(fake_make_operation_group_length), f_macro_string_range_initialize(fake_make_operation_groups_length), f_macro_string_range_initialize(fake_make_operation_if_length), + f_macro_string_range_initialize(fake_make_operation_index_length), f_macro_string_range_initialize(fake_make_operation_link_length), f_macro_string_range_initialize(fake_make_operation_mode_length), f_macro_string_range_initialize(fake_make_operation_modes_length), @@ -1488,7 +1488,6 @@ extern "C" { }; const uint8_t operations_type[] = { - fake_make_operation_type_archive, fake_make_operation_type_break, fake_make_operation_type_build, fake_make_operation_type_clean, @@ -1502,6 +1501,7 @@ extern "C" { fake_make_operation_type_group, fake_make_operation_type_groups, fake_make_operation_type_if, + fake_make_operation_type_index, fake_make_operation_type_link, fake_make_operation_type_mode, fake_make_operation_type_modes, @@ -1732,8 +1732,8 @@ extern "C" { #ifndef _di_fake_make_operate_process_ void fake_make_operate_process(const fake_data_t data, const f_string_range_t section_name, const uint8_t operation, const f_string_static_t operation_name, const f_string_dynamics_t arguments, const bool success, uint8_t *operation_if, fake_make_data_t *data_make, f_string_lengths_t *section_stack, f_status_t *status) { - if (operation == fake_make_operation_type_archive) { - int return_code = fake_execute(data, data_make->environment, data_make->setting_build.build_linker, arguments, status); + if (operation == fake_make_operation_type_index) { + int return_code = fake_execute(data, data_make->environment, data_make->setting_build.build_indexer, arguments, status); if (F_status_is_error(*status)) { fake_print_message(data, F_status_set_fine(*status), "fake_execute", F_true, data_make->print); @@ -3021,7 +3021,7 @@ extern "C" { void fake_make_operate_validate(const fake_data_t data, const f_string_range_t section_name, const f_array_length_t operation, const f_string_static_t operation_name, const f_string_dynamics_t arguments, uint8_t *operation_if, fake_make_data_t *data_make, f_string_lengths_t *section_stack, f_status_t *status) { if (F_status_is_error(*status)) return; - if (operation == fake_make_operation_type_archive || operation == fake_make_operation_type_run || operation == fake_make_operation_type_shell) { + if (operation == fake_make_operation_type_index || operation == fake_make_operation_type_run || operation == fake_make_operation_type_shell) { if (arguments.used == 0) { if (data.verbosity != fake_verbosity_quiet && data_make->print.to) { printf("%c", f_string_eol[0]); @@ -3030,13 +3030,13 @@ extern "C" { *status = F_status_set_error(F_failure); } - else if (operation == fake_make_operation_type_archive) { - if (!data_make->setting_build.build_linker.used) { + else if (operation == fake_make_operation_type_index) { + if (!data_make->setting_build.build_indexer.used) { if (data.verbosity != fake_verbosity_quiet && data_make->print.to) { fprintf(data_make->print.to, "%c", f_string_eol[0]); - fl_color_print(data_make->print.to, data_make->print.context, data.context.reset, "%s: No linker has been specified, cannot perform '", data_make->print.prefix); - fl_color_print(data_make->print.to, data.context.notable, data.context.reset, fake_make_operation_archive); + fl_color_print(data_make->print.to, data_make->print.context, data.context.reset, "%s: No indexer has been specified, cannot perform '", data_make->print.prefix); + fl_color_print(data_make->print.to, data.context.notable, data.context.reset, fake_make_operation_index); fl_color_print_line(data_make->print.to, data_make->print.context, data.context.reset, "' section operation."); } diff --git a/level_3/fake/c/private-make.h b/level_3/fake/c/private-make.h index b7dceea..04f9d11 100644 --- a/level_3/fake/c/private-make.h +++ b/level_3/fake/c/private-make.h @@ -60,7 +60,6 @@ extern "C" { #endif // _di_fake_make_setting_t_ #ifndef _di_fake_make_operation_ - #define fake_make_operation_archive "archive" #define fake_make_operation_build "build" #define fake_make_operation_break "break" #define fake_make_operation_clean "clean" @@ -74,6 +73,7 @@ extern "C" { #define fake_make_operation_group "group" #define fake_make_operation_groups "groups" #define fake_make_operation_if "if" + #define fake_make_operation_index "index" #define fake_make_operation_link "link" #define fake_make_operation_mode "mode" #define fake_make_operation_modes "modes" @@ -89,7 +89,7 @@ extern "C" { #define fake_make_operation_top "top" #define fake_make_operation_touch "touch" - #define fake_make_operation_archive_length 7 + #define fake_make_operation_index_length 5 #define fake_make_operation_break_length 5 #define fake_make_operation_build_length 5 #define fake_make_operation_clean_length 5 @@ -119,8 +119,7 @@ extern "C" { #define fake_make_operation_touch_length 5 enum { - fake_make_operation_type_archive = 1, - fake_make_operation_type_break, + fake_make_operation_type_break = 1, fake_make_operation_type_build, fake_make_operation_type_clean, fake_make_operation_type_compile, @@ -133,6 +132,7 @@ extern "C" { fake_make_operation_type_group, fake_make_operation_type_groups, fake_make_operation_type_if, + fake_make_operation_type_index, fake_make_operation_type_link, fake_make_operation_type_mode, fake_make_operation_type_modes, diff --git a/level_3/fake/data/build/settings b/level_3/fake/data/build/settings index e0b9cfe..1920e09 100644 --- a/level_3/fake/data/build/settings +++ b/level_3/fake/data/build/settings @@ -16,8 +16,8 @@ modes individual level monolithic modes_default individual build_compiler gcc +build_indexer ar build_language c -build_linker ar build_libraries -lc build_libraries-individual -lfll_program -lfll_path -lfll_execute -lfl_environment -lfll_fss -lfl_utf -lfl_string -lfl_status -lfl_iki -lfl_fss -lfl_directory -lfl_conversion -lfl_console -lfl_color -lf_account -lf_print -lf_path -lf_iki -lf_file -lf_fss -lf_environment -lf_directory -lf_conversion -lf_console -lf_utf -lf_memory build_libraries-level -lfll_2 -lfll_1 -lfll_0 diff --git a/level_3/fake/data/build/settings-example-bzip2 b/level_3/fake/data/build/settings-example-bzip2 index d5aa761..38efe2b 100644 --- a/level_3/fake/data/build/settings-example-bzip2 +++ b/level_3/fake/data/build/settings-example-bzip2 @@ -17,8 +17,8 @@ version_micro 8 version_target major build_compiler gcc +build_indexer ar build_language c -build_linker ar build_libraries -lc build_sources_program blocksort.c huffman.c crctable.c randtable.c compress.c decompress.c bzlib.c bzip2.c build_sources_headers bzlib.h diff --git a/level_3/fake/data/build/settings-example-bzip2recover b/level_3/fake/data/build/settings-example-bzip2recover index 5886759..615986d 100644 --- a/level_3/fake/data/build/settings-example-bzip2recover +++ b/level_3/fake/data/build/settings-example-bzip2recover @@ -17,8 +17,8 @@ version_micro 8 version_target major build_compiler gcc +build_indexer ar build_language c -build_linker ar build_libraries -lc build_sources_program bzip2recover.c build_script no diff --git a/level_3/fake/documents/fakefile.txt b/level_3/fake/documents/fakefile.txt index c9f6c38..5e7ca58 100644 --- a/level_3/fake/documents/fakefile.txt +++ b/level_3/fake/documents/fakefile.txt @@ -14,11 +14,6 @@ Fakefile Documentation: The build settings may also be specified in the Settings Section. The following settings are available (in addition to the build settings)\: - - archiver\: - This represents the name of the linker program to use, such as "ar". - - When specified and "load_build" is "true", then this will override the "build_linker" specified in the loaded build settings. - - compiler\: This represents the name of the compiler program to use, such as "gcc". @@ -46,6 +41,11 @@ Fakefile Documentation: The return code for programs can still be retrieved through using the reserved iki vaiable "return". + - index\: + This represents the name of the indexer program to use, such as "ar". + + When specified and "load_build" is "true", then this will override the "build_indexer" specified in the loaded build settings. + - load_build\: This represents whether or not to load the load the build settings file. The first Content value may be "true" to load the build settings and "false" to not load the build settings file. diff --git a/level_3/fake/documents/settings.txt b/level_3/fake/documents/settings.txt index d339346..ce60e3e 100644 --- a/level_3/fake/documents/settings.txt +++ b/level_3/fake/documents/settings.txt @@ -10,17 +10,17 @@ Settings Documentation: All of the arguments assume the GCC, so if a non-GCC executable is provided supports the GCC argument structure, then that is by effect supported. Many of the parameters in the settings file can be changed if using a non-GCC, but there is certain hard-coded functionality that may still need changing. + build_indexer\: + Exactly like build_compiler, except for the linker, aka indexer. + The default behavior is to support the GNU ar program. + As with build_compiler, anything linker that supports the "ar" program parameters is effectively supported. + build_language\: The language to build with. The only currently supported languages are: bash, c, and c++. The "bash" language is not currently implemented and needs some consideration because there is nothing to compile. The "bash" language will likely build a set of individual scripts, and perhaps script dependencies, into a single bash script. - build_linker\: - Exactly like build_compiler, except for the linker. - Currently only supports the GNU ar program. - As with build_compiler, anything linker that supports the "ar" program parameters is effectively supported. - build_libraries\: A collection of libraries to be linked against. The should contain the compiler specific parameter parts, such as the "-l" prefix. @@ -168,7 +168,7 @@ Settings Documentation: When "no", the search path during compile time for shared libraries will include shared library paths followed by static library paths. Setting this to "yes" helps prevent static libraries from ended up in shared libraries (very useful when bootstrapping a system). Setting this to "no" allows for including static libraries if no shared libraries are found but static are. - This does not alter search paths introduced automatically by the "build_compiler" or "build_linker", so it is still possible for static libraries to end up even when this is set to "yes". + This does not alter search paths introduced automatically by the "build_compiler" or "build_indexer", so it is still possible for static libraries to end up even when this is set to "yes". search_shared\: When "yes", shared library paths are searched during compile. diff --git a/level_3/fake/specifications/fakefile.txt b/level_3/fake/specifications/fakefile.txt index 51a74a5..d73bad5 100644 --- a/level_3/fake/specifications/fakefile.txt +++ b/level_3/fake/specifications/fakefile.txt @@ -36,7 +36,6 @@ Fakefile Specification: The build settings may also be specified in the Settings Section. The Section Operation Objects are\: - - archive: One or more Content. - break: Zero or One Content. If specified, First content must be one of "success" or "failure". - build: Zero or One Content. First Content represents file name of the settings file to use. - clean: Zero Content. @@ -50,6 +49,7 @@ Fakefile Specification: - group: Two or more Content. First Content is group name or number, remaining Content are paths to files. - groups: Two or more Content. First Content is group name or number, remaining Content are paths to files. - if: One or more Content. First Content is the condition, remaining Content are specific to the condition. + - index: One or more Content. - link: Two Content. First Content is the link target file and second Content is the pointer file (the link). - mode: Two or more Content. First Content is the mode, remaining Content are paths to files. - modes: Two or more Content. First Content is the mode, remaining Content are paths to files. diff --git a/level_3/fake/specifications/settings.txt b/level_3/fake/specifications/settings.txt index 2e5047d..ef9895e 100644 --- a/level_3/fake/specifications/settings.txt +++ b/level_3/fake/specifications/settings.txt @@ -11,8 +11,8 @@ Settings Specification: Object Names and their respective Content purpose/restrictions\: "build_compiler": Must only be a valid filename. + "build_indexer": Must only be a valid filename. "build_language": Must only be one of: "bash", "c", or "c++". - "build_linker": Must only be a valid filename. "build_libraries": Must only contain any number of valid library include arguments that are valid for the compiler defined in "build_compiler" Object. "build_script": Must only one of: "yes" or "no". "build_shared": Must only one of: "yes" or "no". diff --git a/level_3/firewall/data/build/settings b/level_3/firewall/data/build/settings index ed21384..3be19a6 100644 --- a/level_3/firewall/data/build/settings +++ b/level_3/firewall/data/build/settings @@ -16,8 +16,8 @@ modes individual level monolithic modes_default individual build_compiler gcc +build_indexer ar build_language c -build_linker ar build_libraries -lc build_libraries-individual -lfll_program -lfll_fss -lfll_execute -lfl_environment -lfl_string -lfl_status -lfl_fss -lfl_conversion -lfl_console -lf_conversion -lfl_color -lf_print -lf_pipe -lf_path -lf_fss -lf_file -lf_environment -lf_directory -lf_console -lf_utf -lf_memory build_libraries-level -lfll_2 -lfll_1 -lfll_0 diff --git a/level_3/fss_basic_list_read/data/build/settings b/level_3/fss_basic_list_read/data/build/settings index ff5c8d8..ed0b256 100644 --- a/level_3/fss_basic_list_read/data/build/settings +++ b/level_3/fss_basic_list_read/data/build/settings @@ -16,8 +16,8 @@ modes individual level monolithic modes_default individual build_compiler gcc +build_indexer ar build_language c -build_linker ar build_libraries -lc build_libraries-individual -lfll_program -lfll_fss -lfll_file -lfll_execute -lfl_environment -lf_path -lfl_string -lfl_status -lfl_print -lfl_fss -lfl_conversion -lfl_console -lf_conversion -lfl_color -lf_print -lf_pipe -lf_fss -lf_file -lf_environment -lf_directory -lf_console -lf_utf -lf_memory build_libraries-level -lfll_2 -lfll_1 -lfll_0 diff --git a/level_3/fss_basic_list_write/data/build/settings b/level_3/fss_basic_list_write/data/build/settings index 147f7c9..a5fc4b9 100644 --- a/level_3/fss_basic_list_write/data/build/settings +++ b/level_3/fss_basic_list_write/data/build/settings @@ -16,8 +16,8 @@ modes individual level monolithic modes_default individual build_compiler gcc +build_indexer ar build_language c -build_linker ar build_libraries -lc build_libraries-individual -lfll_program -lfll_fss -lfll_file -lfll_execute -lfl_environment -lf_path -lfl_string -lfl_status -lfl_fss -lfl_conversion -lfl_console -lf_conversion -lfl_color -lf_print -lf_pipe -lf_fss -lf_file -lf_environment -lf_directory -lf_console -lf_utf -lf_memory build_libraries-level -lfll_2 -lfll_1 -lfll_0 diff --git a/level_3/fss_basic_read/data/build/settings b/level_3/fss_basic_read/data/build/settings index 759f938..d238471 100644 --- a/level_3/fss_basic_read/data/build/settings +++ b/level_3/fss_basic_read/data/build/settings @@ -16,8 +16,8 @@ modes individual level monolithic modes_default individual build_compiler gcc +build_indexer ar build_language c -build_linker ar build_libraries -lc build_libraries-individual -lfll_program -lfll_fss -lfll_file -lfll_execute -lfl_environment -lf_path -lfl_string -lfl_status -lfl_print -lfl_fss -lfl_conversion -lfl_console -lf_conversion -lfl_color -lf_print -lf_pipe -lf_fss -lf_file -lf_environment -lf_directory -lf_console -lf_utf -lf_memory build_libraries-level -lfll_2 -lfll_1 -lfll_0 diff --git a/level_3/fss_basic_write/data/build/settings b/level_3/fss_basic_write/data/build/settings index d392fa1..05d9fd0 100644 --- a/level_3/fss_basic_write/data/build/settings +++ b/level_3/fss_basic_write/data/build/settings @@ -16,8 +16,8 @@ modes individual level monolithic modes_default individual build_compiler gcc +build_indexer ar build_language c -build_linker ar build_libraries -lc build_libraries-individual -lfll_program -lfll_fss -lfll_file -lfll_execute -lfl_environment -lf_path -lfl_string -lfl_status -lfl_fss -lfl_conversion -lfl_console -lf_conversion -lfl_color -lf_print -lf_pipe -lf_fss -lf_file -lf_environment -lf_directory -lf_console -lf_utf -lf_memory build_libraries-level -lfll_2 -lfll_1 -lfll_0 diff --git a/level_3/fss_extended_list_read/data/build/settings b/level_3/fss_extended_list_read/data/build/settings index ef05779..dab5a56 100644 --- a/level_3/fss_extended_list_read/data/build/settings +++ b/level_3/fss_extended_list_read/data/build/settings @@ -16,8 +16,8 @@ modes individual level monolithic modes_default individual build_compiler gcc +build_indexer ar build_language c -build_linker ar build_libraries -lc build_libraries-individual -lfll_program -lfll_fss -lfll_file -lfll_execute -lfl_environment -lf_path -lfl_string -lfl_status -lfl_print -lfl_fss -lfl_conversion -lfl_console -lf_conversion -lfl_color -lf_print -lf_pipe -lf_fss -lf_file -lf_environment -lf_directory -lf_console -lf_utf -lf_memory build_libraries-level -lfll_2 -lfll_1 -lfll_0 diff --git a/level_3/fss_extended_read/data/build/settings b/level_3/fss_extended_read/data/build/settings index d918345..75a7c66 100644 --- a/level_3/fss_extended_read/data/build/settings +++ b/level_3/fss_extended_read/data/build/settings @@ -16,8 +16,8 @@ modes individual level monolithic modes_default individual build_compiler gcc +build_indexer ar build_language c -build_linker ar build_libraries -lc build_libraries-individual -lfll_program -lfll_fss -lfll_file -lfll_execute -lfl_environment -lf_path -lfl_string -lfl_status -lfl_print -lfl_fss -lfl_console -lfl_conversion -lf_conversion -lfl_color -lf_print -lf_pipe -lf_fss -lf_file -lf_environment -lf_directory -lf_console -lf_utf -lf_memory build_libraries-level -lfll_2 -lfll_1 -lfll_0 diff --git a/level_3/fss_extended_write/data/build/settings b/level_3/fss_extended_write/data/build/settings index 5249e33..03d6216 100644 --- a/level_3/fss_extended_write/data/build/settings +++ b/level_3/fss_extended_write/data/build/settings @@ -16,8 +16,8 @@ modes individual level monolithic modes_default individual build_compiler gcc +build_indexer ar build_language c -build_linker ar build_libraries -lc build_libraries-individual -lfll_program -lfll_fss -lfll_file -lfll_execute -lfl_environment -lf_path -lfl_string -lfl_status -lfl_fss -lfl_conversion -lf_conversion -lfl_color -lf_print -lf_pipe -lf_fss -lf_file -lf_environment -lf_directory -lf_console -lf_utf -lf_memory build_libraries-level -lfll_2 -lfll_1 -lfll_0 diff --git a/level_3/fss_status_code/data/build/settings b/level_3/fss_status_code/data/build/settings index a8b9c6e..aba8941 100644 --- a/level_3/fss_status_code/data/build/settings +++ b/level_3/fss_status_code/data/build/settings @@ -16,8 +16,8 @@ modes individual level monolithic modes_default individual build_compiler gcc +build_indexer ar build_language c -build_linker ar build_libraries -lc build_libraries-individual -lfll_status -lfll_program -lfll_fss -lfll_file -lfll_execute -lfl_environment -lf_path -lfl_utf -lfl_string -lfl_status -lfl_fss -lfl_conversion -lfl_console -lfl_color -lf_print -lf_pipe -lf_fss -lf_file -lf_environment -lf_directory -lf_conversion -lf_console -lf_utf -lf_memory build_libraries-level -lfll_2 -lfll_1 -lfll_0 diff --git a/level_3/iki_read/data/build/settings b/level_3/iki_read/data/build/settings index 8eedb02..1f02e27 100644 --- a/level_3/iki_read/data/build/settings +++ b/level_3/iki_read/data/build/settings @@ -16,8 +16,8 @@ modes individual level monolithic modes_default individual build_compiler gcc +build_indexer ar build_language c -build_linker ar build_libraries -lc build_libraries-individual -lfll_program -lfll_file -lfl_utf -lfl_string -lfl_iki -lfl_conversion -lfl_console -lfl_color -lf_print -lf_pipe -lf_iki -lf_file -lf_conversion -lf_console -lf_utf -lf_memory build_libraries-level -lfll_2 -lfll_1 -lfll_0 diff --git a/level_3/init/data/build/settings b/level_3/init/data/build/settings index 4f70f18..a897a6d 100644 --- a/level_3/init/data/build/settings +++ b/level_3/init/data/build/settings @@ -16,8 +16,8 @@ modes individual level monolithic modes_default individual build_compiler gcc +build_indexer ar build_language c -build_linker ar build_libraries -lc build_libraries-individual -lfll_program -lfll_fss -lfl_conversion -lfll_execute -lfl_environment -lf_path -lfl_string -lfl_status -lfl_fss -lfl_console -lf_conversion -lfl_color -lf_print -lf_pipe -lf_fss -lf_file -lf_environment -lf_directory -lf_console -lf_utf -lf_memory build_libraries-level -lfll_2 -lfll_1 -lfll_0 diff --git a/level_3/status_code/data/build/settings b/level_3/status_code/data/build/settings index 4752256..3ff06bf 100644 --- a/level_3/status_code/data/build/settings +++ b/level_3/status_code/data/build/settings @@ -16,8 +16,8 @@ modes individual level monolithic modes_default individual build_compiler gcc +build_indexer ar build_language c -build_linker ar build_libraries -lc build_libraries-individual -lfll_status -lfll_program -lfl_utf -lfl_string -lfl_status -lfl_conversion -lfl_console -lfl_color -lf_print -lf_pipe -lf_file -lf_conversion -lf_console -lf_utf -lf_memory build_libraries-level -lfll_2 -lfll_1 -lfll_0 -- 1.8.3.1