This is a step towards removing hardcoded defaults that I had initially added just to save time.
The indexer now has an indexer_arguments that will expect the arguments, such as "rcs".
Update the documentation, documenting this behavior, fix problems in the documentation, and do some cleanup of the documentation.
There are some places where "linker" is still used.
Replace this usage with "indexer".
Fix some cases with printing mistakes.
These mistakes are likely regressions resulting from the mass refactor to the fl_print_format() and fll_print_format().
I've noticed that there are some problems with the settings in the fakefile.
The custom settings, such as "compiler", "indexer", etc.., are being overwritten by the build settings.
It may also be a good idea to provide another iki parameter to expose some of these settings.
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc -lcap
build_libraries-level
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc -lcap
build_libraries-level -lfll_0
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc -lcap
build_libraries-level -lfll_1 -lfll_0
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc -lcap
build_libraries-monolithic
case $name in
"build_compiler") echo -n 0;;
"build_indexer") echo -n 1;;
- "build_language") echo -n 2;;
- "build_libraries") echo -n 3;;
- "build_libraries_shared") echo -n 4;;
- "build_libraries_static") echo -n 5;;
- "build_script") echo -n 6;;
- "build_shared") echo -n 7;;
- "build_sources_headers") echo -n 8;;
- "build_sources_headers_shared") echo -n 9;;
- "build_sources_headers_static") echo -n 10;;
- "build_sources_library") echo -n 11;;
- "build_sources_library_shared") echo -n 12;;
- "build_sources_library_static") echo -n 13;;
- "build_sources_program") echo -n 14;;
- "build_sources_program_shared") echo -n 15;;
- "build_sources_program_static") echo -n 16;;
- "build_sources_script") echo -n 17;;
- "build_sources_setting") echo -n 18;;
- "build_static") echo -n 19;;
- "defines") echo -n 20;;
- "defines_library") echo -n 21;;
- "defines_library_shared") echo -n 22;;
- "defines_library_static") echo -n 23;;
- "defines_program") echo -n 24;;
- "defines_program_shared") echo -n 25;;
- "defines_program_static") echo -n 26;;
- "defines_shared") echo -n 27;;
- "defines_static") echo -n 28;;
- "environment") echo -n 29;;
- "flags") echo -n 30;;
- "flags_library") echo -n 31;;
- "flags_library_shared") echo -n 32;;
- "flags_library_static") echo -n 33;;
- "flags_program") echo -n 34;;
- "flags_program_shared") echo -n 35;;
- "flags_program_static") echo -n 36;;
- "flags_shared") echo -n 37;;
- "flags_static") echo -n 38;;
- "modes") echo -n 39;;
- "modes_default") echo -n 40;;
- "path_headers") echo -n 41;;
- "path_headers_preserve") echo -n 42;;
- "path_language") echo -n 42;;
- "path_library_script") echo -n 43;;
- "path_library_shared") echo -n 44;;
- "path_library_static") echo -n 45;;
- "path_program_script") echo -n 46;;
- "path_program_shared") echo -n 47;;
- "path_program_static") echo -n 48;;
- "path_sources") echo -n 50;;
- "path_standard") echo -n 51;;
- "process_post") echo -n 52;;
- "process_pre") echo -n 53;;
- "project_name") echo -n 54;;
- "search_exclusive") echo -n 55;;
- "search_shared") echo -n 56;;
- "search_static") echo -n 57;;
- "version_file") echo -n 58;;
- "version_major") echo -n 59;;
- "version_major_prefix") echo -n 60;;
- "version_micro") echo -n 61;;
- "version_micro_prefix") echo -n 62;;
- "version_minor") echo -n 63;;
- "version_minor_prefix") echo -n 64;;
- "version_nano") echo -n 65;;
- "version_nano_prefix") echo -n 66;;
- "version_target") echo -n 67;;
-
- "build_libraries-$mode") echo -n 68;;
- "build_libraries_shared-$mode") echo -n 69;;
- "build_libraries_static-$mode") echo -n 70;;
- "build_sources_headers-$mode") echo -n 71;;
- "build_sources_headers_shared-$mode") echo -n 72;;
- "build_sources_headers_static-$mode") echo -n 73;;
- "build_sources_library-$mode") echo -n 74;;
- "build_sources_library_shared-$mode") echo -n 75;;
- "build_sources_library_static-$mode") echo -n 76;;
- "build_sources_program-$mode") echo -n 77;;
- "build_sources_program_shared-$mode") echo -n 78;;
- "build_sources_program_static-$mode") echo -n 79;;
- "build_sources_script-$mode") echo -n 80;;
- "build_sources_setting-$mode") echo -n 81;;
- "defines-$mode") echo -n 82;;
- "defines_library-$mode") echo -n 83;;
- "defines_library_shared-$mode") echo -n 84;;
- "defines_library_static-$mode") echo -n 85;;
- "defines_program-$mode") echo -n 86;;
- "defines_program_shared-$mode") echo -n 87;;
- "defines_program_static-$mode") echo -n 88;;
- "defines_shared-$mode") echo -n 89;;
- "defines_static-$mode") echo -n 90;;
- "environment-$mode") echo -n 91;;
- "flags-$mode") echo -n 92;;
- "flags_library-$mode") echo -n 93;;
- "flags_library_shared-$mode") echo -n 94;;
- "flags_library_static-$mode") echo -n 95;;
- "flags_program-$mode") echo -n 96;;
- "flags_program_shared-$mode") echo -n 97;;
- "flags_program_static-$mode") echo -n 98;;
- "flags_shared-$mode") echo -n 99;;
- "flags_static-$mode") echo -n 100;;
-
- "has-version_major_prefix") echo -n 101;;
- "has-version_micro_prefix") echo -n 102;;
- "has-version_minor_prefix") echo -n 103;;
- "has-version_nano_prefix") echo -n 104;;
-
- "has-version_major_prefix-$mode") echo -n 105;;
- "has-version_micro_prefix-$mode") echo -n 106;;
- "has-version_minor_prefix-$mode") echo -n 107;;
- "has-version_nano_prefix-$mode") echo -n 108;;
+ "build_indexer_arguments") echo -n 2;;
+ "build_language") echo -n 3;;
+ "build_libraries") echo -n 4;;
+ "build_libraries_shared") echo -n 5;;
+ "build_libraries_static") echo -n 6;;
+ "build_script") echo -n 7;;
+ "build_shared") echo -n 8;;
+ "build_sources_headers") echo -n 9;;
+ "build_sources_headers_shared") echo -n 10;;
+ "build_sources_headers_static") echo -n 11;;
+ "build_sources_library") echo -n 12;;
+ "build_sources_library_shared") echo -n 13;;
+ "build_sources_library_static") echo -n 14;;
+ "build_sources_program") echo -n 15;;
+ "build_sources_program_shared") echo -n 16;;
+ "build_sources_program_static") echo -n 17;;
+ "build_sources_script") echo -n 18;;
+ "build_sources_setting") echo -n 19;;
+ "build_static") echo -n 20;;
+ "defines") echo -n 21;;
+ "defines_library") echo -n 22;;
+ "defines_library_shared") echo -n 23;;
+ "defines_library_static") echo -n 24;;
+ "defines_program") echo -n 25;;
+ "defines_program_shared") echo -n 26;;
+ "defines_program_static") echo -n 27;;
+ "defines_shared") echo -n 28;;
+ "defines_static") echo -n 29;;
+ "environment") echo -n 30;;
+ "flags") echo -n 31;;
+ "flags_library") echo -n 32;;
+ "flags_library_shared") echo -n 33;;
+ "flags_library_static") echo -n 34;;
+ "flags_program") echo -n 35;;
+ "flags_program_shared") echo -n 36;;
+ "flags_program_static") echo -n 37;;
+ "flags_shared") echo -n 38;;
+ "flags_static") echo -n 39;;
+ "modes") echo -n 40;;
+ "modes_default") echo -n 41;;
+ "path_headers") echo -n 42;;
+ "path_headers_preserve") echo -n 43;;
+ "path_language") echo -n 44;;
+ "path_library_script") echo -n 45;;
+ "path_library_shared") echo -n 46;;
+ "path_library_static") echo -n 47;;
+ "path_program_script") echo -n 48;;
+ "path_program_shared") echo -n 49;;
+ "path_program_static") echo -n 50;;
+ "path_sources") echo -n 51;;
+ "path_standard") echo -n 52;;
+ "process_post") echo -n 53;;
+ "process_pre") echo -n 54;;
+ "project_name") echo -n 55;;
+ "search_exclusive") echo -n 56;;
+ "search_shared") echo -n 57;;
+ "search_static") echo -n 58;;
+ "version_file") echo -n 59;;
+ "version_major") echo -n 60;;
+ "version_major_prefix") echo -n 61;;
+ "version_micro") echo -n 62;;
+ "version_micro_prefix") echo -n 63;;
+ "version_minor") echo -n 64;;
+ "version_minor_prefix") echo -n 65;;
+ "version_nano") echo -n 66;;
+ "version_nano_prefix") echo -n 67;;
+ "version_target") echo -n 68;;
+
+ "build_libraries-$mode") echo -n 69;;
+ "build_libraries_shared-$mode") echo -n 70;;
+ "build_libraries_static-$mode") echo -n 71;;
+ "build_sources_headers-$mode") echo -n 72;;
+ "build_sources_headers_shared-$mode") echo -n 73;;
+ "build_sources_headers_static-$mode") echo -n 74;;
+ "build_sources_library-$mode") echo -n 75;;
+ "build_sources_library_shared-$mode") echo -n 76;;
+ "build_sources_library_static-$mode") echo -n 77;;
+ "build_sources_program-$mode") echo -n 78;;
+ "build_sources_program_shared-$mode") echo -n 79;;
+ "build_sources_program_static-$mode") echo -n 80;;
+ "build_sources_script-$mode") echo -n 81;;
+ "build_sources_setting-$mode") echo -n 82;;
+ "defines-$mode") echo -n 83;;
+ "defines_library-$mode") echo -n 84;;
+ "defines_library_shared-$mode") echo -n 85;;
+ "defines_library_static-$mode") echo -n 86;;
+ "defines_program-$mode") echo -n 87;;
+ "defines_program_shared-$mode") echo -n 88;;
+ "defines_program_static-$mode") echo -n 89;;
+ "defines_shared-$mode") echo -n 90;;
+ "defines_static-$mode") echo -n 91;;
+ "environment-$mode") echo -n 92;;
+ "flags-$mode") echo -n 93;;
+ "flags_library-$mode") echo -n 94;;
+ "flags_library_shared-$mode") echo -n 95;;
+ "flags_library_static-$mode") echo -n 96;;
+ "flags_program-$mode") echo -n 97;;
+ "flags_program_shared-$mode") echo -n 98;;
+ "flags_program_static-$mode") echo -n 99;;
+ "flags_shared-$mode") echo -n 100;;
+ "flags_static-$mode") echo -n 101;;
+
+ "has-version_major_prefix") echo -n 102;;
+ "has-version_micro_prefix") echo -n 103;;
+ "has-version_minor_prefix") echo -n 104;;
+ "has-version_nano_prefix") echo -n 105;;
+
+ "has-version_major_prefix-$mode") echo -n 106;;
+ "has-version_micro_prefix-$mode") echo -n 107;;
+ "has-version_minor_prefix-$mode") echo -n 108;;
+ "has-version_nano_prefix-$mode") echo -n 109;;
esac
}
return 1
fi
- for i in build_compiler build_indexer build_language build_libraries build_libraries_shared build_libraries_static build_script build_shared build_sources_headers build_sources_headers_shared build_sources_headers_static build_sources_library build_sources_library_shared build_sources_library_static build_sources_program build_sources_program_shared build_sources_program_static build_sources_script build_sources_setting build_static defines defines_library defines_library_shared defines_library_static defines_program defines_shared defines_program_shared defines_program_static defines_static environment flags flags_library flags_program flags_shared flags_static modes modes_default path_headers path_headers_preserve path_language 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_major_prefix version_micro version_micro_prefix version_minor version_minor_prefix version_nano version_nano_prefix version_target ; do
+ for i in build_compiler build_indexer build_indexer_arguments build_language build_libraries build_libraries_shared build_libraries_static build_script build_shared build_sources_headers build_sources_headers_shared build_sources_headers_static build_sources_library build_sources_library_shared build_sources_library_static build_sources_program build_sources_program_shared build_sources_program_static build_sources_script build_sources_setting build_static defines defines_library defines_library_shared defines_library_static defines_program defines_shared defines_program_shared defines_program_static defines_static environment flags flags_library flags_program flags_shared flags_static modes modes_default path_headers path_headers_preserve path_language 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_major_prefix version_micro version_micro_prefix version_minor version_minor_prefix version_nano version_nano_prefix version_target ; do
variables[$(bootstrap_id $i)]=$(grep -s -o "^[[:space:]]*$i[[:space:]].*\$" $settings_file | sed -e "s|^[[:space:]]*$i\>||" -e 's|^[[:space:]]*||')
done
}
local target=${variables[$(bootstrap_id version_target)]}
local compiler=${variables[$(bootstrap_id build_compiler)]}
local indexer=${variables[$(bootstrap_id build_indexer)]}
+ local indexer_arguments=${variables[$(bootstrap_id build_indexer_arguments)]}
local arguments_include="-I${path_build}includes"
local arguments_shared="-L${path_build}libraries/shared"
local arguments_static="-L${path_build}libraries/static"
if [[ $failure == "" && ( $sources_library != "" || $sources_library_static != "" ) ]] ; then
if [[ $verbosity == "verbose" ]] ; then
- echo $indexer rcs ${path_build}libraries/static/lib$name.a $sources
+ echo $indexer $indexer_arguments ${path_build}libraries/static/lib$name.a $sources
fi
- $indexer rcs ${path_build}libraries/static/lib$name.a $sources || failure=1
+ $indexer $indexer_arguments ${path_build}libraries/static/lib$name.a $sources || failure=1
fi
fi
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc
build_libraries-individual -lf_memory -lf_string
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc -lcap
build_libraries-individual -lf_memory -lf_string -lf_type_array
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc
build_libraries-individual -lf_memory -lf_string
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc
build_libraries-individual -lf_memory -lf_string -lf_type_array -lf_utf
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc
build_libraries-individual -lf_memory -lf_string
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc
build_libraries-individual -lf_memory -lf_string -lf_utf
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc
build_libraries-individual -lf_memory -lf_string
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc
build_libraries-individual -lf_memory -lf_string
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc
build_libraries-individual -lf_memory -lf_string
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc
build_libraries-individual -lf_memory -lf_string
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc
build_libraries-individual -lf_memory -lf_string -lf_type_array -lf_utf
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc
build_libraries-individual -lf_memory -lf_string -lf_utf
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc
build_libraries-individual -lf_memory
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc
build_libraries-individual
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc
build_libraries-individual -lf_memory -lf_string
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc
build_libraries-individual
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc
build_libraries-individual -lf_memory -lf_string -lf_utf
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc
build_libraries-individual -lf_memory -lf_string -lf_utf
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc
build_libraries-individual
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc
build_libraries-individual -lf_memory -lf_string
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc
build_libraries-individual
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc
build_libraries-individual -lf_memory
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -pthread -lc
build_libraries-individual -lf_memory -lf_string
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc
build_libraries-individual
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc
build_libraries-individual -lf_memory
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc
build_libraries-individual -lf_memory -lf_string
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc
build_libraries-individual -lf_console -lf_conversion -lf_memory -lf_path -lf_string -lf_type_array -lf_utf
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc
build_libraries-individual -lf_control_group -lf_file -lf_memory -lf_string
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc
build_libraries-individual -lf_conversion -lf_memory -lf_string -lf_utf
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc
build_libraries-individual -lf_directory -lf_file -lf_memory -lf_path -lf_string -lf_utf
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc
build_libraries-individual -lf_environment -lf_memory -lf_path -lf_string -lf_utf
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc -lcap
build_libraries-individual -lf_capability -lf_execute -lf_limit -lf_memory -lf_signal -lf_string -lf_type_array
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc
build_libraries-individual -lf_file -lf_fss -lf_memory -lf_string -lf_type_array -lf_utf
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc
build_libraries-individual -lf_iki -lf_memory -lf_string -lf_utf
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc
build_libraries-individual -lf_color -lf_conversion -lf_file -lf_memory -lf_print -lf_string -lf_utf
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc
build_libraries-individual -lf_signal
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc
build_libraries-individual -lf_memory -lf_string -lf_utf
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc
build_libraries-individual -lf_memory -lf_string -lf_utf
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc
build_libraries-individual -lf_memory -lf_string -lf_utf
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc
build_libraries-individual -lf_file -lf_memory -lf_string -lf_utf
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc
build_libraries-individual -lfl_control_group -lfl_directory -lf_control_group -lf_directory -lf_file -lf_memory -lf_path -lf_string -lf_utf
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc
build_libraries-individual -lfl_print -lf_color -lf_console -lf_conversion -lf_file -lf_memory -lf_print -lf_string -lf_type_array -lf_utf
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc -lcap
build_libraries-individual -lfl_control_group -lfl_environment -lf_account -lf_capability -lf_control_group -lf_environment -lf_execute -lf_file -lf_limit -lf_memory -lf_path -lf_signal -lf_string -lf_thread -lf_type_array -lf_utf
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc
build_libraries-individual -lfl_directory -lf_color -lf_directory -lf_file -lf_memory -lf_path -lf_string -lf_utf
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc
build_libraries-individual -lfl_conversion -lfl_fss -lfl_status -lfl_string -lf_conversion -lf_file -lf_fss -lf_memory -lf_string -lf_type_array -lf_utf
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc
build_libraries-individual -lfl_iki -lf_iki -lf_memory -lf_string -lf_utf
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc
build_libraries-individual -lf_memory -lf_path -lf_string
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc
build_libraries-individual -lfl_print -lf_color -lf_conversion -lf_file -lf_memory -lf_print -lf_string -lf_utf
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc
build_libraries-individual -lfl_print -lfl_string -lf_color -lf_console -lf_conversion -lf_file -lf_memory -lf_print -lf_string -lf_type_array -lf_utf
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc
build_libraries-individual -lfl_status -lfl_string -lf_conversion -lf_memory -lf_string -lf_utf
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc
build_libraries-individual -lfll_error -lfll_print -lfll_program -lfl_console -lfl_conversion -lfl_print -lfl_string -lf_color -lf_console -lf_conversion -lf_file -lf_memory -lf_path -lf_pipe -lf_print -lf_string -lf_type_array -lf_utf
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc
build_libraries-individual -lfll_error -lfll_print -lfll_program -lfl_console -lfl_print -lfl_string -lf_color -lf_console -lf_conversion -lf_file -lf_memory -lf_path -lf_pipe -lf_print -lf_string -lf_type_array -lf_utf
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc -lcap
build_libraries-individual -lfll_control_group -lfll_error -lfll_execute -lfll_fss -lfll_path -lfll_print -lfll_program -lfl_console -lfl_control_group -lfl_conversion -lfl_directory -lfl_environment -lfl_fss -lfl_iki -lfl_print -lfl_status -lfl_string -lf_account -lf_capability -lf_color -lf_console -lf_control_group -lf_conversion -lf_directory -lf_environment -lf_execute -lf_file -lf_fss -lf_iki -lf_limit -lf_memory -lf_path -lf_pipe -lf_print -lf_signal -lf_string -lf_thread -lf_type_array -lf_utf
f_string_dynamic_t source_path = f_string_dynamic_t_initialize;
f_string_dynamics_t arguments = f_string_dynamics_t_initialize;
- *status = fll_execute_arguments_add(fake_build_parameter_object_link_arguments_s, fake_build_parameter_object_link_arguments_s_length, &arguments);
+ f_array_length_t i = 0;
+
+ for (; i < data_build.setting.build_indexer_arguments.used; ++i) {
+
+ *status = fll_execute_arguments_add(data_build.setting.build_indexer_arguments.array[i].string, data_build.setting.build_indexer_arguments.array[i].used, &arguments);
+ if (F_status_is_error(*status)) break;
+ } // for
if (F_status_is_error_not(*status)) {
f_array_length_t destination_length = main.path_build_libraries_static.used + fake_build_parameter_library_name_prefix_s_length;
if (F_status_is_error_not(*status)) {
f_array_length_t source_length = 0;
+ f_array_length_t j = 0;
const f_string_dynamics_t *sources[2] = {
&data_build.setting.build_sources_library,
&data_build.setting.build_sources_library_static,
};
- f_array_length_t i = 0;
- f_array_length_t j = 0;
-
- for (; i < 2; ++i) {
+ for (i = 0; i < 2; ++i) {
for (j = 0; j < sources[i]->used; ++j) {
const f_string_t settings_name[] = {
fake_build_setting_name_build_compiler_s,
fake_build_setting_name_build_indexer_s,
+ fake_build_setting_name_build_indexer_arguments_s,
fake_build_setting_name_build_language_s,
fake_build_setting_name_build_libraries_s,
fake_build_setting_name_build_libraries_shared_s,
const f_array_length_t settings_length[] = {
fake_build_setting_name_build_compiler_s_length,
fake_build_setting_name_build_indexer_s_length,
+ fake_build_setting_name_build_indexer_arguments_s_length,
fake_build_setting_name_build_language_s_length,
fake_build_setting_name_build_libraries_s_length,
fake_build_setting_name_build_libraries_shared_s_length,
f_string_dynamics_t *settings_value[] = {
&build_compiler,
&build_indexer,
+ &setting->build_indexer_arguments,
&build_language,
&setting->build_libraries,
&setting->build_libraries_shared,
F_false,
F_false,
F_false,
+ F_false,
};
f_string_t function = "fll_fss_snatch_apart";
};
bool has_prefix_object[] = {
- settings_matches[60], // version_major_prefix
- settings_matches[62], // version_minor_prefix
- settings_matches[64], // version_micro_prefix
- settings_matches[66], // version_nano_prefix
+ settings_matches[61], // version_major_prefix
+ settings_matches[63], // version_minor_prefix
+ settings_matches[65], // version_micro_prefix
+ settings_matches[67], // version_nano_prefix
};
const char *name_target[] = {
const f_string_t fake_build_setting_name_build_libraries_shared_s = FAKE_build_setting_name_build_libraries_shared_s;
const f_string_t fake_build_setting_name_build_libraries_static_s = FAKE_build_setting_name_build_libraries_static_s;
const f_string_t fake_build_setting_name_build_indexer_s = FAKE_build_setting_name_build_indexer_s;
+ const f_string_t fake_build_setting_name_build_indexer_arguments_s = FAKE_build_setting_name_build_indexer_arguments_s;
const f_string_t fake_build_setting_name_build_script_s = FAKE_build_setting_name_build_script_s;
const f_string_t fake_build_setting_name_build_shared_s = FAKE_build_setting_name_build_shared_s;
const f_string_t fake_build_setting_name_build_sources_headers_s = FAKE_build_setting_name_build_sources_headers_s;
const f_string_t fake_build_parameter_object_name_suffix_s = FAKE_build_parameter_object_name_suffix_s;
const f_string_t fake_build_parameter_object_output_s = FAKE_build_parameter_object_output_s;
const f_string_t fake_build_parameter_object_static_s = FAKE_build_parameter_object_static_s;
-
- const f_string_t fake_build_parameter_object_link_arguments_s = FAKE_build_parameter_object_link_arguments_s;
#endif // _di_fake_build_parameter_
#ifndef _di_fake_common_
const f_string_t fake_make_setting_define_s = FAKE_make_setting_define_s;
const f_string_t fake_make_setting_environment_s = FAKE_make_setting_environment_s;
const f_string_t fake_make_setting_fail_s = FAKE_make_setting_fail_s;
- const f_string_t fake_make_setting_linker_s = FAKE_make_setting_linker_s;
+ const f_string_t fake_make_setting_indexer_s = FAKE_make_setting_indexer_s;
+ const f_string_t fake_make_setting_indexer_arguments_s = FAKE_make_setting_indexer_arguments_s;
const f_string_t fake_make_setting_load_build_s = FAKE_make_setting_load_build_s;
const f_string_t fake_make_setting_parameter_s = FAKE_make_setting_parameter_s;
const f_string_t fake_make_setting_return_s = FAKE_make_setting_return_s;
f_string_dynamic_t version_nano;
f_string_dynamic_t version_nano_prefix;
+ f_string_dynamics_t build_indexer_arguments;
f_string_dynamics_t build_libraries;
f_string_dynamics_t build_libraries_shared;
f_string_dynamics_t build_libraries_static;
f_string_dynamics_t_initialize, \
f_string_dynamics_t_initialize, \
f_string_dynamics_t_initialize, \
+ f_string_dynamics_t_initialize, \
}
#define macro_fake_build_setting_t_delete_simple(setting) \
macro_f_string_dynamic_t_delete_simple(setting.version_minor_prefix); \
macro_f_string_dynamic_t_delete_simple(setting.version_nano); \
macro_f_string_dynamic_t_delete_simple(setting.version_nano_prefix); \
+ macro_f_string_dynamics_t_delete_simple(setting.build_indexer_arguments); \
macro_f_string_dynamics_t_delete_simple(setting.build_libraries); \
macro_f_string_dynamics_t_delete_simple(setting.build_libraries_shared); \
macro_f_string_dynamics_t_delete_simple(setting.build_libraries_static); \
#define FAKE_build_setting_name_build_libraries_shared_s "build_libraries_shared"
#define FAKE_build_setting_name_build_libraries_static_s "build_libraries_static"
#define FAKE_build_setting_name_build_indexer_s "build_indexer"
+ #define FAKE_build_setting_name_build_indexer_arguments_s "build_indexer_arguments"
#define FAKE_build_setting_name_build_script_s "build_script"
#define FAKE_build_setting_name_build_shared_s "build_shared"
#define FAKE_build_setting_name_build_sources_headers_s "build_sources_headers"
#define fake_build_setting_name_build_libraries_shared_s_length 22
#define fake_build_setting_name_build_libraries_static_s_length 22
#define fake_build_setting_name_build_indexer_s_length 13
+ #define fake_build_setting_name_build_indexer_arguments_s_length 23
#define fake_build_setting_name_build_script_s_length 12
#define fake_build_setting_name_build_shared_s_length 12
#define fake_build_setting_name_build_sources_headers_s_length 21
extern const f_string_t fake_build_setting_name_build_libraries_shared_s;
extern const f_string_t fake_build_setting_name_build_libraries_static_s;
extern const f_string_t fake_build_setting_name_build_indexer_s;
+ extern const f_string_t fake_build_setting_name_build_indexer_arguments_s;
extern const f_string_t fake_build_setting_name_build_script_s;
extern const f_string_t fake_build_setting_name_build_shared_s;
extern const f_string_t fake_build_setting_name_build_sources_headers_s;
extern const f_string_t fake_build_setting_name_version_nano_prefix_s;
extern const f_string_t fake_build_setting_name_version_target_s;
- #define fake_build_setting_total_d 68
+ #define fake_build_setting_total_d 69
#define FAKE_build_setting_default_version_s "0"
#define FAKE_build_setting_default_version_prefix_s "."
extern const f_string_t fake_build_parameter_object_name_suffix_s;
extern const f_string_t fake_build_parameter_object_output_s;
extern const f_string_t fake_build_parameter_object_static_s;
-
- #define FAKE_build_parameter_object_link_arguments_s "rcs"
-
- #define fake_build_parameter_object_link_arguments_s_length 3
-
- extern const f_string_t fake_build_parameter_object_link_arguments_s;
#endif // _di_fake_build_parameter_
/**
#define macro_fake_make_setting_t_delete_simple(setting) \
macro_f_string_map_multis_t_delete_simple(setting.parameter)
- #define FAKE_make_setting_compiler_s "compiler"
- #define FAKE_make_setting_define_s "define"
- #define FAKE_make_setting_environment_s "environment"
- #define FAKE_make_setting_fail_s "fail"
- #define FAKE_make_setting_linker_s "linker"
- #define FAKE_make_setting_load_build_s "load_build"
- #define FAKE_make_setting_parameter_s "parameter"
- #define FAKE_make_setting_return_s "return"
-
- #define fake_make_setting_compiler_s_length 8
- #define fake_make_setting_define_s_length 6
- #define fake_make_setting_environment_s_length 11
- #define fake_make_setting_fail_s_length 4
- #define fake_make_setting_linker_s_length 6
- #define fake_make_setting_load_build_s_length 10
- #define fake_make_setting_parameter_s_length 9
- #define fake_make_setting_return_s_length 6
+ #define FAKE_make_setting_compiler_s "compiler"
+ #define FAKE_make_setting_define_s "define"
+ #define FAKE_make_setting_environment_s "environment"
+ #define FAKE_make_setting_fail_s "fail"
+ #define FAKE_make_setting_indexer_s "indexer"
+ #define FAKE_make_setting_indexer_arguments_s "indexer_arguments"
+ #define FAKE_make_setting_load_build_s "load_build"
+ #define FAKE_make_setting_parameter_s "parameter"
+ #define FAKE_make_setting_return_s "return"
+
+ #define fake_make_setting_compiler_s_length 8
+ #define fake_make_setting_define_s_length 6
+ #define fake_make_setting_environment_s_length 11
+ #define fake_make_setting_fail_s_length 4
+ #define fake_make_setting_indexer_s_length 7
+ #define fake_make_setting_indexer_arguments_s_length 17
+ #define fake_make_setting_load_build_s_length 10
+ #define fake_make_setting_parameter_s_length 9
+ #define fake_make_setting_return_s_length 6
extern const f_string_t fake_make_setting_compiler_s;
extern const f_string_t fake_make_setting_define_s;
extern const f_string_t fake_make_setting_environment_s;
extern const f_string_t fake_make_setting_fail_s;
- extern const f_string_t fake_make_setting_linker_s;
+ extern const f_string_t fake_make_setting_indexer_s;
+ extern const f_string_t fake_make_setting_indexer_arguments_s;
extern const f_string_t fake_make_setting_load_build_s;
extern const f_string_t fake_make_setting_parameter_s;
extern const f_string_t fake_make_setting_return_s;
}
f_string_range_t *range_compiler = 0;
- f_string_range_t *range_linker = 0;
+ f_string_range_t *range_indexer = 0;
data_make->setting_make.parameter.array[0].value.used = 1;
data_make->setting_make.load_build = F_true;
fake_print_warning_settings_content_multiple(main, main.file_data_build_fakefile.string, fake_make_setting_fail_s);
}
}
- else if (fl_string_dynamic_partial_compare_string(fake_make_setting_linker_s, data_make->buffer, fake_make_setting_linker_s_length, settings.objects.array[i]) == F_equal_to) {
- if (range_linker) {
- fake_print_warning_settings_content_multiple(main, main.file_data_build_fakefile.string, fake_make_setting_linker_s);
+ else if (fl_string_dynamic_partial_compare_string(fake_make_setting_indexer_s, data_make->buffer, fake_make_setting_indexer_s_length, settings.objects.array[i]) == F_equal_to) {
+ if (range_indexer) {
+ fake_print_warning_settings_content_multiple(main, main.file_data_build_fakefile.string, fake_make_setting_indexer_s);
}
else {
if (settings.contents.array[i].used) {
- range_linker = &settings.contents.array[i].array[0];
+ range_indexer = &settings.contents.array[i].array[0];
if (settings.contents.array[i].used > 1) {
- fake_print_warning_settings_content_multiple(main, main.file_data_build_fakefile.string, fake_make_setting_linker_s);
+ fake_print_warning_settings_content_multiple(main, main.file_data_build_fakefile.string, fake_make_setting_indexer_s);
}
}
else {
}
}
}
+ else if (fl_string_dynamic_partial_compare_string(fake_make_setting_indexer_arguments_s, data_make->buffer, fake_make_setting_indexer_arguments_s_length, settings.objects.array[i]) == F_equal_to) {
+ f_array_length_t j = 0;
+
+ // clear all existing indexer arguments.
+ for (; j < data_make->setting_build.build_indexer_arguments.used; ++j) {
+ data_make->setting_build.build_indexer_arguments.array[j].used = 0;
+ } // for
+
+ data_make->setting_build.build_indexer_arguments.used = 0;
+
+ if (settings.contents.array[i].used > data_make->setting_build.build_indexer_arguments.size) {
+ *status = f_string_dynamics_increase_by(F_memory_default_allocation_small_d, &data_make->setting_build.build_indexer_arguments);
+
+ if (F_status_is_error(*status)) {
+ fll_error_print(main.error, F_status_set_fine(*status), "f_string_dynamic_terminate_after", F_true);
+ break;
+ }
+ }
+
+ for (j = 0; j < settings.contents.array[i].used; ++j) {
+
+ *status = f_string_dynamic_partial_append_nulless(data_make->buffer, settings.contents.array[i].array[j], &data_make->setting_build.build_indexer_arguments.array[data_make->setting_build.build_indexer_arguments.used]);
+
+ if (F_status_is_error(*status)) {
+ fll_error_print(main.error, F_status_set_fine(*status), "f_string_dynamic_partial_append_nulless", F_true);
+ break;
+ }
+
+ *status = f_string_dynamic_terminate_after(&data_make->setting_build.build_indexer_arguments.array[data_make->setting_build.build_indexer_arguments.used]);
+
+ if (F_status_is_error(*status)) {
+ fll_error_print(main.error, F_status_set_fine(*status), "f_string_dynamic_terminate_after", F_true);
+ break;
+ }
+
+ ++data_make->setting_build.build_indexer_arguments.used;
+ } // for
+
+ if (F_status_is_error(*status)) break;
+
+ *status = F_none;
+ }
else if (fl_string_dynamic_partial_compare_string(fake_make_setting_load_build_s, data_make->buffer, fake_make_setting_load_build_s_length, settings.objects.array[i]) == F_equal_to) {
if (unmatched_load) {
if (settings.contents.array[i].used) {
*status = f_string_dynamic_partial_append(data_make->buffer, *range_compiler, &data_make->setting_build.build_compiler);
}
- if (F_status_is_error_not(*status) && range_linker) {
+ if (F_status_is_error_not(*status) && range_indexer) {
data_make->setting_build.build_indexer.used = 0;
- *status = f_string_dynamic_partial_append(data_make->buffer, *range_linker, &data_make->setting_build.build_indexer);
+ *status = f_string_dynamic_partial_append(data_make->buffer, *range_indexer, &data_make->setting_build.build_indexer);
}
if (F_status_is_error(*status)) {
f_status_t status_validate = F_none;
f_string_dynamic_t combined = f_string_dynamic_t_initialize;
- for (f_array_length_t i = 0; i < define.used; ++i) {
+ f_array_length_t i = 0;
+ f_array_length_t j = 0;
+
+ for (; i < define.used; ++i) {
status_validate = fake_make_operate_validate_define_name(define.array[i].name);
if (status_validate) {
combined.used = 0;
- for (f_array_length_t j = 0; j < define.array[i].value.used; ++j) {
+ for (j = 0; j < define.array[i].value.used; ++j) {
*status = f_string_dynamic_mash(f_string_space_s, 1, define.array[i].value.array[j], &combined);
}
if (main->output.verbosity != f_console_verbosity_quiet) {
- fll_print_format("%c$[Making project.%]%c", main->output.to.stream, f_string_eol_s[0], main->context.set.important, main->context.set.important, f_string_eol_s[0]);
+ fll_print_format("%c%[Making project.%]%c", main->output.to.stream, f_string_eol_s[0], main->context.set.important, main->context.set.important, f_string_eol_s[0]);
}
f_status_t status = F_none;
flockfile(main->output.to.stream);
fl_print_format("%c%[Processing Section '%]", main->output.to.stream, f_string_eol_s[0], main->context.set.important, main->context.set.important);
- fl_print_format("%[%Q%]", main->output.to.stream, main->context.set.notable, section->name, main->context.set.notable);
+ fl_print_format("%[%/Q%]", main->output.to.stream, main->context.set.notable, data_make->buffer, section->name, main->context.set.notable);
fl_print_format("%['.%]%c", main->output.to.stream, main->context.set.important, main->context.set.important, f_string_eol_s[0]);
funlockfile(main->output.to.stream);
if (data_make->error.verbosity != f_console_verbosity_quiet && data_make->error.to.stream) {
flockfile(data_make->error.to.stream);
- fl_print_format("%c%[%SFailed with return code '%]", data_make->error.to.stream, f_string_eol_s[0], data_make->error.context, data_make->error.prefix, data_make->error.context);
- fl_print_format("%[%Q%]", data_make->error.to.stream, data_make->error.notable, data_make->setting_make.parameter.array[0].value.array[0], data_make->error.notable);
- fl_print_format("%['.%]%c", data_make->error.to.stream, data_make->error.context, data_make->error.context, f_string_eol_s[0]);
+ fl_print_format("%c%[%SFailed with return code %]", data_make->error.to.stream, f_string_eol_s[0], data_make->error.context, data_make->error.prefix, data_make->error.context);
+ fl_print_format("%[%i%]", data_make->error.to.stream, data_make->error.notable, return_code, data_make->error.notable);
+ fl_print_format("%[.%]%c", data_make->error.to.stream, data_make->error.context, data_make->error.context, f_string_eol_s[0]);
funlockfile(data_make->error.to.stream);
}
compiler gcc
indexer ar
+ indexer_arguments rcs
environment
compiler gcc
indexer ar
+ indexer_arguments rcs
main:
operate bzip2
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc -lcap
build_libraries-individual -lfll_error -lfll_execute -lfll_file -lfll_fss -lfll_path -lfll_print -lfll_program -lfl_console -lfl_control_group -lfl_conversion -lfl_directory -lfl_environment -lfl_fss -lfl_iki -lfl_print -lfl_status -lfl_string -lf_account -lf_capability -lf_color -lf_console -lf_control_group -lf_conversion -lf_directory -lf_environment -lf_execute -lf_file -lf_fss -lf_iki -lf_limit -lf_memory -lf_path -lf_print -lf_signal -lf_string -lf_thread -lf_type_array -lf_utf
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc
build_sources_program blocksort.c huffman.c crctable.c randtable.c compress.c decompress.c bzlib.c bzip2.c
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc
build_sources_program bzip2recover.c
- compiler\:
This represents the name of the compiler program to use, such as "gcc".
+ The programs "gcc" and "clang" are known to work.
+ Many of the parameters in the settings file can be changed if using a non-GCC, but there may be certain hard-coded functionality that may need to be changed.
+
When specified and "load_build" is "true", then this will override the "build_compiler" specified in the loaded build settings.
- define\:
- indexer\:
This represents the name of the indexer program to use, such as "ar".
+ An indexer is often called a linker.
+
+ Similar to "build_compiler", any linker that supports the "ar" program parameters is effectively supported.
When specified and "load_build" is "true", then this will override the "build_indexer" specified in the loaded build settings.
+ - indexer_arguments\:
+ This represents arguments needed to build an archive file from object files, such as "rcs".
+ These arguments are placed immediately before the object files passed to the "indexer" program.
+
- 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.
The settings file is designed for very simple compilations that represent a single named program and/or a single named library.
For specific details on the allowed formatting, see the settings.txt under the specifications folder.
- build_compiler\:
- Expects the name of the compiler, which generally should not be the path to the file, just the executable name.
+ - build_compiler\:
+ This represents the name of the compiler program to use, such as "gcc".
+
The programs "gcc" and "clang" are known to work.
- 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.
+ Many of the parameters in the settings file can be changed if using a non-GCC, but there may be certain hard-coded functionality that may need to be changed.
+
+ - build_indexer\:
+ This represents the name of the indexer program to use, such as "ar".
+ An indexer is often called a linker.
- build_indexer\:
- Exactly like build_compiler, except for the linker, aka indexer.
The default behavior is to support the GNU "ar" program.
Similar to "build_compiler", any linker that supports the "ar" program parameters is effectively supported.
- build_language\:
+ - build_indexer_arguments\:
+ This represents arguments needed to build an archive file from object files, such as "rcs".
+ These arguments are placed immediately before the object files passed to the "indexer" program.
+
+ - build_language\:
The programming language to build with.
The languages "c" and "c++" are supported (with "bash" as a consideration for support).
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_libraries\:
+ - build_libraries\:
A collection of libraries to be linked against.
This should include the compiler specific parameter parts, such as the "-l" prefix in "-lc".
The order of these may matter if the compiler (such as GCC or a linker via GCC) is order sensitive.
- build_libraries_shared\:
+ - build_libraries_shared\:
A collection of libraries to be linked against.
This should include the compiler specific parameter parts, such as the "-l" prefix in "-lc".
The order of these may matter if the compiler (such as GCC or a linker via GCC) is order sensitive.
These are applied to only shared builds.
- build_libraries_static\:
+ - build_libraries_static\:
A collection of libraries to be linked against.
This should include the compiler specific parameter parts, such as the "-l" prefix in "-lc".
The order of these may matter if the compiler (such as GCC or a linker via GCC) is order sensitive.
These are applied to only static builds.
- build_script\:
+ - build_script\:
When "yes", the build process will build any scripts, such as a Bash script.
This is currently not implemented.
- build_shared\:
+ - build_shared\:
When "yes", the build process will compile any source code for any supported language that supports shared library linking.
- build_sources_headers\:
+ - build_sources_headers\:
A collection of header files.
May include a relative sub-path to each individual header (such as: "level_0/a.h level_0/b.h level_1/c.h").
The order of these may matter if the compiler (such as GCC or a linker via GCC) is order sensitive.
- build_sources_headers_shared\:
+ - build_sources_headers_shared\:
A collection of header files.
May include a relative sub-path to each individual header (such as: "level_0/a.h level_0/b.h level_1/c.h").
The order of these may matter if the compiler (such as GCC or a linker via GCC) is order sensitive.
Be careful not to have any conflicting names between this and build_sources_headers_static in case of when static and shared builds are both enabled.
These are applied to only shared builds.
- build_sources_headers_static\:
+ - build_sources_headers_static\:
A collection of header files.
May include a relative sub-path to each individual header (such as: "level_0/a.h level_0/b.h level_1/c.h").
The order of these may matter if the compiler (such as GCC or a linker via GCC) is order sensitive.
Be careful not to have any conflicting names between this and build_sources_headers_shared in case of when static and shared builds are both enabled.
These are applied to only static builds.
- build_sources_library\:
+ - build_sources_library\:
A collection of library related source files.
May include a relative sub-path to each individual source file (such as: "level_0/a.c level_0/b.c level_1/c.c").
The order of these may matter if the compiler (such as GCC or a linker via GCC) is order sensitive.
- build_sources_library_shared\:
+ - build_sources_library_shared\:
A collection of library related source files.
May include a relative sub-path to each individual source file (such as: "level_0/a.c level_0/b.c level_1/c.c").
The order of these may matter if the compiler (such as GCC or a linker via GCC) is order sensitive.
These are applied to only shared builds.
- build_sources_library_static\:
+ - build_sources_library_static\:
A collection of library related source files.
May include a relative sub-path to each individual source file (such as: "level_0/a.c level_0/b.c level_1/c.c").
The order of these may matter if the compiler (such as GCC or a linker via GCC) is order sensitive.
These are applied to only static builds.
- build_sources_program\:
+ - build_sources_program\:
A collection of program related source files.
May include a relative sub-path to each individual source file (such as: "level_0/a.c level_0/b.c level_1/c.c").
The order of these may matter if the compiler (such as GCC or a linker via GCC) is order sensitive.
These files are used when compiling the program.
- build_sources_program_shared\:
+ - build_sources_program_shared\:
A collection of program related source files.
May include a relative sub-path to each individual source file (such as: "level_0/a.c level_0/b.c level_1/c.c").
The order of these may matter if the compiler (such as GCC or a linker via GCC) is order sensitive.
These files are used when compiling the program for shared builds.
- build_sources_program_static\:
+ - build_sources_program_static\:
A collection of program related source files.
May include a relative sub-path to each individual source file (such as: "level_0/a.c level_0/b.c level_1/c.c").
The order of these may matter if the compiler (such as GCC or a linker via GCC) is order sensitive.
These files are used when compiling the program for static builds.
- build_sources_script\:
+ - build_sources_script\:
A collection of script files.
These are settings files used by the project and are simply copied over to the build directory.
Unless a pre-process script (or in theory post-process script) is configured to alter these, they are not modified.
Unlike the "compile_language" setting "bash", this is not for built Bash script, but is instead for any valid scripting language (including Bash).
These could be in any language.
- build_sources_setting\:
+ - build_sources_setting\:
A collection of settings files.
These are settings files used by the project and are simply copied over to the build directory.
Unless a pre-process script (or in theory post-process script) is configured to alter these, they are not modified.
- build_static\:
+ - build_static\:
When "yes", the build process will compile any source code for any supported language that supports static library linking.
- defines\:
+ - defines\:
A collection of macro names.
This includes the any compiler specific parameters required by the "build_compiler", such as the "-D" used by gcc and clang.
These will be appended to the compiler for compiled languages such as C and C++.
These are applied to both shared and static builds.
- defines_library\:
+ - defines_library\:
A collection of macro names.
This includes the any compiler specific parameters required by the "build_compiler", such as the "-D" used by gcc and clang.
These will be appended to the compiler for compiled languages such as C and C++.
These are applied to only library builds.
- defines_library_shared\:
+ - defines_library_shared\:
A collection of macro names.
This includes the any compiler specific parameters required by the "build_compiler", such as the "-D" used by gcc and clang.
These will be appended to the compiler for compiled languages such as C and C++.
These are applied to only shared library builds.
- defines_library_static\:
+ - defines_library_static\:
A collection of macro names.
This includes the any compiler specific parameters required by the "build_compiler", such as the "-D" used by gcc and clang.
These will be appended to the compiler for compiled languages such as C and C++.
These are applied to only static library builds.
- defines_program\:
+ - defines_program\:
A collection of macro names.
This includes the any compiler specific parameters required by the "build_compiler", such as the "-D" used by gcc and clang.
These will be appended to the compiler for compiled languages such as C and C++.
These are applied to only program builds.
- defines_program_shared\:
+ - defines_program_shared\:
A collection of macro names.
This includes the any compiler specific parameters required by the "build_compiler", such as the "-D" used by gcc and clang.
These will be appended to the compiler for compiled languages such as C and C++.
These are applied to only shared program builds.
- defines_program_static\:
+ - defines_program_static\:
A collection of macro names.
This includes the any compiler specific parameters required by the "build_compiler", such as the "-D" used by gcc and clang.
These will be appended to the compiler for compiled languages such as C and C++.
These are applied to only shared program builds.
- defines_shared\:
+ - defines_shared\:
A collection of macro names.
This includes the any compiler specific parameters required by the "build_compiler", such as the "-D" used by gcc and clang.
These will be appended to the compiler for compiled languages such as C and C++.
These are applied to only shared builds.
- defines_static\:
+ - defines_static\:
A collection of macro names.
This includes the any compiler specific parameters required by the "build_compiler", such as the "-D" used by gcc and clang.
These will be appended to the compiler for compiled languages such as C and C++.
These are applied to only static builds.
- environment\:
+ - environment\:
A collection of environment names to pass from the callers environment into the executed programs environment.
For security and integrity reasons, all environment variables are removed when calling user-space programs, such as "gcc".
There are times when someone desires that an environment variable be exposed to the user-space programs.
Add them here and they will be available in the environment of all user-space programs executed.
- flags\:
+ - flags\:
A collection of any flag supported by the "build_compiler", such as gcc.
This includes the any compiler specific parameters to defined this, such as the "-f" used by gcc and clang.
These are applied to both shared and static builds.
- flags_library\:
+ - flags_library\:
A collection of any flag supported by the "build_compiler", such as gcc.
This includes the any compiler specific parameters to defined this, such as the "-f" used by gcc and clang.
These are applied when building a library.
- flags_library_shared\:
+ - flags_library_shared\:
A collection of any flag supported by the "build_compiler", such as gcc.
This includes the any compiler specific parameters to defined this, such as the "-f" used by gcc and clang.
These are applied to only library shared builds.
- flags_library_static\:
+ - flags_library_static\:
A collection of any flag supported by the "build_compiler", such as gcc.
This includes the any compiler specific parameters to defined this, such as the "-f" used by gcc and clang.
These are applied to only library static builds.
- flags_program\:
+ - flags_program\:
A collection of any flag supported by the "build_compiler", such as gcc.
This includes the any compiler specific parameters to defined this, such as the "-f" used by gcc and clang.
These are applied when building a program.
- flags_program_shared\:
+ - flags_program_shared\:
A collection of any flag supported by the "build_compiler", such as gcc.
This includes the any compiler specific parameters to defined this, such as the "-f" used by gcc and clang.
These are applied to only program shared builds.
- flags_program_static\:
+ - flags_program_static\:
A collection of any flag supported by the "build_compiler", such as gcc.
This includes the any compiler specific parameters to defined this, such as the "-f" used by gcc and clang.
These are applied to only program static builds.
- flags_shared\:
+ - flags_shared\:
A collection of any flag supported by the "build_compiler", such as gcc.
This includes the any compiler specific parameters to defined this, such as the "-f" used by gcc and clang.
These are applied to only shared builds.
- flags_static\:
+ - flags_static\:
A collection of any flag supported by the "build_compiler", such as gcc.
This includes the any compiler specific parameters to defined this, such as the "-f" used by gcc and clang.
These are applied to only static builds.
- modes\:
+ - modes\:
A collection of available build modes.
Build modes provide custom variants of the build process where certain settings are appended onto others.
See the settings.txt specification for a list of which setting names this applies to.
- modes_default\:
+ - modes_default\:
The name of the default mode to use when no mode is specified.
This must be one of the modes specified in the "modes" setting.
- path_headers\:
+ - path_headers\:
A sub-path in which headers are to be installed under.
For example, the FLL project might use the "level_0", "level_1", etc.. headers without requiring that structure within the source.
A resulting build destination for a path_headers of "level_0" would be something like "build/includes/level_0/".
If "path_headers" is "level_0", "path_headers_preserve" is "yes", and "build_sources_headers" has "xxx/a.h yyy/zzz/b.h", then the headers would be at: "build/includes/level_0/xxx/a.h build/includes/level_0/yyy/zzz/b.h"
- path_headers_preserve\:
+ - path_headers_preserve\:
When "yes" the relative directory structure in the source (as defined in "build_sources_headers") is preserved.
If the "build_sources_headers" has the header files "xxx/a.h yyy/zzz/b.h" and this is "yes", then the directories "xxx/" and "yyy/zzz/" are created and the files are stored within them.
If the "build_sources_headers" has the header files "xxx/a.h yyy/zzz/b.h" and this is "no", then the directories "xxx/" and "yyy/zzz/" are stripped before installing.
When this is "no" and the "build_sources_headers" has header files "xxx/a.h yyy/a.h", then one of the "a.h" files will be overwritten, depending on order they were supplied.
- path_language\:
+ - path_language\:
A sub-path in which to find the source files for the currently defined language.
If the "build_language" is changed, it is recommended to change this as well to match.
- path_library_script\:
+ - path_library_script\:
A sub-path representing when the built library script files are placed.
This is currently not implemented.
- path_library_shared\:
+ - path_library_shared\:
A sub-path representing when the built shared library files are placed.
- path_library_static\:
+ - path_library_static\:
A sub-path representing when the built shared library files are placed.
- path_program_script\:
+ - path_program_script\:
A sub-path representing when the built program script files are placed.
This is currently not implemented.
- path_program_shared\:
+ - path_program_shared\:
A sub-path representing when the built shared program files are placed.
- path_program_static\:
+ - path_program_static\:
A sub-path representing when the built shared program files are placed.
- path_sources\:
+ - path_sources\:
A sub-path representing when the built shared program files are placed.
- path_standard\:
+ - path_standard\:
When "yes", the sources path will be built using the sources path with the language, such as "sources/c/", ignoring "path_sources" completely.
When "no", the default sources path structure is not used and instead "path_sources" is used.
When the parameter -S/--sources is specified, such as "-S xxx", then when "yes" is used path would be "xxx/c/" and when "no" path would be "xxx/".
The default behavior is "yes".
- process_post\:
+ - process_post\:
The filename (relative to the "data/build/" directory) of a script to execute after the "build" operation successfully completes.
A small subset of parameters from the main execution are passed to this script during execution as parameters (using short parameter codes)\:
Color context parameters, such as: "+l", "+n", and "+d".
Sources Path parameter, such as "-S X', whereas "X" is any valid argument associated with "-S".
Work Path parameter, such as "-w X', whereas "X" is any valid argument associated with "-w".
- process_pre\:
+ - process_pre\:
The filename (relative to the "data/build/" directory) of a script to execute before the "build" operation is executed.
A small subset of parameters from the main execution are passed to this script during execution as parameters (using short parameter codes)\:
Color context parameters, such as: "+l", "+n", and "+d".
Sources Path parameter, such as "-S X', whereas "X" is any valid argument associated with "-S".
Work Path parameter, such as "-w X', whereas "X" is any valid argument associated with "-w".
- project_name\:
+ - project_name\:
The name of the project.
If program sources are specified, then this will be used as the program name.
If library sources are specified, then this will be used in the library name, such as "libX.so" where "X" would be the "project_name" value.
- search_exclusive\:
+ - search_exclusive\:
When "yes", the search path during compile for shared libraries will only include shared library paths.
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 ending 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_indexer", so it is still possible for static libraries to end up even when this is set to "yes".
- search_shared\:
+ - search_shared\:
When "yes", shared library paths are searched during compile.
Both this and "search_static" cannot be "no" at the same time.
The default behavior is "yes".
- search_shared\:
+ - search_shared\:
When "yes", static library paths are searched during compile.
Both this and search_shared cannot be "no" at the same time.
- version_file\:
+ - version_file\:
Designates which version should be used when building the symbolic links.
Any version prefixes are used as defined.
A Symbolic link is created against this created file such that "libX.so" is a link to "libX.so.A".
When "micro" is used, the file created is "libX.so.A.B.C", whereas "X" is the "project_name" and "A.B.C" is the major, minor, and micro versions, respectively.
When "nano" is used, the file created is "libX.so.A.B.C.D", whereas "X" is the "project_name" and "A.B.C.D" is the major, minor, micro, and nano versions, respectively.
- version_major\:
+ - version_major\:
The major version number (or in theory any characters allowed in a filename).
This should generally be a positive number or 0.
Anything else is currently untested but allowed.
With a structure of "A.B.C", the major version would be the "A".
- version_major_prefix\:
+ - version_major_prefix\:
The version major prefix is the character used to designate the start of the major version.
This can zero or more characters.
The default is an empty string.
With a structure of "A.B.C", the major version prefix would be before the "A".
This is only added if "version_major" is not empty.
- version_minor\:
+ - version_minor\:
The minor version number (or in theory any characters allowed in a filename).
This should generally be a positive number or 0.
Anything else is currently untested but allowed.
With a structure of "A.B.C", the minor version would be the "B".
- version_minor_prefix\:
+ - version_minor_prefix\:
The version minor prefix is the character used to separate the major from the minor.
This can zero or more characters.
The default prefix is an ASCII period character "." if and only if "version_minor" is not an empty string.
With a structure of "A.B.C", the minor version prefix would be the "." before the "B".
This is only added if "version_minor" is not empty.
- version_micro\:
+ - version_micro\:
The micro version number (or in theory any characters allowed in a filename).
This should generally be a positive number or 0.
Anything else is currently untested but allowed.
With a structure of "A.B.C", the micro version would be the "C".
- version_micro_prefix\:
+ - version_micro_prefix\:
The version micro prefix is the character used to separate the minor from the micro.
This can zero or more characters.
The default prefix is an ASCII period character "." if and only if "version_micro" is not an empty string.
With a structure of "A.B.C", the micro version prefix would be the "." before the "C".
This is only added if "version_micro" is not empty.
- version_nano\:
+ - version_nano\:
The nano version number (or in theory any characters allowed in a filename).
This should generally be a positive number or 0.
Anything else is currently untested but allowed.
With a structure of "A.B.C.D", the micro version prefix would be the "." before the "D".
- version_nano_prefix\:
+ - version_nano_prefix\:
The version nano prefix is the character used to separate the micro from the nano.
This can zero or more characters.
The default prefix is an ASCII period character "." if and only if "version_nano" is not an empty string.
With a structure of "A.B.C.D", the minor version would be the "." before the "D".
This is only added if "version_nano" is not empty.
- version_target\:
+ - version_target\:
Designates which version should be used when linking the shared library.
Any version prefixes are used as defined.
The default target is "micro".
- environment: Zero or more Content representing valid environment variable names (alpha-numeric with underscore, but cannot begin with a number).
- fail: Only one Content, which must be either "exit", "warn" or "ignore" (quotes not required) (case-sensitive).
- indexer: Only one Content, which must only be a valid filename.
+ - indexer_arguments: Zero or more arguments supported by the indexer specified in "build_indexer".
- load_build: Only one Content, which must be either "yes" or "no" (quotes not required) (case-sensitive).
- parameter: First Content represents variable name (case-sensitive), remaining Content represents varaiable value for IKI substitution.
- success: has no other Content.
The "if" Section Operation conditions and numbers\:
- The numbers may be represented in any of the forms:
+ The numbers may be represented in any of the forms\:
1) decimal: all numbers without a base-type prefix are of base-type 10, referred to as decimal.
2) binary: all numbers with the prefix "0b" (uppercase or lowercase 'b') are of base-type 2, referred to as binary.
3) octal: all numbers with the prefix "0o" (that is zero followed by the letter o, uppercase or lowercase 'o') are of base-type 8, referred to as octal.
(At this time) The numbers may only be whole numbers.
Note: there are plans to impose no limits on the number size or any decimal values, but this requires significant work is not to be implemented at this time.
- Only the following "if" Section Operation conditions operate using these numbers:
+ Only the following "if" Section Operation conditions operate using these numbers\:
- >
- <
- >=
Additional restrictions are applied to each Content depending on each specific Object name (see below).
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_libraries": Must only contain any number of valid library include arguments that are valid for the compiler defined in "build_compiler" Object.
- "build_libraries_shared": Must only contain any number of valid library include arguments that are valid for the compiler defined in "build_compiler" Object.
- "build_libraries_static": 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".
- "build_sources_headers": Must only contain any number of valid filenames.
- "build_sources_headers_shared": Must only contain any number of valid filenames.
- "build_sources_headers_static": Must only contain any number of valid filenames.
- "build_sources_library": Must only contain any number of valid filenames.
- "build_sources_library_shared": Must only contain any number of valid filenames.
- "build_sources_library_static": Must only contain any number of valid filenames.
- "build_sources_program": Must only contain any number of valid filenames.
- "build_sources_program_shared": Must only contain any number of valid filenames.
- "build_sources_program_static": Must only contain any number of valid filenames.
- "build_sources_script": Must only contain any number of valid filenames.
- "build_sources_setting": Must only contain any number of valid filenames.
- "build_static": Must only one of: "yes" or "no".
- "defines": Must only contain any number of valid macro names supported by the compiler specified in "build_compiler".
- "defines_library": Must only contain any number of valid macro names supported by the compiler specified in "build_compiler".
- "defines_library_shared": Must only contain any number of valid macro names supported by the compiler specified in "build_compiler".
- "defines_library_static": Must only contain any number of valid macro names supported by the compiler specified in "build_compiler".
- "defines_program": Must only contain any number of valid macro names supported by the compiler specified in "build_compiler".
- "defines_program_shared": Must only contain any number of valid macro names supported by the compiler specified in "build_compiler".
- "defines_program_static": Must only contain any number of valid macro names supported by the compiler specified in "build_compiler".
- "defines_shared": Must only contain any number of valid macro names supported by the compiler specified in "build_compiler".
- "defines_static": Must only contain any number of valid macro names supported by the compiler specified in "build_compiler".
- "environment": Environment variable names, case-sensitive, usually uppercase. May only contain characters allowed in an environment variable.
- "flags": Must only contain any number of parameters supported by the compiler specified in "build_compiler".
- "flags_library": Must only contain any number of parameters supported by the compiler specified in "build_compiler".
- "flags_library_shared": Must only contain any number of parameters supported by the compiler specified in "build_compiler".
- "flags_library_static": Must only contain any number of parameters supported by the compiler specified in "build_compiler".
- "flags_program": Must only contain any number of parameters supported by the compiler specified in "build_compiler".
- "flags_program_shared": Must only contain any number of parameters supported by the compiler specified in "build_compiler".
- "flags_program_static": Must only contain any number of parameters supported by the compiler specified in "build_compiler".
- "flags_shared": Must only contain any number of parameters supported by the compiler specified in "build_compiler".
- "flags_static": Must only contain any number of parameters supported by the compiler specified in "build_compiler".
- "modes": Any valid word character, '-', or '+'.
- "modes_default": May only be a single complete Content word defined in "modes" Object.
- "path_headers": Must be a single valid path.
- "path_headers_preserve": Must only be one of "yes" or "no".
- "path_language": Must be a single valid path.
- "path_library_script": Must be a single valid path.
- "path_library_shared": Must be a single valid path.
- "path_library_static": Must be a single valid path.
- "path_program_script": Must be a single valid path.
- "path_program_shared": Must be a single valid path.
- "path_program_static": Must be a single valid path.
- "path_sources": Must only be a valid directory path or not specified.
- "path_standard": Must only one of: "yes" or "no".
- "process_post": Must contain only a single valid filename.
- "process_pre": Must contain only a single valid filename.
- "project_name": Must only contain characters allowed in a filename.
- "search_exclusive": Must only one of: "yes" or "no".
- "search_shared": Must only one of: "yes" or "no".
- "search_static": Must only one of: "yes" or "no".
- "version_file": Must only be one of: "major", "minor", "micro", or "nano".
- "version_major": Must only be a single value containing valid filename characters.
- "version_major_prefix": Must be zero or more valid filename characters.
- "version_minor": Must only be a single value containing valid filename characters.
- "version_minor_prefix": Must be zero or more valid filename characters.
- "version_micro": Must only be a single value containing valid filename characters.
- "version_micro_prefix": Must be zero or more valid filename characters.
- "version_nano": Must only be a single value containing valid filename characters.
- "version_nano_prefix": Must be zero or more valid filename characters.
- "version_target": Must only be one of: "major", "minor", "micro", or "nano".
+ - build_compiler: Must only be a valid filename.
+ - build_indexer: Must only be a valid filename.
+ - build_indexer_arguments: Zero or more arguments supported by the indexer specified in "build_indexer".
+ - build_language: Must only be one of: "bash", "c", or "c++".
+ - build_libraries: Must only contain any number of valid library include arguments that are valid for the compiler defined in "build_compiler" Object.
+ - build_libraries_shared: Must only contain any number of valid library include arguments that are valid for the compiler defined in "build_compiler" Object.
+ - build_libraries_static: 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".
+ - build_sources_headers: Must only contain any number of valid filenames.
+ - build_sources_headers_shared: Must only contain any number of valid filenames.
+ - build_sources_headers_static: Must only contain any number of valid filenames.
+ - build_sources_library: Must only contain any number of valid filenames.
+ - build_sources_library_shared: Must only contain any number of valid filenames.
+ - build_sources_library_static: Must only contain any number of valid filenames.
+ - build_sources_program: Must only contain any number of valid filenames.
+ - build_sources_program_shared: Must only contain any number of valid filenames.
+ - build_sources_program_static: Must only contain any number of valid filenames.
+ - build_sources_script: Must only contain any number of valid filenames.
+ - build_sources_setting: Must only contain any number of valid filenames.
+ - build_static: Must only one of: "yes" or "no".
+ - defines": Must only contain any number of valid macro names supported by the compiler specified in "build_compiler".
+ - defines_library: Must only contain any number of valid macro names supported by the compiler specified in "build_compiler".
+ - defines_library_shared: Must only contain any number of valid macro names supported by the compiler specified in "build_compiler".
+ - defines_library_static: Must only contain any number of valid macro names supported by the compiler specified in "build_compiler".
+ - defines_program: Must only contain any number of valid macro names supported by the compiler specified in "build_compiler".
+ - defines_program_shared: Must only contain any number of valid macro names supported by the compiler specified in "build_compiler".
+ - defines_program_static: Must only contain any number of valid macro names supported by the compiler specified in "build_compiler".
+ - defines_shared: Must only contain any number of valid macro names supported by the compiler specified in "build_compiler".
+ - defines_static: Must only contain any number of valid macro names supported by the compiler specified in "build_compiler".
+ - environment: Environment variable names, case-sensitive, usually uppercase. May only contain characters allowed in an environment variable.
+ - flags: Must only contain any number of parameters supported by the compiler specified in "build_compiler".
+ - flags_library: Must only contain any number of parameters supported by the compiler specified in "build_compiler".
+ - flags_library_shared: Must only contain any number of parameters supported by the compiler specified in "build_compiler".
+ - flags_library_static: Must only contain any number of parameters supported by the compiler specified in "build_compiler".
+ - flags_program: Must only contain any number of parameters supported by the compiler specified in "build_compiler".
+ - flags_program_shared: Must only contain any number of parameters supported by the compiler specified in "build_compiler".
+ - flags_program_static: Must only contain any number of parameters supported by the compiler specified in "build_compiler".
+ - flags_shared: Must only contain any number of parameters supported by the compiler specified in "build_compiler".
+ - flags_static: Must only contain any number of parameters supported by the compiler specified in "build_compiler".
+ - modes: Any valid word character, '-', or '+'.
+ - modes_default: May only be a single complete Content word defined in "modes" Object.
+ - path_headers: Must be a single valid path.
+ - path_headers_preserve: Must only be one of "yes" or "no".
+ - path_language: Must be a single valid path.
+ - path_library_script: Must be a single valid path.
+ - path_library_shared: Must be a single valid path.
+ - path_library_static: Must be a single valid path.
+ - path_program_script: Must be a single valid path.
+ - path_program_shared: Must be a single valid path.
+ - path_program_static: Must be a single valid path.
+ - path_sources: Must only be a valid directory path or not specified.
+ - path_standard: Must only one of: "yes" or "no".
+ - process_post: Must contain only a single valid filename.
+ - process_pre: Must contain only a single valid filename.
+ - project_name: Must only contain characters allowed in a filename.
+ - search_exclusive: Must only one of: "yes" or "no".
+ - search_shared: Must only one of: "yes" or "no".
+ - search_static: Must only one of: "yes" or "no".
+ - version_file: Must only be one of: "major", "minor", "micro", or "nano".
+ - version_major: Must only be a single value containing valid filename characters.
+ - version_major_prefix: Must be zero or more valid filename characters.
+ - version_minor: Must only be a single value containing valid filename characters.
+ - version_minor_prefix: Must be zero or more valid filename characters.
+ - version_micro: Must only be a single value containing valid filename characters.
+ - version_micro_prefix: Must be zero or more valid filename characters.
+ - version_nano: Must only be a single value containing valid filename characters.
+ - version_nano_prefix: Must be zero or more valid filename characters.
+ - version_target: Must only be one of: "major", "minor", "micro", or "nano".
The following Object names support having a "-" and a "mode" name, such as "build_libraries-individual" for a mode called "individual"\:
- "build_libraries"
- "build_libraries_shared"
- "build_libraries_static"
- "build_sources_headers"
- "build_sources_headers_shared"
- "build_sources_headers_static"
- "build_sources_library"
- "build_sources_library_shared"
- "build_sources_library_static"
- "build_sources_program"
- "build_sources_program_shared"
- "build_sources_program_static"
- "build_sources_script"
- "build_sources_setting"
- "defines"
- "defines_library"
- "defines_library_shared"
- "defines_library_static"
- "defines_program"
- "defines_program_shared"
- "defines_program_static"
- "defines_shared"
- "defines_static"
- "environment"
- "flags"
- "flags_library"
- "flags_library_shared"
- "flags_library_static"
- "flags_program"
- "flags_program_shared"
- "flags_program_static"
- "flags_shared"
- "flags_static"
+ - build_libraries
+ - build_libraries_shared
+ - build_libraries_static
+ - build_sources_headers
+ - build_sources_headers_shared
+ - build_sources_headers_static
+ - build_sources_library
+ - build_sources_library_shared
+ - build_sources_library_static
+ - build_sources_program
+ - build_sources_program_shared
+ - build_sources_program_static
+ - build_sources_script
+ - build_sources_setting
+ - defines
+ - defines_library
+ - defines_library_shared
+ - defines_library_static
+ - defines_program
+ - defines_program_shared
+ - defines_program_static
+ - defines_shared
+ - defines_static
+ - environment
+ - flags
+ - flags_library
+ - flags_library_shared
+ - flags_library_static
+ - flags_program
+ - flags_program_shared
+ - flags_program_static
+ - flags_shared
+ - flags_static
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc -lcap
build_libraries-individual -lfll_error -lfll_execute -lfll_fss -lfll_print -lfll_program -lfl_console -lfl_control_group -lfl_conversion -lfl_environment -lfl_fss -lfl_print -lfl_status -lfl_string -lf_account -lf_capability -lf_color -lf_console -lf_control_group -lf_conversion -lf_directory -lf_environment -lf_execute -lf_file -lf_fss -lf_limit -lf_memory -lf_path -lf_pipe -lf_print -lf_signal -lf_string -lf_thread -lf_type_array -lf_utf
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc
build_libraries-individual -lfll_error -lfll_file -lfll_fss -lfll_print -lfll_program -lfl_console -lfl_conversion -lfl_directory -lfl_fss -lfl_print -lfl_status -lfl_string -lf_color -lf_console -lf_conversion -lf_directory -lf_environment -lf_file -lf_fss -lf_memory -lf_path -lf_pipe -lf_print -lf_string -lf_type_array -lf_utf
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc
build_libraries-individual -lfll_error -lfll_file -lfll_fss -lfll_print -lfll_program -lfl_console -lfl_conversion -lfl_directory -lfl_fss -lfl_print -lfl_status -lfl_string -lf_color -lf_console -lf_conversion -lf_directory -lf_environment -lf_file -lf_fss -lf_memory -lf_path -lf_pipe -lf_print -lf_string -lf_type_array -lf_utf
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc
build_libraries-individual -lfll_error -lfll_file -lfll_fss -lfll_print -lfll_program -lfl_console -lfl_conversion -lfl_directory -lfl_fss -lfl_print -lfl_status -lfl_string -lf_color -lf_console -lf_conversion -lf_directory -lf_environment -lf_file -lf_fss -lf_memory -lf_path -lf_pipe -lf_print -lf_string -lf_type_array -lf_utf
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc
build_libraries-individual -lfll_error -lfll_file -lfll_fss -lfll_print -lfll_program -lfl_console -lfl_conversion -lfl_directory -lfl_fss -lfl_print -lfl_status -lfl_string -lf_color -lf_console -lf_conversion -lf_directory -lf_environment -lf_file -lf_fss -lf_memory -lf_path -lf_pipe -lf_print -lf_string -lf_type_array -lf_utf
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc
build_libraries-individual -lfll_error -lfll_file -lfll_fss -lfll_print -lfll_program -lfl_console -lfl_conversion -lfl_directory -lfl_fss -lfl_print -lfl_status -lfl_string -lf_color -lf_console -lf_conversion -lf_directory -lf_environment -lf_file -lf_fss -lf_memory -lf_path -lf_pipe -lf_print -lf_string -lf_type_array -lf_utf
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc
build_libraries-individual -lfll_error -lfll_file -lfll_fss -lfll_print -lfll_program -lfl_console -lfl_conversion -lfl_directory -lfl_fss -lfl_print -lfl_status -lfl_string -lf_color -lf_console -lf_conversion -lf_directory -lf_environment -lf_file -lf_fss -lf_memory -lf_path -lf_pipe -lf_print -lf_string -lf_type_array -lf_utf
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc
build_libraries-individual -lfll_error -lfll_file -lfll_fss -lfll_print -lfll_program -lfl_console -lfl_conversion -lfl_directory -lfl_fss -lfl_print -lfl_status -lfl_string -lf_color -lf_console -lf_conversion -lf_directory -lf_environment -lf_file -lf_fss -lf_memory -lf_path -lf_pipe -lf_print -lf_string -lf_type_array -lf_utf
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc
build_libraries-individual -lfll_error -lfll_file -lfll_fss -lfll_print -lfll_program -lfl_console -lfl_conversion -lfl_directory -lfl_fss -lfl_print -lfl_status -lfl_string -lf_color -lf_console -lf_conversion -lf_directory -lf_environment -lf_file -lf_fss -lf_memory -lf_path -lf_pipe -lf_print -lf_string -lf_type_array -lf_utf
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc
build_libraries-individual -lfll_error -lfll_file -lfll_fss -lfll_print -lfll_program -lfl_console -lfl_conversion -lfl_directory -lfl_fss -lfl_print -lfl_status -lfl_string -lf_color -lf_console -lf_conversion -lf_directory -lf_environment -lf_file -lf_fss -lf_memory -lf_path -lf_pipe -lf_print -lf_string -lf_type_array -lf_utf
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc
build_libraries-individual -lfll_error -lfll_file -lfll_fss -lfll_print -lfll_program -lfl_conversion -lfl_directory -lfl_fss -lfl_print -lfl_status -lfl_string -lf_color -lf_console -lf_conversion -lf_directory -lf_environment -lf_file -lf_fss -lf_memory -lf_path -lf_pipe -lf_print -lf_string -lf_type_array -lf_utf
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc
build_libraries-individual -lfll_error -lfll_fss -lfll_print -lfll_program -lfl_console -lfl_conversion -lfl_fss -lfl_print -lfl_status -lfl_string -lf_color -lf_console -lf_conversion -lf_file -lf_fss -lf_memory -lf_path -lf_pipe -lf_print -lf_string -lf_type_array -lf_utf
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc
build_libraries-individual -lfll_error -lfll_file -lfll_fss -lfll_print -lfll_program -lfll_status -lfl_console -lfl_conversion -lfl_directory -lfl_fss -lfl_print -lfl_status -lfl_string -lf_color -lf_console -lf_conversion -lf_directory -lf_environment -lf_file -lf_fss -lf_memory -lf_path -lf_pipe -lf_print -lf_string -lf_type_array -lf_utf
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc
build_libraries-individual -lfll_error -lfll_print -lfll_program -lfl_console -lfl_conversion -lfl_iki -lfl_print -lfl_signal -lfl_string -lf_color -lf_console -lf_conversion -lf_file -lf_iki -lf_memory -lf_path -lf_pipe -lf_print -lf_signal -lf_string -lf_type_array -lf_utf
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc
build_libraries-individual -lfll_error -lfll_iki -lfll_print -lfll_program -lfl_console -lfl_iki -lfl_print -lfl_string -lf_color -lf_console -lf_conversion -lf_file -lf_iki -lf_memory -lf_path -lf_pipe -lf_print -lf_string -lf_type_array -lf_utf
build_compiler gcc
build_indexer ar
+build_indexer_arguments rcs
build_language c
build_libraries -lc
build_libraries-individual -lfll_error -lfll_print -lfll_program -lfll_status -lfl_console -lfl_conversion -lfl_print -lfl_status -lfl_string -lf_color -lf_console -lf_conversion -lf_file -lf_memory -lf_path -lf_pipe -lf_print -lf_string -lf_type_array -lf_utf