From: Kevin Day Date: Tue, 14 Feb 2023 05:12:37 +0000 (-0600) Subject: Progress: Continue work, focusing on organizing Featureless Make directory structure. X-Git-Url: https://git.kevux.org/?a=commitdiff_plain;h=765bac713120da4d6e2abbc5a112bbf282b5c8fd;p=fll Progress: Continue work, focusing on organizing Featureless Make directory structure. I am planning on moving all of the print functions into appropriate print source and header files. While planning this it occurred to me that I first should restructure. This restructures the code. Some code has been copied into other files. This makes the current state rather messy. Expect follow up commits (eventually) to further clean and organize these. Expect more files resulting from further clean up and organization. --- diff --git a/level_3/fake/c/main/private-build.c b/level_3/fake/c/main/build.c similarity index 98% rename from level_3/fake/c/main/private-build.c rename to level_3/fake/c/main/build.c index be1a25c..53c0e1c 100644 --- a/level_3/fake/c/main/private-build.c +++ b/level_3/fake/c/main/build.c @@ -1,27 +1,26 @@ #include "fake.h" -#include "private-common.h" -#include "private-fake.h" -#include "private-build.h" -#include "private-build-library.h" -#include "private-build-load.h" -#include "private-build-object.h" -#include "private-build-objects.h" -#include "private-build-program.h" -#include "private-build-skeleton.h" -#include "private-print.h" +#include "build.h" +#include "build/library.h" +#include "build/load.h" +#include "build/object.h" +#include "build/objects.h" +#include "build/print.h" +#include "build/program.h" +#include "build/skeleton.h" +#include "print.h" #ifdef __cplusplus extern "C" { #endif -#ifndef _di_fake_build_strings_ +#ifndef _di_fake_build_s_ const f_string_static_t fake_build_documentation_files_s = macro_f_string_static_t_initialize(FAKE_build_documentation_files_s, 0, FAKE_build_documentation_files_s_length); const f_string_static_t fake_build_header_files_s = macro_f_string_static_t_initialize(FAKE_build_header_files_s, 0, FAKE_build_header_files_s_length); const f_string_static_t fake_build_header_files_shared_s = macro_f_string_static_t_initialize(FAKE_build_header_files_shared_s, 0, FAKE_build_header_files_shared_s_length); const f_string_static_t fake_build_header_files_static_s = macro_f_string_static_t_initialize(FAKE_build_header_files_static_s, 0, FAKE_build_header_files_static_s_length); const f_string_static_t fake_build_scripts_s = macro_f_string_static_t_initialize(FAKE_build_scripts_s, 0, FAKE_build_scripts_s_length); const f_string_static_t fake_build_setting_files_s = macro_f_string_static_t_initialize(FAKE_build_setting_files_s, 0, FAKE_build_setting_files_s_length); -#endif // _di_fake_build_strings_ +#endif // _di_fake_build_s_ #ifndef _di_fake_build_arguments_standard_add_ void fake_build_arguments_standard_add(fake_data_t * const data, fake_build_data_t * const data_build, const bool is_shared, const uint8_t type, f_string_dynamics_t *arguments, f_status_t *status) { @@ -514,7 +513,7 @@ const f_string_static_t fake_build_documentation_files_s = macro_f_string_static *status = f_file_copy(path_source, destination_file, mode, F_file_default_read_size_d, f_file_stat_flag_reference_e); if (F_status_is_error(*status)) { - fake_print_error_build_operation_file(data, F_status_set_fine(*status), "f_file_copy", f_file_operation_copy_s, f_file_operation_to_s, path_source, destination_file, F_true); + fake_print_error_build_operation_file(data, F_status_set_fine(*status), macro_fake_f(f_file_copy), f_file_operation_copy_s, f_file_operation_to_s, path_source, destination_file, F_true); break; } diff --git a/level_3/fake/c/main/private-build.h b/level_3/fake/c/main/build.h similarity index 98% rename from level_3/fake/c/main/private-build.h rename to level_3/fake/c/main/build.h index a473c35..2808300 100644 --- a/level_3/fake/c/main/private-build.h +++ b/level_3/fake/c/main/build.h @@ -12,7 +12,7 @@ extern "C" { #endif -#ifndef _di_fake_build_strings_ +#ifndef _di_fake_build_s_ #define FAKE_build_documentation_files_s "documentation files" #define FAKE_build_header_files_s "header files" #define FAKE_build_header_files_shared_s "shared header files" @@ -33,7 +33,7 @@ extern "C" { extern const f_string_static_t fake_build_header_files_static_s; extern const f_string_static_t fake_build_scripts_s; extern const f_string_static_t fake_build_setting_files_s; -#endif // _di_fake_build_strings_ +#endif // _di_fake_build_s_ /** * Build Types. @@ -43,13 +43,13 @@ extern "C" { * - object: An object build type. * - program: A program build type. */ -#ifndef _di_fake_build_types_ +#ifndef _di_fake_build_type_e_ enum { fake_build_type_library_e = 1, fake_build_type_object_e, fake_build_type_program_e, }; -#endif // _di_fake_build_types_ +#endif // _di_fake_build_type_e_ /** * Add the standard arguments for building a library/program. diff --git a/level_3/fake/c/main/private-build-library.c b/level_3/fake/c/main/build/library.c similarity index 99% rename from level_3/fake/c/main/private-build-library.c rename to level_3/fake/c/main/build/library.c index 75d1e9a..95f5feb 100644 --- a/level_3/fake/c/main/private-build-library.c +++ b/level_3/fake/c/main/build/library.c @@ -1,7 +1,5 @@ -#include "fake.h" -#include "private-common.h" -#include "private-fake.h" -#include "private-build.h" +#include "../fake.h" +#include "../build.h" #ifdef __cplusplus extern "C" { diff --git a/level_3/fake/c/main/private-build-library.h b/level_3/fake/c/main/build/library.h similarity index 100% rename from level_3/fake/c/main/private-build-library.h rename to level_3/fake/c/main/build/library.h diff --git a/level_3/fake/c/main/private-build-load.c b/level_3/fake/c/main/build/load.c similarity index 99% rename from level_3/fake/c/main/private-build-load.c rename to level_3/fake/c/main/build/load.c index 302b2c1..a3eae98 100644 --- a/level_3/fake/c/main/private-build-load.c +++ b/level_3/fake/c/main/build/load.c @@ -1,8 +1,6 @@ -#include "fake.h" -#include "private-common.h" -#include "private-fake.h" -#include "private-build-load.h" -#include "private-print.h" +#include "../fake.h" +#include "../print.h" +#include "load.h" #ifdef __cplusplus extern "C" { diff --git a/level_3/fake/c/main/private-build-load.h b/level_3/fake/c/main/build/load.h similarity index 100% rename from level_3/fake/c/main/private-build-load.h rename to level_3/fake/c/main/build/load.h diff --git a/level_3/fake/c/main/private-build-object.c b/level_3/fake/c/main/build/object.c similarity index 98% rename from level_3/fake/c/main/private-build-object.c rename to level_3/fake/c/main/build/object.c index eb86130..d7d4ffb 100644 --- a/level_3/fake/c/main/private-build-object.c +++ b/level_3/fake/c/main/build/object.c @@ -1,8 +1,6 @@ -#include "fake.h" -#include "private-common.h" -#include "private-fake.h" -#include "private-build.h" -#include "private-build-object.h" +#include "../fake.h" +#include "../build.h" +#include "object.h" #ifdef __cplusplus extern "C" { diff --git a/level_3/fake/c/main/private-build-object.h b/level_3/fake/c/main/build/object.h similarity index 100% rename from level_3/fake/c/main/private-build-object.h rename to level_3/fake/c/main/build/object.h diff --git a/level_3/fake/c/main/private-build-objects.c b/level_3/fake/c/main/build/objects.c similarity index 98% rename from level_3/fake/c/main/private-build-objects.c rename to level_3/fake/c/main/build/objects.c index 34ae8ff..db38b69 100644 --- a/level_3/fake/c/main/private-build-objects.c +++ b/level_3/fake/c/main/build/objects.c @@ -1,8 +1,6 @@ -#include "fake.h" -#include "private-common.h" -#include "private-fake.h" -#include "private-build.h" -#include "private-build-objects.h" +#include "../fake.h" +#include "../build.h" +#include "objects.h" #ifdef __cplusplus extern "C" { diff --git a/level_3/fake/c/main/private-build-objects.h b/level_3/fake/c/main/build/objects.h similarity index 100% rename from level_3/fake/c/main/private-build-objects.h rename to level_3/fake/c/main/build/objects.h diff --git a/level_3/fake/c/main/build/print.c b/level_3/fake/c/main/build/print.c new file mode 100644 index 0000000..9dcac6e --- /dev/null +++ b/level_3/fake/c/main/build/print.c @@ -0,0 +1,10 @@ +#include "../fake.h" +#include "print.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef __cplusplus +} // extern "C" +#endif diff --git a/level_3/fake/c/main/build/print.h b/level_3/fake/c/main/build/print.h new file mode 100644 index 0000000..779a1a0 --- /dev/null +++ b/level_3/fake/c/main/build/print.h @@ -0,0 +1,19 @@ +/** + * FLL - Level 3 + * + * Project: Featureless Make + * API Version: 0.7 + * Licenses: lgpl-2.1-or-later + */ +#ifndef _PRIVATE_build_print_h +#define _PRIVATE_build_print_h + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif // _PRIVATE_build_print_h diff --git a/level_3/fake/c/main/private-build-program.c b/level_3/fake/c/main/build/program.c similarity index 98% rename from level_3/fake/c/main/private-build-program.c rename to level_3/fake/c/main/build/program.c index 520e80f..9b38672 100644 --- a/level_3/fake/c/main/private-build-program.c +++ b/level_3/fake/c/main/build/program.c @@ -1,8 +1,6 @@ -#include "fake.h" -#include "private-common.h" -#include "private-fake.h" -#include "private-build.h" -#include "private-build-program.h" +#include "../fake.h" +#include "../build.h" +#include "program.h" #ifdef __cplusplus extern "C" { diff --git a/level_3/fake/c/main/private-build-program.h b/level_3/fake/c/main/build/program.h similarity index 100% rename from level_3/fake/c/main/private-build-program.h rename to level_3/fake/c/main/build/program.h diff --git a/level_3/fake/c/main/private-build-skeleton.c b/level_3/fake/c/main/build/skeleton.c similarity index 96% rename from level_3/fake/c/main/private-build-skeleton.c rename to level_3/fake/c/main/build/skeleton.c index 2dc8498..f118cc3 100644 --- a/level_3/fake/c/main/private-build-skeleton.c +++ b/level_3/fake/c/main/build/skeleton.c @@ -1,8 +1,6 @@ -#include "fake.h" -#include "private-common.h" -#include "private-fake.h" -#include "private-build.h" -#include "private-build-skeleton.h" +#include "../fake.h" +#include "../build.h" +#include "skeleton.h" #ifdef __cplusplus extern "C" { diff --git a/level_3/fake/c/main/private-build-skeleton.h b/level_3/fake/c/main/build/skeleton.h similarity index 100% rename from level_3/fake/c/main/private-build-skeleton.h rename to level_3/fake/c/main/build/skeleton.h diff --git a/level_3/fake/c/main/private-clean.c b/level_3/fake/c/main/clean.c similarity index 97% rename from level_3/fake/c/main/private-clean.c rename to level_3/fake/c/main/clean.c index a9d5e4d..f600425 100644 --- a/level_3/fake/c/main/private-clean.c +++ b/level_3/fake/c/main/clean.c @@ -1,6 +1,5 @@ #include "fake.h" -#include "private-common.h" -#include "private-clean.h" +#include "clean.h" #ifdef __cplusplus extern "C" { diff --git a/level_3/fake/c/main/private-clean.h b/level_3/fake/c/main/clean.h similarity index 100% rename from level_3/fake/c/main/private-clean.h rename to level_3/fake/c/main/clean.h diff --git a/level_3/fake/c/main/clean/print.c b/level_3/fake/c/main/clean/print.c new file mode 100644 index 0000000..9dcac6e --- /dev/null +++ b/level_3/fake/c/main/clean/print.c @@ -0,0 +1,10 @@ +#include "../fake.h" +#include "print.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef __cplusplus +} // extern "C" +#endif diff --git a/level_3/fake/c/main/clean/print.h b/level_3/fake/c/main/clean/print.h new file mode 100644 index 0000000..8608a37 --- /dev/null +++ b/level_3/fake/c/main/clean/print.h @@ -0,0 +1,19 @@ +/** + * FLL - Level 3 + * + * Project: Featureless Make + * API Version: 0.7 + * Licenses: lgpl-2.1-or-later + */ +#ifndef _PRIVATE_clean_print_h +#define _PRIVATE_clean_print_h + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif // _PRIVATE_clean_print_h diff --git a/level_3/fake/c/main/common-string.c b/level_3/fake/c/main/common-string.c deleted file mode 100644 index 958e664..0000000 --- a/level_3/fake/c/main/common-string.c +++ /dev/null @@ -1,117 +0,0 @@ -#include "fake.h" -#include "private-common.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#ifndef _di_fake_program_version_s_ - const f_string_static_t fake_program_version_s = macro_f_string_static_t_initialize(FAKE_program_version_s, 0, FAKE_program_version_s_length); -#endif // _di_fake_program_version_s_ - -#ifndef _di_fake_program_name_s_ - const f_string_static_t fake_program_name_s = macro_f_string_static_t_initialize(FAKE_program_name_s, 0, FAKE_program_name_s_length); - const f_string_static_t fake_program_name_long_s = macro_f_string_static_t_initialize(FAKE_program_name_long_s, 0, FAKE_program_name_long_s_length); -#endif // _di_fake_program_name_s_ - -#ifndef _di_fake_program_help_parameter_s_ - const f_string_static_t fake_program_help_parameters_s = macro_f_string_static_t_initialize(FAKE_program_help_parameters_s, 0, FAKE_program_help_parameters_s_length); -#endif // _di_fake_program_help_parameter_s_ - -#ifndef _di_fake_path_s_ - const f_string_static_t fake_path_part_build_s = macro_f_string_static_t_initialize(FAKE_path_part_build_s, 0, FAKE_path_part_build_s_length); - const f_string_static_t fake_path_part_c_s = macro_f_string_static_t_initialize(FAKE_path_part_c_s, 0, FAKE_path_part_c_s_length); - const f_string_static_t fake_path_part_cpp_s = macro_f_string_static_t_initialize(FAKE_path_part_cpp_s, 0, FAKE_path_part_cpp_s_length); - const f_string_static_t fake_path_part_data_s = macro_f_string_static_t_initialize(FAKE_path_part_data_s, 0, FAKE_path_part_data_s_length); - const f_string_static_t fake_path_part_documentation_s = macro_f_string_static_t_initialize(FAKE_path_part_documentation_s, 0, FAKE_path_part_documentation_s_length); - const f_string_static_t fake_path_part_documents_s = macro_f_string_static_t_initialize(FAKE_path_part_documents_s, 0, FAKE_path_part_documents_s_length); - const f_string_static_t fake_path_part_includes_s = macro_f_string_static_t_initialize(FAKE_path_part_includes_s, 0, FAKE_path_part_includes_s_length); - const f_string_static_t fake_path_part_libraries_s = macro_f_string_static_t_initialize(FAKE_path_part_libraries_s, 0, FAKE_path_part_libraries_s_length); - const f_string_static_t fake_path_part_licenses_s = macro_f_string_static_t_initialize(FAKE_path_part_licenses_s, 0, FAKE_path_part_licenses_s_length); - const f_string_static_t fake_path_part_objects_s = macro_f_string_static_t_initialize(FAKE_path_part_objects_s, 0, FAKE_path_part_objects_s_length); - const f_string_static_t fake_path_part_process_s = macro_f_string_static_t_initialize(FAKE_path_part_process_s, 0, FAKE_path_part_process_s_length); - const f_string_static_t fake_path_part_programs_s = macro_f_string_static_t_initialize(FAKE_path_part_programs_s, 0, FAKE_path_part_programs_s_length); - const f_string_static_t fake_path_part_script_s = macro_f_string_static_t_initialize(FAKE_path_part_script_s, 0, FAKE_path_part_script_s_length); - const f_string_static_t fake_path_part_settings_s = macro_f_string_static_t_initialize(FAKE_path_part_settings_s, 0, FAKE_path_part_settings_s_length); - const f_string_static_t fake_path_part_shared_s = macro_f_string_static_t_initialize(FAKE_path_part_shared_s, 0, FAKE_path_part_shared_s_length); - const f_string_static_t fake_path_part_shell_s = macro_f_string_static_t_initialize(FAKE_path_part_shell_s, 0, FAKE_path_part_shell_s_length); - const f_string_static_t fake_path_part_specifications_s = macro_f_string_static_t_initialize(FAKE_path_part_specifications_s, 0, FAKE_path_part_specifications_s_length); - const f_string_static_t fake_path_part_stage_s = macro_f_string_static_t_initialize(FAKE_path_part_stage_s, 0, FAKE_path_part_stage_s_length); - const f_string_static_t fake_path_part_static_s = macro_f_string_static_t_initialize(FAKE_path_part_static_s, 0, FAKE_path_part_static_s_length); -#endif // _di_fake_path_s_ - -#ifndef _di_fake_file_s_ - const f_string_static_t fake_file_defines_s = macro_f_string_static_t_initialize(FAKE_file_defines_s, 0, FAKE_file_defines_s_length); - const f_string_static_t fake_file_dependencies_s = macro_f_string_static_t_initialize(FAKE_file_dependencies_s, 0, FAKE_file_dependencies_s_length); - const f_string_static_t fake_file_process_pre_s = macro_f_string_static_t_initialize(FAKE_file_process_pre_s, 0, FAKE_file_process_pre_s_length); - const f_string_static_t fake_file_process_post_s = macro_f_string_static_t_initialize(FAKE_file_process_post_s, 0, FAKE_file_process_post_s_length); - const f_string_static_t fake_file_readme_s = macro_f_string_static_t_initialize(FAKE_file_readme_s, 0, FAKE_file_readme_s_length); -#endif // _di_fake_file_s_ - -#ifndef _di_fake_default_s_ - const f_string_static_t fake_default_build_s = macro_f_string_static_t_initialize(FAKE_default_build_s, 0, FAKE_default_build_s_length); - const f_string_static_t fake_default_data_s = macro_f_string_static_t_initialize(FAKE_default_data_s, 0, FAKE_default_data_s_length); - const f_string_static_t fake_default_documents_s = macro_f_string_static_t_initialize(FAKE_default_documents_s, 0, FAKE_default_documents_s_length); - const f_string_static_t fake_default_fakefile_s = macro_f_string_static_t_initialize(FAKE_default_fakefile_s, 0, FAKE_default_fakefile_s_length); - const f_string_static_t fake_default_licenses_s = macro_f_string_static_t_initialize(FAKE_default_licenses_s, 0, FAKE_default_licenses_s_length); - const f_string_static_t fake_default_process_s = macro_f_string_static_t_initialize(FAKE_default_process_s, 0, FAKE_default_process_s_length); - const f_string_static_t fake_default_settings_s = macro_f_string_static_t_initialize(FAKE_default_settings_s, 0, FAKE_default_settings_s_length); - const f_string_static_t fake_default_sources_s = macro_f_string_static_t_initialize(FAKE_default_sources_s, 0, FAKE_default_sources_s_length); - const f_string_static_t fake_default_work_s = macro_f_string_static_t_initialize(FAKE_default_work_s, 0, FAKE_default_work_s_length); -#endif // _di_fake_default_s_ - -#ifndef _di_fake_build_language_s_ - const f_string_static_t fake_build_language_bash_s = macro_f_string_static_t_initialize(FAKE_build_language_bash_s, 0, FAKE_build_language_bash_s_length); - const f_string_static_t fake_build_language_c_s = macro_f_string_static_t_initialize(FAKE_build_language_c_s, 0, FAKE_build_language_c_s_length); - const f_string_static_t fake_build_language_cpp_s = macro_f_string_static_t_initialize(FAKE_build_language_cpp_s, 0, FAKE_build_language_cpp_s_length); - const f_string_static_t fake_build_language_zsh_s = macro_f_string_static_t_initialize(FAKE_build_language_zsh_s, 0, FAKE_build_language_zsh_s_length); -#endif // _di_fake_build_language_s_ - -#ifndef _di_fake_build_version_s_ - const f_string_static_t fake_build_version_major_s = macro_f_string_static_t_initialize(FAKE_build_version_major_s, 0, FAKE_build_version_major_s_length); - const f_string_static_t fake_build_version_minor_s = macro_f_string_static_t_initialize(FAKE_build_version_minor_s, 0, FAKE_build_version_minor_s_length); - const f_string_static_t fake_build_version_micro_s = macro_f_string_static_t_initialize(FAKE_build_version_micro_s, 0, FAKE_build_version_micro_s_length); - const f_string_static_t fake_build_version_nano_s = macro_f_string_static_t_initialize(FAKE_build_version_nano_s, 0, FAKE_build_version_nano_s_length); -#endif // _di_fake_build_version_s_ - -#ifndef _di_fake_parameter_s_ - const f_string_static_t fake_short_build_s = macro_f_string_static_t_initialize(FAKE_short_build_s, 0, FAKE_short_build_s_length); - const f_string_static_t fake_short_data_s = macro_f_string_static_t_initialize(FAKE_short_data_s, 0, FAKE_short_data_s_length); - const f_string_static_t fake_short_define_s = macro_f_string_static_t_initialize(FAKE_short_define_s, 0, FAKE_short_define_s_length); - const f_string_static_t fake_short_documents_s = macro_f_string_static_t_initialize(FAKE_short_documents_s, 0, FAKE_short_documents_s_length); - const f_string_static_t fake_short_fakefile_s = macro_f_string_static_t_initialize(FAKE_short_fakefile_s, 0, FAKE_short_fakefile_s_length); - const f_string_static_t fake_short_licenses_s = macro_f_string_static_t_initialize(FAKE_short_licenses_s, 0, FAKE_short_licenses_s_length); - const f_string_static_t fake_short_mode_s = macro_f_string_static_t_initialize(FAKE_short_mode_s, 0, FAKE_short_mode_s_length); - const f_string_static_t fake_short_process_s = macro_f_string_static_t_initialize(FAKE_short_process_s, 0, FAKE_short_process_s_length); - const f_string_static_t fake_short_settings_s = macro_f_string_static_t_initialize(FAKE_short_settings_s, 0, FAKE_short_settings_s_length); - const f_string_static_t fake_short_sources_s = macro_f_string_static_t_initialize(FAKE_short_sources_s, 0, FAKE_short_sources_s_length); - const f_string_static_t fake_short_work_s = macro_f_string_static_t_initialize(FAKE_short_work_s, 0, FAKE_short_work_s_length); - - const f_string_static_t fake_long_build_s = macro_f_string_static_t_initialize(FAKE_long_build_s, 0, FAKE_long_build_s_length); - const f_string_static_t fake_long_data_s = macro_f_string_static_t_initialize(FAKE_long_data_s, 0, FAKE_long_data_s_length); - const f_string_static_t fake_long_define_s = macro_f_string_static_t_initialize(FAKE_long_define_s, 0, FAKE_long_define_s_length); - const f_string_static_t fake_long_documents_s = macro_f_string_static_t_initialize(FAKE_long_documents_s, 0, FAKE_long_documents_s_length); - const f_string_static_t fake_long_fakefile_s = macro_f_string_static_t_initialize(FAKE_long_fakefile_s, 0, FAKE_long_fakefile_s_length); - const f_string_static_t fake_long_licenses_s = macro_f_string_static_t_initialize(FAKE_long_licenses_s, 0, FAKE_long_licenses_s_length); - const f_string_static_t fake_long_mode_s = macro_f_string_static_t_initialize(FAKE_long_mode_s, 0, FAKE_long_mode_s_length); - const f_string_static_t fake_long_process_s = macro_f_string_static_t_initialize(FAKE_long_process_s, 0, FAKE_long_process_s_length); - const f_string_static_t fake_long_settings_s = macro_f_string_static_t_initialize(FAKE_long_settings_s, 0, FAKE_long_settings_s_length); - const f_string_static_t fake_long_sources_s = macro_f_string_static_t_initialize(FAKE_long_sources_s, 0, FAKE_long_sources_s_length); - const f_string_static_t fake_long_work_s = macro_f_string_static_t_initialize(FAKE_long_work_s, 0, FAKE_long_work_s_length); - - const f_string_static_t fake_long_documents_disabled_s = macro_f_string_static_t_initialize(FAKE_long_documents_disabled_s, 0, FAKE_long_documents_disabled_s_length); - const f_string_static_t fake_long_documents_enabled_s = macro_f_string_static_t_initialize(FAKE_long_documents_enabled_s, 0, FAKE_long_documents_enabled_s_length); - const f_string_static_t fake_long_shared_disabled_s = macro_f_string_static_t_initialize(FAKE_long_shared_disabled_s, 0, FAKE_long_shared_disabled_s_length); - const f_string_static_t fake_long_shared_enabled_s = macro_f_string_static_t_initialize(FAKE_long_shared_enabled_s, 0, FAKE_long_shared_enabled_s_length); - const f_string_static_t fake_long_static_disabled_s = macro_f_string_static_t_initialize(FAKE_long_static_disabled_s, 0, FAKE_long_static_disabled_s_length); - const f_string_static_t fake_long_static_enabled_s = macro_f_string_static_t_initialize(FAKE_long_static_enabled_s, 0, FAKE_long_static_enabled_s_length); - - const f_string_static_t fake_other_operation_build_s = macro_f_string_static_t_initialize(FAKE_other_operation_build_s, 0, FAKE_other_operation_build_s_length); - const f_string_static_t fake_other_operation_clean_s = macro_f_string_static_t_initialize(FAKE_other_operation_clean_s, 0, FAKE_other_operation_clean_s_length); - const f_string_static_t fake_other_operation_make_s = macro_f_string_static_t_initialize(FAKE_other_operation_make_s, 0, FAKE_other_operation_make_s_length); - const f_string_static_t fake_other_operation_skeleton_s = macro_f_string_static_t_initialize(FAKE_other_operation_skeleton_s, 0, FAKE_other_operation_skeleton_s_length); -#endif // _di_fake_parameter_s_ - -#ifdef __cplusplus -} // extern "C" -#endif diff --git a/level_3/fake/c/main/common-string.h b/level_3/fake/c/main/common-string.h deleted file mode 100644 index fcdc877..0000000 --- a/level_3/fake/c/main/common-string.h +++ /dev/null @@ -1,361 +0,0 @@ -/** - * FLL - Level 3 - * - * Project: Featureless Make - * API Version: 0.7 - * Licenses: lgpl-2.1-or-later - * - * Provides the common string structures. - * - * This is auto-included and should not need to be explicitly included. - */ -#ifndef _fake_common_string_h -#define _fake_common_string_h - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * The program version. - */ -#ifndef _di_fake_program_version_s_ - #define FAKE_program_version_major_s F_string_ascii_0_s - #define FAKE_program_version_minor_s F_string_ascii_7_s - #define FAKE_program_version_micro_s F_string_ascii_0_s - - #define FAKE_program_version_major_s_length F_string_ascii_0_s_length - #define FAKE_program_version_minor_s_length F_string_ascii_7_s_length - #define FAKE_program_version_micro_s_length F_string_ascii_0_s_length - - #ifndef FAKE_program_version_nano_prefix_s - #define FAKE_program_version_nano_prefix_s - #define FAKE_program_version_nano_prefix_s_length 0 - #endif // FAKE_program_version_major_s_length F_string_ascii_0_s_length - - #ifndef FAKE_program_version_nano_s - #define FAKE_program_version_nano_s - #define FAKE_program_version_nano_s_length 0 - #endif // FAKE_program_version_nano_s - - #define FAKE_program_version_s FAKE_program_version_major_s F_string_ascii_period_s FAKE_program_version_minor_s F_string_ascii_period_s FAKE_program_version_micro_s FAKE_program_version_nano_prefix_s FAKE_program_version_nano_s - - #define FAKE_program_version_s_length FAKE_program_version_major_s_length + F_string_ascii_period_s_length + FAKE_program_version_minor_s_length + F_string_ascii_period_s_length + FAKE_program_version_micro_s_length + FAKE_program_version_nano_prefix_s_length + FAKE_program_version_nano_s_length - - extern const f_string_static_t fake_program_version_s; -#endif // _di_fake_program_version_s_ - -/** - * The program name. - */ -#ifndef _di_fake_program_name_s_ - #define FAKE_program_name_s "fake" - #define FAKE_program_name_long_s "Featureless Make" - - #define FAKE_program_name_s_length 4 - #define FAKE_program_name_long_s_length 16 - - extern const f_string_static_t fake_program_name_s; - extern const f_string_static_t fake_program_name_long_s; -#endif // _di_fake_program_name_s_ - -/** - * The program help related data. - */ -#ifndef _di_fake_program_help_parameter_s_ - #define FAKE_program_help_parameters_s "operation / section" - - #define FAKE_program_help_parameters_s_length 19 - - extern const f_string_static_t fake_program_help_parameters_s; -#endif // _di_fake_program_help_parameter_s_ - -/** - * The build operation utilizes pre-defined path structures. - * These structures are hard-coded by their individual pieces to be constructed later on. - */ -#ifndef _di_fake_path_s_ - #define FAKE_path_part_build_s "build" F_path_separator_s - #define FAKE_path_part_c_s "c" F_path_separator_s - #define FAKE_path_part_cpp_s "c++" F_path_separator_s - #define FAKE_path_part_data_s "data" F_path_separator_s - #define FAKE_path_part_documentation_s "documentation" F_path_separator_s - #define FAKE_path_part_documents_s "documents" F_path_separator_s - #define FAKE_path_part_includes_s "includes" F_path_separator_s - #define FAKE_path_part_libraries_s "libraries" F_path_separator_s - #define FAKE_path_part_licenses_s "licenses" F_path_separator_s - #define FAKE_path_part_objects_s "objects" F_path_separator_s - #define FAKE_path_part_process_s "process" F_path_separator_s - #define FAKE_path_part_programs_s "programs" F_path_separator_s - #define FAKE_path_part_script_s "script" F_path_separator_s - #define FAKE_path_part_settings_s "settings" F_path_separator_s - #define FAKE_path_part_shared_s "shared" F_path_separator_s - #define FAKE_path_part_shell_s "shell" F_path_separator_s - #define FAKE_path_part_specifications_s "specifications" F_path_separator_s - #define FAKE_path_part_stage_s "stage" F_path_separator_s - #define FAKE_path_part_static_s "static" F_path_separator_s - - #define FAKE_path_part_build_s_length 5 + F_path_separator_s_length - #define FAKE_path_part_c_s_length 1 + F_path_separator_s_length - #define FAKE_path_part_cpp_s_length 3 + F_path_separator_s_length - #define FAKE_path_part_data_s_length 4 + F_path_separator_s_length - #define FAKE_path_part_documentation_s_length 13 + F_path_separator_s_length - #define FAKE_path_part_documents_s_length 9 + F_path_separator_s_length - #define FAKE_path_part_includes_s_length 8 + F_path_separator_s_length - #define FAKE_path_part_libraries_s_length 9 + F_path_separator_s_length - #define FAKE_path_part_licenses_s_length 8 + F_path_separator_s_length - #define FAKE_path_part_objects_s_length 7 + F_path_separator_s_length - #define FAKE_path_part_process_s_length 7 + F_path_separator_s_length - #define FAKE_path_part_programs_s_length 8 + F_path_separator_s_length - #define FAKE_path_part_script_s_length 6 + F_path_separator_s_length - #define FAKE_path_part_settings_s_length 8 + F_path_separator_s_length - #define FAKE_path_part_shared_s_length 6 + F_path_separator_s_length - #define FAKE_path_part_shell_s_length 5 + F_path_separator_s_length - #define FAKE_path_part_specifications_s_length 14 + F_path_separator_s_length - #define FAKE_path_part_stage_s_length 5 + F_path_separator_s_length - #define FAKE_path_part_static_s_length 6 + F_path_separator_s_length - - extern const f_string_static_t fake_path_part_build_s; - extern const f_string_static_t fake_path_part_c_s; - extern const f_string_static_t fake_path_part_cpp_s; - extern const f_string_static_t fake_path_part_data_s; - extern const f_string_static_t fake_path_part_documentation_s; - extern const f_string_static_t fake_path_part_documents_s; - extern const f_string_static_t fake_path_part_includes_s; - extern const f_string_static_t fake_path_part_libraries_s; - extern const f_string_static_t fake_path_part_licenses_s; - extern const f_string_static_t fake_path_part_objects_s; - extern const f_string_static_t fake_path_part_process_s; - extern const f_string_static_t fake_path_part_programs_s; - extern const f_string_static_t fake_path_part_script_s; - extern const f_string_static_t fake_path_part_settings_s; - extern const f_string_static_t fake_path_part_shared_s; - extern const f_string_static_t fake_path_part_shell_s; - extern const f_string_static_t fake_path_part_specifications_s; - extern const f_string_static_t fake_path_part_stage_s; - extern const f_string_static_t fake_path_part_static_s; -#endif // _di_fake_path_s_ - -/** - * The file settings. - */ -#ifndef _di_fake_file_s_ - #define FAKE_file_defines_s "defines" - #define FAKE_file_dependencies_s "dependencies" - #define FAKE_file_process_pre_s "process_pre.sh" - #define FAKE_file_process_post_s "process_post.sh" - #define FAKE_file_readme_s "readme.txt" - - #define FAKE_file_defines_s_length 7 - #define FAKE_file_dependencies_s_length 12 - #define FAKE_file_process_pre_s_length 14 - #define FAKE_file_process_post_s_length 15 - #define FAKE_file_readme_s_length 10 - - extern const f_string_static_t fake_file_defines_s; - extern const f_string_static_t fake_file_dependencies_s; - extern const f_string_static_t fake_file_process_pre_s; - extern const f_string_static_t fake_file_process_post_s; - extern const f_string_static_t fake_file_readme_s; -#endif // _di_fake_file_s_ - -/** - * Provide default settings. - */ -#ifndef _di_fake_default_s_ - #define FAKE_default_build_s "build" F_path_separator_s - #define FAKE_default_data_s "data" F_path_separator_s - #define FAKE_default_documents_s "documents" F_path_separator_s - #define FAKE_default_fakefile_s "fakefile" - #define FAKE_default_licenses_s "licenses" F_path_separator_s - #define FAKE_default_process_s "" - #define FAKE_default_settings_s "settings" - #define FAKE_default_sources_s "sources" F_path_separator_s - #define FAKE_default_work_s "" - - #define FAKE_default_build_s_length 5 + F_path_separator_s_length - #define FAKE_default_data_s_length 4 + F_path_separator_s_length - #define FAKE_default_documents_s_length 9 + F_path_separator_s_length - #define FAKE_default_fakefile_s_length 8 - #define FAKE_default_licenses_s_length 8 + F_path_separator_s_length - #define FAKE_default_process_s_length 0 - #define FAKE_default_settings_s_length 8 - #define FAKE_default_sources_s_length 7 + F_path_separator_s_length - #define FAKE_default_work_s_length 0 - - extern const f_string_static_t fake_default_build_s; - extern const f_string_static_t fake_default_data_s; - extern const f_string_static_t fake_default_documents_s; - extern const f_string_static_t fake_default_fakefile_s; - extern const f_string_static_t fake_default_licenses_s; - extern const f_string_static_t fake_default_process_s; - extern const f_string_static_t fake_default_settings_s; - extern const f_string_static_t fake_default_sources_s; - extern const f_string_static_t fake_default_work_s; -#endif // _di_fake_default_s_ - -/** - * The build language strings. - * - * fake_build_language_*_s: - * - bash: The GNU Bash language. - * - c: The C language. - * - cpp: The C++ language. - * - zsh: The ZSH language (Similar to and somewhat compatible with GNU Bash). - */ -#ifndef _di_fake_build_language_s_ - #define FAKE_build_language_bash_s "bash" - #define FAKE_build_language_c_s "c" - #define FAKE_build_language_cpp_s "c++" - #define FAKE_build_language_zsh_s "zsh" - - #define FAKE_build_language_bash_s_length 4 - #define FAKE_build_language_c_s_length 1 - #define FAKE_build_language_cpp_s_length 3 - #define FAKE_build_language_zsh_s_length 3 - - extern const f_string_static_t fake_build_language_bash_s; - extern const f_string_static_t fake_build_language_c_s; - extern const f_string_static_t fake_build_language_cpp_s; - extern const f_string_static_t fake_build_language_zsh_s; -#endif // _di_fake_build_language_s_ - -/** - * The program version strings. - */ -#ifndef _di_fake_build_version_s_ - #define FAKE_build_version_major_s "major" - #define FAKE_build_version_minor_s "minor" - #define FAKE_build_version_micro_s "micro" - #define FAKE_build_version_nano_s "nano" - - #define FAKE_build_version_major_s_length 5 - #define FAKE_build_version_minor_s_length 5 - #define FAKE_build_version_micro_s_length 5 - #define FAKE_build_version_nano_s_length 4 - - extern const f_string_static_t fake_build_version_major_s; - extern const f_string_static_t fake_build_version_minor_s; - extern const f_string_static_t fake_build_version_micro_s; - extern const f_string_static_t fake_build_version_nano_s; -#endif // _di_fake_build_version_s_ - -/** - * The main program parameters. - */ -#ifndef _di_fake_parameter_s_ - #define FAKE_short_build_s "b" - #define FAKE_short_data_s "D" - #define FAKE_short_define_s "d" - #define FAKE_short_documents_s "O" - #define FAKE_short_fakefile_s "f" - #define FAKE_short_licenses_s "l" - #define FAKE_short_mode_s "m" - #define FAKE_short_process_s "p" - #define FAKE_short_settings_s "s" - #define FAKE_short_sources_s "S" - #define FAKE_short_work_s "w" - - #define FAKE_long_build_s "build" - #define FAKE_long_data_s "data" - #define FAKE_long_define_s "define" - #define FAKE_long_documents_s "documents" - #define FAKE_long_fakefile_s "fakefile" - #define FAKE_long_licenses_s "licenses" - #define FAKE_long_mode_s "mode" - #define FAKE_long_process_s "process" - #define FAKE_long_settings_s "settings" - #define FAKE_long_sources_s "sources" - #define FAKE_long_work_s "work" - - // These special parameters are provided in such a way that they mimic the traditional ./configure script. - #define FAKE_long_documents_disabled_s "disable-doc" - #define FAKE_long_documents_enabled_s "enable-doc" - #define FAKE_long_shared_disabled_s "disable-shared" - #define FAKE_long_shared_enabled_s "enable-shared" - #define FAKE_long_static_disabled_s "disable-static" - #define FAKE_long_static_enabled_s "enable-static" - - #define FAKE_other_operation_build_s "build" - #define FAKE_other_operation_clean_s "clean" - #define FAKE_other_operation_make_s "make" - #define FAKE_other_operation_skeleton_s "skeleton" - - #define FAKE_short_build_s_length 1 - #define FAKE_short_data_s_length 1 - #define FAKE_short_define_s_length 1 - #define FAKE_short_documents_s_length 1 - #define FAKE_short_fakefile_s_length 1 - #define FAKE_short_licenses_s_length 1 - #define FAKE_short_mode_s_length 1 - #define FAKE_short_process_s_length 1 - #define FAKE_short_settings_s_length 1 - #define FAKE_short_sources_s_length 1 - #define FAKE_short_work_s_length 1 - - #define FAKE_long_build_s_length 5 - #define FAKE_long_data_s_length 4 - #define FAKE_long_define_s_length 6 - #define FAKE_long_documents_s_length 9 - #define FAKE_long_fakefile_s_length 8 - #define FAKE_long_licenses_s_length 8 - #define FAKE_long_mode_s_length 4 - #define FAKE_long_process_s_length 7 - #define FAKE_long_settings_s_length 8 - #define FAKE_long_sources_s_length 7 - #define FAKE_long_work_s_length 4 - - #define FAKE_long_documents_disabled_s_length 11 - #define FAKE_long_documents_enabled_s_length 10 - #define FAKE_long_shared_disabled_s_length 14 - #define FAKE_long_shared_enabled_s_length 13 - #define FAKE_long_static_disabled_s_length 14 - #define FAKE_long_static_enabled_s_length 13 - - #define FAKE_other_operation_build_s_length 5 - #define FAKE_other_operation_clean_s_length 5 - #define FAKE_other_operation_make_s_length 4 - #define FAKE_other_operation_skeleton_s_length 8 - - extern const f_string_static_t fake_short_build_s; - extern const f_string_static_t fake_short_data_s; - extern const f_string_static_t fake_short_define_s; - extern const f_string_static_t fake_short_documents_s; - extern const f_string_static_t fake_short_fakefile_s; - extern const f_string_static_t fake_short_licenses_s; - extern const f_string_static_t fake_short_mode_s; - extern const f_string_static_t fake_short_process_s; - extern const f_string_static_t fake_short_settings_s; - extern const f_string_static_t fake_short_sources_s; - extern const f_string_static_t fake_short_work_s; - - extern const f_string_static_t fake_long_build_s; - extern const f_string_static_t fake_long_data_s; - extern const f_string_static_t fake_long_define_s; - extern const f_string_static_t fake_long_documents_s; - extern const f_string_static_t fake_long_fakefile_s; - extern const f_string_static_t fake_long_licenses_s; - extern const f_string_static_t fake_long_mode_s; - extern const f_string_static_t fake_long_process_s; - extern const f_string_static_t fake_long_settings_s; - extern const f_string_static_t fake_long_sources_s; - extern const f_string_static_t fake_long_work_s; - - extern const f_string_static_t fake_long_documents_disabled_s; - extern const f_string_static_t fake_long_documents_enabled_s; - extern const f_string_static_t fake_long_shared_disabled_s; - extern const f_string_static_t fake_long_shared_enabled_s; - extern const f_string_static_t fake_long_static_disabled_s; - extern const f_string_static_t fake_long_static_enabled_s; - - extern const f_string_static_t fake_other_operation_build_s; - extern const f_string_static_t fake_other_operation_clean_s; - extern const f_string_static_t fake_other_operation_make_s; - extern const f_string_static_t fake_other_operation_skeleton_s; -#endif // _di_fake_parameter_s_ - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // _fake_common_string_h diff --git a/level_3/fake/c/main/common.c b/level_3/fake/c/main/common.c index 6e1971f..ab1c448 100644 --- a/level_3/fake/c/main/common.c +++ b/level_3/fake/c/main/common.c @@ -1,5 +1,4 @@ #include "fake.h" -#include "private-common.h" #ifdef __cplusplus extern "C" { @@ -519,6 +518,87 @@ extern "C" { } #endif // _di_fake_setting_unload_ +#ifndef _di_fake_data_delete_ + f_status_t fake_data_delete(fake_data_t * const data) { + + f_string_dynamic_resize(0, &data->path_build); + f_string_dynamic_resize(0, &data->path_build_documentation); + f_string_dynamic_resize(0, &data->path_build_documents); + f_string_dynamic_resize(0, &data->path_build_includes); + f_string_dynamic_resize(0, &data->path_build_libraries); + f_string_dynamic_resize(0, &data->path_build_libraries_script); + f_string_dynamic_resize(0, &data->path_build_libraries_shared); + f_string_dynamic_resize(0, &data->path_build_libraries_static); + f_string_dynamic_resize(0, &data->path_build_objects); + f_string_dynamic_resize(0, &data->path_build_objects_script); + f_string_dynamic_resize(0, &data->path_build_objects_shared); + f_string_dynamic_resize(0, &data->path_build_objects_static); + f_string_dynamic_resize(0, &data->path_build_programs); + f_string_dynamic_resize(0, &data->path_build_programs_script); + f_string_dynamic_resize(0, &data->path_build_programs_shared); + f_string_dynamic_resize(0, &data->path_build_programs_static); + f_string_dynamic_resize(0, &data->path_build_settings); + f_string_dynamic_resize(0, &data->path_build_stage); + + f_string_dynamic_resize(0, &data->path_data_build); + f_string_dynamic_resize(0, &data->path_data_documentation); + f_string_dynamic_resize(0, &data->path_data_settings); + + f_string_dynamic_resize(0, &data->path_documents); + + f_string_dynamic_resize(0, &data->path_licenses); + + f_string_dynamic_resize(0, &data->path_work_includes); + f_string_dynamic_resize(0, &data->path_work_libraries); + f_string_dynamic_resize(0, &data->path_work_libraries_script); + f_string_dynamic_resize(0, &data->path_work_libraries_shared); + f_string_dynamic_resize(0, &data->path_work_libraries_static); + f_string_dynamic_resize(0, &data->path_work_programs); + f_string_dynamic_resize(0, &data->path_work_programs_script); + f_string_dynamic_resize(0, &data->path_work_programs_shared); + f_string_dynamic_resize(0, &data->path_work_programs_static); + + f_string_dynamic_resize(0, &data->file_data_build_defines); + f_string_dynamic_resize(0, &data->file_data_build_dependencies); + f_string_dynamic_resize(0, &data->file_data_build_process_post); + f_string_dynamic_resize(0, &data->file_data_build_process_pre); + f_string_dynamic_resize(0, &data->file_data_build_fakefile); + f_string_dynamic_resize(0, &data->file_data_build_settings); + + f_string_dynamic_resize(0, &data->file_documents_readme); + + return F_none; + } +#endif // _di_fake_data_delete_ + +#ifndef _di_fake_make_data_delete_ + f_status_t fake_make_data_delete(fake_make_data_t * const data) { + + macro_fake_build_setting_t_delete_simple(data->setting_build); + macro_fake_make_setting_t_delete_simple(data->setting_make); + + f_string_maps_resize(0, &data->environment); + + macro_fake_make_parameter_delete_simple(data->parameter); + macro_fake_make_parameter_delete_simple(data->parameter_option); + macro_fake_make_parameter_delete_simple(data->parameter_value); + macro_fake_make_path_delete_simple(data->path); + + f_fss_nameds_resize(0, &data->fakefile); + + f_string_dynamic_resize(0, &data->buffer); + f_string_dynamic_resize(0, &data->cache_1); + f_string_dynamic_resize(0, &data->cache_2); + f_string_dynamic_resize(0, &data->cache_path); + + f_string_dynamics_resize(0, &data->cache_arguments); + + f_iki_data_delete(&data->cache_iki); + + return F_none; + } +#endif // _di_fake_make_data_delete_ + #ifdef __cplusplus } // extern "C" #endif diff --git a/level_3/fake/c/main/common.h b/level_3/fake/c/main/common.h index 08cc5ca..5ff0ca9 100644 --- a/level_3/fake/c/main/common.h +++ b/level_3/fake/c/main/common.h @@ -12,6 +12,978 @@ #ifndef _fake_common_h #define _fake_common_h +/** + * The program data. + * + * operation: A code representing the currrent operation. + * + * main: The main program data. + * setting: The settings data. + * + * path_build: The build path. + * path_build_documentation: The build documentation path. + * path_build_documents: The build documents path. + * path_build_includes: The build includes path. + * path_build_libraries: The build libraries path. + * path_build_libraries_script: The build libraries_script path. + * path_build_libraries_shared: The build libraries_shared path. + * path_build_libraries_static: The build libraries_static path. + * path_build_objects: The build objects path. + * path_build_objects_script: The build objects_script path. + * path_build_objects_shared: The build objects_shared path. + * path_build_objects_static: The build objects_static path. + * path_build_programs: The build programs path. + * path_build_programs_script: The build programs_script path. + * path_build_programs_shared: The build programs_shared path. + * path_build_programs_static: The build programs_static path. + * path_build_settings: The build settings path. + * path_build_stage: The build stage path. + * + * path_data_build: The build data path. + * path_data_documentation: The documentation data path. + * path_data_settings: The settings data path. + * + * path_documents: The documents path. + * path_licenses: The licenses path. + * path_sources: The sources path. + * + * path_work_includes: The includes work path. + * path_work_libraries: The libraries work path. + * path_work_libraries_script: The libraries_script work path. + * path_work_libraries_shared: The libraries_shared work path. + * path_work_libraries_static: The libraries_static work path. + * path_work_programs: The programs work path. + * path_work_programs_script: The programs_script work path. + * path_work_programs_shared: The programs_shared work path. + * path_work_programs_static: The programs_static work path. + * + * file_data_build_defines: The defines build file data. + * file_data_build_dependencies: The dependencies build file data. + * file_data_build_fakefile: The fakefile build file data. + * file_data_build_process_post: The process_post_s build file data. + * file_data_build_process_pre: The process_pre_s build file data. + * file_data_build_settings: The settings build file data. + * + * file_documents_readme: The documents readme file data. + */ +#ifndef _di_fake_data_t_ + typedef struct { + uint8_t operation; + + fll_program_data_t *main; + fake_setting_t *setting; + + f_string_dynamic_t path_build; + f_string_dynamic_t path_build_documentation; + f_string_dynamic_t path_build_documents; + f_string_dynamic_t path_build_includes; + f_string_dynamic_t path_build_libraries; + f_string_dynamic_t path_build_libraries_script; + f_string_dynamic_t path_build_libraries_shared; + f_string_dynamic_t path_build_libraries_static; + f_string_dynamic_t path_build_objects; + f_string_dynamic_t path_build_objects_script; + f_string_dynamic_t path_build_objects_shared; + f_string_dynamic_t path_build_objects_static; + f_string_dynamic_t path_build_programs; + f_string_dynamic_t path_build_programs_script; + f_string_dynamic_t path_build_programs_shared; + f_string_dynamic_t path_build_programs_static; + f_string_dynamic_t path_build_settings; + f_string_dynamic_t path_build_stage; + + f_string_dynamic_t path_data_build; + f_string_dynamic_t path_data_documentation; + f_string_dynamic_t path_data_settings; + + f_string_dynamic_t path_documents; // @todo: make this a settings configurable parameter, moving it to fake_setting_t. + + f_string_dynamic_t path_licenses; // @todo: make this a settings configurable parameter, moving it to fake_setting_t. + + f_string_dynamic_t path_work_includes; + f_string_dynamic_t path_work_libraries; + f_string_dynamic_t path_work_libraries_script; + f_string_dynamic_t path_work_libraries_shared; + f_string_dynamic_t path_work_libraries_static; + f_string_dynamic_t path_work_programs; + f_string_dynamic_t path_work_programs_script; + f_string_dynamic_t path_work_programs_shared; + f_string_dynamic_t path_work_programs_static; + + f_string_dynamic_t file_data_build_defines; + f_string_dynamic_t file_data_build_dependencies; + f_string_dynamic_t file_data_build_fakefile; + f_string_dynamic_t file_data_build_process_post; + f_string_dynamic_t file_data_build_process_pre; + f_string_dynamic_t file_data_build_settings; + + f_string_dynamic_t file_documents_readme; + } fake_data_t; + + #define fake_data_t_initialize \ + { \ + 0, \ + 0, \ + 0, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + } +#endif // _di_fake_main_t_ + +/** + * Build settings flag enumeration. + * + * data_build_setting_flag_*: + * - has_environment: Designate that the "environment" is specified in the "settings" Section of the Fakefile. + */ +#ifndef _di_fake_build_setting_e_ + enum { + data_build_setting_flag_has_environment_e = 0x1, + }; +#endif // _di_fake_build_setting_e_ + +/** + * Build settings data. + * + * flag: Flags from data_build_setting_flag_* (Not strictly part of the build settings file). + * + * build_language: The build_language setting. + * + * version_file: The version_file setting. + * version_target: The version_target setting. + * + * build_script: The build_script setting. + * build_shared: The build_shared setting. + * build_static: The build_static setting. + * + * has_path_standard: The has_path_standard setting. + * preserve_path_headers: The preserve_path_headers setting. + * + * search_exclusive: The search_exclusive setting. + * search_shared: The search_shared setting. + * search_static: The search_static setting. + * + * build_compiler: The build_compiler setting. + * build_indexer: The build_indexer setting. + * build_name: The build_name setting. + * build_sources_object: The build_sources_object setting. + * build_sources_object_shared: The build_sources_object_shared setting. + * build_sources_object_static: The build_sources_object_static setting. + * path_headers: The path_headers setting. + * path_language: The path_language setting. + * path_library_script: The path_library_script setting. + * path_library_shared: The path_library_shared setting. + * path_library_static: The path_library_static setting. + * path_object_script: The path_object_script setting. + * path_object_shared: The path_object_shared setting. + * path_object_static: The path_object_static setting. + * path_program_script: The path_program_script setting. + * path_program_shared: The path_program_shared setting. + * path_program_static: The path_program_static setting. + * path_sources: The path_sources setting. + * path_sources_object: The path_sources_object setting. + * process_post: The process_post setting. + * process_pre: The process_pre setting. + * version_major: The version_major setting. + * version_major_prefix: The version_major_prefix setting. + * version_micro: The version_micro setting. + * version_micro_prefix: The version_micro_prefix setting. + * version_minor: The version_minor setting. + * version_minor_prefix: The version_minor_prefix setting. + * version_nano: The version_nano setting. + * version_nano_prefix: The version_nano_prefix setting. + * + * build_indexer_arguments: The build_indexer_arguments setting. + * build_libraries: The build_libraries setting. + * build_libraries_shared: The build_libraries_shared setting. + * build_libraries_static: The build_libraries_static setting. + * build_objects_library: The build_objects_library setting. + * build_objects_library_shared: The build_objects_library_shared setting. + * build_objects_library_static: The build_objects_library_static setting. + * build_objects_program: The build_objects_program setting. + * build_objects_program_shared: The build_objects_program_shared setting. + * build_objects_program_static: The build_objects_program_static setting. + * build_sources_documentation: The build_sources_documentation setting. + * build_sources_headers: The build_sources_headers setting. + * build_sources_headers_shared: The build_sources_headers_shared setting. + * build_sources_headers_static: The build_sources_headers_static setting. + * build_sources_library: The build_sources_library setting. + * build_sources_library_shared: The build_sources_library_shared setting. + * build_sources_library_static: The build_sources_library_static setting. + * build_sources_program: The build_sources_program setting. + * build_sources_program_shared: The build_sources_program_shared setting. + * build_sources_program_static: The build_sources_program_static setting. + * build_sources_script: The build_sources_script setting. + * build_sources_setting: The build_sources_setting setting. + * defines: The defines setting. + * defines_library: The defines_library setting. + * defines_library_shared: The defines_library_shared setting. + * defines_library_static: The defines_library_static setting. + * defines_object: The defines_object setting. + * defines_object_shared: The defines_object_shared setting. + * defines_object_static: The defines_object_static setting. + * defines_program: The defines_program setting. + * defines_program_shared: The defines_program_shared setting. + * defines_program_static: The defines_program_static setting. + * defines_shared: The defines_shared setting. + * defines_static: The defines_static setting. + * environment: The environment setting. + * flags: The flags setting. + * flags_library: The flags_library setting. + * flags_library_shared: The flags_library_shared setting. + * flags_library_static: The flags_library_static setting. + * flags_object: The flags_object setting. + * flags_object_shared: The flags_object_shared setting. + * flags_object_static: The flags_object_static setting. + * flags_program: The flags_program setting. + * flags_program_shared: The flags_program_shared setting. + * flags_program_static: The flags_program_static setting. + * flags_shared: The flags_shared setting. + * flags_static: The flags_static setting. + * modes: The modes setting. + * modes_default: The modes_default setting. + */ +#ifndef _di_fake_build_setting_t_ + typedef struct { + uint8_t flag; + + uint8_t build_language; + + uint8_t version_file; + uint8_t version_target; + + bool build_script; + bool build_shared; + bool build_static; + + bool has_path_standard; + bool preserve_path_headers; + + bool search_exclusive; + bool search_shared; + bool search_static; + + f_string_dynamic_t build_compiler; + f_string_dynamic_t build_indexer; + f_string_dynamic_t build_name; + f_string_dynamic_t build_sources_object; + f_string_dynamic_t build_sources_object_shared; + f_string_dynamic_t build_sources_object_static; + f_string_dynamic_t path_headers; + f_string_dynamic_t path_language; + f_string_dynamic_t path_library_script; + f_string_dynamic_t path_library_shared; + f_string_dynamic_t path_library_static; + f_string_dynamic_t path_object_script; + f_string_dynamic_t path_object_shared; + f_string_dynamic_t path_object_static; + f_string_dynamic_t path_program_script; + f_string_dynamic_t path_program_shared; + f_string_dynamic_t path_program_static; + f_string_dynamic_t path_sources; + f_string_dynamic_t path_sources_object; + f_string_dynamic_t process_post; + f_string_dynamic_t process_pre; + f_string_dynamic_t version_major; + f_string_dynamic_t version_major_prefix; + f_string_dynamic_t version_micro; + f_string_dynamic_t version_micro_prefix; + f_string_dynamic_t version_minor; + f_string_dynamic_t version_minor_prefix; + 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 build_objects_library; + f_string_dynamics_t build_objects_library_shared; + f_string_dynamics_t build_objects_library_static; + f_string_dynamics_t build_objects_program; + f_string_dynamics_t build_objects_program_shared; + f_string_dynamics_t build_objects_program_static; + f_string_dynamics_t build_sources_documentation; + f_string_dynamics_t build_sources_headers; + f_string_dynamics_t build_sources_headers_shared; + f_string_dynamics_t build_sources_headers_static; + f_string_dynamics_t build_sources_library; + f_string_dynamics_t build_sources_library_shared; + f_string_dynamics_t build_sources_library_static; + f_string_dynamics_t build_sources_program; + f_string_dynamics_t build_sources_program_shared; + f_string_dynamics_t build_sources_program_static; + f_string_dynamics_t build_sources_script; + f_string_dynamics_t build_sources_setting; + f_string_dynamics_t defines; + f_string_dynamics_t defines_library; + f_string_dynamics_t defines_library_shared; + f_string_dynamics_t defines_library_static; + f_string_dynamics_t defines_object; + f_string_dynamics_t defines_object_shared; + f_string_dynamics_t defines_object_static; + f_string_dynamics_t defines_program; + f_string_dynamics_t defines_program_shared; + f_string_dynamics_t defines_program_static; + f_string_dynamics_t defines_shared; + f_string_dynamics_t defines_static; + f_string_dynamics_t environment; + f_string_dynamics_t flags; + f_string_dynamics_t flags_library; + f_string_dynamics_t flags_library_shared; + f_string_dynamics_t flags_library_static; + f_string_dynamics_t flags_object; + f_string_dynamics_t flags_object_shared; + f_string_dynamics_t flags_object_static; + f_string_dynamics_t flags_program; + f_string_dynamics_t flags_program_shared; + f_string_dynamics_t flags_program_static; + f_string_dynamics_t flags_shared; + f_string_dynamics_t flags_static; + f_string_dynamics_t modes; + f_string_dynamics_t modes_default; + } fake_build_setting_t; + + #define fake_build_setting_t_initialize { \ + 0, \ + 0, \ + 0, \ + 0, \ + F_true, \ + F_true, \ + F_true, \ + F_true, \ + F_true, \ + F_true, \ + F_true, \ + F_true, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamics_t_initialize, \ + f_string_dynamics_t_initialize, \ + f_string_dynamics_t_initialize, \ + f_string_dynamics_t_initialize, \ + f_string_dynamics_t_initialize, \ + f_string_dynamics_t_initialize, \ + f_string_dynamics_t_initialize, \ + f_string_dynamics_t_initialize, \ + f_string_dynamics_t_initialize, \ + f_string_dynamics_t_initialize, \ + f_string_dynamics_t_initialize, \ + f_string_dynamics_t_initialize, \ + f_string_dynamics_t_initialize, \ + f_string_dynamics_t_initialize, \ + f_string_dynamics_t_initialize, \ + f_string_dynamics_t_initialize, \ + f_string_dynamics_t_initialize, \ + f_string_dynamics_t_initialize, \ + f_string_dynamics_t_initialize, \ + f_string_dynamics_t_initialize, \ + f_string_dynamics_t_initialize, \ + f_string_dynamics_t_initialize, \ + f_string_dynamics_t_initialize, \ + f_string_dynamics_t_initialize, \ + f_string_dynamics_t_initialize, \ + f_string_dynamics_t_initialize, \ + f_string_dynamics_t_initialize, \ + f_string_dynamics_t_initialize, \ + f_string_dynamics_t_initialize, \ + f_string_dynamics_t_initialize, \ + f_string_dynamics_t_initialize, \ + f_string_dynamics_t_initialize, \ + f_string_dynamics_t_initialize, \ + f_string_dynamics_t_initialize, \ + f_string_dynamics_t_initialize, \ + f_string_dynamics_t_initialize, \ + f_string_dynamics_t_initialize, \ + f_string_dynamics_t_initialize, \ + f_string_dynamics_t_initialize, \ + f_string_dynamics_t_initialize, \ + f_string_dynamics_t_initialize, \ + f_string_dynamics_t_initialize, \ + f_string_dynamics_t_initialize, \ + f_string_dynamics_t_initialize, \ + f_string_dynamics_t_initialize, \ + 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.build_compiler) \ + macro_f_string_dynamic_t_delete_simple(setting.build_indexer) \ + macro_f_string_dynamic_t_delete_simple(setting.build_name) \ + macro_f_string_dynamic_t_delete_simple(setting.build_sources_object) \ + macro_f_string_dynamic_t_delete_simple(setting.build_sources_object_shared) \ + macro_f_string_dynamic_t_delete_simple(setting.build_sources_object_static) \ + macro_f_string_dynamic_t_delete_simple(setting.path_headers) \ + macro_f_string_dynamic_t_delete_simple(setting.path_language) \ + macro_f_string_dynamic_t_delete_simple(setting.path_library_script) \ + macro_f_string_dynamic_t_delete_simple(setting.path_library_shared) \ + macro_f_string_dynamic_t_delete_simple(setting.path_library_static) \ + macro_f_string_dynamic_t_delete_simple(setting.path_object_script) \ + macro_f_string_dynamic_t_delete_simple(setting.path_object_shared) \ + macro_f_string_dynamic_t_delete_simple(setting.path_object_static) \ + macro_f_string_dynamic_t_delete_simple(setting.path_program_script) \ + macro_f_string_dynamic_t_delete_simple(setting.path_program_shared) \ + macro_f_string_dynamic_t_delete_simple(setting.path_program_static) \ + macro_f_string_dynamic_t_delete_simple(setting.path_sources) \ + macro_f_string_dynamic_t_delete_simple(setting.path_sources_object) \ + macro_f_string_dynamic_t_delete_simple(setting.process_post) \ + macro_f_string_dynamic_t_delete_simple(setting.process_pre) \ + macro_f_string_dynamic_t_delete_simple(setting.version_major) \ + macro_f_string_dynamic_t_delete_simple(setting.version_major_prefix) \ + macro_f_string_dynamic_t_delete_simple(setting.version_micro) \ + macro_f_string_dynamic_t_delete_simple(setting.version_micro_prefix) \ + macro_f_string_dynamic_t_delete_simple(setting.version_minor) \ + 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) \ + macro_f_string_dynamics_t_delete_simple(setting.build_objects_library) \ + macro_f_string_dynamics_t_delete_simple(setting.build_objects_library_shared) \ + macro_f_string_dynamics_t_delete_simple(setting.build_objects_library_static) \ + macro_f_string_dynamics_t_delete_simple(setting.build_objects_program) \ + macro_f_string_dynamics_t_delete_simple(setting.build_objects_program_shared) \ + macro_f_string_dynamics_t_delete_simple(setting.build_objects_program_static) \ + macro_f_string_dynamics_t_delete_simple(setting.build_sources_documentation) \ + macro_f_string_dynamics_t_delete_simple(setting.build_sources_headers) \ + macro_f_string_dynamics_t_delete_simple(setting.build_sources_headers_shared) \ + macro_f_string_dynamics_t_delete_simple(setting.build_sources_headers_static) \ + macro_f_string_dynamics_t_delete_simple(setting.build_sources_library) \ + macro_f_string_dynamics_t_delete_simple(setting.build_sources_library_shared) \ + macro_f_string_dynamics_t_delete_simple(setting.build_sources_library_static) \ + macro_f_string_dynamics_t_delete_simple(setting.build_sources_program) \ + macro_f_string_dynamics_t_delete_simple(setting.build_sources_program_shared) \ + macro_f_string_dynamics_t_delete_simple(setting.build_sources_program_static) \ + macro_f_string_dynamics_t_delete_simple(setting.build_sources_script) \ + macro_f_string_dynamics_t_delete_simple(setting.build_sources_setting) \ + macro_f_string_dynamics_t_delete_simple(setting.defines) \ + macro_f_string_dynamics_t_delete_simple(setting.defines_library) \ + macro_f_string_dynamics_t_delete_simple(setting.defines_library_shared) \ + macro_f_string_dynamics_t_delete_simple(setting.defines_library_static) \ + macro_f_string_dynamics_t_delete_simple(setting.defines_object) \ + macro_f_string_dynamics_t_delete_simple(setting.defines_object_shared) \ + macro_f_string_dynamics_t_delete_simple(setting.defines_object_static) \ + macro_f_string_dynamics_t_delete_simple(setting.defines_program) \ + macro_f_string_dynamics_t_delete_simple(setting.defines_program_shared) \ + macro_f_string_dynamics_t_delete_simple(setting.defines_program_static) \ + macro_f_string_dynamics_t_delete_simple(setting.defines_shared) \ + macro_f_string_dynamics_t_delete_simple(setting.defines_static) \ + macro_f_string_dynamics_t_delete_simple(setting.environment) \ + macro_f_string_dynamics_t_delete_simple(setting.flags) \ + macro_f_string_dynamics_t_delete_simple(setting.flags_library) \ + macro_f_string_dynamics_t_delete_simple(setting.flags_library_shared) \ + macro_f_string_dynamics_t_delete_simple(setting.flags_library_static) \ + macro_f_string_dynamics_t_delete_simple(setting.flags_object) \ + macro_f_string_dynamics_t_delete_simple(setting.flags_object_shared) \ + macro_f_string_dynamics_t_delete_simple(setting.flags_object_static) \ + macro_f_string_dynamics_t_delete_simple(setting.flags_program) \ + macro_f_string_dynamics_t_delete_simple(setting.flags_program_shared) \ + macro_f_string_dynamics_t_delete_simple(setting.flags_program_static) \ + macro_f_string_dynamics_t_delete_simple(setting.flags_shared) \ + macro_f_string_dynamics_t_delete_simple(setting.flags_static) \ + macro_f_string_dynamics_t_delete_simple(setting.modes) \ + macro_f_string_dynamics_t_delete_simple(setting.modes_default) + + #define fake_build_setting_total_d 89 +#endif // _di_fake_build_setting_t_ + +#ifndef _di_fake_build_stage_t_ + typedef struct { + f_string_dynamic_t file_library_script; + f_string_dynamic_t file_library_shared; + f_string_dynamic_t file_library_static; + f_string_dynamic_t file_object_script; + f_string_dynamic_t file_object_shared; + f_string_dynamic_t file_object_static; + f_string_dynamic_t file_objects_static; + f_string_dynamic_t file_process_post; + f_string_dynamic_t file_process_pre; + f_string_dynamic_t file_program_script; + f_string_dynamic_t file_program_shared; + f_string_dynamic_t file_program_static; + f_string_dynamic_t file_skeleton; + f_string_dynamic_t file_sources_documentation; + f_string_dynamic_t file_sources_headers; + f_string_dynamic_t file_sources_script; + f_string_dynamic_t file_sources_settings; + } fake_build_stage_t; + + #define fake_build_stage_t_initialize { \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + } + + #define fake_build_stage_total_d 17 + + #define macro_fake_build_stage_t_delete_simple(stage) \ + macro_f_string_dynamic_t_delete_simple(stage.file_library_script) \ + macro_f_string_dynamic_t_delete_simple(stage.file_library_shared) \ + macro_f_string_dynamic_t_delete_simple(stage.file_library_static) \ + macro_f_string_dynamic_t_delete_simple(stage.file_object_script) \ + macro_f_string_dynamic_t_delete_simple(stage.file_object_shared) \ + macro_f_string_dynamic_t_delete_simple(stage.file_object_static) \ + macro_f_string_dynamic_t_delete_simple(stage.file_objects_static) \ + macro_f_string_dynamic_t_delete_simple(stage.file_process_post) \ + macro_f_string_dynamic_t_delete_simple(stage.file_process_pre) \ + macro_f_string_dynamic_t_delete_simple(stage.file_program_script) \ + macro_f_string_dynamic_t_delete_simple(stage.file_program_shared) \ + macro_f_string_dynamic_t_delete_simple(stage.file_program_static) \ + macro_f_string_dynamic_t_delete_simple(stage.file_skeleton) \ + macro_f_string_dynamic_t_delete_simple(stage.file_sources_documentation) \ + macro_f_string_dynamic_t_delete_simple(stage.file_sources_headers) \ + macro_f_string_dynamic_t_delete_simple(stage.file_sources_script) \ + macro_f_string_dynamic_t_delete_simple(stage.file_sources_settings) +#endif // _di_fake_build_stage_t_ + +/** + * The build data. + * + * setting: The build settings. + * environment: The environment variables. + */ +#ifndef _di_fake_build_data_t_ + typedef struct { + fake_build_setting_t setting; + f_string_maps_t environment; + } fake_build_data_t; + + #define fake_build_data_t_initialize { \ + fake_build_setting_t_initialize, \ + f_string_maps_t_initialize, \ + } + + #define macro_fake_build_main_delete_simple(build) \ + macro_fake_build_setting_t_delete_simple(build.setting) \ + macro_f_string_maps_t_delete_simple(build.environment); +#endif // _di_fake_build_data_t_ + +/** + * Provide common/generic definitions. + * + * _di_fake_common_*_d: + * - allocation_large: Large allocation block size. + * - allocation_small: Small allocation block size. + * - initial_buffer_max: Max size to maintain the buffer (to avoid buffer bloat after an overly large allocation) (131072 = 128k). + */ +#ifndef _di_fake_common_d_ + #define fake_common_allocation_large_d 256 + #define fake_common_allocation_small_d 16 + #define fake_common_initial_buffer_max_d 131072 +#endif // _di_fake_common_d_ + +/** + * Provide common/generic definitions. + * + * fake_make_section_*_d: + * - stack_max: Maximum stack call depth. + */ +#ifndef _di_fake_make_section_d_ + #define fake_make_section_stack_max_d 8192 +#endif // _di_fake_make_section_d_ + +#ifndef _di_fake_make_setting_t_ + typedef struct { + bool load_build; + + uint8_t fail; + + f_string_map_multis_t parameter; + } fake_make_setting_t; + + #define fake_make_setting_t_initialize { \ + 0, \ + 0, \ + f_string_map_multis_t_initialize, \ + } + + #define macro_fake_make_setting_t_delete_simple(setting) \ + macro_f_string_map_multis_t_delete_simple(setting.parameter) +#endif // _di_fake_make_setting_t_ + +#ifndef _di_fake_make_operation_type_e_ + enum { + fake_make_operation_type_none_e = 0, + fake_make_operation_type_and_e, + fake_make_operation_type_break_e, + fake_make_operation_type_build_e, + fake_make_operation_type_clean_e, + fake_make_operation_type_clone_e, + fake_make_operation_type_compile_e, + fake_make_operation_type_copy_e, + fake_make_operation_type_define_e, + fake_make_operation_type_delete_e, + fake_make_operation_type_deletes_e, + fake_make_operation_type_else_e, + fake_make_operation_type_exit_e, + fake_make_operation_type_fail_e, + fake_make_operation_type_group_e, + fake_make_operation_type_groups_e, + fake_make_operation_type_if_e, + fake_make_operation_type_index_e, + fake_make_operation_type_link_e, + fake_make_operation_type_mode_e, + fake_make_operation_type_modes_e, + fake_make_operation_type_move_e, + fake_make_operation_type_operate_e, + fake_make_operation_type_or_e, + fake_make_operation_type_owner_e, + fake_make_operation_type_owners_e, + fake_make_operation_type_parameter_e, + fake_make_operation_type_pop_e, + fake_make_operation_type_print_e, + fake_make_operation_type_run_e, + fake_make_operation_type_shell_e, + fake_make_operation_type_skeleton_e, + fake_make_operation_type_to_e, + fake_make_operation_type_top_e, + fake_make_operation_type_touch_e, + fake_make_operation_type_write_e, + }; +#endif // _di_fake_make_operation_type_e_ + +#ifndef _di_fake_make_operation_if_e_ + enum { + fake_make_operation_if_type_else_e = 1, + fake_make_operation_if_type_if_e, + fake_make_operation_if_type_if_define_e, + fake_make_operation_if_type_if_equal_e, + fake_make_operation_if_type_if_equal_not_e, + fake_make_operation_if_type_if_exist_e, + fake_make_operation_if_type_if_failure_e, + fake_make_operation_if_type_if_greater_e, + fake_make_operation_if_type_if_greater_equal_e, + fake_make_operation_if_type_if_group_e, + fake_make_operation_if_type_if_is_e, + fake_make_operation_if_type_if_less_e, + fake_make_operation_if_type_if_less_equal_e, + fake_make_operation_if_type_if_mode_e, + fake_make_operation_if_type_if_not_e, + fake_make_operation_if_type_if_not_define_e, + fake_make_operation_if_type_if_not_exist_e, + fake_make_operation_if_type_if_not_group_e, + fake_make_operation_if_type_if_not_is_e, + fake_make_operation_if_type_if_not_mode_e, + fake_make_operation_if_type_if_not_owner_e, + fake_make_operation_if_type_if_not_parameter_e, + fake_make_operation_if_type_if_parameter_e, + fake_make_operation_if_type_if_owner_e, + fake_make_operation_if_type_if_success_e, + }; +#endif // _di_fake_make_operation_if_e_ + +#ifndef _di_fake_make_operation_fail_e_ + enum { + fake_make_operation_fail_type_exit_e = 1, + fake_make_operation_fail_type_warn_e, + fake_make_operation_fail_type_ignore_e, + }; +#endif // _di_fake_make_operation_fail_e_ + +#ifndef _di_fake_make_operation_d_ + #define fake_make_operation_recursion_depth_max_d 65535 + + // Total does not include "fake_make_operation_type_none_e". + #define fake_make_operation_total_d 35 +#endif // _di_fake_make_operation_d_ + +#ifndef _di_fake_make_parameter_t_ + typedef struct { + f_string_dynamics_t build; + f_string_dynamics_t color; + f_string_dynamics_t data; + f_string_dynamics_t define; + f_string_dynamics_t documents; + f_string_dynamics_t fakefile; + f_string_dynamics_t licenses; + f_string_dynamics_t mode; + f_string_dynamics_t process; + f_string_dynamics_t settings; + f_string_dynamics_t sources; + f_string_dynamics_t verbosity; + f_string_dynamics_t work; + } fake_make_parameter_t; + + #define fake_make_parameter_t_initialize { \ + f_string_dynamics_t_initialize, \ + f_string_dynamics_t_initialize, \ + f_string_dynamics_t_initialize, \ + f_string_dynamics_t_initialize, \ + f_string_dynamics_t_initialize, \ + f_string_dynamics_t_initialize, \ + f_string_dynamics_t_initialize, \ + f_string_dynamics_t_initialize, \ + f_string_dynamics_t_initialize, \ + f_string_dynamics_t_initialize, \ + f_string_dynamics_t_initialize, \ + f_string_dynamics_t_initialize, \ + f_string_dynamics_t_initialize, \ + } + + #define macro_fake_make_parameter_delete_simple(parameter) \ + macro_f_string_dynamics_t_delete_simple(parameter.build) \ + macro_f_string_dynamics_t_delete_simple(parameter.color) \ + macro_f_string_dynamics_t_delete_simple(parameter.data) \ + macro_f_string_dynamics_t_delete_simple(parameter.define) \ + macro_f_string_dynamics_t_delete_simple(parameter.documents) \ + macro_f_string_dynamics_t_delete_simple(parameter.fakefile) \ + macro_f_string_dynamics_t_delete_simple(parameter.licenses) \ + macro_f_string_dynamics_t_delete_simple(parameter.mode) \ + macro_f_string_dynamics_t_delete_simple(parameter.process) \ + macro_f_string_dynamics_t_delete_simple(parameter.settings) \ + macro_f_string_dynamics_t_delete_simple(parameter.sources) \ + macro_f_string_dynamics_t_delete_simple(parameter.verbosity) \ + macro_f_string_dynamics_t_delete_simple(parameter.work) +#endif // _di_fake_make_parameter_t_ + +#ifndef _di_fake_make_path_t_ + typedef struct { + f_file_t top; + + f_string_dynamics_t stack; + } fake_make_path_t; + + #define fake_make_path_t_initialize { \ + f_file_t_initialize, \ + f_string_dynamics_t_initialize, \ + } + + #define macro_fake_make_path_delete_simple(path) \ + macro_f_string_dynamics_t_delete_simple(path.stack); +#endif // _di_fake_make_path_t_ + +/** + * The control data. + * + * setting_build: The build settings. + * setting_make: The make settings. + * environment: All environment variables allowed to be exposed to the when processing. + * parameter: A set of parameters available for IKI substitution. + * parameter_option: A set of parameters available for IKI option substitution. + * parameter_value: A set of parameters available for IKI value substitution. + * path: The path to the Fakefile. + * error: The error output print structure. + * fakefile: The loaded Fakefile. + * buffer: A buffer used during processing. + * cache_1: An additional buffer for caching purposes. + * cache_2: An additional buffer for caching purposes. + * cache_path: A buffer for path-specific caching. + * cache_arguments: A cache for expanded arguments. + * cache_iki: A cache for IKI data. + * id_main: Index of the "main" Section. + * main: The main program data. + * data: The Fake make program data. + * setting: The settings data. + */ +#ifndef _di_fake_make_data_t_ + typedef struct { + fake_build_setting_t setting_build; + fake_make_setting_t setting_make; + + f_string_maps_t environment; + + fake_make_parameter_t parameter; + fake_make_parameter_t parameter_option; + fake_make_parameter_t parameter_value; + fake_make_path_t path; + + fl_print_t error; + + f_fss_nameds_t fakefile; + + f_string_dynamic_t buffer; + f_string_dynamic_t cache_1; + f_string_dynamic_t cache_2; + f_string_dynamic_t cache_path; + f_string_dynamics_t cache_arguments; + f_iki_data_t cache_iki; + + f_array_length_t id_main; + + fll_program_data_t *main; + fake_data_t *data; + fake_setting_t *setting; + } fake_make_data_t; + + #define fake_make_data_t_initialize { \ + fake_build_setting_t_initialize, \ + fake_make_setting_t_initialize, \ + f_string_maps_t_initialize, \ + fake_make_parameter_t_initialize, \ + fake_make_parameter_t_initialize, \ + fake_make_parameter_t_initialize, \ + fake_make_path_t_initialize, \ + fl_print_t_initialize, \ + f_fss_nameds_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ + f_string_dynamics_t_initialize, \ + f_iki_data_t_initialize, \ + 0, \ + 0, \ + 0, \ + 0, \ + } +#endif // _di_fake_make_data_t_ + +/** + * A structure for managing the operation and if-condition states. + * + * block: The process block state. + * block_result: The result of the block. + * condition: The current if-condition type. + * condition_result: The result of the currently processed condition. + * operation: The current operation type. + * operation_previous: The previous operation type. + * success: Current state is considered success when F_true and failure when F_false. + * success_block: Current block state is considered success when F_true and failure when F_false. + */ +#ifndef _di_fake_state_process_t_ + typedef struct { + uint8_t block; + uint8_t block_result; + uint8_t condition; + uint8_t condition_result; + uint8_t operation; + uint8_t operation_previous; + uint8_t success; + uint8_t success_block; + } fake_state_process_t; + + #define fake_state_process_t_initialize { \ + 0, \ + 0, \ + 0, \ + 0, \ + 0, \ + 0, \ + F_true, \ + F_true, \ + } +#endif // _di_fake_state_process_t_ + +/** + * Designate the current process block state. + * + * fake_condition_result_*: + * - none: No if-condition is set. + * - operate: The condition passed or perform condition, process the next operation or the condition. + * - skip: The condition failed, skip the next operation. + * - done: After the condition passed, the next operation was performed, all future operations within block are skipped. + */ +#ifndef _di_fake_state_process_block_e_ + enum { + fake_state_process_block_none_e = 0, + fake_state_process_block_operate_e, + fake_state_process_block_skip_e, + fake_state_process_block_done_e, + }; +#endif // _di_fake_state_process_block_e_ + +/** + * Designate that the if state is true, false, or undefined (none). + * + * fake_condition_result_*: + * - none: The result of the if-condition is not set. + * - false: The result of the if-condition is false. + * - true: The result of the if-condition is true. + * - error: An error occurred, any if-condition is to be skipped, falling back to the else condition, if any. + */ +#ifndef _di_fake_condition_result_e_ + enum { + fake_condition_result_none_e = 0, + fake_condition_result_false_e, + fake_condition_result_true_e, + fake_condition_result_error_e, + }; +#endif // _di_fake_condition_result_e_ + #ifdef __cplusplus extern "C" { #endif @@ -110,6 +1082,40 @@ extern "C" { extern f_status_t fake_setting_unload(fll_program_data_t * const main, fake_setting_t * const setting); #endif // _di_fake_setting_unload_ +/** + * Deallocate data. + * + * @param data + * The program data. + * + * @return + * F_none on success. + * + * Status codes (with error bit) are returned on any problem. + * + * @see fake_main() + */ +#ifndef _di_fake_data_delete_ + extern f_status_t fake_data_delete(fake_data_t * const data); +#endif // _di_fake_data_delete_ + +/** + * Deallocate make data. + * + * @param data + * The make data. + * + * @return + * F_none on success. + * + * @see f_fss_nameds_resize() + * @see f_string_dynamic_resize() + * @see f_string_maps_resize() + */ +#ifndef _di_fake_make_data_delete_ + extern f_status_t fake_make_data_delete(fake_make_data_t * const data) F_attribute_visibility_internal_d; +#endif // _di_fake_make_data_delete_ + #ifdef __cplusplus } // extern "C" #endif diff --git a/level_3/fake/c/main/common-print.c b/level_3/fake/c/main/common/print.c similarity index 99% rename from level_3/fake/c/main/common-print.c rename to level_3/fake/c/main/common/print.c index b6075b2..356a8e6 100644 --- a/level_3/fake/c/main/common-print.c +++ b/level_3/fake/c/main/common/print.c @@ -1,4 +1,4 @@ -#include "fake.h" +#include "../fake.h" #ifdef __cplusplus extern "C" { diff --git a/level_3/fake/c/main/common-print.h b/level_3/fake/c/main/common/print.h similarity index 100% rename from level_3/fake/c/main/common-print.h rename to level_3/fake/c/main/common/print.h diff --git a/level_3/fake/c/main/common/string.c b/level_3/fake/c/main/common/string.c new file mode 100644 index 0000000..60545f9 --- /dev/null +++ b/level_3/fake/c/main/common/string.c @@ -0,0 +1,436 @@ +#include "../fake.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef _di_fake_program_version_s_ + const f_string_static_t fake_program_version_s = macro_f_string_static_t_initialize(FAKE_program_version_s, 0, FAKE_program_version_s_length); +#endif // _di_fake_program_version_s_ + +#ifndef _di_fake_program_name_s_ + const f_string_static_t fake_program_name_s = macro_f_string_static_t_initialize(FAKE_program_name_s, 0, FAKE_program_name_s_length); + const f_string_static_t fake_program_name_long_s = macro_f_string_static_t_initialize(FAKE_program_name_long_s, 0, FAKE_program_name_long_s_length); +#endif // _di_fake_program_name_s_ + +#ifndef _di_fake_program_help_parameter_s_ + const f_string_static_t fake_program_help_parameters_s = macro_f_string_static_t_initialize(FAKE_program_help_parameters_s, 0, FAKE_program_help_parameters_s_length); +#endif // _di_fake_program_help_parameter_s_ + +#ifndef _di_fake_path_s_ + const f_string_static_t fake_path_part_build_s = macro_f_string_static_t_initialize(FAKE_path_part_build_s, 0, FAKE_path_part_build_s_length); + const f_string_static_t fake_path_part_c_s = macro_f_string_static_t_initialize(FAKE_path_part_c_s, 0, FAKE_path_part_c_s_length); + const f_string_static_t fake_path_part_cpp_s = macro_f_string_static_t_initialize(FAKE_path_part_cpp_s, 0, FAKE_path_part_cpp_s_length); + const f_string_static_t fake_path_part_data_s = macro_f_string_static_t_initialize(FAKE_path_part_data_s, 0, FAKE_path_part_data_s_length); + const f_string_static_t fake_path_part_documentation_s = macro_f_string_static_t_initialize(FAKE_path_part_documentation_s, 0, FAKE_path_part_documentation_s_length); + const f_string_static_t fake_path_part_documents_s = macro_f_string_static_t_initialize(FAKE_path_part_documents_s, 0, FAKE_path_part_documents_s_length); + const f_string_static_t fake_path_part_includes_s = macro_f_string_static_t_initialize(FAKE_path_part_includes_s, 0, FAKE_path_part_includes_s_length); + const f_string_static_t fake_path_part_libraries_s = macro_f_string_static_t_initialize(FAKE_path_part_libraries_s, 0, FAKE_path_part_libraries_s_length); + const f_string_static_t fake_path_part_licenses_s = macro_f_string_static_t_initialize(FAKE_path_part_licenses_s, 0, FAKE_path_part_licenses_s_length); + const f_string_static_t fake_path_part_objects_s = macro_f_string_static_t_initialize(FAKE_path_part_objects_s, 0, FAKE_path_part_objects_s_length); + const f_string_static_t fake_path_part_process_s = macro_f_string_static_t_initialize(FAKE_path_part_process_s, 0, FAKE_path_part_process_s_length); + const f_string_static_t fake_path_part_programs_s = macro_f_string_static_t_initialize(FAKE_path_part_programs_s, 0, FAKE_path_part_programs_s_length); + const f_string_static_t fake_path_part_script_s = macro_f_string_static_t_initialize(FAKE_path_part_script_s, 0, FAKE_path_part_script_s_length); + const f_string_static_t fake_path_part_settings_s = macro_f_string_static_t_initialize(FAKE_path_part_settings_s, 0, FAKE_path_part_settings_s_length); + const f_string_static_t fake_path_part_shared_s = macro_f_string_static_t_initialize(FAKE_path_part_shared_s, 0, FAKE_path_part_shared_s_length); + const f_string_static_t fake_path_part_shell_s = macro_f_string_static_t_initialize(FAKE_path_part_shell_s, 0, FAKE_path_part_shell_s_length); + const f_string_static_t fake_path_part_specifications_s = macro_f_string_static_t_initialize(FAKE_path_part_specifications_s, 0, FAKE_path_part_specifications_s_length); + const f_string_static_t fake_path_part_stage_s = macro_f_string_static_t_initialize(FAKE_path_part_stage_s, 0, FAKE_path_part_stage_s_length); + const f_string_static_t fake_path_part_static_s = macro_f_string_static_t_initialize(FAKE_path_part_static_s, 0, FAKE_path_part_static_s_length); +#endif // _di_fake_path_s_ + +#ifndef _di_fake_file_s_ + const f_string_static_t fake_file_defines_s = macro_f_string_static_t_initialize(FAKE_file_defines_s, 0, FAKE_file_defines_s_length); + const f_string_static_t fake_file_dependencies_s = macro_f_string_static_t_initialize(FAKE_file_dependencies_s, 0, FAKE_file_dependencies_s_length); + const f_string_static_t fake_file_process_pre_s = macro_f_string_static_t_initialize(FAKE_file_process_pre_s, 0, FAKE_file_process_pre_s_length); + const f_string_static_t fake_file_process_post_s = macro_f_string_static_t_initialize(FAKE_file_process_post_s, 0, FAKE_file_process_post_s_length); + const f_string_static_t fake_file_readme_s = macro_f_string_static_t_initialize(FAKE_file_readme_s, 0, FAKE_file_readme_s_length); +#endif // _di_fake_file_s_ + +#ifndef _di_fake_default_s_ + const f_string_static_t fake_default_build_s = macro_f_string_static_t_initialize(FAKE_default_build_s, 0, FAKE_default_build_s_length); + const f_string_static_t fake_default_data_s = macro_f_string_static_t_initialize(FAKE_default_data_s, 0, FAKE_default_data_s_length); + const f_string_static_t fake_default_documents_s = macro_f_string_static_t_initialize(FAKE_default_documents_s, 0, FAKE_default_documents_s_length); + const f_string_static_t fake_default_fakefile_s = macro_f_string_static_t_initialize(FAKE_default_fakefile_s, 0, FAKE_default_fakefile_s_length); + const f_string_static_t fake_default_licenses_s = macro_f_string_static_t_initialize(FAKE_default_licenses_s, 0, FAKE_default_licenses_s_length); + const f_string_static_t fake_default_process_s = macro_f_string_static_t_initialize(FAKE_default_process_s, 0, FAKE_default_process_s_length); + const f_string_static_t fake_default_settings_s = macro_f_string_static_t_initialize(FAKE_default_settings_s, 0, FAKE_default_settings_s_length); + const f_string_static_t fake_default_sources_s = macro_f_string_static_t_initialize(FAKE_default_sources_s, 0, FAKE_default_sources_s_length); + const f_string_static_t fake_default_work_s = macro_f_string_static_t_initialize(FAKE_default_work_s, 0, FAKE_default_work_s_length); +#endif // _di_fake_default_s_ + +#ifndef _di_fake_build_language_s_ + const f_string_static_t fake_build_language_bash_s = macro_f_string_static_t_initialize(FAKE_build_language_bash_s, 0, FAKE_build_language_bash_s_length); + const f_string_static_t fake_build_language_c_s = macro_f_string_static_t_initialize(FAKE_build_language_c_s, 0, FAKE_build_language_c_s_length); + const f_string_static_t fake_build_language_cpp_s = macro_f_string_static_t_initialize(FAKE_build_language_cpp_s, 0, FAKE_build_language_cpp_s_length); + const f_string_static_t fake_build_language_zsh_s = macro_f_string_static_t_initialize(FAKE_build_language_zsh_s, 0, FAKE_build_language_zsh_s_length); +#endif // _di_fake_build_language_s_ + +#ifndef _di_fake_build_version_s_ + const f_string_static_t fake_build_version_major_s = macro_f_string_static_t_initialize(FAKE_build_version_major_s, 0, FAKE_build_version_major_s_length); + const f_string_static_t fake_build_version_minor_s = macro_f_string_static_t_initialize(FAKE_build_version_minor_s, 0, FAKE_build_version_minor_s_length); + const f_string_static_t fake_build_version_micro_s = macro_f_string_static_t_initialize(FAKE_build_version_micro_s, 0, FAKE_build_version_micro_s_length); + const f_string_static_t fake_build_version_nano_s = macro_f_string_static_t_initialize(FAKE_build_version_nano_s, 0, FAKE_build_version_nano_s_length); +#endif // _di_fake_build_version_s_ + +#ifndef _di_fake_parameter_s_ + const f_string_static_t fake_short_build_s = macro_f_string_static_t_initialize(FAKE_short_build_s, 0, FAKE_short_build_s_length); + const f_string_static_t fake_short_data_s = macro_f_string_static_t_initialize(FAKE_short_data_s, 0, FAKE_short_data_s_length); + const f_string_static_t fake_short_define_s = macro_f_string_static_t_initialize(FAKE_short_define_s, 0, FAKE_short_define_s_length); + const f_string_static_t fake_short_documents_s = macro_f_string_static_t_initialize(FAKE_short_documents_s, 0, FAKE_short_documents_s_length); + const f_string_static_t fake_short_fakefile_s = macro_f_string_static_t_initialize(FAKE_short_fakefile_s, 0, FAKE_short_fakefile_s_length); + const f_string_static_t fake_short_licenses_s = macro_f_string_static_t_initialize(FAKE_short_licenses_s, 0, FAKE_short_licenses_s_length); + const f_string_static_t fake_short_mode_s = macro_f_string_static_t_initialize(FAKE_short_mode_s, 0, FAKE_short_mode_s_length); + const f_string_static_t fake_short_process_s = macro_f_string_static_t_initialize(FAKE_short_process_s, 0, FAKE_short_process_s_length); + const f_string_static_t fake_short_settings_s = macro_f_string_static_t_initialize(FAKE_short_settings_s, 0, FAKE_short_settings_s_length); + const f_string_static_t fake_short_sources_s = macro_f_string_static_t_initialize(FAKE_short_sources_s, 0, FAKE_short_sources_s_length); + const f_string_static_t fake_short_work_s = macro_f_string_static_t_initialize(FAKE_short_work_s, 0, FAKE_short_work_s_length); + + const f_string_static_t fake_long_build_s = macro_f_string_static_t_initialize(FAKE_long_build_s, 0, FAKE_long_build_s_length); + const f_string_static_t fake_long_data_s = macro_f_string_static_t_initialize(FAKE_long_data_s, 0, FAKE_long_data_s_length); + const f_string_static_t fake_long_define_s = macro_f_string_static_t_initialize(FAKE_long_define_s, 0, FAKE_long_define_s_length); + const f_string_static_t fake_long_documents_s = macro_f_string_static_t_initialize(FAKE_long_documents_s, 0, FAKE_long_documents_s_length); + const f_string_static_t fake_long_fakefile_s = macro_f_string_static_t_initialize(FAKE_long_fakefile_s, 0, FAKE_long_fakefile_s_length); + const f_string_static_t fake_long_licenses_s = macro_f_string_static_t_initialize(FAKE_long_licenses_s, 0, FAKE_long_licenses_s_length); + const f_string_static_t fake_long_mode_s = macro_f_string_static_t_initialize(FAKE_long_mode_s, 0, FAKE_long_mode_s_length); + const f_string_static_t fake_long_process_s = macro_f_string_static_t_initialize(FAKE_long_process_s, 0, FAKE_long_process_s_length); + const f_string_static_t fake_long_settings_s = macro_f_string_static_t_initialize(FAKE_long_settings_s, 0, FAKE_long_settings_s_length); + const f_string_static_t fake_long_sources_s = macro_f_string_static_t_initialize(FAKE_long_sources_s, 0, FAKE_long_sources_s_length); + const f_string_static_t fake_long_work_s = macro_f_string_static_t_initialize(FAKE_long_work_s, 0, FAKE_long_work_s_length); + + const f_string_static_t fake_long_documents_disabled_s = macro_f_string_static_t_initialize(FAKE_long_documents_disabled_s, 0, FAKE_long_documents_disabled_s_length); + const f_string_static_t fake_long_documents_enabled_s = macro_f_string_static_t_initialize(FAKE_long_documents_enabled_s, 0, FAKE_long_documents_enabled_s_length); + const f_string_static_t fake_long_shared_disabled_s = macro_f_string_static_t_initialize(FAKE_long_shared_disabled_s, 0, FAKE_long_shared_disabled_s_length); + const f_string_static_t fake_long_shared_enabled_s = macro_f_string_static_t_initialize(FAKE_long_shared_enabled_s, 0, FAKE_long_shared_enabled_s_length); + const f_string_static_t fake_long_static_disabled_s = macro_f_string_static_t_initialize(FAKE_long_static_disabled_s, 0, FAKE_long_static_disabled_s_length); + const f_string_static_t fake_long_static_enabled_s = macro_f_string_static_t_initialize(FAKE_long_static_enabled_s, 0, FAKE_long_static_enabled_s_length); + + const f_string_static_t fake_other_operation_build_s = macro_f_string_static_t_initialize(FAKE_other_operation_build_s, 0, FAKE_other_operation_build_s_length); + const f_string_static_t fake_other_operation_clean_s = macro_f_string_static_t_initialize(FAKE_other_operation_clean_s, 0, FAKE_other_operation_clean_s_length); + const f_string_static_t fake_other_operation_make_s = macro_f_string_static_t_initialize(FAKE_other_operation_make_s, 0, FAKE_other_operation_make_s_length); + const f_string_static_t fake_other_operation_skeleton_s = macro_f_string_static_t_initialize(FAKE_other_operation_skeleton_s, 0, FAKE_other_operation_skeleton_s_length); +#endif // _di_fake_parameter_s_ + +#ifndef _di_fake_build_setting_t_ + const f_string_static_t fake_build_setting_default_ar_s = macro_f_string_static_t_initialize(FAKE_build_setting_default_ar_s, 0, FAKE_build_setting_default_ar_s_length); + const f_string_static_t fake_build_setting_default_gcc_s = macro_f_string_static_t_initialize(FAKE_build_setting_default_gcc_s, 0, FAKE_build_setting_default_gcc_s_length); + const f_string_static_t fake_build_setting_default_version_s = macro_f_string_static_t_initialize(FAKE_build_setting_default_version_s, 0, FAKE_build_setting_default_version_s_length); + const f_string_static_t fake_build_setting_default_version_prefix_s = macro_f_string_static_t_initialize(FAKE_build_setting_default_version_prefix_s, 0, FAKE_build_setting_default_version_prefix_s_length); + const f_string_static_t fake_build_setting_default_yes_s = macro_f_string_static_t_initialize(FAKE_build_setting_default_yes_s, 0, FAKE_build_setting_default_yes_s_length); + + const f_string_static_t fake_build_setting_name_build_compiler_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_compiler_s, 0, FAKE_build_setting_name_build_compiler_s_length); + const f_string_static_t fake_build_setting_name_build_indexer_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_indexer_s, 0, FAKE_build_setting_name_build_indexer_s_length); + const f_string_static_t fake_build_setting_name_build_indexer_arguments_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_indexer_arguments_s, 0, FAKE_build_setting_name_build_indexer_arguments_s_length); + const f_string_static_t fake_build_setting_name_build_language_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_language_s, 0, FAKE_build_setting_name_build_language_s_length); + const f_string_static_t fake_build_setting_name_build_libraries_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_libraries_s, 0, FAKE_build_setting_name_build_libraries_s_length); + const f_string_static_t fake_build_setting_name_build_libraries_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_libraries_shared_s, 0, FAKE_build_setting_name_build_libraries_shared_s_length); + const f_string_static_t fake_build_setting_name_build_libraries_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_libraries_static_s, 0, FAKE_build_setting_name_build_libraries_static_s_length); + const f_string_static_t fake_build_setting_name_build_name_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_name_s, 0, FAKE_build_setting_name_build_name_s_length); + const f_string_static_t fake_build_setting_name_build_objects_library_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_objects_library_s, 0, FAKE_build_setting_name_build_objects_library_s_length); + const f_string_static_t fake_build_setting_name_build_objects_library_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_objects_library_shared_s, 0, FAKE_build_setting_name_build_objects_library_shared_s_length); + const f_string_static_t fake_build_setting_name_build_objects_library_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_objects_library_static_s, 0, FAKE_build_setting_name_build_objects_library_static_s_length); + const f_string_static_t fake_build_setting_name_build_objects_program_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_objects_program_s, 0, FAKE_build_setting_name_build_objects_program_s_length); + const f_string_static_t fake_build_setting_name_build_objects_program_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_objects_program_shared_s, 0, FAKE_build_setting_name_build_objects_program_shared_s_length); + const f_string_static_t fake_build_setting_name_build_objects_program_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_objects_program_static_s, 0, FAKE_build_setting_name_build_objects_program_static_s_length); + const f_string_static_t fake_build_setting_name_build_script_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_script_s, 0, FAKE_build_setting_name_build_script_s_length); + const f_string_static_t fake_build_setting_name_build_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_shared_s, 0, FAKE_build_setting_name_build_shared_s_length); + const f_string_static_t fake_build_setting_name_build_sources_documentation_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_documentation_s, 0, FAKE_build_setting_name_build_sources_documentation_s_length); + const f_string_static_t fake_build_setting_name_build_sources_headers_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_headers_s, 0, FAKE_build_setting_name_build_sources_headers_s_length); + const f_string_static_t fake_build_setting_name_build_sources_headers_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_headers_shared_s, 0, FAKE_build_setting_name_build_sources_headers_shared_s_length); + const f_string_static_t fake_build_setting_name_build_sources_headers_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_headers_static_s, 0, FAKE_build_setting_name_build_sources_headers_static_s_length); + const f_string_static_t fake_build_setting_name_build_sources_library_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_library_s, 0, FAKE_build_setting_name_build_sources_library_s_length); + const f_string_static_t fake_build_setting_name_build_sources_library_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_library_shared_s, 0, FAKE_build_setting_name_build_sources_library_shared_s_length); + const f_string_static_t fake_build_setting_name_build_sources_library_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_library_static_s, 0, FAKE_build_setting_name_build_sources_library_static_s_length); + const f_string_static_t fake_build_setting_name_build_sources_object_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_object_s, 0, FAKE_build_setting_name_build_sources_object_s_length); + const f_string_static_t fake_build_setting_name_build_sources_object_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_object_shared_s, 0, FAKE_build_setting_name_build_sources_object_shared_s_length); + const f_string_static_t fake_build_setting_name_build_sources_object_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_object_static_s, 0, FAKE_build_setting_name_build_sources_object_static_s_length); + const f_string_static_t fake_build_setting_name_build_sources_program_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_program_s, 0, FAKE_build_setting_name_build_sources_program_s_length); + const f_string_static_t fake_build_setting_name_build_sources_program_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_program_shared_s, 0, FAKE_build_setting_name_build_sources_program_shared_s_length); + const f_string_static_t fake_build_setting_name_build_sources_program_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_program_static_s, 0, FAKE_build_setting_name_build_sources_program_static_s_length); + const f_string_static_t fake_build_setting_name_build_sources_script_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_script_s, 0, FAKE_build_setting_name_build_sources_script_s_length); + const f_string_static_t fake_build_setting_name_build_sources_setting_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_setting_s, 0, FAKE_build_setting_name_build_sources_setting_s_length); + const f_string_static_t fake_build_setting_name_build_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_static_s, 0, FAKE_build_setting_name_build_static_s_length); + const f_string_static_t fake_build_setting_name_defines_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_defines_s, 0, FAKE_build_setting_name_defines_s_length); + const f_string_static_t fake_build_setting_name_defines_library_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_defines_library_s, 0, FAKE_build_setting_name_defines_library_s_length); + const f_string_static_t fake_build_setting_name_defines_library_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_defines_library_shared_s, 0, FAKE_build_setting_name_defines_library_shared_s_length); + const f_string_static_t fake_build_setting_name_defines_library_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_defines_library_static_s, 0, FAKE_build_setting_name_defines_library_static_s_length); + const f_string_static_t fake_build_setting_name_defines_object_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_defines_object_s, 0, FAKE_build_setting_name_defines_object_s_length); + const f_string_static_t fake_build_setting_name_defines_object_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_defines_object_shared_s, 0, FAKE_build_setting_name_defines_object_shared_s_length); + const f_string_static_t fake_build_setting_name_defines_object_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_defines_object_static_s, 0, FAKE_build_setting_name_defines_object_static_s_length); + const f_string_static_t fake_build_setting_name_defines_program_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_defines_program_s, 0, FAKE_build_setting_name_defines_program_s_length); + const f_string_static_t fake_build_setting_name_defines_program_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_defines_program_shared_s, 0, FAKE_build_setting_name_defines_program_shared_s_length); + const f_string_static_t fake_build_setting_name_defines_program_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_defines_program_static_s, 0, FAKE_build_setting_name_defines_program_static_s_length); + const f_string_static_t fake_build_setting_name_defines_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_defines_shared_s, 0, FAKE_build_setting_name_defines_shared_s_length); + const f_string_static_t fake_build_setting_name_defines_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_defines_static_s, 0, FAKE_build_setting_name_defines_static_s_length); + const f_string_static_t fake_build_setting_name_environment_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_environment_s, 0, FAKE_build_setting_name_environment_s_length); + const f_string_static_t fake_build_setting_name_flags_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_flags_s, 0, FAKE_build_setting_name_flags_s_length); + const f_string_static_t fake_build_setting_name_flags_library_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_flags_library_s, 0, FAKE_build_setting_name_flags_library_s_length); + const f_string_static_t fake_build_setting_name_flags_library_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_flags_library_shared_s, 0, FAKE_build_setting_name_flags_library_shared_s_length); + const f_string_static_t fake_build_setting_name_flags_library_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_flags_library_static_s, 0, FAKE_build_setting_name_flags_library_static_s_length); + const f_string_static_t fake_build_setting_name_flags_object_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_flags_object_s, 0, FAKE_build_setting_name_flags_object_s_length); + const f_string_static_t fake_build_setting_name_flags_object_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_flags_object_shared_s, 0, FAKE_build_setting_name_flags_object_shared_s_length); + const f_string_static_t fake_build_setting_name_flags_object_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_flags_object_static_s, 0, FAKE_build_setting_name_flags_object_static_s_length); + const f_string_static_t fake_build_setting_name_flags_program_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_flags_program_s, 0, FAKE_build_setting_name_flags_program_s_length); + const f_string_static_t fake_build_setting_name_flags_program_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_flags_program_shared_s, 0, FAKE_build_setting_name_flags_program_shared_s_length); + const f_string_static_t fake_build_setting_name_flags_program_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_flags_program_static_s, 0, FAKE_build_setting_name_flags_program_static_s_length); + const f_string_static_t fake_build_setting_name_flags_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_flags_shared_s, 0, FAKE_build_setting_name_flags_shared_s_length); + const f_string_static_t fake_build_setting_name_flags_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_flags_static_s, 0, FAKE_build_setting_name_flags_static_s_length); + const f_string_static_t fake_build_setting_name_has_path_standard_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_has_path_standard_s, 0, FAKE_build_setting_name_has_path_standard_s_length); + const f_string_static_t fake_build_setting_name_modes_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_modes_s, 0, FAKE_build_setting_name_modes_s_length); + const f_string_static_t fake_build_setting_name_modes_default_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_modes_default_s, 0, FAKE_build_setting_name_modes_default_s_length); + const f_string_static_t fake_build_setting_name_path_headers_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_headers_s, 0, FAKE_build_setting_name_path_headers_s_length); + const f_string_static_t fake_build_setting_name_path_language_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_language_s, 0, FAKE_build_setting_name_path_language_s_length); + const f_string_static_t fake_build_setting_name_path_library_script_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_library_script_s, 0, FAKE_build_setting_name_path_library_script_s_length); + const f_string_static_t fake_build_setting_name_path_library_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_library_shared_s, 0, FAKE_build_setting_name_path_library_shared_s_length); + const f_string_static_t fake_build_setting_name_path_library_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_library_static_s, 0, FAKE_build_setting_name_path_library_static_s_length); + const f_string_static_t fake_build_setting_name_path_object_script_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_object_script_s, 0, FAKE_build_setting_name_path_object_script_s_length); + const f_string_static_t fake_build_setting_name_path_object_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_object_shared_s, 0, FAKE_build_setting_name_path_object_shared_s_length); + const f_string_static_t fake_build_setting_name_path_object_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_object_static_s, 0, FAKE_build_setting_name_path_object_static_s_length); + const f_string_static_t fake_build_setting_name_path_program_script_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_program_script_s, 0, FAKE_build_setting_name_path_program_script_s_length); + const f_string_static_t fake_build_setting_name_path_program_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_program_shared_s, 0, FAKE_build_setting_name_path_program_shared_s_length); + const f_string_static_t fake_build_setting_name_path_program_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_program_static_s, 0, FAKE_build_setting_name_path_program_static_s_length); + const f_string_static_t fake_build_setting_name_path_sources_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_sources_s, 0, FAKE_build_setting_name_path_sources_s_length); + const f_string_static_t fake_build_setting_name_path_sources_object_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_sources_object_s, 0, FAKE_build_setting_name_path_sources_object_s_length); + const f_string_static_t fake_build_setting_name_preserve_path_headers_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_preserve_path_headers_s, 0, FAKE_build_setting_name_preserve_path_headers_s_length); + const f_string_static_t fake_build_setting_name_process_post_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_process_post_s, 0, FAKE_build_setting_name_process_post_s_length); + const f_string_static_t fake_build_setting_name_process_pre_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_process_pre_s, 0, FAKE_build_setting_name_process_pre_s_length); + const f_string_static_t fake_build_setting_name_search_exclusive_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_search_exclusive_s, 0, FAKE_build_setting_name_search_exclusive_s_length); + const f_string_static_t fake_build_setting_name_search_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_search_shared_s, 0, FAKE_build_setting_name_search_shared_s_length); + const f_string_static_t fake_build_setting_name_search_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_search_static_s, 0, FAKE_build_setting_name_search_static_s_length); + const f_string_static_t fake_build_setting_name_version_file_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_version_file_s, 0, FAKE_build_setting_name_version_file_s_length); + const f_string_static_t fake_build_setting_name_version_major_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_version_major_s, 0, FAKE_build_setting_name_version_major_s_length); + const f_string_static_t fake_build_setting_name_version_major_prefix_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_version_major_prefix_s, 0, FAKE_build_setting_name_version_major_prefix_s_length); + const f_string_static_t fake_build_setting_name_version_micro_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_version_micro_s, 0, FAKE_build_setting_name_version_micro_s_length); + const f_string_static_t fake_build_setting_name_version_micro_prefix_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_version_micro_prefix_s, 0, FAKE_build_setting_name_version_micro_prefix_s_length); + const f_string_static_t fake_build_setting_name_version_minor_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_version_minor_s, 0, FAKE_build_setting_name_version_minor_s_length); + const f_string_static_t fake_build_setting_name_version_minor_prefix_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_version_minor_prefix_s, 0, FAKE_build_setting_name_version_minor_prefix_s_length); + const f_string_static_t fake_build_setting_name_version_nano_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_version_nano_s, 0, FAKE_build_setting_name_version_nano_s_length); + const f_string_static_t fake_build_setting_name_version_nano_prefix_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_version_nano_prefix_s, 0, FAKE_build_setting_name_version_nano_prefix_s_length); + const f_string_static_t fake_build_setting_name_version_target_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_version_target_s, 0, FAKE_build_setting_name_version_target_s_length); +#endif // _di_fake_build_setting_t_ + +#ifndef _di_fake_build_stage_t_ + const f_string_static_t fake_build_stage_built_s = macro_f_string_static_t_initialize(FAKE_build_stage_built_s, 0, FAKE_build_stage_built_s_length); + const f_string_static_t fake_build_stage_library_script_s = macro_f_string_static_t_initialize(FAKE_build_stage_library_script_s, 0, FAKE_build_stage_library_script_s_length); + const f_string_static_t fake_build_stage_library_shared_s = macro_f_string_static_t_initialize(FAKE_build_stage_library_shared_s, 0, FAKE_build_stage_library_shared_s_length); + const f_string_static_t fake_build_stage_library_static_s = macro_f_string_static_t_initialize(FAKE_build_stage_library_static_s, 0, FAKE_build_stage_library_static_s_length); + const f_string_static_t fake_build_stage_object_script_s = macro_f_string_static_t_initialize(FAKE_build_stage_object_script_s, 0, FAKE_build_stage_object_script_s_length); + const f_string_static_t fake_build_stage_object_shared_s = macro_f_string_static_t_initialize(FAKE_build_stage_object_shared_s, 0, FAKE_build_stage_object_shared_s_length); + const f_string_static_t fake_build_stage_object_static_s = macro_f_string_static_t_initialize(FAKE_build_stage_object_static_s, 0, FAKE_build_stage_object_static_s_length); + const f_string_static_t fake_build_stage_objects_static_s = macro_f_string_static_t_initialize(FAKE_build_stage_objects_static_s, 0, FAKE_build_stage_objects_static_s_length); + const f_string_static_t fake_build_stage_process_post_s = macro_f_string_static_t_initialize(FAKE_build_stage_process_post_s, 0, FAKE_build_stage_process_post_s_length); + const f_string_static_t fake_build_stage_process_pre_s = macro_f_string_static_t_initialize(FAKE_build_stage_process_pre_s, 0, FAKE_build_stage_process_pre_s_length); + const f_string_static_t fake_build_stage_program_script_s = macro_f_string_static_t_initialize(FAKE_build_stage_program_script_s, 0, FAKE_build_stage_program_script_s_length); + const f_string_static_t fake_build_stage_program_shared_s = macro_f_string_static_t_initialize(FAKE_build_stage_program_shared_s, 0, FAKE_build_stage_program_shared_s_length); + const f_string_static_t fake_build_stage_program_static_s = macro_f_string_static_t_initialize(FAKE_build_stage_program_static_s, 0, FAKE_build_stage_program_static_s_length); + const f_string_static_t fake_build_stage_separate_s = macro_f_string_static_t_initialize(FAKE_build_stage_separate_s, 0, FAKE_build_stage_separate_s_length); + const f_string_static_t fake_build_stage_skeleton_s = macro_f_string_static_t_initialize(FAKE_build_stage_skeleton_s, 0, FAKE_build_stage_skeleton_s_length); + const f_string_static_t fake_build_stage_sources_documentation_s = macro_f_string_static_t_initialize(FAKE_build_stage_sources_documentation_s, 0, FAKE_build_stage_sources_documentation_s_length); + const f_string_static_t fake_build_stage_sources_headers_s = macro_f_string_static_t_initialize(FAKE_build_stage_sources_headers_s, 0, FAKE_build_stage_sources_headers_s_length); + const f_string_static_t fake_build_stage_sources_script_s = macro_f_string_static_t_initialize(FAKE_build_stage_sources_script_s, 0, FAKE_build_stage_sources_script_s_length); + const f_string_static_t fake_build_stage_sources_settings_s = macro_f_string_static_t_initialize(FAKE_build_stage_sources_settings_s, 0, FAKE_build_stage_sources_settings_s_length); +#endif // _di_fake_build_stage_t_ + +#ifndef _di_fake_build_parameter_ + const f_string_static_t fake_build_parameter_library_include_s = macro_f_string_static_t_initialize(FAKE_build_parameter_library_include_s, 0, FAKE_build_parameter_library_include_s_length); + const f_string_static_t fake_build_parameter_library_link_file_s = macro_f_string_static_t_initialize(FAKE_build_parameter_library_link_file_s, 0, FAKE_build_parameter_library_link_file_s_length); + const f_string_static_t fake_build_parameter_library_link_path_s = macro_f_string_static_t_initialize(FAKE_build_parameter_library_link_path_s, 0, FAKE_build_parameter_library_link_path_s_length); + const f_string_static_t fake_build_parameter_library_name_prefix_s = macro_f_string_static_t_initialize(FAKE_build_parameter_library_name_prefix_s, 0, FAKE_build_parameter_library_name_prefix_s_length); + const f_string_static_t fake_build_parameter_library_name_suffix_shared_s = macro_f_string_static_t_initialize(FAKE_build_parameter_library_name_suffix_shared_s, 0, FAKE_build_parameter_library_name_suffix_shared_s_length); + const f_string_static_t fake_build_parameter_library_name_suffix_static_s = macro_f_string_static_t_initialize(FAKE_build_parameter_library_name_suffix_static_s, 0, FAKE_build_parameter_library_name_suffix_static_s_length); + const f_string_static_t fake_build_parameter_library_output_s = macro_f_string_static_t_initialize(FAKE_build_parameter_library_output_s, 0, FAKE_build_parameter_library_output_s_length); + const f_string_static_t fake_build_parameter_library_shared_s = macro_f_string_static_t_initialize(FAKE_build_parameter_library_shared_s, 0, FAKE_build_parameter_library_shared_s_length); + const f_string_static_t fake_build_parameter_library_static_s = macro_f_string_static_t_initialize(FAKE_build_parameter_library_static_s, 0, FAKE_build_parameter_library_static_s_length); + const f_string_static_t fake_build_parameter_library_shared_prefix_s = macro_f_string_static_t_initialize(FAKE_build_parameter_library_shared_prefix_s, 0, FAKE_build_parameter_library_shared_prefix_s_length); + + const f_string_static_t fake_build_parameter_object_compile_s = macro_f_string_static_t_initialize(FAKE_build_parameter_object_compile_s, 0, FAKE_build_parameter_object_compile_s_length); + const f_string_static_t fake_build_parameter_object_name_suffix_s = macro_f_string_static_t_initialize(FAKE_build_parameter_object_name_suffix_s, 0, FAKE_build_parameter_object_name_suffix_s_length); + const f_string_static_t fake_build_parameter_object_output_s = macro_f_string_static_t_initialize(FAKE_build_parameter_object_output_s, 0, FAKE_build_parameter_object_output_s_length); + const f_string_static_t fake_build_parameter_object_static_s = macro_f_string_static_t_initialize(FAKE_build_parameter_object_static_s, 0, FAKE_build_parameter_object_static_s_length); +#endif // _di_fake_build_parameter_ + +#ifndef _di_fake_common_ + const f_string_static_t fake_common_file_path_access_s = macro_f_string_static_t_initialize(FAKE_common_file_path_access_s, 0, FAKE_common_file_path_access_s_length); + const f_string_static_t fake_common_file_directory_copy_s = macro_f_string_static_t_initialize(FAKE_common_file_directory_copy_s, 0, FAKE_common_file_directory_copy_s_length); + const f_string_static_t fake_common_file_path_change_to_s = macro_f_string_static_t_initialize(FAKE_common_file_path_change_to_s, 0, FAKE_common_file_path_change_to_s_length); + const f_string_static_t fake_common_file_path_determine_real_s = macro_f_string_static_t_initialize(FAKE_common_file_path_determine_real_s, 0, FAKE_common_file_path_determine_real_s_length); + const f_string_static_t fake_common_file_path_stack_s = macro_f_string_static_t_initialize(FAKE_common_file_path_stack_s, 0, FAKE_common_file_path_stack_s_length); + const f_string_static_t fake_common_file_populate_pre_s = macro_f_string_static_t_initialize(FAKE_common_file_populate_pre_s, 0, FAKE_common_file_populate_pre_s_length); + + const f_string_static_t fake_common_setting_bool_yes_s = macro_f_string_static_t_initialize(FAKE_common_setting_bool_yes_s, 0, FAKE_common_setting_bool_yes_s_length); + const f_string_static_t fake_common_setting_bool_no_s = macro_f_string_static_t_initialize(FAKE_common_setting_bool_no_s, 0, FAKE_common_setting_bool_no_s_length); + + const f_string_static_t fake_common_setting_list_s = macro_f_string_static_t_initialize(FAKE_common_setting_list_s, 0, FAKE_common_setting_list_s_length); +#endif // _di_fake_common_ + +#ifndef _di_fake_make_section_ + const f_string_static_t fake_make_section_main_s = macro_f_string_static_t_initialize(FAKE_make_section_main_s, 0, FAKE_make_section_main_s_length); + const f_string_static_t fake_make_section_settings_s = macro_f_string_static_t_initialize(FAKE_make_section_settings_s, 0, FAKE_make_section_settings_s_length); +#endif // _di_fake_make_section_ + +#ifndef _di_fake_make_setting_t_ + const f_string_static_t fake_make_setting_compiler_s = macro_f_string_static_t_initialize(FAKE_make_setting_compiler_s, 0, FAKE_make_setting_compiler_s_length); + const f_string_static_t fake_make_setting_define_s = macro_f_string_static_t_initialize(FAKE_make_setting_define_s, 0, FAKE_make_setting_define_s_length); + const f_string_static_t fake_make_setting_environment_s = macro_f_string_static_t_initialize(FAKE_make_setting_environment_s, 0, FAKE_make_setting_environment_s_length); + const f_string_static_t fake_make_setting_fail_s = macro_f_string_static_t_initialize(FAKE_make_setting_fail_s, 0, FAKE_make_setting_fail_s_length); + const f_string_static_t fake_make_setting_indexer_s = macro_f_string_static_t_initialize(FAKE_make_setting_indexer_s, 0, FAKE_make_setting_indexer_s_length); + const f_string_static_t fake_make_setting_indexer_arguments_s = macro_f_string_static_t_initialize(FAKE_make_setting_indexer_arguments_s, 0, FAKE_make_setting_indexer_arguments_s_length); + const f_string_static_t fake_make_setting_load_build_s = macro_f_string_static_t_initialize(FAKE_make_setting_load_build_s, 0, FAKE_make_setting_load_build_s_length); + const f_string_static_t fake_make_setting_parameter_s = macro_f_string_static_t_initialize(FAKE_make_setting_parameter_s, 0, FAKE_make_setting_parameter_s_length); + const f_string_static_t fake_make_setting_return_s = macro_f_string_static_t_initialize(FAKE_make_setting_return_s, 0, FAKE_make_setting_return_s_length); +#endif // _di_fake_make_setting_t_ + +#ifndef _di_fake_make_operation_ + const f_string_static_t fake_make_operation_and_s = macro_f_string_static_t_initialize(FAKE_make_operation_and_s, 0, FAKE_make_operation_and_s_length); + const f_string_static_t fake_make_operation_break_s = macro_f_string_static_t_initialize(FAKE_make_operation_break_s, 0, FAKE_make_operation_break_s_length); + const f_string_static_t fake_make_operation_build_s = macro_f_string_static_t_initialize(FAKE_make_operation_build_s, 0, FAKE_make_operation_build_s_length); + const f_string_static_t fake_make_operation_clean_s = macro_f_string_static_t_initialize(FAKE_make_operation_clean_s, 0, FAKE_make_operation_clean_s_length); + const f_string_static_t fake_make_operation_clone_s = macro_f_string_static_t_initialize(FAKE_make_operation_clone_s, 0, FAKE_make_operation_clone_s_length); + const f_string_static_t fake_make_operation_compile_s = macro_f_string_static_t_initialize(FAKE_make_operation_compile_s, 0, FAKE_make_operation_compile_s_length); + const f_string_static_t fake_make_operation_copy_s = macro_f_string_static_t_initialize(FAKE_make_operation_copy_s, 0, FAKE_make_operation_copy_s_length); + const f_string_static_t fake_make_operation_define_s = macro_f_string_static_t_initialize(FAKE_make_operation_define_s, 0, FAKE_make_operation_define_s_length); + const f_string_static_t fake_make_operation_delete_s = macro_f_string_static_t_initialize(FAKE_make_operation_delete_s, 0, FAKE_make_operation_delete_s_length); + const f_string_static_t fake_make_operation_deletes_s = macro_f_string_static_t_initialize(FAKE_make_operation_deletes_s, 0, FAKE_make_operation_deletes_s_length); + const f_string_static_t fake_make_operation_else_s = macro_f_string_static_t_initialize(FAKE_make_operation_else_s, 0, FAKE_make_operation_else_s_length); + const f_string_static_t fake_make_operation_exit_s = macro_f_string_static_t_initialize(FAKE_make_operation_exit_s, 0, FAKE_make_operation_exit_s_length); + const f_string_static_t fake_make_operation_fail_s = macro_f_string_static_t_initialize(FAKE_make_operation_fail_s, 0, FAKE_make_operation_fail_s_length); + const f_string_static_t fake_make_operation_group_s = macro_f_string_static_t_initialize(FAKE_make_operation_group_s, 0, FAKE_make_operation_group_s_length); + const f_string_static_t fake_make_operation_groups_s = macro_f_string_static_t_initialize(FAKE_make_operation_groups_s, 0, FAKE_make_operation_groups_s_length); + const f_string_static_t fake_make_operation_if_s = macro_f_string_static_t_initialize(FAKE_make_operation_if_s, 0, FAKE_make_operation_if_s_length); + const f_string_static_t fake_make_operation_index_s = macro_f_string_static_t_initialize(FAKE_make_operation_index_s, 0, FAKE_make_operation_index_s_length); + const f_string_static_t fake_make_operation_link_s = macro_f_string_static_t_initialize(FAKE_make_operation_link_s, 0, FAKE_make_operation_link_s_length); + const f_string_static_t fake_make_operation_mode_s = macro_f_string_static_t_initialize(FAKE_make_operation_mode_s, 0, FAKE_make_operation_mode_s_length); + const f_string_static_t fake_make_operation_modes_s = macro_f_string_static_t_initialize(FAKE_make_operation_modes_s, 0, FAKE_make_operation_modes_s_length); + const f_string_static_t fake_make_operation_move_s = macro_f_string_static_t_initialize(FAKE_make_operation_move_s, 0, FAKE_make_operation_move_s_length); + const f_string_static_t fake_make_operation_operate_s = macro_f_string_static_t_initialize(FAKE_make_operation_operate_s, 0, FAKE_make_operation_operate_s_length); + const f_string_static_t fake_make_operation_or_s = macro_f_string_static_t_initialize(FAKE_make_operation_or_s, 0, FAKE_make_operation_or_s_length); + const f_string_static_t fake_make_operation_owner_s = macro_f_string_static_t_initialize(FAKE_make_operation_owner_s, 0, FAKE_make_operation_owner_s_length); + const f_string_static_t fake_make_operation_owners_s = macro_f_string_static_t_initialize(FAKE_make_operation_owners_s, 0, FAKE_make_operation_owners_s_length); + const f_string_static_t fake_make_operation_parameter_s = macro_f_string_static_t_initialize(FAKE_make_operation_parameter_s, 0, FAKE_make_operation_parameter_s_length); + const f_string_static_t fake_make_operation_pop_s = macro_f_string_static_t_initialize(FAKE_make_operation_pop_s, 0, FAKE_make_operation_pop_s_length); + const f_string_static_t fake_make_operation_print_s = macro_f_string_static_t_initialize(FAKE_make_operation_print_s, 0, FAKE_make_operation_print_s_length); + const f_string_static_t fake_make_operation_run_s = macro_f_string_static_t_initialize(FAKE_make_operation_run_s, 0, FAKE_make_operation_run_s_length); + const f_string_static_t fake_make_operation_shell_s = macro_f_string_static_t_initialize(FAKE_make_operation_shell_s, 0, FAKE_make_operation_shell_s_length); + const f_string_static_t fake_make_operation_skeleton_s = macro_f_string_static_t_initialize(FAKE_make_operation_skeleton_s, 0, FAKE_make_operation_skeleton_s_length); + const f_string_static_t fake_make_operation_to_s = macro_f_string_static_t_initialize(FAKE_make_operation_to_s, 0, FAKE_make_operation_to_s_length); + const f_string_static_t fake_make_operation_top_s = macro_f_string_static_t_initialize(FAKE_make_operation_top_s, 0, FAKE_make_operation_top_s_length); + const f_string_static_t fake_make_operation_touch_s = macro_f_string_static_t_initialize(FAKE_make_operation_touch_s, 0, FAKE_make_operation_touch_s_length); + const f_string_static_t fake_make_operation_write_s = macro_f_string_static_t_initialize(FAKE_make_operation_write_s, 0, FAKE_make_operation_write_s_length); + + const f_string_static_t fake_make_operation_argument_directory_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_directory_s, 0, FAKE_make_operation_argument_directory_s_length); + const f_string_static_t fake_make_operation_argument_environment_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_environment_s, 0, FAKE_make_operation_argument_environment_s_length); + const f_string_static_t fake_make_operation_argument_error_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_error_s, 0, FAKE_make_operation_argument_error_s_length); + const f_string_static_t fake_make_operation_argument_exit_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_exit_s, 0, FAKE_make_operation_argument_exit_s_length); + const f_string_static_t fake_make_operation_argument_failure_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_failure_s, 0, FAKE_make_operation_argument_failure_s_length); + const f_string_static_t fake_make_operation_argument_file_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_file_s, 0, FAKE_make_operation_argument_file_s_length); + const f_string_static_t fake_make_operation_argument_force_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_force_s, 0, FAKE_make_operation_argument_force_s_length); + const f_string_static_t fake_make_operation_argument_has_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_has_s, 0, FAKE_make_operation_argument_has_s_length); + const f_string_static_t fake_make_operation_argument_ignore_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_ignore_s, 0, FAKE_make_operation_argument_ignore_s_length); + const f_string_static_t fake_make_operation_argument_is_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_is_s, 0, FAKE_make_operation_argument_is_s_length); + const f_string_static_t fake_make_operation_argument_no_dereference_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_no_dereference_s, 0, FAKE_make_operation_argument_no_dereference_s_length); + const f_string_static_t fake_make_operation_argument_parameter_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_parameter_s, 0, FAKE_make_operation_argument_parameter_s_length); + const f_string_static_t fake_make_operation_argument_point_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_point_s, 0, FAKE_make_operation_argument_point_s_length); + const f_string_static_t fake_make_operation_argument_recursive_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_recursive_s, 0, FAKE_make_operation_argument_recursive_s_length); + const f_string_static_t fake_make_operation_argument_strict_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_strict_s, 0, FAKE_make_operation_argument_strict_s_length); + const f_string_static_t fake_make_operation_argument_success_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_success_s, 0, FAKE_make_operation_argument_success_s_length); + const f_string_static_t fake_make_operation_argument_target_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_target_s, 0, FAKE_make_operation_argument_target_s_length); + const f_string_static_t fake_make_operation_argument_warn_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_warn_s, 0, FAKE_make_operation_argument_warn_s_length); + + const f_string_static_t fake_make_operation_argument_if_define_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_if_define_s, 0, FAKE_make_operation_argument_if_define_s_length); + const f_string_static_t fake_make_operation_argument_if_equal_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_if_equal_s, 0, FAKE_make_operation_argument_if_equal_s_length); + const f_string_static_t fake_make_operation_argument_if_equal_not_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_if_equal_not_s, 0, FAKE_make_operation_argument_if_equal_not_s_length); + const f_string_static_t fake_make_operation_argument_if_exist_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_if_exist_s, 0, FAKE_make_operation_argument_if_exist_s_length); + const f_string_static_t fake_make_operation_argument_if_failure_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_if_failure_s, 0, FAKE_make_operation_argument_if_failure_s_length); + const f_string_static_t fake_make_operation_argument_if_greater_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_if_greater_s, 0, FAKE_make_operation_argument_if_greater_s_length); + const f_string_static_t fake_make_operation_argument_if_greater_equal_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_if_greater_equal_s, 0, FAKE_make_operation_argument_if_greater_equal_s_length); + const f_string_static_t fake_make_operation_argument_if_group_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_if_group_s, 0, FAKE_make_operation_argument_if_group_s_length); + const f_string_static_t fake_make_operation_argument_if_is_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_if_is_s, 0, FAKE_make_operation_argument_if_is_s_length); + const f_string_static_t fake_make_operation_argument_if_is_for_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_if_is_for_s, 0, FAKE_make_operation_argument_if_is_for_s_length); + const f_string_static_t fake_make_operation_argument_if_less_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_if_less_s, 0, FAKE_make_operation_argument_if_less_s_length); + const f_string_static_t fake_make_operation_argument_if_less_equal_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_if_less_equal_s, 0, FAKE_make_operation_argument_if_less_equal_s_length); + const f_string_static_t fake_make_operation_argument_if_mode_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_if_mode_s, 0, FAKE_make_operation_argument_if_mode_s_length); + const f_string_static_t fake_make_operation_argument_if_not_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_if_not_s, 0, FAKE_make_operation_argument_if_not_s_length); + const f_string_static_t fake_make_operation_argument_if_owner_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_if_owner_s, 0, FAKE_make_operation_argument_if_owner_s_length); + const f_string_static_t fake_make_operation_argument_if_parameter_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_if_parameter_s, 0, FAKE_make_operation_argument_if_parameter_s_length); + const f_string_static_t fake_make_operation_argument_if_success_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_if_success_s, 0, FAKE_make_operation_argument_if_success_s_length); +#endif // _di_fake_make_operation_ + +#ifndef _di_fake_make_parameter_t_ + const f_string_static_t fake_make_parameter_iki_option_s = macro_f_string_static_t_initialize(FAKE_make_parameter_iki_option_s, 0, FAKE_make_parameter_iki_option_s_length); + const f_string_static_t fake_make_parameter_iki_value_s = macro_f_string_static_t_initialize(FAKE_make_parameter_iki_value_s, 0, FAKE_make_parameter_iki_value_s_length); + + const f_string_static_t fake_make_parameter_variable_build_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_build_s, 0, FAKE_make_parameter_variable_build_s_length); + const f_string_static_t fake_make_parameter_variable_color_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_color_s, 0, FAKE_make_parameter_variable_color_s_length); + const f_string_static_t fake_make_parameter_variable_current_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_current_s, 0, FAKE_make_parameter_variable_current_s_length); + const f_string_static_t fake_make_parameter_variable_data_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_data_s, 0, FAKE_make_parameter_variable_data_s_length); + const f_string_static_t fake_make_parameter_variable_define_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_define_s, 0, FAKE_make_parameter_variable_define_s_length); + const f_string_static_t fake_make_parameter_variable_documents_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_documents_s, 0, FAKE_make_parameter_variable_documents_s_length); + const f_string_static_t fake_make_parameter_variable_fakefile_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_fakefile_s, 0, FAKE_make_parameter_variable_fakefile_s_length); + const f_string_static_t fake_make_parameter_variable_licenses_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_licenses_s, 0, FAKE_make_parameter_variable_licenses_s_length); + const f_string_static_t fake_make_parameter_variable_mode_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_mode_s, 0, FAKE_make_parameter_variable_mode_s_length); + const f_string_static_t fake_make_parameter_variable_process_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_process_s, 0, FAKE_make_parameter_variable_process_s_length); + const f_string_static_t fake_make_parameter_variable_return_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_return_s, 0, FAKE_make_parameter_variable_return_s_length); + const f_string_static_t fake_make_parameter_variable_settings_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_settings_s, 0, FAKE_make_parameter_variable_settings_s_length); + const f_string_static_t fake_make_parameter_variable_sources_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_sources_s, 0, FAKE_make_parameter_variable_sources_s_length); + const f_string_static_t fake_make_parameter_variable_top_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_top_s, 0, FAKE_make_parameter_variable_top_s_length); + const f_string_static_t fake_make_parameter_variable_verbosity_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_verbosity_s, 0, FAKE_make_parameter_variable_verbosity_s_length); + const f_string_static_t fake_make_parameter_variable_work_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_work_s, 0, FAKE_make_parameter_variable_work_s_length); + + const f_string_static_t fake_make_parameter_variable_option_build_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_option_build_s, 0, FAKE_make_parameter_variable_option_build_s_length); + const f_string_static_t fake_make_parameter_variable_option_color_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_option_color_s, 0, FAKE_make_parameter_variable_option_color_s_length); + const f_string_static_t fake_make_parameter_variable_option_data_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_option_data_s, 0, FAKE_make_parameter_variable_option_data_s_length); + const f_string_static_t fake_make_parameter_variable_option_define_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_option_define_s, 0, FAKE_make_parameter_variable_option_define_s_length); + const f_string_static_t fake_make_parameter_variable_option_documents_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_option_documents_s, 0, FAKE_make_parameter_variable_option_documents_s_length); + const f_string_static_t fake_make_parameter_variable_option_fakefile_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_option_fakefile_s, 0, FAKE_make_parameter_variable_option_fakefile_s_length); + const f_string_static_t fake_make_parameter_variable_option_licenses_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_option_licenses_s, 0, FAKE_make_parameter_variable_option_licenses_s_length); + const f_string_static_t fake_make_parameter_variable_option_mode_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_option_mode_s, 0, FAKE_make_parameter_variable_option_mode_s_length); + const f_string_static_t fake_make_parameter_variable_option_process_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_option_process_s, 0, FAKE_make_parameter_variable_option_process_s_length); + const f_string_static_t fake_make_parameter_variable_option_settings_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_option_settings_s, 0, FAKE_make_parameter_variable_option_settings_s_length); + const f_string_static_t fake_make_parameter_variable_option_sources_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_option_sources_s, 0, FAKE_make_parameter_variable_option_sources_s_length); + const f_string_static_t fake_make_parameter_variable_option_verbosity_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_option_verbosity_s, 0, FAKE_make_parameter_variable_option_verbosity_s_length); + const f_string_static_t fake_make_parameter_variable_option_work_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_option_work_s, 0, FAKE_make_parameter_variable_option_work_s_length); + + const f_string_static_t fake_make_parameter_variable_value_build_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_value_build_s, 0, FAKE_make_parameter_variable_value_build_s_length); + const f_string_static_t fake_make_parameter_variable_value_color_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_value_color_s, 0, FAKE_make_parameter_variable_value_color_s_length); + const f_string_static_t fake_make_parameter_variable_value_data_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_value_data_s, 0, FAKE_make_parameter_variable_value_data_s_length); + const f_string_static_t fake_make_parameter_variable_value_define_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_value_define_s, 0, FAKE_make_parameter_variable_value_define_s_length); + const f_string_static_t fake_make_parameter_variable_value_documents_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_value_documents_s, 0, FAKE_make_parameter_variable_value_documents_s_length); + const f_string_static_t fake_make_parameter_variable_value_fakefile_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_value_fakefile_s, 0, FAKE_make_parameter_variable_value_fakefile_s_length); + const f_string_static_t fake_make_parameter_variable_value_licenses_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_value_licenses_s, 0, FAKE_make_parameter_variable_value_licenses_s_length); + const f_string_static_t fake_make_parameter_variable_value_mode_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_value_mode_s, 0, FAKE_make_parameter_variable_value_mode_s_length); + const f_string_static_t fake_make_parameter_variable_value_process_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_value_process_s, 0, FAKE_make_parameter_variable_value_process_s_length); + const f_string_static_t fake_make_parameter_variable_value_settings_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_value_settings_s, 0, FAKE_make_parameter_variable_value_settings_s_length); + const f_string_static_t fake_make_parameter_variable_value_sources_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_value_sources_s, 0, FAKE_make_parameter_variable_value_sources_s_length); + const f_string_static_t fake_make_parameter_variable_value_verbosity_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_value_verbosity_s, 0, FAKE_make_parameter_variable_value_verbosity_s_length); + const f_string_static_t fake_make_parameter_variable_value_work_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_value_work_s, 0, FAKE_make_parameter_variable_value_work_s_length); +#endif // _di_fake_make_parameter_t_ + +#ifndef _di_fake_skeleton_content_ + const f_string_static_t fake_make_skeleton_content_defines_s = macro_f_string_static_t_initialize(FAKE_make_skeleton_content_defines_s, 0, FAKE_make_skeleton_content_defines_s_length); + const f_string_static_t fake_make_skeleton_content_dependencies_s = macro_f_string_static_t_initialize(FAKE_make_skeleton_content_dependencies_s, 0, FAKE_make_skeleton_content_dependencies_s_length); + const f_string_static_t fake_make_skeleton_content_fakefile_s = macro_f_string_static_t_initialize(FAKE_make_skeleton_content_fakefile_s, 0, FAKE_make_skeleton_content_fakefile_s_length); + const f_string_static_t fake_make_skeleton_content_process_post_s = macro_f_string_static_t_initialize(FAKE_make_skeleton_content_process_post_s, 0, FAKE_make_skeleton_content_process_post_s_length); + const f_string_static_t fake_make_skeleton_content_process_pre_s = macro_f_string_static_t_initialize(FAKE_make_skeleton_content_process_pre_s, 0, FAKE_make_skeleton_content_process_pre_s_length); + const f_string_static_t fake_make_skeleton_content_settings_s = macro_f_string_static_t_initialize(FAKE_make_skeleton_content_settings_s, 0, FAKE_make_skeleton_content_settings_s_length); +#endif // _di_fake_skeleton_content_ + +#ifndef _di_fake_make_context_ + const f_string_static_t fake_make_context_error_s = macro_f_string_static_t_initialize(FAKE_make_context_error_s, 0, FAKE_make_context_error_s_length); + const f_string_static_t fake_make_context_important_s = macro_f_string_static_t_initialize(FAKE_make_context_important_s, 0, FAKE_make_context_important_s_length); + const f_string_static_t fake_make_context_normal_s = macro_f_string_static_t_initialize(FAKE_make_context_normal_s, 0, FAKE_make_context_normal_s_length); + const f_string_static_t fake_make_context_notable_s = macro_f_string_static_t_initialize(FAKE_make_context_notable_s, 0, FAKE_make_context_notable_s_length); + const f_string_static_t fake_make_context_reset_s = macro_f_string_static_t_initialize(FAKE_make_context_reset_s, 0, FAKE_make_context_reset_s_length); + const f_string_static_t fake_make_context_standout_s = macro_f_string_static_t_initialize(FAKE_make_context_standout_s, 0, FAKE_make_context_standout_s_length); + const f_string_static_t fake_make_context_success_s = macro_f_string_static_t_initialize(FAKE_make_context_success_s, 0, FAKE_make_context_success_s_length); + const f_string_static_t fake_make_context_title_s = macro_f_string_static_t_initialize(FAKE_make_context_title_s, 0, FAKE_make_context_title_s_length); + const f_string_static_t fake_make_context_warning_s = macro_f_string_static_t_initialize(FAKE_make_context_warning_s, 0, FAKE_make_context_warning_s_length); +#endif // _di_fake_make_context_ + +#ifndef _di_fake_file_data_build_strings_ + const f_string_static_t fake_file_data_build_process_post_s = macro_f_string_static_t_initialize(FAKE_file_data_build_process_post_s, 0, FAKE_file_data_build_process_post_s_length); + const f_string_static_t fake_file_data_build_process_pre_s = macro_f_string_static_t_initialize(FAKE_file_data_build_process_pre_s, 0, FAKE_file_data_build_process_pre_s_length); +#endif // _di_fake_file_data_build_strings_ + +#ifdef __cplusplus +} // extern "C" +#endif diff --git a/level_3/fake/c/main/common/string.h b/level_3/fake/c/main/common/string.h new file mode 100644 index 0000000..b30b90a --- /dev/null +++ b/level_3/fake/c/main/common/string.h @@ -0,0 +1,1278 @@ +/** + * FLL - Level 3 + * + * Project: Featureless Make + * API Version: 0.7 + * Licenses: lgpl-2.1-or-later + * + * Provides the common string structures. + * + * This is auto-included and should not need to be explicitly included. + */ +#ifndef _fake_common_string_h +#define _fake_common_string_h + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * The program version. + */ +#ifndef _di_fake_program_version_s_ + #define FAKE_program_version_major_s F_string_ascii_0_s + #define FAKE_program_version_minor_s F_string_ascii_7_s + #define FAKE_program_version_micro_s F_string_ascii_0_s + + #define FAKE_program_version_major_s_length F_string_ascii_0_s_length + #define FAKE_program_version_minor_s_length F_string_ascii_7_s_length + #define FAKE_program_version_micro_s_length F_string_ascii_0_s_length + + #ifndef FAKE_program_version_nano_prefix_s + #define FAKE_program_version_nano_prefix_s + #define FAKE_program_version_nano_prefix_s_length 0 + #endif // FAKE_program_version_major_s_length F_string_ascii_0_s_length + + #ifndef FAKE_program_version_nano_s + #define FAKE_program_version_nano_s + #define FAKE_program_version_nano_s_length 0 + #endif // FAKE_program_version_nano_s + + #define FAKE_program_version_s FAKE_program_version_major_s F_string_ascii_period_s FAKE_program_version_minor_s F_string_ascii_period_s FAKE_program_version_micro_s FAKE_program_version_nano_prefix_s FAKE_program_version_nano_s + + #define FAKE_program_version_s_length FAKE_program_version_major_s_length + F_string_ascii_period_s_length + FAKE_program_version_minor_s_length + F_string_ascii_period_s_length + FAKE_program_version_micro_s_length + FAKE_program_version_nano_prefix_s_length + FAKE_program_version_nano_s_length + + extern const f_string_static_t fake_program_version_s; +#endif // _di_fake_program_version_s_ + +/** + * The program name. + */ +#ifndef _di_fake_program_name_s_ + #define FAKE_program_name_s "fake" + #define FAKE_program_name_long_s "Featureless Make" + + #define FAKE_program_name_s_length 4 + #define FAKE_program_name_long_s_length 16 + + extern const f_string_static_t fake_program_name_s; + extern const f_string_static_t fake_program_name_long_s; +#endif // _di_fake_program_name_s_ + +/** + * The program help related data. + */ +#ifndef _di_fake_program_help_parameter_s_ + #define FAKE_program_help_parameters_s "operation / section" + + #define FAKE_program_help_parameters_s_length 19 + + extern const f_string_static_t fake_program_help_parameters_s; +#endif // _di_fake_program_help_parameter_s_ + +/** + * The build operation utilizes pre-defined path structures. + * These structures are hard-coded by their individual pieces to be constructed later on. + */ +#ifndef _di_fake_path_s_ + #define FAKE_path_part_build_s "build" F_path_separator_s + #define FAKE_path_part_c_s "c" F_path_separator_s + #define FAKE_path_part_cpp_s "c++" F_path_separator_s + #define FAKE_path_part_data_s "data" F_path_separator_s + #define FAKE_path_part_documentation_s "documentation" F_path_separator_s + #define FAKE_path_part_documents_s "documents" F_path_separator_s + #define FAKE_path_part_includes_s "includes" F_path_separator_s + #define FAKE_path_part_libraries_s "libraries" F_path_separator_s + #define FAKE_path_part_licenses_s "licenses" F_path_separator_s + #define FAKE_path_part_objects_s "objects" F_path_separator_s + #define FAKE_path_part_process_s "process" F_path_separator_s + #define FAKE_path_part_programs_s "programs" F_path_separator_s + #define FAKE_path_part_script_s "script" F_path_separator_s + #define FAKE_path_part_settings_s "settings" F_path_separator_s + #define FAKE_path_part_shared_s "shared" F_path_separator_s + #define FAKE_path_part_shell_s "shell" F_path_separator_s + #define FAKE_path_part_specifications_s "specifications" F_path_separator_s + #define FAKE_path_part_stage_s "stage" F_path_separator_s + #define FAKE_path_part_static_s "static" F_path_separator_s + + #define FAKE_path_part_build_s_length 5 + F_path_separator_s_length + #define FAKE_path_part_c_s_length 1 + F_path_separator_s_length + #define FAKE_path_part_cpp_s_length 3 + F_path_separator_s_length + #define FAKE_path_part_data_s_length 4 + F_path_separator_s_length + #define FAKE_path_part_documentation_s_length 13 + F_path_separator_s_length + #define FAKE_path_part_documents_s_length 9 + F_path_separator_s_length + #define FAKE_path_part_includes_s_length 8 + F_path_separator_s_length + #define FAKE_path_part_libraries_s_length 9 + F_path_separator_s_length + #define FAKE_path_part_licenses_s_length 8 + F_path_separator_s_length + #define FAKE_path_part_objects_s_length 7 + F_path_separator_s_length + #define FAKE_path_part_process_s_length 7 + F_path_separator_s_length + #define FAKE_path_part_programs_s_length 8 + F_path_separator_s_length + #define FAKE_path_part_script_s_length 6 + F_path_separator_s_length + #define FAKE_path_part_settings_s_length 8 + F_path_separator_s_length + #define FAKE_path_part_shared_s_length 6 + F_path_separator_s_length + #define FAKE_path_part_shell_s_length 5 + F_path_separator_s_length + #define FAKE_path_part_specifications_s_length 14 + F_path_separator_s_length + #define FAKE_path_part_stage_s_length 5 + F_path_separator_s_length + #define FAKE_path_part_static_s_length 6 + F_path_separator_s_length + + extern const f_string_static_t fake_path_part_build_s; + extern const f_string_static_t fake_path_part_c_s; + extern const f_string_static_t fake_path_part_cpp_s; + extern const f_string_static_t fake_path_part_data_s; + extern const f_string_static_t fake_path_part_documentation_s; + extern const f_string_static_t fake_path_part_documents_s; + extern const f_string_static_t fake_path_part_includes_s; + extern const f_string_static_t fake_path_part_libraries_s; + extern const f_string_static_t fake_path_part_licenses_s; + extern const f_string_static_t fake_path_part_objects_s; + extern const f_string_static_t fake_path_part_process_s; + extern const f_string_static_t fake_path_part_programs_s; + extern const f_string_static_t fake_path_part_script_s; + extern const f_string_static_t fake_path_part_settings_s; + extern const f_string_static_t fake_path_part_shared_s; + extern const f_string_static_t fake_path_part_shell_s; + extern const f_string_static_t fake_path_part_specifications_s; + extern const f_string_static_t fake_path_part_stage_s; + extern const f_string_static_t fake_path_part_static_s; +#endif // _di_fake_path_s_ + +/** + * The file settings. + */ +#ifndef _di_fake_file_s_ + #define FAKE_file_defines_s "defines" + #define FAKE_file_dependencies_s "dependencies" + #define FAKE_file_process_pre_s "process_pre.sh" + #define FAKE_file_process_post_s "process_post.sh" + #define FAKE_file_readme_s "readme.txt" + + #define FAKE_file_defines_s_length 7 + #define FAKE_file_dependencies_s_length 12 + #define FAKE_file_process_pre_s_length 14 + #define FAKE_file_process_post_s_length 15 + #define FAKE_file_readme_s_length 10 + + extern const f_string_static_t fake_file_defines_s; + extern const f_string_static_t fake_file_dependencies_s; + extern const f_string_static_t fake_file_process_pre_s; + extern const f_string_static_t fake_file_process_post_s; + extern const f_string_static_t fake_file_readme_s; +#endif // _di_fake_file_s_ + +/** + * Provide default settings. + */ +#ifndef _di_fake_default_s_ + #define FAKE_default_build_s "build" F_path_separator_s + #define FAKE_default_data_s "data" F_path_separator_s + #define FAKE_default_documents_s "documents" F_path_separator_s + #define FAKE_default_fakefile_s "fakefile" + #define FAKE_default_licenses_s "licenses" F_path_separator_s + #define FAKE_default_process_s "" + #define FAKE_default_settings_s "settings" + #define FAKE_default_sources_s "sources" F_path_separator_s + #define FAKE_default_work_s "" + + #define FAKE_default_build_s_length 5 + F_path_separator_s_length + #define FAKE_default_data_s_length 4 + F_path_separator_s_length + #define FAKE_default_documents_s_length 9 + F_path_separator_s_length + #define FAKE_default_fakefile_s_length 8 + #define FAKE_default_licenses_s_length 8 + F_path_separator_s_length + #define FAKE_default_process_s_length 0 + #define FAKE_default_settings_s_length 8 + #define FAKE_default_sources_s_length 7 + F_path_separator_s_length + #define FAKE_default_work_s_length 0 + + extern const f_string_static_t fake_default_build_s; + extern const f_string_static_t fake_default_data_s; + extern const f_string_static_t fake_default_documents_s; + extern const f_string_static_t fake_default_fakefile_s; + extern const f_string_static_t fake_default_licenses_s; + extern const f_string_static_t fake_default_process_s; + extern const f_string_static_t fake_default_settings_s; + extern const f_string_static_t fake_default_sources_s; + extern const f_string_static_t fake_default_work_s; +#endif // _di_fake_default_s_ + +/** + * The build language strings. + * + * fake_build_language_*_s: + * - bash: The GNU Bash language. + * - c: The C language. + * - cpp: The C++ language. + * - zsh: The ZSH language (Similar to and somewhat compatible with GNU Bash). + */ +#ifndef _di_fake_build_language_s_ + #define FAKE_build_language_bash_s "bash" + #define FAKE_build_language_c_s "c" + #define FAKE_build_language_cpp_s "c++" + #define FAKE_build_language_zsh_s "zsh" + + #define FAKE_build_language_bash_s_length 4 + #define FAKE_build_language_c_s_length 1 + #define FAKE_build_language_cpp_s_length 3 + #define FAKE_build_language_zsh_s_length 3 + + extern const f_string_static_t fake_build_language_bash_s; + extern const f_string_static_t fake_build_language_c_s; + extern const f_string_static_t fake_build_language_cpp_s; + extern const f_string_static_t fake_build_language_zsh_s; +#endif // _di_fake_build_language_s_ + +/** + * The program version strings. + */ +#ifndef _di_fake_build_version_s_ + #define FAKE_build_version_major_s "major" + #define FAKE_build_version_minor_s "minor" + #define FAKE_build_version_micro_s "micro" + #define FAKE_build_version_nano_s "nano" + + #define FAKE_build_version_major_s_length 5 + #define FAKE_build_version_minor_s_length 5 + #define FAKE_build_version_micro_s_length 5 + #define FAKE_build_version_nano_s_length 4 + + extern const f_string_static_t fake_build_version_major_s; + extern const f_string_static_t fake_build_version_minor_s; + extern const f_string_static_t fake_build_version_micro_s; + extern const f_string_static_t fake_build_version_nano_s; +#endif // _di_fake_build_version_s_ + +/** + * The main program parameters. + */ +#ifndef _di_fake_parameter_s_ + #define FAKE_short_build_s "b" + #define FAKE_short_data_s "D" + #define FAKE_short_define_s "d" + #define FAKE_short_documents_s "O" + #define FAKE_short_fakefile_s "f" + #define FAKE_short_licenses_s "l" + #define FAKE_short_mode_s "m" + #define FAKE_short_process_s "p" + #define FAKE_short_settings_s "s" + #define FAKE_short_sources_s "S" + #define FAKE_short_work_s "w" + + #define FAKE_long_build_s "build" + #define FAKE_long_data_s "data" + #define FAKE_long_define_s "define" + #define FAKE_long_documents_s "documents" + #define FAKE_long_fakefile_s "fakefile" + #define FAKE_long_licenses_s "licenses" + #define FAKE_long_mode_s "mode" + #define FAKE_long_process_s "process" + #define FAKE_long_settings_s "settings" + #define FAKE_long_sources_s "sources" + #define FAKE_long_work_s "work" + + // These special parameters are provided in such a way that they mimic the traditional ./configure script. + #define FAKE_long_documents_disabled_s "disable-doc" + #define FAKE_long_documents_enabled_s "enable-doc" + #define FAKE_long_shared_disabled_s "disable-shared" + #define FAKE_long_shared_enabled_s "enable-shared" + #define FAKE_long_static_disabled_s "disable-static" + #define FAKE_long_static_enabled_s "enable-static" + + #define FAKE_other_operation_build_s "build" + #define FAKE_other_operation_clean_s "clean" + #define FAKE_other_operation_make_s "make" + #define FAKE_other_operation_skeleton_s "skeleton" + + #define FAKE_short_build_s_length 1 + #define FAKE_short_data_s_length 1 + #define FAKE_short_define_s_length 1 + #define FAKE_short_documents_s_length 1 + #define FAKE_short_fakefile_s_length 1 + #define FAKE_short_licenses_s_length 1 + #define FAKE_short_mode_s_length 1 + #define FAKE_short_process_s_length 1 + #define FAKE_short_settings_s_length 1 + #define FAKE_short_sources_s_length 1 + #define FAKE_short_work_s_length 1 + + #define FAKE_long_build_s_length 5 + #define FAKE_long_data_s_length 4 + #define FAKE_long_define_s_length 6 + #define FAKE_long_documents_s_length 9 + #define FAKE_long_fakefile_s_length 8 + #define FAKE_long_licenses_s_length 8 + #define FAKE_long_mode_s_length 4 + #define FAKE_long_process_s_length 7 + #define FAKE_long_settings_s_length 8 + #define FAKE_long_sources_s_length 7 + #define FAKE_long_work_s_length 4 + + #define FAKE_long_documents_disabled_s_length 11 + #define FAKE_long_documents_enabled_s_length 10 + #define FAKE_long_shared_disabled_s_length 14 + #define FAKE_long_shared_enabled_s_length 13 + #define FAKE_long_static_disabled_s_length 14 + #define FAKE_long_static_enabled_s_length 13 + + #define FAKE_other_operation_build_s_length 5 + #define FAKE_other_operation_clean_s_length 5 + #define FAKE_other_operation_make_s_length 4 + #define FAKE_other_operation_skeleton_s_length 8 + + extern const f_string_static_t fake_short_build_s; + extern const f_string_static_t fake_short_data_s; + extern const f_string_static_t fake_short_define_s; + extern const f_string_static_t fake_short_documents_s; + extern const f_string_static_t fake_short_fakefile_s; + extern const f_string_static_t fake_short_licenses_s; + extern const f_string_static_t fake_short_mode_s; + extern const f_string_static_t fake_short_process_s; + extern const f_string_static_t fake_short_settings_s; + extern const f_string_static_t fake_short_sources_s; + extern const f_string_static_t fake_short_work_s; + + extern const f_string_static_t fake_long_build_s; + extern const f_string_static_t fake_long_data_s; + extern const f_string_static_t fake_long_define_s; + extern const f_string_static_t fake_long_documents_s; + extern const f_string_static_t fake_long_fakefile_s; + extern const f_string_static_t fake_long_licenses_s; + extern const f_string_static_t fake_long_mode_s; + extern const f_string_static_t fake_long_process_s; + extern const f_string_static_t fake_long_settings_s; + extern const f_string_static_t fake_long_sources_s; + extern const f_string_static_t fake_long_work_s; + + extern const f_string_static_t fake_long_documents_disabled_s; + extern const f_string_static_t fake_long_documents_enabled_s; + extern const f_string_static_t fake_long_shared_disabled_s; + extern const f_string_static_t fake_long_shared_enabled_s; + extern const f_string_static_t fake_long_static_disabled_s; + extern const f_string_static_t fake_long_static_enabled_s; + + extern const f_string_static_t fake_other_operation_build_s; + extern const f_string_static_t fake_other_operation_clean_s; + extern const f_string_static_t fake_other_operation_make_s; + extern const f_string_static_t fake_other_operation_skeleton_s; +#endif // _di_fake_parameter_s_ + +#ifndef _di_fake_build_setting_s_ + #define FAKE_build_setting_default_ar_s "ar" + #define FAKE_build_setting_default_gcc_s "gcc" + #define FAKE_build_setting_default_version_s "0" + #define FAKE_build_setting_default_version_prefix_s "." + #define FAKE_build_setting_default_yes_s "yes" + + #define FAKE_build_setting_name_build_compiler_s "build_compiler" + #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_language_s "build_language" + #define FAKE_build_setting_name_build_libraries_s "build_libraries" + #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_name_s "build_name" + #define FAKE_build_setting_name_build_objects_library_s "build_objects_library" + #define FAKE_build_setting_name_build_objects_library_shared_s "build_objects_library_shared" + #define FAKE_build_setting_name_build_objects_library_static_s "build_objects_library_static" + #define FAKE_build_setting_name_build_objects_program_s "build_objects_program" + #define FAKE_build_setting_name_build_objects_program_shared_s "build_objects_program_shared" + #define FAKE_build_setting_name_build_objects_program_static_s "build_objects_program_static" + #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_documentation_s "build_sources_documentation" + #define FAKE_build_setting_name_build_sources_headers_s "build_sources_headers" + #define FAKE_build_setting_name_build_sources_headers_shared_s "build_sources_headers_shared" + #define FAKE_build_setting_name_build_sources_headers_static_s "build_sources_headers_static" + #define FAKE_build_setting_name_build_sources_library_s "build_sources_library" + #define FAKE_build_setting_name_build_sources_library_shared_s "build_sources_library_shared" + #define FAKE_build_setting_name_build_sources_library_static_s "build_sources_library_static" + #define FAKE_build_setting_name_build_sources_object_s "build_sources_object" + #define FAKE_build_setting_name_build_sources_object_shared_s "build_sources_object_shared" + #define FAKE_build_setting_name_build_sources_object_static_s "build_sources_object_static" + #define FAKE_build_setting_name_build_sources_program_s "build_sources_program" + #define FAKE_build_setting_name_build_sources_program_shared_s "build_sources_program_shared" + #define FAKE_build_setting_name_build_sources_program_static_s "build_sources_program_static" + #define FAKE_build_setting_name_build_sources_script_s "build_sources_script" + #define FAKE_build_setting_name_build_sources_setting_s "build_sources_setting" + #define FAKE_build_setting_name_build_static_s "build_static" + #define FAKE_build_setting_name_defines_s "defines" + #define FAKE_build_setting_name_defines_library_s "defines_library" + #define FAKE_build_setting_name_defines_library_shared_s "defines_library_shared" + #define FAKE_build_setting_name_defines_library_static_s "defines_library_static" + #define FAKE_build_setting_name_defines_object_s "defines_object" + #define FAKE_build_setting_name_defines_object_shared_s "defines_object_shared" + #define FAKE_build_setting_name_defines_object_static_s "defines_object_static" + #define FAKE_build_setting_name_defines_program_s "defines_program" + #define FAKE_build_setting_name_defines_program_shared_s "defines_program_shared" + #define FAKE_build_setting_name_defines_program_static_s "defines_program_static" + #define FAKE_build_setting_name_defines_shared_s "defines_shared" + #define FAKE_build_setting_name_defines_static_s "defines_static" + #define FAKE_build_setting_name_environment_s "environment" + #define FAKE_build_setting_name_flags_s "flags" + #define FAKE_build_setting_name_flags_library_s "flags_library" + #define FAKE_build_setting_name_flags_library_shared_s "flags_library_shared" + #define FAKE_build_setting_name_flags_library_static_s "flags_library_static" + #define FAKE_build_setting_name_flags_object_s "flags_object" + #define FAKE_build_setting_name_flags_object_shared_s "flags_object_shared" + #define FAKE_build_setting_name_flags_object_static_s "flags_object_static" + #define FAKE_build_setting_name_flags_program_s "flags_program" + #define FAKE_build_setting_name_flags_program_shared_s "flags_program_shared" + #define FAKE_build_setting_name_flags_program_static_s "flags_program_static" + #define FAKE_build_setting_name_flags_shared_s "flags_shared" + #define FAKE_build_setting_name_flags_static_s "flags_static" + #define FAKE_build_setting_name_has_path_standard_s "has_path_standard" + #define FAKE_build_setting_name_modes_s "modes" + #define FAKE_build_setting_name_modes_default_s "modes_default" + #define FAKE_build_setting_name_path_headers_s "path_headers" + #define FAKE_build_setting_name_path_language_s "path_language" + #define FAKE_build_setting_name_path_library_script_s "path_library_script" + #define FAKE_build_setting_name_path_library_shared_s "path_library_shared" + #define FAKE_build_setting_name_path_library_static_s "path_library_static" + #define FAKE_build_setting_name_path_object_script_s "path_object_script" + #define FAKE_build_setting_name_path_object_shared_s "path_object_shared" + #define FAKE_build_setting_name_path_object_static_s "path_object_static" + #define FAKE_build_setting_name_path_program_script_s "path_program_script" + #define FAKE_build_setting_name_path_program_shared_s "path_program_shared" + #define FAKE_build_setting_name_path_program_static_s "path_program_static" + #define FAKE_build_setting_name_path_sources_s "path_sources" + #define FAKE_build_setting_name_path_sources_object_s "path_sources_object" + #define FAKE_build_setting_name_preserve_path_headers_s "preserve_path_headers" + #define FAKE_build_setting_name_process_post_s "process_post" + #define FAKE_build_setting_name_process_pre_s "process_pre" + #define FAKE_build_setting_name_search_exclusive_s "search_exclusive" + #define FAKE_build_setting_name_search_shared_s "search_shared" + #define FAKE_build_setting_name_search_static_s "search_static" + #define FAKE_build_setting_name_version_file_s "version_file" + #define FAKE_build_setting_name_version_major_s "version_major" + #define FAKE_build_setting_name_version_major_prefix_s "version_major_prefix" + #define FAKE_build_setting_name_version_micro_s "version_micro" + #define FAKE_build_setting_name_version_micro_prefix_s "version_micro_prefix" + #define FAKE_build_setting_name_version_minor_s "version_minor" + #define FAKE_build_setting_name_version_minor_prefix_s "version_minor_prefix" + #define FAKE_build_setting_name_version_nano_s "version_nano" + #define FAKE_build_setting_name_version_nano_prefix_s "version_nano_prefix" + #define FAKE_build_setting_name_version_target_s "version_target" + + #define FAKE_build_setting_default_ar_s_length 2 + #define FAKE_build_setting_default_gcc_s_length 3 + #define FAKE_build_setting_default_version_s_length 1 + #define FAKE_build_setting_default_version_prefix_s_length 1 + #define FAKE_build_setting_default_yes_s_length 3 + + #define FAKE_build_setting_name_build_compiler_s_length 14 + #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_language_s_length 14 + #define FAKE_build_setting_name_build_libraries_s_length 15 + #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_name_s_length 10 + #define FAKE_build_setting_name_build_objects_library_s_length 21 + #define FAKE_build_setting_name_build_objects_library_shared_s_length 28 + #define FAKE_build_setting_name_build_objects_library_static_s_length 28 + #define FAKE_build_setting_name_build_objects_program_s_length 21 + #define FAKE_build_setting_name_build_objects_program_shared_s_length 28 + #define FAKE_build_setting_name_build_objects_program_static_s_length 28 + #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_documentation_s_length 27 + #define FAKE_build_setting_name_build_sources_headers_s_length 21 + #define FAKE_build_setting_name_build_sources_headers_shared_s_length 28 + #define FAKE_build_setting_name_build_sources_headers_static_s_length 28 + #define FAKE_build_setting_name_build_sources_library_s_length 21 + #define FAKE_build_setting_name_build_sources_library_shared_s_length 28 + #define FAKE_build_setting_name_build_sources_library_static_s_length 28 + #define FAKE_build_setting_name_build_sources_object_s_length 20 + #define FAKE_build_setting_name_build_sources_object_shared_s_length 27 + #define FAKE_build_setting_name_build_sources_object_static_s_length 27 + #define FAKE_build_setting_name_build_sources_program_s_length 21 + #define FAKE_build_setting_name_build_sources_program_shared_s_length 28 + #define FAKE_build_setting_name_build_sources_program_static_s_length 28 + #define FAKE_build_setting_name_build_sources_script_s_length 20 + #define FAKE_build_setting_name_build_sources_setting_s_length 21 + #define FAKE_build_setting_name_build_static_s_length 12 + #define FAKE_build_setting_name_environment_s_length 11 + #define FAKE_build_setting_name_defines_s_length 7 + #define FAKE_build_setting_name_defines_library_s_length 15 + #define FAKE_build_setting_name_defines_library_shared_s_length 22 + #define FAKE_build_setting_name_defines_library_static_s_length 22 + #define FAKE_build_setting_name_defines_object_s_length 14 + #define FAKE_build_setting_name_defines_object_shared_s_length 21 + #define FAKE_build_setting_name_defines_object_static_s_length 21 + #define FAKE_build_setting_name_defines_program_s_length 15 + #define FAKE_build_setting_name_defines_program_shared_s_length 22 + #define FAKE_build_setting_name_defines_program_static_s_length 22 + #define FAKE_build_setting_name_defines_shared_s_length 14 + #define FAKE_build_setting_name_defines_static_s_length 14 + #define FAKE_build_setting_name_flags_s_length 5 + #define FAKE_build_setting_name_flags_library_s_length 13 + #define FAKE_build_setting_name_flags_library_shared_s_length 20 + #define FAKE_build_setting_name_flags_library_static_s_length 20 + #define FAKE_build_setting_name_flags_object_s_length 12 + #define FAKE_build_setting_name_flags_object_shared_s_length 19 + #define FAKE_build_setting_name_flags_object_static_s_length 19 + #define FAKE_build_setting_name_flags_program_s_length 13 + #define FAKE_build_setting_name_flags_program_shared_s_length 20 + #define FAKE_build_setting_name_flags_program_static_s_length 20 + #define FAKE_build_setting_name_flags_shared_s_length 12 + #define FAKE_build_setting_name_flags_static_s_length 12 + #define FAKE_build_setting_name_has_path_standard_s_length 17 + #define FAKE_build_setting_name_modes_s_length 5 + #define FAKE_build_setting_name_modes_default_s_length 13 + #define FAKE_build_setting_name_path_headers_s_length 12 + #define FAKE_build_setting_name_path_language_s_length 13 + #define FAKE_build_setting_name_path_library_script_s_length 19 + #define FAKE_build_setting_name_path_library_shared_s_length 19 + #define FAKE_build_setting_name_path_library_static_s_length 19 + #define FAKE_build_setting_name_path_object_script_s_length 18 + #define FAKE_build_setting_name_path_object_shared_s_length 18 + #define FAKE_build_setting_name_path_object_static_s_length 18 + #define FAKE_build_setting_name_path_program_script_s_length 19 + #define FAKE_build_setting_name_path_program_shared_s_length 19 + #define FAKE_build_setting_name_path_program_static_s_length 19 + #define FAKE_build_setting_name_path_sources_s_length 12 + #define FAKE_build_setting_name_path_sources_object_s_length 19 + #define FAKE_build_setting_name_preserve_path_headers_s_length 21 + #define FAKE_build_setting_name_process_post_s_length 12 + #define FAKE_build_setting_name_process_pre_s_length 11 + #define FAKE_build_setting_name_search_exclusive_s_length 16 + #define FAKE_build_setting_name_search_shared_s_length 13 + #define FAKE_build_setting_name_search_static_s_length 13 + #define FAKE_build_setting_name_version_file_s_length 12 + #define FAKE_build_setting_name_version_major_s_length 13 + #define FAKE_build_setting_name_version_major_prefix_s_length 20 + #define FAKE_build_setting_name_version_micro_s_length 13 + #define FAKE_build_setting_name_version_micro_prefix_s_length 20 + #define FAKE_build_setting_name_version_minor_s_length 13 + #define FAKE_build_setting_name_version_minor_prefix_s_length 20 + #define FAKE_build_setting_name_version_nano_s_length 12 + #define FAKE_build_setting_name_version_nano_prefix_s_length 19 + #define FAKE_build_setting_name_version_target_s_length 14 + + extern const f_string_static_t fake_build_setting_default_ar_s; + extern const f_string_static_t fake_build_setting_default_gcc_s; + extern const f_string_static_t fake_build_setting_default_version_s; + extern const f_string_static_t fake_build_setting_default_version_prefix_s; + extern const f_string_static_t fake_build_setting_default_yes_s; + + extern const f_string_static_t fake_build_setting_name_build_compiler_s; + extern const f_string_static_t fake_build_setting_name_build_indexer_s; + extern const f_string_static_t fake_build_setting_name_build_indexer_arguments_s; + extern const f_string_static_t fake_build_setting_name_build_language_s; + extern const f_string_static_t fake_build_setting_name_build_libraries_s; + extern const f_string_static_t fake_build_setting_name_build_libraries_shared_s; + extern const f_string_static_t fake_build_setting_name_build_libraries_static_s; + extern const f_string_static_t fake_build_setting_name_build_name_s; + extern const f_string_static_t fake_build_setting_name_build_objects_library_s; + extern const f_string_static_t fake_build_setting_name_build_objects_library_shared_s; + extern const f_string_static_t fake_build_setting_name_build_objects_library_static_s; + extern const f_string_static_t fake_build_setting_name_build_objects_program_s; + extern const f_string_static_t fake_build_setting_name_build_objects_program_shared_s; + extern const f_string_static_t fake_build_setting_name_build_objects_program_static_s; + extern const f_string_static_t fake_build_setting_name_build_script_s; + extern const f_string_static_t fake_build_setting_name_build_shared_s; + extern const f_string_static_t fake_build_setting_name_build_sources_documentation_s; + extern const f_string_static_t fake_build_setting_name_build_sources_headers_s; + extern const f_string_static_t fake_build_setting_name_build_sources_headers_shared_s; + extern const f_string_static_t fake_build_setting_name_build_sources_headers_static_s; + extern const f_string_static_t fake_build_setting_name_build_sources_library_s; + extern const f_string_static_t fake_build_setting_name_build_sources_library_shared_s; + extern const f_string_static_t fake_build_setting_name_build_sources_library_static_s; + extern const f_string_static_t fake_build_setting_name_build_sources_object_s; + extern const f_string_static_t fake_build_setting_name_build_sources_object_shared_s; + extern const f_string_static_t fake_build_setting_name_build_sources_object_static_s; + extern const f_string_static_t fake_build_setting_name_build_sources_program_s; + extern const f_string_static_t fake_build_setting_name_build_sources_program_shared_s; + extern const f_string_static_t fake_build_setting_name_build_sources_program_static_s; + extern const f_string_static_t fake_build_setting_name_build_sources_script_s; + extern const f_string_static_t fake_build_setting_name_build_sources_setting_s; + extern const f_string_static_t fake_build_setting_name_build_static_s; + extern const f_string_static_t fake_build_setting_name_defines_s; + extern const f_string_static_t fake_build_setting_name_defines_library_s; + extern const f_string_static_t fake_build_setting_name_defines_library_shared_s; + extern const f_string_static_t fake_build_setting_name_defines_library_static_s; + extern const f_string_static_t fake_build_setting_name_defines_object_s; + extern const f_string_static_t fake_build_setting_name_defines_object_shared_s; + extern const f_string_static_t fake_build_setting_name_defines_object_static_s; + extern const f_string_static_t fake_build_setting_name_defines_program_s; + extern const f_string_static_t fake_build_setting_name_defines_program_shared_s; + extern const f_string_static_t fake_build_setting_name_defines_program_static_s; + extern const f_string_static_t fake_build_setting_name_defines_shared_s; + extern const f_string_static_t fake_build_setting_name_defines_static_s; + extern const f_string_static_t fake_build_setting_name_environment_s; + extern const f_string_static_t fake_build_setting_name_flags_s; + extern const f_string_static_t fake_build_setting_name_flags_library_s; + extern const f_string_static_t fake_build_setting_name_flags_library_shared_s; + extern const f_string_static_t fake_build_setting_name_flags_library_static_s; + extern const f_string_static_t fake_build_setting_name_flags_object_s; + extern const f_string_static_t fake_build_setting_name_flags_object_shared_s; + extern const f_string_static_t fake_build_setting_name_flags_object_static_s; + extern const f_string_static_t fake_build_setting_name_flags_program_s; + extern const f_string_static_t fake_build_setting_name_flags_program_shared_s; + extern const f_string_static_t fake_build_setting_name_flags_program_static_s; + extern const f_string_static_t fake_build_setting_name_flags_shared_s; + extern const f_string_static_t fake_build_setting_name_flags_static_s; + extern const f_string_static_t fake_build_setting_name_has_path_standard_s; + extern const f_string_static_t fake_build_setting_name_modes_s; + extern const f_string_static_t fake_build_setting_name_modes_default_s; + extern const f_string_static_t fake_build_setting_name_path_headers_s; + extern const f_string_static_t fake_build_setting_name_path_language_s; + extern const f_string_static_t fake_build_setting_name_path_library_script_s; + extern const f_string_static_t fake_build_setting_name_path_library_shared_s; + extern const f_string_static_t fake_build_setting_name_path_library_static_s; + extern const f_string_static_t fake_build_setting_name_path_object_script_s; + extern const f_string_static_t fake_build_setting_name_path_object_shared_s; + extern const f_string_static_t fake_build_setting_name_path_object_static_s; + extern const f_string_static_t fake_build_setting_name_path_program_script_s; + extern const f_string_static_t fake_build_setting_name_path_program_shared_s; + extern const f_string_static_t fake_build_setting_name_path_program_static_s; + extern const f_string_static_t fake_build_setting_name_path_sources_s; + extern const f_string_static_t fake_build_setting_name_path_sources_object_s; + extern const f_string_static_t fake_build_setting_name_preserve_path_headers_s; + extern const f_string_static_t fake_build_setting_name_process_post_s; + extern const f_string_static_t fake_build_setting_name_process_pre_s; + extern const f_string_static_t fake_build_setting_name_search_exclusive_s; + extern const f_string_static_t fake_build_setting_name_search_shared_s; + extern const f_string_static_t fake_build_setting_name_search_static_s; + extern const f_string_static_t fake_build_setting_name_version_file_s; + extern const f_string_static_t fake_build_setting_name_version_major_s; + extern const f_string_static_t fake_build_setting_name_version_major_prefix_s; + extern const f_string_static_t fake_build_setting_name_version_micro_s; + extern const f_string_static_t fake_build_setting_name_version_micro_prefix_s; + extern const f_string_static_t fake_build_setting_name_version_minor_s; + extern const f_string_static_t fake_build_setting_name_version_minor_prefix_s; + extern const f_string_static_t fake_build_setting_name_version_nano_s; + extern const f_string_static_t fake_build_setting_name_version_nano_prefix_s; + extern const f_string_static_t fake_build_setting_name_version_target_s; +#endif // _di_fake_build_setting_s_ + +#ifndef _di_fake_build_stage_s_ + #define FAKE_build_stage_built_s ".built" + #define FAKE_build_stage_library_script_s "library_script" + #define FAKE_build_stage_library_shared_s "library_shared" + #define FAKE_build_stage_library_static_s "library_static" + #define FAKE_build_stage_object_script_s "object_script" + #define FAKE_build_stage_object_shared_s "object_shared" + #define FAKE_build_stage_object_static_s "object_static" + #define FAKE_build_stage_objects_static_s "objects_static" + #define FAKE_build_stage_process_post_s "process_post" + #define FAKE_build_stage_process_pre_s "process_pre" + #define FAKE_build_stage_program_script_s "program_script" + #define FAKE_build_stage_program_shared_s "program_shared" + #define FAKE_build_stage_program_static_s "program_static" + #define FAKE_build_stage_separate_s "-" + #define FAKE_build_stage_skeleton_s "skeleton" + #define FAKE_build_stage_sources_documentation_s "sources_documentation" + #define FAKE_build_stage_sources_headers_s "sources_headers" + #define FAKE_build_stage_sources_script_s "sources_script" + #define FAKE_build_stage_sources_settings_s "sources_settings" + + #define FAKE_build_stage_built_s_length 6 + #define FAKE_build_stage_library_script_s_length 14 + #define FAKE_build_stage_library_shared_s_length 14 + #define FAKE_build_stage_library_static_s_length 14 + #define FAKE_build_stage_object_script_s_length 13 + #define FAKE_build_stage_object_shared_s_length 13 + #define FAKE_build_stage_object_static_s_length 13 + #define FAKE_build_stage_objects_static_s_length 14 + #define FAKE_build_stage_process_post_s_length 12 + #define FAKE_build_stage_process_pre_s_length 11 + #define FAKE_build_stage_program_script_s_length 14 + #define FAKE_build_stage_program_shared_s_length 14 + #define FAKE_build_stage_program_static_s_length 14 + #define FAKE_build_stage_separate_s_length 1 + #define FAKE_build_stage_skeleton_s_length 8 + #define FAKE_build_stage_sources_documentation_s_length 21 + #define FAKE_build_stage_sources_headers_s_length 15 + #define FAKE_build_stage_sources_script_s_length 14 + #define FAKE_build_stage_sources_settings_s_length 16 + + extern const f_string_static_t fake_build_stage_built_s; + extern const f_string_static_t fake_build_stage_library_script_s; + extern const f_string_static_t fake_build_stage_library_shared_s; + extern const f_string_static_t fake_build_stage_library_static_s; + extern const f_string_static_t fake_build_stage_object_script_s; + extern const f_string_static_t fake_build_stage_object_shared_s; + extern const f_string_static_t fake_build_stage_object_static_s; + extern const f_string_static_t fake_build_stage_objects_static_s; + extern const f_string_static_t fake_build_stage_process_post_s; + extern const f_string_static_t fake_build_stage_process_pre_s; + extern const f_string_static_t fake_build_stage_program_script_s; + extern const f_string_static_t fake_build_stage_program_shared_s; + extern const f_string_static_t fake_build_stage_program_static_s; + extern const f_string_static_t fake_build_stage_separate_s; + extern const f_string_static_t fake_build_stage_skeleton_s; + extern const f_string_static_t fake_build_stage_sources_documentation_s; + extern const f_string_static_t fake_build_stage_sources_headers_s; + extern const f_string_static_t fake_build_stage_sources_script_s; + extern const f_string_static_t fake_build_stage_sources_settings_s; +#endif // _di_fake_build_stage_s_ + +#ifndef _di_fake_build_parameter_s_ + #define FAKE_build_parameter_library_include_s "-I" + #define FAKE_build_parameter_library_link_file_s "-l" + #define FAKE_build_parameter_library_link_path_s "-L" + #define FAKE_build_parameter_library_name_prefix_s "lib" + #define FAKE_build_parameter_library_name_suffix_shared_s ".so" + #define FAKE_build_parameter_library_name_suffix_static_s ".a" + #define FAKE_build_parameter_library_output_s "-o" + #define FAKE_build_parameter_library_shared_s "-shared" + #define FAKE_build_parameter_library_static_s "-static" + #define FAKE_build_parameter_library_shared_prefix_s "-Wl,-soname," + + #define FAKE_build_parameter_library_include_s_length 2 + #define FAKE_build_parameter_library_link_file_s_length 2 + #define FAKE_build_parameter_library_link_path_s_length 2 + #define FAKE_build_parameter_library_name_prefix_s_length 3 + #define FAKE_build_parameter_library_name_suffix_shared_s_length 3 + #define FAKE_build_parameter_library_name_suffix_static_s_length 2 + #define FAKE_build_parameter_library_output_s_length 2 + #define FAKE_build_parameter_library_shared_s_length 7 + #define FAKE_build_parameter_library_static_s_length 7 + #define FAKE_build_parameter_library_shared_prefix_s_length 12 + + extern const f_string_static_t fake_build_parameter_library_include_s; + extern const f_string_static_t fake_build_parameter_library_link_file_s; + extern const f_string_static_t fake_build_parameter_library_link_path_s; + extern const f_string_static_t fake_build_parameter_library_name_prefix_s; + extern const f_string_static_t fake_build_parameter_library_name_suffix_shared_s; + extern const f_string_static_t fake_build_parameter_library_name_suffix_static_s; + extern const f_string_static_t fake_build_parameter_library_output_s; + extern const f_string_static_t fake_build_parameter_library_shared_s; + extern const f_string_static_t fake_build_parameter_library_static_s; + extern const f_string_static_t fake_build_parameter_library_shared_prefix_s; + + #define FAKE_build_parameter_object_compile_s "-c" + #define FAKE_build_parameter_object_name_suffix_s ".o" + #define FAKE_build_parameter_object_output_s "-o" + #define FAKE_build_parameter_object_static_s "-static" + + #define FAKE_build_parameter_object_compile_s_length 2 + #define FAKE_build_parameter_object_name_suffix_s_length 2 + #define FAKE_build_parameter_object_output_s_length 2 + #define FAKE_build_parameter_object_static_s_length 7 + + extern const f_string_static_t fake_build_parameter_object_compile_s; + extern const f_string_static_t fake_build_parameter_object_name_suffix_s; + extern const f_string_static_t fake_build_parameter_object_output_s; + extern const f_string_static_t fake_build_parameter_object_static_s; +#endif // _di_fake_build_parameter_s_ + +#ifndef _di_fake_common_s_ + #define FAKE_common_file_directory_copy_s "copy directory" + #define FAKE_common_file_path_access_s "access" + #define FAKE_common_file_path_change_to_s "change path to" + #define FAKE_common_file_path_determine_real_s "determine real path of" + #define FAKE_common_file_path_stack_s "path stack" + #define FAKE_common_file_populate_pre_s "pre-populate" + + #define FAKE_common_setting_bool_yes_s "yes" + #define FAKE_common_setting_bool_no_s "no" + + #define FAKE_common_setting_list_s "list" + + #define FAKE_common_file_directory_copy_s_length 14 + #define FAKE_common_file_path_access_s_length 6 + #define FAKE_common_file_path_change_to_s_length 14 + #define FAKE_common_file_path_determine_real_s_length 22 + #define FAKE_common_file_path_stack_s_length 10 + #define FAKE_common_file_populate_pre_s_length 12 + + #define FAKE_common_setting_bool_yes_s_length 3 + #define FAKE_common_setting_bool_no_s_length 2 + + #define FAKE_common_setting_list_s_length 4 + + extern const f_string_static_t fake_common_file_directory_copy_s; + extern const f_string_static_t fake_common_file_path_access_s; + extern const f_string_static_t fake_common_file_path_change_to_s; + extern const f_string_static_t fake_common_file_path_determine_real_s; + extern const f_string_static_t fake_common_file_path_stack_s; + extern const f_string_static_t fake_common_file_populate_pre_s; + + extern const f_string_static_t fake_common_setting_bool_yes_s; + extern const f_string_static_t fake_common_setting_bool_no_s; + + extern const f_string_static_t fake_common_setting_list_s; +#endif // _di_fake_common_s_ + +#ifndef _di_fake_make_section_s_ + #define FAKE_make_section_main_s "main" + #define FAKE_make_section_settings_s "settings" + + #define FAKE_make_section_main_s_length 4 + #define FAKE_make_section_settings_s_length 8 + + extern const f_string_static_t fake_make_section_main_s; + extern const f_string_static_t fake_make_section_settings_s; +#endif // _di_fake_make_section_s_ + +#ifndef _di_fake_make_setting_s_ + #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_static_t fake_make_setting_compiler_s; + extern const f_string_static_t fake_make_setting_define_s; + extern const f_string_static_t fake_make_setting_environment_s; + extern const f_string_static_t fake_make_setting_fail_s; + extern const f_string_static_t fake_make_setting_indexer_s; + extern const f_string_static_t fake_make_setting_indexer_arguments_s; + extern const f_string_static_t fake_make_setting_load_build_s; + extern const f_string_static_t fake_make_setting_parameter_s; + extern const f_string_static_t fake_make_setting_return_s; +#endif // _di_fake_make_setting_s_ + +#ifndef _di_fake_make_operation_s_ + #define FAKE_make_operation_and_s "and" + #define FAKE_make_operation_break_s "break" + #define FAKE_make_operation_build_s "build" + #define FAKE_make_operation_clean_s "clean" + #define FAKE_make_operation_clone_s "clone" + #define FAKE_make_operation_compile_s "compile" + #define FAKE_make_operation_copy_s "copy" + #define FAKE_make_operation_define_s "define" + #define FAKE_make_operation_delete_s "delete" + #define FAKE_make_operation_deletes_s "deletes" + #define FAKE_make_operation_else_s "else" + #define FAKE_make_operation_exit_s "exit" + #define FAKE_make_operation_fail_s "fail" + #define FAKE_make_operation_group_s "group" + #define FAKE_make_operation_groups_s "groups" + #define FAKE_make_operation_if_s "if" + #define FAKE_make_operation_index_s "index" + #define FAKE_make_operation_link_s "link" + #define FAKE_make_operation_mode_s "mode" + #define FAKE_make_operation_modes_s "modes" + #define FAKE_make_operation_move_s "move" + #define FAKE_make_operation_operate_s "operate" + #define FAKE_make_operation_or_s "or" + #define FAKE_make_operation_owner_s "owner" + #define FAKE_make_operation_owners_s "owners" + #define FAKE_make_operation_parameter_s "parameter" + #define FAKE_make_operation_pop_s "pop" + #define FAKE_make_operation_print_s "print" + #define FAKE_make_operation_run_s "run" + #define FAKE_make_operation_shell_s "shell" + #define FAKE_make_operation_skeleton_s "skeleton" + #define FAKE_make_operation_to_s "to" + #define FAKE_make_operation_top_s "top" + #define FAKE_make_operation_touch_s "touch" + #define FAKE_make_operation_write_s "write" + + #define FAKE_make_operation_and_s_length 3 + #define FAKE_make_operation_break_s_length 5 + #define FAKE_make_operation_build_s_length 5 + #define FAKE_make_operation_clean_s_length 5 + #define FAKE_make_operation_clone_s_length 5 + #define FAKE_make_operation_compile_s_length 7 + #define FAKE_make_operation_copy_s_length 4 + #define FAKE_make_operation_define_s_length 6 + #define FAKE_make_operation_delete_s_length 6 + #define FAKE_make_operation_deletes_s_length 7 + #define FAKE_make_operation_else_s_length 4 + #define FAKE_make_operation_exit_s_length 4 + #define FAKE_make_operation_fail_s_length 4 + #define FAKE_make_operation_group_s_length 5 + #define FAKE_make_operation_groups_s_length 6 + #define FAKE_make_operation_if_s_length 2 + #define FAKE_make_operation_index_s_length 5 + #define FAKE_make_operation_link_s_length 4 + #define FAKE_make_operation_mode_s_length 4 + #define FAKE_make_operation_modes_s_length 5 + #define FAKE_make_operation_move_s_length 4 + #define FAKE_make_operation_operate_s_length 7 + #define FAKE_make_operation_or_s_length 2 + #define FAKE_make_operation_owner_s_length 5 + #define FAKE_make_operation_owners_s_length 6 + #define FAKE_make_operation_parameter_s_length 9 + #define FAKE_make_operation_pop_s_length 3 + #define FAKE_make_operation_print_s_length 5 + #define FAKE_make_operation_run_s_length 3 + #define FAKE_make_operation_shell_s_length 5 + #define FAKE_make_operation_skeleton_s_length 8 + #define FAKE_make_operation_to_s_length 2 + #define FAKE_make_operation_top_s_length 3 + #define FAKE_make_operation_touch_s_length 5 + #define FAKE_make_operation_write_s_length 5 + + extern const f_string_static_t fake_make_operation_and_s; + extern const f_string_static_t fake_make_operation_break_s; + extern const f_string_static_t fake_make_operation_build_s; + extern const f_string_static_t fake_make_operation_clean_s; + extern const f_string_static_t fake_make_operation_clone_s; + extern const f_string_static_t fake_make_operation_compile_s; + extern const f_string_static_t fake_make_operation_copy_s; + extern const f_string_static_t fake_make_operation_define_s; + extern const f_string_static_t fake_make_operation_delete_s; + extern const f_string_static_t fake_make_operation_deletes_s; + extern const f_string_static_t fake_make_operation_else_s; + extern const f_string_static_t fake_make_operation_exit_s; + extern const f_string_static_t fake_make_operation_fail_s; + extern const f_string_static_t fake_make_operation_group_s; + extern const f_string_static_t fake_make_operation_groups_s; + extern const f_string_static_t fake_make_operation_if_s; + extern const f_string_static_t fake_make_operation_index_s; + extern const f_string_static_t fake_make_operation_link_s; + extern const f_string_static_t fake_make_operation_mode_s; + extern const f_string_static_t fake_make_operation_modes_s; + extern const f_string_static_t fake_make_operation_move_s; + extern const f_string_static_t fake_make_operation_operate_s; + extern const f_string_static_t fake_make_operation_or_s; + extern const f_string_static_t fake_make_operation_owner_s; + extern const f_string_static_t fake_make_operation_owners_s; + extern const f_string_static_t fake_make_operation_parameter_s; + extern const f_string_static_t fake_make_operation_pop_s; + extern const f_string_static_t fake_make_operation_print_s; + extern const f_string_static_t fake_make_operation_run_s; + extern const f_string_static_t fake_make_operation_shell_s; + extern const f_string_static_t fake_make_operation_skeleton_s; + extern const f_string_static_t fake_make_operation_to_s; + extern const f_string_static_t fake_make_operation_top_s; + extern const f_string_static_t fake_make_operation_touch_s; + extern const f_string_static_t fake_make_operation_write_s; + + #define FAKE_make_operation_argument_directory_s "directory" + #define FAKE_make_operation_argument_environment_s "environment" + #define FAKE_make_operation_argument_error_s "error" + #define FAKE_make_operation_argument_exit_s "exit" + #define FAKE_make_operation_argument_failure_s "failure" + #define FAKE_make_operation_argument_file_s "file" + #define FAKE_make_operation_argument_force_s "force" + #define FAKE_make_operation_argument_has_s "has" + #define FAKE_make_operation_argument_ignore_s "ignore" + #define FAKE_make_operation_argument_is_s "is" + #define FAKE_make_operation_argument_no_dereference_s "no_dereference" + #define FAKE_make_operation_argument_parameter_s "parameter" + #define FAKE_make_operation_argument_point_s "point" + #define FAKE_make_operation_argument_recursive_s "recursive" + #define FAKE_make_operation_argument_strict_s "strict" + #define FAKE_make_operation_argument_success_s "success" + #define FAKE_make_operation_argument_target_s "target" + #define FAKE_make_operation_argument_warn_s "warn" + + #define FAKE_make_operation_argument_directory_s_length 9 + #define FAKE_make_operation_argument_environment_s_length 11 + #define FAKE_make_operation_argument_error_s_length 5 + #define FAKE_make_operation_argument_exit_s_length 4 + #define FAKE_make_operation_argument_failure_s_length 7 + #define FAKE_make_operation_argument_file_s_length 4 + #define FAKE_make_operation_argument_force_s_length 5 + #define FAKE_make_operation_argument_has_s_length 3 + #define FAKE_make_operation_argument_ignore_s_length 6 + #define FAKE_make_operation_argument_is_s_length 2 + #define FAKE_make_operation_argument_no_dereference_s_length 14 + #define FAKE_make_operation_argument_parameter_s_length 9 + #define FAKE_make_operation_argument_point_s_length 5 + #define FAKE_make_operation_argument_recursive_s_length 9 + #define FAKE_make_operation_argument_strict_s_length 6 + #define FAKE_make_operation_argument_success_s_length 7 + #define FAKE_make_operation_argument_target_s_length 6 + #define FAKE_make_operation_argument_warn_s_length 4 + + extern const f_string_static_t fake_make_operation_argument_directory_s; + extern const f_string_static_t fake_make_operation_argument_environment_s; + extern const f_string_static_t fake_make_operation_argument_error_s; + extern const f_string_static_t fake_make_operation_argument_exit_s; + extern const f_string_static_t fake_make_operation_argument_failure_s; + extern const f_string_static_t fake_make_operation_argument_file_s; + extern const f_string_static_t fake_make_operation_argument_force_s; + extern const f_string_static_t fake_make_operation_argument_has_s; + extern const f_string_static_t fake_make_operation_argument_ignore_s; + extern const f_string_static_t fake_make_operation_argument_is_s; + extern const f_string_static_t fake_make_operation_argument_no_dereference_s; + extern const f_string_static_t fake_make_operation_argument_parameter_s; + extern const f_string_static_t fake_make_operation_argument_point_s; + extern const f_string_static_t fake_make_operation_argument_recursive_s; + extern const f_string_static_t fake_make_operation_argument_strict_s; + extern const f_string_static_t fake_make_operation_argument_success_s; + extern const f_string_static_t fake_make_operation_argument_target_s; + extern const f_string_static_t fake_make_operation_argument_warn_s; + + #define FAKE_make_operation_argument_if_define_s "define" + #define FAKE_make_operation_argument_if_equal_s "==" + #define FAKE_make_operation_argument_if_equal_not_s "<>" + #define FAKE_make_operation_argument_if_exist_s "exist" + #define FAKE_make_operation_argument_if_failure_s "failure" + #define FAKE_make_operation_argument_if_greater_s ">" + #define FAKE_make_operation_argument_if_greater_equal_s ">=" + #define FAKE_make_operation_argument_if_group_s "group" + #define FAKE_make_operation_argument_if_is_s "is" + #define FAKE_make_operation_argument_if_is_for_s "for" + #define FAKE_make_operation_argument_if_less_s "<" + #define FAKE_make_operation_argument_if_less_equal_s "<=" + #define FAKE_make_operation_argument_if_mode_s "mode" + #define FAKE_make_operation_argument_if_not_s "not" + #define FAKE_make_operation_argument_if_owner_s "owner" + #define FAKE_make_operation_argument_if_parameter_s "parameter" + #define FAKE_make_operation_argument_if_success_s "success" + + #define FAKE_make_operation_argument_if_define_s_length 6 + #define FAKE_make_operation_argument_if_equal_s_length 2 + #define FAKE_make_operation_argument_if_equal_not_s_length 2 + #define FAKE_make_operation_argument_if_exist_s_length 5 + #define FAKE_make_operation_argument_if_failure_s_length 7 + #define FAKE_make_operation_argument_if_greater_s_length 1 + #define FAKE_make_operation_argument_if_greater_equal_s_length 2 + #define FAKE_make_operation_argument_if_group_s_length 5 + #define FAKE_make_operation_argument_if_is_s_length 2 + #define FAKE_make_operation_argument_if_is_for_s_length 3 + #define FAKE_make_operation_argument_if_less_s_length 1 + #define FAKE_make_operation_argument_if_less_equal_s_length 2 + #define FAKE_make_operation_argument_if_mode_s_length 4 + #define FAKE_make_operation_argument_if_not_s_length 3 + #define FAKE_make_operation_argument_if_owner_s_length 5 + #define FAKE_make_operation_argument_if_parameter_s_length 9 + #define FAKE_make_operation_argument_if_success_s_length 7 + + extern const f_string_static_t fake_make_operation_argument_if_define_s; + extern const f_string_static_t fake_make_operation_argument_if_equal_s; + extern const f_string_static_t fake_make_operation_argument_if_equal_not_s; + extern const f_string_static_t fake_make_operation_argument_if_exist_s; + extern const f_string_static_t fake_make_operation_argument_if_failure_s; + extern const f_string_static_t fake_make_operation_argument_if_greater_s; + extern const f_string_static_t fake_make_operation_argument_if_greater_equal_s; + extern const f_string_static_t fake_make_operation_argument_if_group_s; + extern const f_string_static_t fake_make_operation_argument_if_is_s; + extern const f_string_static_t fake_make_operation_argument_if_is_for_s; + extern const f_string_static_t fake_make_operation_argument_if_less_s; + extern const f_string_static_t fake_make_operation_argument_if_less_equal_s; + extern const f_string_static_t fake_make_operation_argument_if_mode_s; + extern const f_string_static_t fake_make_operation_argument_if_not_s; + extern const f_string_static_t fake_make_operation_argument_if_owner_s; + extern const f_string_static_t fake_make_operation_argument_if_parameter_s; + extern const f_string_static_t fake_make_operation_argument_if_success_s; +#endif // _di_fake_make_operation_s_ + +#ifndef _di_fake_make_parameter_s_ + #define FAKE_make_parameter_iki_option_s ":option" + #define FAKE_make_parameter_iki_value_s ":value" + + #define FAKE_make_parameter_variable_build_s "build" + #define FAKE_make_parameter_variable_color_s "color" + #define FAKE_make_parameter_variable_current_s "current" + #define FAKE_make_parameter_variable_data_s "data" + #define FAKE_make_parameter_variable_define_s "define" + #define FAKE_make_parameter_variable_documents_s "documents" + #define FAKE_make_parameter_variable_fakefile_s "fakefile" + #define FAKE_make_parameter_variable_licenses_s "licenses" + #define FAKE_make_parameter_variable_mode_s "mode" + #define FAKE_make_parameter_variable_process_s "process" + #define FAKE_make_parameter_variable_return_s "return" + #define FAKE_make_parameter_variable_settings_s "settings" + #define FAKE_make_parameter_variable_sources_s "sources" + #define FAKE_make_parameter_variable_top_s "top" + #define FAKE_make_parameter_variable_verbosity_s "verbosity" + #define FAKE_make_parameter_variable_work_s "work" + + #define FAKE_make_parameter_variable_option_build_s FAKE_make_parameter_variable_build_s FAKE_make_parameter_iki_option_s + #define FAKE_make_parameter_variable_option_color_s FAKE_make_parameter_variable_color_s FAKE_make_parameter_iki_option_s + #define FAKE_make_parameter_variable_option_data_s FAKE_make_parameter_variable_data_s FAKE_make_parameter_iki_option_s + #define FAKE_make_parameter_variable_option_define_s FAKE_make_parameter_variable_define_s FAKE_make_parameter_iki_option_s + #define FAKE_make_parameter_variable_option_documents_s FAKE_make_parameter_variable_documents_s FAKE_make_parameter_iki_option_s + #define FAKE_make_parameter_variable_option_fakefile_s FAKE_make_parameter_variable_fakefile_s FAKE_make_parameter_iki_option_s + #define FAKE_make_parameter_variable_option_licenses_s FAKE_make_parameter_variable_licenses_s FAKE_make_parameter_iki_option_s + #define FAKE_make_parameter_variable_option_mode_s FAKE_make_parameter_variable_mode_s FAKE_make_parameter_iki_option_s + #define FAKE_make_parameter_variable_option_process_s FAKE_make_parameter_variable_process_s FAKE_make_parameter_iki_option_s + #define FAKE_make_parameter_variable_option_settings_s FAKE_make_parameter_variable_settings_s FAKE_make_parameter_iki_option_s + #define FAKE_make_parameter_variable_option_sources_s FAKE_make_parameter_variable_sources_s FAKE_make_parameter_iki_option_s + #define FAKE_make_parameter_variable_option_verbosity_s FAKE_make_parameter_variable_verbosity_s FAKE_make_parameter_iki_option_s + #define FAKE_make_parameter_variable_option_work_s FAKE_make_parameter_variable_work_s FAKE_make_parameter_iki_option_s + + #define FAKE_make_parameter_variable_value_build_s FAKE_make_parameter_variable_build_s FAKE_make_parameter_iki_value_s + #define FAKE_make_parameter_variable_value_color_s FAKE_make_parameter_variable_color_s FAKE_make_parameter_iki_value_s + #define FAKE_make_parameter_variable_value_data_s FAKE_make_parameter_variable_data_s FAKE_make_parameter_iki_value_s + #define FAKE_make_parameter_variable_value_define_s FAKE_make_parameter_variable_define_s FAKE_make_parameter_iki_value_s + #define FAKE_make_parameter_variable_value_documents_s FAKE_make_parameter_variable_documents_s FAKE_make_parameter_iki_value_s + #define FAKE_make_parameter_variable_value_fakefile_s FAKE_make_parameter_variable_fakefile_s FAKE_make_parameter_iki_value_s + #define FAKE_make_parameter_variable_value_licenses_s FAKE_make_parameter_variable_licenses_s FAKE_make_parameter_iki_value_s + #define FAKE_make_parameter_variable_value_mode_s FAKE_make_parameter_variable_mode_s FAKE_make_parameter_iki_value_s + #define FAKE_make_parameter_variable_value_process_s FAKE_make_parameter_variable_process_s FAKE_make_parameter_iki_value_s + #define FAKE_make_parameter_variable_value_settings_s FAKE_make_parameter_variable_settings_s FAKE_make_parameter_iki_value_s + #define FAKE_make_parameter_variable_value_sources_s FAKE_make_parameter_variable_sources_s FAKE_make_parameter_iki_value_s + #define FAKE_make_parameter_variable_value_verbosity_s FAKE_make_parameter_variable_verbosity_s FAKE_make_parameter_iki_value_s + #define FAKE_make_parameter_variable_value_work_s FAKE_make_parameter_variable_work_s FAKE_make_parameter_iki_value_s + + #define FAKE_make_parameter_iki_option_s_length 7 + #define FAKE_make_parameter_iki_value_s_length 6 + + #define FAKE_make_parameter_variable_build_s_length 5 + #define FAKE_make_parameter_variable_color_s_length 5 + #define FAKE_make_parameter_variable_current_s_length 7 + #define FAKE_make_parameter_variable_data_s_length 4 + #define FAKE_make_parameter_variable_define_s_length 6 + #define FAKE_make_parameter_variable_documents_s_length 9 + #define FAKE_make_parameter_variable_fakefile_s_length 8 + #define FAKE_make_parameter_variable_licenses_s_length 8 + #define FAKE_make_parameter_variable_data_s_length 4 + #define FAKE_make_parameter_variable_mode_s_length 4 + #define FAKE_make_parameter_variable_process_s_length 7 + #define FAKE_make_parameter_variable_return_s_length 6 + #define FAKE_make_parameter_variable_settings_s_length 8 + #define FAKE_make_parameter_variable_sources_s_length 7 + #define FAKE_make_parameter_variable_top_s_length 3 + #define FAKE_make_parameter_variable_verbosity_s_length 9 + #define FAKE_make_parameter_variable_work_s_length 4 + + #define FAKE_make_parameter_variable_option_build_s_length FAKE_make_parameter_variable_build_s_length + FAKE_make_parameter_iki_option_s_length + #define FAKE_make_parameter_variable_option_color_s_length FAKE_make_parameter_variable_color_s_length + FAKE_make_parameter_iki_option_s_length + #define FAKE_make_parameter_variable_option_data_s_length FAKE_make_parameter_variable_data_s_length + FAKE_make_parameter_iki_option_s_length + #define FAKE_make_parameter_variable_option_define_s_length FAKE_make_parameter_variable_define_s_length + FAKE_make_parameter_iki_option_s_length + #define FAKE_make_parameter_variable_option_documents_s_length FAKE_make_parameter_variable_documents_s_length + FAKE_make_parameter_iki_option_s_length + #define FAKE_make_parameter_variable_option_fakefile_s_length FAKE_make_parameter_variable_fakefile_s_length + FAKE_make_parameter_iki_option_s_length + #define FAKE_make_parameter_variable_option_licenses_s_length FAKE_make_parameter_variable_licenses_s_length + FAKE_make_parameter_iki_option_s_length + #define FAKE_make_parameter_variable_option_mode_s_length FAKE_make_parameter_variable_mode_s_length + FAKE_make_parameter_iki_option_s_length + #define FAKE_make_parameter_variable_option_process_s_length FAKE_make_parameter_variable_process_s_length + FAKE_make_parameter_iki_option_s_length + #define FAKE_make_parameter_variable_option_settings_s_length FAKE_make_parameter_variable_settings_s_length + FAKE_make_parameter_iki_option_s_length + #define FAKE_make_parameter_variable_option_sources_s_length FAKE_make_parameter_variable_sources_s_length + FAKE_make_parameter_iki_option_s_length + #define FAKE_make_parameter_variable_option_verbosity_s_length FAKE_make_parameter_variable_verbosity_s_length + FAKE_make_parameter_iki_option_s_length + #define FAKE_make_parameter_variable_option_work_s_length FAKE_make_parameter_variable_work_s_length + FAKE_make_parameter_iki_option_s_length + + #define FAKE_make_parameter_variable_value_build_s_length FAKE_make_parameter_variable_build_s_length + FAKE_make_parameter_iki_value_s_length + #define FAKE_make_parameter_variable_value_color_s_length FAKE_make_parameter_variable_color_s_length + FAKE_make_parameter_iki_value_s_length + #define FAKE_make_parameter_variable_value_data_s_length FAKE_make_parameter_variable_data_s_length + FAKE_make_parameter_iki_value_s_length + #define FAKE_make_parameter_variable_value_documents_s_length FAKE_make_parameter_variable_documents_s_length + FAKE_make_parameter_iki_value_s_length + #define FAKE_make_parameter_variable_value_define_s_length FAKE_make_parameter_variable_define_s_length + FAKE_make_parameter_iki_value_s_length + #define FAKE_make_parameter_variable_value_fakefile_s_length FAKE_make_parameter_variable_fakefile_s_length + FAKE_make_parameter_iki_value_s_length + #define FAKE_make_parameter_variable_value_licenses_s_length FAKE_make_parameter_variable_licenses_s_length + FAKE_make_parameter_iki_value_s_length + #define FAKE_make_parameter_variable_value_mode_s_length FAKE_make_parameter_variable_mode_s_length + FAKE_make_parameter_iki_value_s_length + #define FAKE_make_parameter_variable_value_process_s_length FAKE_make_parameter_variable_process_s_length + FAKE_make_parameter_iki_value_s_length + #define FAKE_make_parameter_variable_value_settings_s_length FAKE_make_parameter_variable_settings_s_length + FAKE_make_parameter_iki_value_s_length + #define FAKE_make_parameter_variable_value_sources_s_length FAKE_make_parameter_variable_sources_s_length + FAKE_make_parameter_iki_value_s_length + #define FAKE_make_parameter_variable_value_verbosity_s_length FAKE_make_parameter_variable_verbosity_s_length + FAKE_make_parameter_iki_value_s_length + #define FAKE_make_parameter_variable_value_work_s_length FAKE_make_parameter_variable_work_s_length + FAKE_make_parameter_iki_value_s_length + + extern const f_string_static_t fake_make_parameter_iki_option_s; + extern const f_string_static_t fake_make_parameter_iki_value_s; + + extern const f_string_static_t fake_make_parameter_variable_build_s; + extern const f_string_static_t fake_make_parameter_variable_color_s; + extern const f_string_static_t fake_make_parameter_variable_current_s; + extern const f_string_static_t fake_make_parameter_variable_data_s; + extern const f_string_static_t fake_make_parameter_variable_define_s; + extern const f_string_static_t fake_make_parameter_variable_documents_s; + extern const f_string_static_t fake_make_parameter_variable_fakefile_s; + extern const f_string_static_t fake_make_parameter_variable_licenses_s; + extern const f_string_static_t fake_make_parameter_variable_mode_s; + extern const f_string_static_t fake_make_parameter_variable_process_s; + extern const f_string_static_t fake_make_parameter_variable_return_s; + extern const f_string_static_t fake_make_parameter_variable_settings_s; + extern const f_string_static_t fake_make_parameter_variable_sources_s; + extern const f_string_static_t fake_make_parameter_variable_top_s; + extern const f_string_static_t fake_make_parameter_variable_verbosity_s; + extern const f_string_static_t fake_make_parameter_variable_work_s; + + extern const f_string_static_t fake_make_parameter_variable_option_build_s; + extern const f_string_static_t fake_make_parameter_variable_option_color_s; + extern const f_string_static_t fake_make_parameter_variable_option_data_s; + extern const f_string_static_t fake_make_parameter_variable_option_define_s; + extern const f_string_static_t fake_make_parameter_variable_option_documents_s; + extern const f_string_static_t fake_make_parameter_variable_option_fakefile_s; + extern const f_string_static_t fake_make_parameter_variable_option_licenses_s; + extern const f_string_static_t fake_make_parameter_variable_option_mode_s; + extern const f_string_static_t fake_make_parameter_variable_option_process_s; + extern const f_string_static_t fake_make_parameter_variable_option_settings_s; + extern const f_string_static_t fake_make_parameter_variable_option_sources_s; + extern const f_string_static_t fake_make_parameter_variable_option_verbosity_s; + extern const f_string_static_t fake_make_parameter_variable_option_work_s; + + extern const f_string_static_t fake_make_parameter_variable_value_build_s; + extern const f_string_static_t fake_make_parameter_variable_value_color_s; + extern const f_string_static_t fake_make_parameter_variable_value_data_s; + extern const f_string_static_t fake_make_parameter_variable_value_define_s; + extern const f_string_static_t fake_make_parameter_variable_value_documents_s; + extern const f_string_static_t fake_make_parameter_variable_value_fakefile_s; + extern const f_string_static_t fake_make_parameter_variable_value_licenses_s; + extern const f_string_static_t fake_make_parameter_variable_value_mode_s; + extern const f_string_static_t fake_make_parameter_variable_value_process_s; + extern const f_string_static_t fake_make_parameter_variable_value_settings_s; + extern const f_string_static_t fake_make_parameter_variable_value_sources_s; + extern const f_string_static_t fake_make_parameter_variable_value_verbosity_s; + extern const f_string_static_t fake_make_parameter_variable_value_work_s; +#endif // _di_fake_make_parameter_s_ + +#ifndef _di_fake_skeleton_content_s_ + #define FAKE_make_skeleton_content_defines_s "# fss-0000\n\n" + #define FAKE_make_skeleton_content_dependencies_s "# fss-0000\n\n" + #define FAKE_make_skeleton_content_fakefile_s "# fss-0005 iki-0002\n\nsettings:\n fail exit\n\nmain:\n\n" + #define FAKE_make_skeleton_content_process_post_s "#!/bin/bash\n\n" + #define FAKE_make_skeleton_content_process_pre_s "#!/bin/bash\n\n" + #define FAKE_make_skeleton_content_settings_s "# fss-0001\n\n" + + #define FAKE_make_skeleton_content_defines_s_length 12 + #define FAKE_make_skeleton_content_dependencies_s_length 12 + #define FAKE_make_skeleton_content_fakefile_s_length 51 + #define FAKE_make_skeleton_content_process_post_s_length 13 + #define FAKE_make_skeleton_content_process_pre_s_length 13 + #define FAKE_make_skeleton_content_settings_s_length 12 + + extern const f_string_static_t fake_make_skeleton_content_defines_s; + extern const f_string_static_t fake_make_skeleton_content_dependencies_s; + extern const f_string_static_t fake_make_skeleton_content_fakefile_s; + extern const f_string_static_t fake_make_skeleton_content_process_post_s; + extern const f_string_static_t fake_make_skeleton_content_process_pre_s; + extern const f_string_static_t fake_make_skeleton_content_settings_s; +#endif // _di_fake_skeleton_content_s_ + +#ifndef _di_fake_make_context_s_ + #define FAKE_make_context_error_s "error" + #define FAKE_make_context_important_s "important" + #define FAKE_make_context_normal_s "normal" + #define FAKE_make_context_notable_s "notable" + #define FAKE_make_context_reset_s "reset" + #define FAKE_make_context_standout_s "standout" + #define FAKE_make_context_success_s "success" + #define FAKE_make_context_title_s "title" + #define FAKE_make_context_warning_s "warning" + + #define FAKE_make_context_error_s_length 5 + #define FAKE_make_context_important_s_length 9 + #define FAKE_make_context_normal_s_length 6 + #define FAKE_make_context_notable_s_length 7 + #define FAKE_make_context_reset_s_length 5 + #define FAKE_make_context_standout_s_length 8 + #define FAKE_make_context_success_s_length 7 + #define FAKE_make_context_title_s_length 5 + #define FAKE_make_context_warning_s_length 7 + + extern const f_string_static_t fake_make_context_error_s; + extern const f_string_static_t fake_make_context_important_s; + extern const f_string_static_t fake_make_context_normal_s; + extern const f_string_static_t fake_make_context_notable_s; + extern const f_string_static_t fake_make_context_reset_s; + extern const f_string_static_t fake_make_context_standout_s; + extern const f_string_static_t fake_make_context_success_s; + extern const f_string_static_t fake_make_context_title_s; + extern const f_string_static_t fake_make_context_warning_s; +#endif // _di_fake_make_context_s_ + +#ifndef _di_fake_file_data_build_s_ + #define FAKE_file_data_build_process_post_s "process_post.sh" + #define FAKE_file_data_build_process_pre_s "process_pre.sh" + + #define FAKE_file_data_build_process_post_s_length 15 + #define FAKE_file_data_build_process_pre_s_length 14 + + extern const f_string_static_t fake_file_data_build_process_post_s; + extern const f_string_static_t fake_file_data_build_process_pre_s; +#endif // _di_fake_file_data_build_s_ + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif // _fake_common_string_h diff --git a/level_3/fake/c/main/common-type.c b/level_3/fake/c/main/common/type.c similarity index 79% rename from level_3/fake/c/main/common-type.c rename to level_3/fake/c/main/common/type.c index 11b1a4c..a84a048 100644 --- a/level_3/fake/c/main/common-type.c +++ b/level_3/fake/c/main/common/type.c @@ -1,4 +1,4 @@ -#include "fake.h" +#include "../fake.h" #ifdef __cplusplus extern "C" { diff --git a/level_3/fake/c/main/common-type.h b/level_3/fake/c/main/common/type.h similarity index 100% rename from level_3/fake/c/main/common-type.h rename to level_3/fake/c/main/common/type.h diff --git a/level_3/fake/c/main/fake.c b/level_3/fake/c/main/fake.c index ee8322a..3cc6a7f 100644 --- a/level_3/fake/c/main/fake.c +++ b/level_3/fake/c/main/fake.c @@ -1,13 +1,11 @@ #include "fake.h" -#include "private-common.h" -#include "private-fake.h" -#include "private-fake-path_generate.h" -#include "private-build.h" -#include "private-clean.h" -#include "private-make.h" -#include "private-make-operate.h" -#include "private-print.h" -#include "private-skeleton.h" +#include "fake/path_generate.h" +#include "build.h" +#include "clean.h" +#include "make.h" +#include "make/operate.h" +#include "print.h" +#include "skeleton.h" #ifdef __cplusplus extern "C" { @@ -220,6 +218,327 @@ extern "C" { } #endif // _di_fake_main_ +#ifndef _di_fake_execute_ + int fake_execute(fake_data_t * const data, const f_string_maps_t environment, const f_string_static_t program, const f_string_statics_t arguments, f_status_t * const status) { + + if (F_status_is_error(*status)) return 1; + + if (data->main->error.verbosity >= f_console_verbosity_verbose_e) { + f_file_stream_lock(data->main->message.to); + + f_print_dynamic(program, data->main->message.to); + + for (f_array_length_t i = 0; i < arguments.used; ++i) { + + if (!arguments.array[i].used) continue; + + fl_print_format(" %Q", data->main->message.to, arguments.array[i]); + } // for + + f_print_dynamic_raw(f_string_eol_s, data->main->message.to); + + f_file_stream_flush(data->main->message.to); + f_file_stream_unlock(data->main->message.to); + } + + int return_code = 0; + + if (program.used) { + + // Child processes should receive all signals, without blocking. + f_signal_how_t signals = f_signal_how_t_initialize; + f_signal_set_empty(&signals.block); + f_signal_set_fill(&signals.block_not); + + fl_execute_parameter_t parameter = macro_fl_execute_parameter_t_initialize(0, 0, &environment, &signals, 0); + + *status = fll_execute_program(program, arguments, ¶meter, 0, (void *) &return_code); + + if (fll_program_standard_signal_received(data->main)) { + fll_program_print_signal_received(data->main->warning, data->setting->line_first, data->main->signal_received); + + *status = F_status_set_error(F_interrupt); + + return 0; + } + + if (*status == F_child) return return_code; + } + else { + *status = F_status_set_error(F_file_found_not); + } + + if (return_code != 0) { + *status = F_status_set_error(F_failure); + } + else if (F_status_is_error(*status)) { + return_code = 1; + + if (F_status_set_fine(*status) == F_file_found_not) { + if (data->main->error.verbosity > f_console_verbosity_quiet_e) { + f_file_stream_lock(data->main->error.to); + + fl_print_format("%r%[%QFailed to find program '%]", data->main->error.to, f_string_eol_s, data->main->error.context, data->main->error.prefix, data->main->error.context); + fl_print_format("%[%Q%]", data->main->error.to, data->main->error.notable, program, data->main->error.notable); + fl_print_format("%[' for executing.%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s); + + f_file_stream_unlock(data->main->error.to); + } + } + else { + fake_print_error(data->setting, *status, data->main->error, macro_fake_f(fll_execute_program)); + } + } + + return return_code; + } +#endif // _di_fake_execute_ + +#ifndef _di_fake_file_buffer_ + f_status_t fake_file_buffer(fake_data_t * const data, const f_string_static_t path_file, const bool required, f_string_dynamic_t * const buffer) { + + if (fll_program_standard_signal_received(data->main)) { + fll_program_print_signal_received(data->main->warning, data->setting->line_first, data->main->signal_received); + + return F_status_set_error(F_interrupt); + } + + f_status_t status = f_file_exists(path_file, F_true); + + if (F_status_is_error(status)) { + fake_print_error_file(data->setting, status, data->main->error, macro_fake_f(f_file_exists), path_file, f_file_operation_find_s, fll_error_file_type_file_e); + + return status; + } + + if (status == F_true) { + { + off_t size_file = 0; + + status = f_file_size(path_file, F_true, &size_file); + + if (F_status_is_error(status)) { + fake_print_error_file(data->setting, status, data->main->error, macro_fake_f(f_file_size), path_file, f_file_operation_read_s, fll_error_file_type_file_e); + + return status; + } + + if (size_file > fake_common_initial_buffer_max_d) { + size_file = fake_common_initial_buffer_max_d; + } + + status = f_string_dynamic_increase_by(size_file, buffer); + + if (F_status_is_error(status)) { + const f_string_static_t message = macro_f_string_static_t_initialize("allocate buffer size for", 0, 24); + + fake_print_error_file(data->setting, status, data->main->error, macro_fake_f(f_string_dynamic_increase_by), path_file, message, fll_error_file_type_file_e); + + return status; + } + + status = F_true; + } + + f_file_t file = f_file_t_initialize; + + status = f_file_stream_open(path_file, f_string_empty_s, &file); + + if (F_status_is_error(status)) { + fake_print_error_file(data->setting, status, data->main->error, macro_fake_f(f_file_stream_open), path_file, f_file_operation_open_s, fll_error_file_type_file_e); + + return status; + } + + status = f_file_stream_read(file, buffer); + + f_file_stream_flush(file); + f_file_stream_close(&file); + + if (F_status_is_error(status)) { + fake_print_error_file(data->setting, status, data->main->error, macro_fake_f(f_file_read), path_file, f_file_operation_read_s, fll_error_file_type_file_e); + } + } + else { + if (required) { + status = F_status_set_error(F_file_found_not); + + fake_print_error_file(data->setting, status, data->main->error, macro_fake_f(f_file_exists), path_file, f_file_operation_find_s, fll_error_file_type_file_e); + } + } + + return status; + } +#endif // _di_fake_file_buffer_ + +#ifndef _di_fake_pipe_buffer_ + f_status_t fake_pipe_buffer(fake_data_t * const data, f_string_dynamic_t * const buffer) { + + f_status_t status = F_none; + f_file_t file = f_file_t_initialize; + + file.id = F_type_descriptor_input_d; + file.stream = F_type_input_d; + file.size_read = fake_default_allocation_pipe_d; + + status = f_string_dynamic_increase_by(fake_common_initial_buffer_max_d, buffer); + + if (F_status_is_error(status)) { + const f_string_static_t message = macro_f_string_static_t_initialize("allocate buffer size for", 0, 24); + fake_print_error_file(data->setting, status, data->main->error, macro_fake_f(f_string_dynamic_increase_by), f_string_ascii_minus_s, message, fll_error_file_type_file_e); + + return status; + } + + // Reset the error state before processing. + clearerr(F_type_input_d); + + do { + if (fll_program_standard_signal_received(data->main)) { + fll_program_print_signal_received(data->main->warning, data->setting->line_first, data->main->signal_received); + + return F_status_set_error(F_interrupt); + } + + status = f_file_stream_read_block(file, buffer); + + } while (F_status_is_fine(status) && status != F_interrupt && status != F_none_eof); + + if (F_status_is_error(status)) { + fake_print_error_file(data->setting, status, data->main->error, macro_fake_f(f_file_stream_read_block), f_string_ascii_minus_s, f_file_operation_read_s, fll_error_file_type_file_e); + } + + return status; + } +#endif // _di_fake_pipe_buffer_ + +#ifndef _di_fake_validate_parameter_paths_ + f_status_t fake_validate_parameter_paths(fake_data_t * const data) { + + if (fll_program_standard_signal_received(data->main)) { + fll_program_print_signal_received(data->main->warning, data->setting->line_first, data->main->signal_received); + + return F_status_set_error(F_interrupt); + } + + const f_string_static_t names[] = { + fake_long_build_s, + fake_long_data_s, + fake_long_documents_s, + fake_long_licenses_s, + fake_long_sources_s, + fake_long_work_s, + }; + + const f_string_dynamic_t values[] = { + data->setting->build, + data->setting->data, + data->setting->documents, + data->setting->licenses, + data->setting->sources, + data->setting->work, + }; + + uint8_t requireds[] = { + F_false, // fake_long_build_s + (data->main->pipe & fll_program_data_pipe_input_e) ? F_false : F_true, // fake_long_data_s + F_false, // fake_long_documents_s + F_false, // fake_long_licenses_s + F_false, // fake_long_sources_s + F_false, // fake_long_work_s + }; + + struct stat directory_stat; + + f_status_t status = F_none; + + // Check only expected operations (fake_operation_clean_e and fake_operation_skeleton_e should not call this function). + if (data->operation == fake_operation_make_e) { + if (data->main->parameters.array[fake_parameter_fakefile_e].result == f_console_result_none_e) { + if (data->setting->build.used && f_file_exists(data->setting->build, F_false) != F_true) { + if (f_file_exists(fake_default_fakefile_s, F_false) == F_true) { + requireds[1] = F_false; // fake_long_data_s + } + } + } + } + + // If a custom --data or a custom --fakefile parameter is passed and uses an absolute or relative to current path, then do not check. + if (data->operation == fake_operation_make_e || data->operation == fake_operation_build_e) { + f_console_parameter_t * const parameter = &data->main->parameters.array[ + data->operation == fake_operation_make_e + ? fake_parameter_fakefile_e + : fake_parameter_settings_e + ]; + + if (parameter->result & f_console_result_value_e) { + const f_array_length_t index = parameter->values.array[parameter->values.used - 1]; + + if (f_path_is_absolute(data->main->parameters.arguments.array[index]) == F_true || f_path_is_relative_current(data->main->parameters.arguments.array[index]) == F_true) { + requireds[1] = F_none; // fake_long_data_s + } + else { + status = f_file_exists(data->main->parameters.arguments.array[index], F_true); + + if (F_status_is_error_not(status) && status == F_true) { + requireds[1] = F_none; // fake_long_data_s + } + } + } + } + + for (uint8_t i = 0; i < 6; ++i) { + + if (requireds[i] != F_none && values[i].used) { + memset(&directory_stat, 0, sizeof(struct stat)); + + status = f_file_stat(values[i], F_true, &directory_stat); + + if (status == F_status_set_error(F_file_found_not)) status = F_status_set_error(F_directory_found_not); + + if (F_status_is_error(status)) { + if (F_status_set_fine(status) != F_directory_found_not || requireds[i]) { + fake_print_error_file(data->setting, status, data->main->error, macro_fake_f(f_file_stat), values[i], f_file_operation_access_s, fll_error_file_type_directory_e); + + return status; + } + } + } + else if (requireds[i] == F_true) { + f_file_stream_lock(data->main->error.to); + + fl_print_format("%r%[%QNo valid path for the (required) directory parameter '%]", data->main->error.to, f_string_eol_s, data->main->error.context, data->main->error.prefix, data->main->error.context); + fl_print_format("%[%r%r%]", data->main->error.to, data->main->error.notable, f_console_symbol_long_normal_s, names[i], data->main->error.notable); + fl_print_format("%[' was found.%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s); + + f_file_stream_unlock(data->main->error.to); + + return F_status_set_error(F_directory_found_not); + } + } // for + + return F_none; + } +#endif // _di_fake_validate_parameter_paths_ + +#ifndef _di_fake_verbose_print_clone_ + void fake_verbose_print_clone(const f_file_t output, const f_string_static_t source, const f_string_static_t destination) { + fll_print_format("Cloned '%Q' to '%Q'.%r", output, source, destination, f_string_eol_s); + } +#endif // _di_fake_verbose_print_clone_ + +#ifndef _di_fake_verbose_print_copy_ + void fake_verbose_print_copy(const f_file_t output, const f_string_static_t source, const f_string_static_t destination) { + fll_print_format("Copied '%Q' to '%Q'.%r", output, source, destination, f_string_eol_s); + } +#endif // _di_fake_verbose_print_copy_ + +#ifndef _di_fake_verbose_print_move_ + void fake_verbose_print_move(const f_file_t output, const f_string_static_t source, const f_string_static_t destination) { + fll_print_format("Moved '%Q' to '%Q'.%r", output, source, destination, f_string_eol_s); + } +#endif // _di_fake_verbose_print_move_ + #ifdef __cplusplus } // extern "C" #endif diff --git a/level_3/fake/c/main/fake.h b/level_3/fake/c/main/fake.h index b9334ea..3f930d3 100644 --- a/level_3/fake/c/main/fake.h +++ b/level_3/fake/c/main/fake.h @@ -90,9 +90,9 @@ #include // Featureless Make includes. -#include -#include -#include +#include +#include +#include #include #include @@ -133,6 +133,138 @@ extern "C" { extern void fake_main(fll_program_data_t * const main, fake_setting_t * const setting); #endif // _di_fake_main_ +/** + * Execute the given command and arguments. + * + * Will print the command if in verbose mode. + * + * @param data + * The program data. + * @param environment + * The environment variable data. + * @param program + * The program to be executed. + * @param arguments + * The arguments to be passed to the program. + * @param status + * The return status. + * + * @return + * The return code result from execution. + * A value of 1 is returned if status has the error bit set. + * + * F_interrupt (with error bit) on receiving a terminate process signal, such as an interrupt signal. + */ +#ifndef _di_fake_execute_ + extern int fake_execute(fake_data_t * const data, const f_string_maps_t environment, const f_string_static_t program, const f_string_statics_t arguments, f_status_t * const status) F_attribute_visibility_internal_d; +#endif // _di_fake_execute_ + +/** + * Load the contents of a file into the given buffer, handling all potential errors. + * + * @param data + * The program data. + * @param path_file + * The path to the file to load. + * @param required + * If TRUE, then return error when file is not found. + * If FALSE, then return F_false when file is not found. + * @param buffer + * A buffer containing the contents of the file. + * + * @return + * F_none on success. + * F_false on file not found and file is not required. + * + * F_file_found_not (with error bit) if file is not found and file is required. + * F_interrupt (with error bit) on receiving a terminate process signal, such as an interrupt signal. + * + * Status codes (with error bit) are returned on any problem. + */ +#ifndef _di_fake_file_buffer_ + extern f_status_t fake_file_buffer(fake_data_t * const data, const f_string_static_t path_file, const bool required, f_string_dynamic_t * const buffer) F_attribute_visibility_internal_d; +#endif // _di_fake_file_buffer_ + +/** + * Load the contents of the standard input pipe into the given buffer, handling all potential errors. + * + * @param data + * The program data. + * @param buffer + * A buffer containing the contents of the file. + * + * @return + * F_none on success. + * + * F_interrupt (with error bit) on receiving a terminate process signal, such as an interrupt signal. + * + * Status codes (with error bit) are returned on any problem. + */ +#ifndef _di_fake_pipe_buffer_ + extern f_status_t fake_pipe_buffer(fake_data_t * const data, f_string_dynamic_t * const buffer) F_attribute_visibility_internal_d; +#endif // _di_fake_pipe_buffer_ + +/** + * Validate directories and print any relating error messages. + * + * This should not be called for skeleton as in that case the directories probably do not exist. + * + * @param data + * The program data. + * + * @return + * F_none on success. + * + * F_interrupt (with error bit) on receiving a terminate process signal, such as an interrupt signal. + * + * Status codes (with error bit) are returned on any problem. + */ +#ifndef _di_fake_validate_parameter_paths_ + extern f_status_t fake_validate_parameter_paths(fake_data_t * const data) F_attribute_visibility_internal_d; +#endif // _di_fake_validate_parameter_paths_ + +/** + * Helper function for performing a verbose print for a file clone operation. + * + * @param output + * A file to print to. + * @param source + * The source string. + * @param destination + * The destination string. + */ +#ifndef _di_fake_verbose_print_clone_ + extern void fake_verbose_print_clone(const f_file_t output, const f_string_static_t source, const f_string_static_t destination) F_attribute_visibility_internal_d; +#endif // _di_fake_verbose_print_clone_ + +/** + * Helper function for performing a verbose print for a file copy operation. + * + * @param output + * A file to print to. + * @param source + * The source string. + * @param destination + * The destination string. + */ +#ifndef _di_fake_verbose_print_copy_ + extern void fake_verbose_print_copy(const f_file_t output, const f_string_static_t source, const f_string_static_t destination) F_attribute_visibility_internal_d; +#endif // _di_fake_verbose_print_copy_ + +/** + * Helper function for performing a verbose print for a file move operation. + * + * @param output + * A file to print to. + * @param source + * The source string. + * @param destination + * The destination string. + */ +#ifndef _di_fake_verbose_print_move_ + extern void fake_verbose_print_move(const f_file_t output, const f_string_static_t source, const f_string_static_t destination) F_attribute_visibility_internal_d; +#endif // _di_fake_verbose_print_move_ + #ifdef __cplusplus } // extern "C" #endif diff --git a/level_3/fake/c/main/private-fake-path_generate.c b/level_3/fake/c/main/fake/path_generate.c similarity index 99% rename from level_3/fake/c/main/private-fake-path_generate.c rename to level_3/fake/c/main/fake/path_generate.c index fa90a59..2118b40 100644 --- a/level_3/fake/c/main/private-fake-path_generate.c +++ b/level_3/fake/c/main/fake/path_generate.c @@ -1,6 +1,5 @@ -#include "fake.h" -#include "private-common.h" -#include "private-fake-path_generate.h" +#include "../fake.h" +#include "path_generate.h" #ifdef __cplusplus extern "C" { diff --git a/level_3/fake/c/main/private-fake-path_generate.h b/level_3/fake/c/main/fake/path_generate.h similarity index 100% rename from level_3/fake/c/main/private-fake-path_generate.h rename to level_3/fake/c/main/fake/path_generate.h diff --git a/level_3/fake/c/main/fake/print.c b/level_3/fake/c/main/fake/print.c new file mode 100644 index 0000000..9dcac6e --- /dev/null +++ b/level_3/fake/c/main/fake/print.c @@ -0,0 +1,10 @@ +#include "../fake.h" +#include "print.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef __cplusplus +} // extern "C" +#endif diff --git a/level_3/fake/c/main/fake/print.h b/level_3/fake/c/main/fake/print.h new file mode 100644 index 0000000..ac39d78 --- /dev/null +++ b/level_3/fake/c/main/fake/print.h @@ -0,0 +1,19 @@ +/** + * FLL - Level 3 + * + * Project: Featureless Make + * API Version: 0.7 + * Licenses: lgpl-2.1-or-later + */ +#ifndef _PRIVATE_fake_print_h +#define _PRIVATE_fake_print_h + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif // _PRIVATE_fake_print_h diff --git a/level_3/fake/c/main/private-make.c b/level_3/fake/c/main/make.c similarity index 99% rename from level_3/fake/c/main/private-make.c rename to level_3/fake/c/main/make.c index b1b11fb..3cf0915 100644 --- a/level_3/fake/c/main/private-make.c +++ b/level_3/fake/c/main/make.c @@ -1,6 +1,5 @@ #include "fake.h" -#include "private-common.h" -#include "private-make.h" +#include "make.h" #ifdef __cplusplus extern "C" { diff --git a/level_3/fake/c/main/private-make.h b/level_3/fake/c/main/make.h similarity index 100% rename from level_3/fake/c/main/private-make.h rename to level_3/fake/c/main/make.h diff --git a/level_3/fake/c/main/private-make-load_fakefile.c b/level_3/fake/c/main/make/load_fakefile.c similarity index 99% rename from level_3/fake/c/main/private-make-load_fakefile.c rename to level_3/fake/c/main/make/load_fakefile.c index 0066da0..726d061 100644 --- a/level_3/fake/c/main/private-make-load_fakefile.c +++ b/level_3/fake/c/main/make/load_fakefile.c @@ -1,10 +1,8 @@ -#include "fake.h" -#include "private-common.h" -#include "private-fake.h" -#include "private-build-load.h" -#include "private-make-load_fakefile.h" -#include "private-make-operate_validate.h" -#include "private-print.h" +#include "../fake.h" +#include "../print.h" +#include "../build/load.h" +#include "load_fakefile.h" +#include "operate_validate.h" #ifdef __cplusplus extern "C" { diff --git a/level_3/fake/c/main/private-make-load_fakefile.h b/level_3/fake/c/main/make/load_fakefile.h similarity index 100% rename from level_3/fake/c/main/private-make-load_fakefile.h rename to level_3/fake/c/main/make/load_fakefile.h diff --git a/level_3/fake/c/main/private-make-load_parameters.c b/level_3/fake/c/main/make/load_parameters.c similarity index 99% rename from level_3/fake/c/main/private-make-load_parameters.c rename to level_3/fake/c/main/make/load_parameters.c index c5328d6..555ab31 100644 --- a/level_3/fake/c/main/private-make-load_parameters.c +++ b/level_3/fake/c/main/make/load_parameters.c @@ -1,6 +1,5 @@ -#include "fake.h" -#include "private-common.h" -#include "private-make-load_parameters.h" +#include "../fake.h" +#include "load_parameters.h" #ifdef __cplusplus extern "C" { diff --git a/level_3/fake/c/main/private-make-load_parameters.h b/level_3/fake/c/main/make/load_parameters.h similarity index 100% rename from level_3/fake/c/main/private-make-load_parameters.h rename to level_3/fake/c/main/make/load_parameters.h diff --git a/level_3/fake/c/main/private-make-operate.c b/level_3/fake/c/main/make/operate.c similarity index 99% rename from level_3/fake/c/main/private-make-operate.c rename to level_3/fake/c/main/make/operate.c index ff8dbf8..340deb2 100644 --- a/level_3/fake/c/main/private-make-operate.c +++ b/level_3/fake/c/main/make/operate.c @@ -1,13 +1,11 @@ -#include "fake.h" -#include "private-common.h" -#include "private-fake.h" -#include "private-make-load_parameters.h" -#include "private-make-load_fakefile.h" -#include "private-make-operate.h" -#include "private-make-operate_block.h" -#include "private-make-operate_process.h" -#include "private-make-operate_validate.h" -#include "private-print.h" +#include "../fake.h" +#include "../print.h" +#include "load_parameters.h" +#include "load_fakefile.h" +#include "operate.h" +#include "operate_block.h" +#include "operate_process.h" +#include "operate_validate.h" #ifdef __cplusplus extern "C" { diff --git a/level_3/fake/c/main/private-make-operate.h b/level_3/fake/c/main/make/operate.h similarity index 100% rename from level_3/fake/c/main/private-make-operate.h rename to level_3/fake/c/main/make/operate.h diff --git a/level_3/fake/c/main/private-make-operate_block.c b/level_3/fake/c/main/make/operate_block.c similarity index 99% rename from level_3/fake/c/main/private-make-operate_block.c rename to level_3/fake/c/main/make/operate_block.c index 38b7da2..90c0300 100644 --- a/level_3/fake/c/main/private-make-operate_block.c +++ b/level_3/fake/c/main/make/operate_block.c @@ -1,5 +1,4 @@ -#include "fake.h" -#include "private-common.h" +#include "../fake.h" #ifdef __cplusplus extern "C" { diff --git a/level_3/fake/c/main/private-make-operate_block.h b/level_3/fake/c/main/make/operate_block.h similarity index 100% rename from level_3/fake/c/main/private-make-operate_block.h rename to level_3/fake/c/main/make/operate_block.h diff --git a/level_3/fake/c/main/private-make-operate_process.c b/level_3/fake/c/main/make/operate_process.c similarity index 98% rename from level_3/fake/c/main/private-make-operate_process.c rename to level_3/fake/c/main/make/operate_process.c index 03ca77c..ee7fa47 100644 --- a/level_3/fake/c/main/private-make-operate_process.c +++ b/level_3/fake/c/main/make/operate_process.c @@ -1,13 +1,11 @@ -#include "fake.h" -#include "private-common.h" -#include "private-fake.h" -#include "private-build.h" -#include "private-clean.h" -#include "private-make-operate.h" -#include "private-make-operate_process.h" -#include "private-make-operate_process_type.h" -#include "private-print.h" -#include "private-skeleton.h" +#include "../fake.h" +#include "../build.h" +#include "../clean.h" +#include "../print.h" +#include "../skeleton.h" +#include "operate.h" +#include "operate_process.h" +#include "operate_process_type.h" #ifdef __cplusplus extern "C" { diff --git a/level_3/fake/c/main/private-make-operate_process.h b/level_3/fake/c/main/make/operate_process.h similarity index 100% rename from level_3/fake/c/main/private-make-operate_process.h rename to level_3/fake/c/main/make/operate_process.h diff --git a/level_3/fake/c/main/private-make-operate_process_type.c b/level_3/fake/c/main/make/operate_process_type.c similarity index 99% rename from level_3/fake/c/main/private-make-operate_process_type.c rename to level_3/fake/c/main/make/operate_process_type.c index f382a34..9a5777a 100644 --- a/level_3/fake/c/main/private-make-operate_process_type.c +++ b/level_3/fake/c/main/make/operate_process_type.c @@ -1,14 +1,12 @@ -#include "fake.h" -#include "private-common.h" -#include "private-fake.h" -#include "private-build.h" -#include "private-clean.h" -#include "private-make.h" -#include "private-make-operate.h" -#include "private-make-operate_process.h" -#include "private-make-operate_process_type.h" -#include "private-print.h" -#include "private-skeleton.h" +#include "../fake.h" +#include "../build.h" +#include "../clean.h" +#include "../make.h" +#include "../print.h" +#include "../skeleton.h" +#include "operate.h" +#include "operate_process.h" +#include "operate_process_type.h" #ifdef __cplusplus extern "C" { diff --git a/level_3/fake/c/main/private-make-operate_process_type.h b/level_3/fake/c/main/make/operate_process_type.h similarity index 100% rename from level_3/fake/c/main/private-make-operate_process_type.h rename to level_3/fake/c/main/make/operate_process_type.h diff --git a/level_3/fake/c/main/private-make-operate_validate.c b/level_3/fake/c/main/make/operate_validate.c similarity index 96% rename from level_3/fake/c/main/private-make-operate_validate.c rename to level_3/fake/c/main/make/operate_validate.c index c0f7cc9..3a6a380 100644 --- a/level_3/fake/c/main/private-make-operate_validate.c +++ b/level_3/fake/c/main/make/operate_validate.c @@ -1,9 +1,8 @@ -#include "fake.h" -#include "private-common.h" -#include "private-make.h" -#include "private-make-operate_validate.h" -#include "private-make-operate_validate_type.h" -#include "private-print.h" +#include "../fake.h" +#include "../print.h" +#include "../make.h" +#include "operate_validate.h" +#include "operate_validate_type.h" #ifdef __cplusplus extern "C" { diff --git a/level_3/fake/c/main/private-make-operate_validate.h b/level_3/fake/c/main/make/operate_validate.h similarity index 100% rename from level_3/fake/c/main/private-make-operate_validate.h rename to level_3/fake/c/main/make/operate_validate.h diff --git a/level_3/fake/c/main/private-make-operate_validate_type.c b/level_3/fake/c/main/make/operate_validate_type.c similarity index 99% rename from level_3/fake/c/main/private-make-operate_validate_type.c rename to level_3/fake/c/main/make/operate_validate_type.c index e9b98c3..01fa8d7 100644 --- a/level_3/fake/c/main/private-make-operate_validate_type.c +++ b/level_3/fake/c/main/make/operate_validate_type.c @@ -1,9 +1,8 @@ -#include "fake.h" -#include "private-common.h" -#include "private-make.h" -#include "private-make-operate_validate.h" -#include "private-make-operate_validate_type.h" -#include "private-print.h" +#include "../fake.h" +#include "../print.h" +#include "../make.h" +#include "operate_validate.h" +#include "operate_validate_type.h" #ifdef __cplusplus extern "C" { diff --git a/level_3/fake/c/main/private-make-operate_validate_type.h b/level_3/fake/c/main/make/operate_validate_type.h similarity index 100% rename from level_3/fake/c/main/private-make-operate_validate_type.h rename to level_3/fake/c/main/make/operate_validate_type.h diff --git a/level_3/fake/c/main/make/print.c b/level_3/fake/c/main/make/print.c new file mode 100644 index 0000000..9dcac6e --- /dev/null +++ b/level_3/fake/c/main/make/print.c @@ -0,0 +1,10 @@ +#include "../fake.h" +#include "print.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef __cplusplus +} // extern "C" +#endif diff --git a/level_3/fake/c/main/make/print.h b/level_3/fake/c/main/make/print.h new file mode 100644 index 0000000..e69de29 diff --git a/level_3/fake/c/main/print.c b/level_3/fake/c/main/print.c index cb2b696..257720d 100644 --- a/level_3/fake/c/main/print.c +++ b/level_3/fake/c/main/print.c @@ -1,5 +1,4 @@ #include "fake.h" -#include "private-common.h" #ifdef __cplusplus extern "C" { @@ -338,6 +337,637 @@ extern "C" { } #endif // _di_fake_print_operation_all_complete_ +#ifndef _di_fake_print_error_build_operation_file_ + bool fake_print_error_build_operation_file(fake_data_t * const data, const f_status_t status, const f_string_t function, const f_string_static_t operation, const f_string_static_t source, const f_string_static_t destination, const f_string_static_t how, const bool fallback) { + + if (F_status_set_fine(status) == F_file_found_not) { + if (data->main->error.verbosity > f_console_verbosity_quiet_e) { + f_file_stream_lock(data->main->error.to); + + fake_print_line_first_locked(data->setting, data->main->error); + + fl_print_format("%[%QFailed to find '%]", data->main->error.to, data->main->error.context, data->main->error.prefix, data->main->error.context); + + fake_print_error_build_operation_file_message(data, operation, source, destination, how); + + fl_print_format("%['.%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s); + + f_file_stream_unlock(data->main->error.to); + } + + return F_false; + } + + if (F_status_set_fine(status) == F_parameter) { + if (data->main->error.verbosity > f_console_verbosity_quiet_e) { + f_file_stream_lock(data->main->error.to); + + fake_print_line_first_locked(data->setting, data->main->error); + + fl_print_format("%[%QInvalid parameter when calling '%]", data->main->error.to, data->main->error.context, data->main->error.prefix, data->main->error.context); + fl_print_format("%[%Q%]", data->main->error.to, data->main->error.notable, function, data->main->error.notable); + fl_print_format("%[() to %Q '%]", data->main->error.to, data->main->error.context, operation, data->main->error.context); + + fake_print_error_build_operation_file_message(data, operation, source, destination, how); + + fl_print_format("%['.%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s); + + f_file_stream_unlock(data->main->error.to); + } + + return F_false; + } + + if (F_status_set_fine(status) == F_name) { + if (data->main->error.verbosity > f_console_verbosity_quiet_e) { + f_file_stream_lock(data->main->error.to); + + fake_print_line_first_locked(data->setting, data->main->error); + + fl_print_format("%[%QInvalid name for '%]", data->main->error.to, data->main->error.context, data->main->error.prefix, data->main->error.context); + + if (source.used) { + fl_print_format("%[%Q%]", data->main->error.to, data->main->error.notable, source, data->main->error.notable); + } + + if (destination.used) { + fl_print_format("%[' or '%]", data->main->error.to, data->main->error.context, data->main->error.context); + fl_print_format("%[%Q%]", data->main->error.to, data->main->error.notable, destination, data->main->error.notable); + } + + fl_print_format("%['.%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s); + + f_file_stream_unlock(data->main->error.to); + } + + return F_false; + } + + if (F_status_set_fine(status) == F_memory_not) { + if (data->main->error.verbosity > f_console_verbosity_quiet_e) { + f_file_stream_lock(data->main->error.to); + + fake_print_line_first_locked(data->setting, data->main->error); + + fl_print_format("%[%QUnable to allocate memory, while trying to %Q '%]", data->main->error.to, data->main->error.context, data->main->error.prefix, operation, data->main->error.context); + + fake_print_error_build_operation_file_message(data, operation, source, destination, how); + + fl_print_format("%['.%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s); + + f_file_stream_unlock(data->main->error.to); + } + + return F_false; + } + + if (F_status_set_fine(status) == F_number_overflow) { + if (data->main->error.verbosity > f_console_verbosity_quiet_e) { + f_file_stream_lock(data->main->error.to); + + fake_print_line_first_locked(data->setting, data->main->error); + + fl_print_format("%[%QOverflow while trying to %Q '%]", data->main->error.to, data->main->error.context, data->main->error.prefix, operation, data->main->error.context); + + fake_print_error_build_operation_file_message(data, operation, source, destination, how); + + fl_print_format("%['.%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s); + + f_file_stream_unlock(data->main->error.to); + } + + return F_false; + } + + if (F_status_set_fine(status) == F_directory) { + if (data->main->error.verbosity > f_console_verbosity_quiet_e) { + f_file_stream_lock(data->main->error.to); + + fake_print_line_first_locked(data->setting, data->main->error); + + fl_print_format("%[%QInvalid directory while trying to %Q '%]", data->main->error.to, data->main->error.context, data->main->error.prefix, operation, data->main->error.context); + + fake_print_error_build_operation_file_message(data, operation, source, destination, how); + + fl_print_format("%['.%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s); + + f_file_stream_unlock(data->main->error.to); + } + + return F_false; + } + + if (F_status_set_fine(status) == F_access_denied) { + if (data->main->error.verbosity > f_console_verbosity_quiet_e) { + f_file_stream_lock(data->main->error.to); + + fake_print_line_first_locked(data->setting, data->main->error); + + fl_print_format("%[%QAccess denied while trying to %Q '%]", data->main->error.to, data->main->error.context, data->main->error.prefix, operation, data->main->error.context); + + fake_print_error_build_operation_file_message(data, operation, source, destination, how); + + fl_print_format("%['.%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s); + + f_file_stream_unlock(data->main->error.to); + } + + return F_false; + } + + if (F_status_set_fine(status) == F_loop) { + if (data->main->error.verbosity > f_console_verbosity_quiet_e) { + f_file_stream_lock(data->main->error.to); + + fake_print_line_first_locked(data->setting, data->main->error); + + fl_print_format("%[%QLoop while trying to %Q '%]", data->main->error.to, data->main->error.context, data->main->error.prefix, operation, data->main->error.context); + + fake_print_error_build_operation_file_message(data, operation, source, destination, how); + + fl_print_format("%['.%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s); + + f_file_stream_unlock(data->main->error.to); + } + + return F_false; + } + + if (F_status_set_fine(status) == F_prohibited) { + if (data->main->error.verbosity > f_console_verbosity_quiet_e) { + f_file_stream_lock(data->main->error.to); + + fake_print_line_first_locked(data->setting, data->main->error); + + fl_print_format("%[%QProhibited by system while trying to %Q '%]", data->main->error.to, data->main->error.context, data->main->error.prefix, operation, data->main->error.context); + + fake_print_error_build_operation_file_message(data, operation, source, destination, how); + + fl_print_format("%['.%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s); + + f_file_stream_unlock(data->main->error.to); + } + + return F_false; + } + + if (F_status_set_fine(status) == F_directory_found_not) { + if (data->main->error.verbosity > f_console_verbosity_quiet_e) { + f_file_stream_lock(data->main->error.to); + + fake_print_line_first_locked(data->setting, data->main->error); + + fl_print_format("%[%QFailed to %Q '%]", data->main->error.to, data->main->error.context, data->main->error.prefix, operation, data->main->error.context); + + fake_print_error_build_operation_file_message(data, operation, source, destination, how); + + fl_print_format("%[' due to an invalid directory in the path.%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s); + + f_file_stream_unlock(data->main->error.to); + } + + return F_false; + } + + if (F_status_set_fine(status) == F_failure) { + if (data->main->error.verbosity > f_console_verbosity_quiet_e) { + f_file_stream_lock(data->main->error.to); + + fake_print_line_first_locked(data->setting, data->main->error); + + fl_print_format("%[%QFailed to %Q '%]", data->main->error.to, data->main->error.context, data->main->error.prefix, operation, data->main->error.context); + + fake_print_error_build_operation_file_message(data, operation, source, destination, how); + + fl_print_format("%['.%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s); + + f_file_stream_unlock(data->main->error.to); + } + + return F_false; + } + + if (fll_error_print(data->main->error, F_status_set_fine(status), function, F_false) == F_known_not && fallback && data->main->error.verbosity > f_console_verbosity_quiet_e) { + f_file_stream_lock(data->main->error.to); + + fake_print_line_first_locked(data->setting, data->main->error); + + fl_print_format("%[UNKNOWN %Q(%]", data->main->error.to, data->main->error.context, data->main->error.prefix, data->main->error.context); + fl_print_format("%[%ui%]", data->main->error.to, data->main->error.notable, F_status_set_fine(status), data->main->error.notable); + fl_print_format("%[) occurred while trying to %Q '%]", data->main->error.to, data->main->error.context, operation, data->main->error.context); + + fake_print_error_build_operation_file_message(data, operation, source, destination, how); + + fl_print_format("%['.%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s); + + f_file_stream_unlock(data->main->error.to); + } + + return F_true; + } +#endif // _di_fake_print_error_build_operation_file_ + +#ifndef _di_fake_print_error_build_operation_file_message_ + void fake_print_error_build_operation_file_message(fake_data_t * const data, const f_string_static_t operation, const f_string_static_t source, const f_string_static_t destination, const f_string_static_t how) { + + if (source.used) { + fl_print_format("%[%Q%]", data->main->error.to, data->main->error.notable, source, data->main->error.notable); + } + + fl_print_format("%[while trying to %Q '%]", data->main->error.to, data->main->error.context, operation, data->main->error.context); + + if (destination.used) { + fl_print_format("%[' %Q '%]", data->main->error.to, data->main->error.context, how, data->main->error.context); + fl_print_format("%[%Q%]", data->main->error.to, data->main->error.notable, destination, data->main->error.notable); + } + else if (source.used) { + fl_print_format("%[%Q%]", data->main->error.to, data->main->error.notable, source, data->main->error.notable); + } + } +#endif // _di_fake_print_error_build_operation_file_message_ + +#ifndef _di_fake_print_error_fss + bool fake_print_error_fss(fake_data_t * const data, const f_status_t status, const f_string_t function, const f_string_static_t path_file, const f_string_range_t range, const bool fallback) { + + if (status == F_file_found_not) { + if (data->main->error.verbosity > f_console_verbosity_quiet_e) { + f_file_stream_lock(data->main->error.to); + + fl_print_format("%r%[%QOccurred on invalid UTF-8 character at stop position (at '%]", data->main->error.to, f_string_eol_s, data->main->error.context, data->main->error.prefix, data->main->error.context); + fl_print_format("%[%un%]", data->main->error.to, data->main->error.notable, range.start, data->main->error.notable); + fl_print_format("%[ of setting file '%]", data->main->error.to, data->main->error.context, data->main->error.context); + fl_print_format("%[%Q%]", data->main->error.to, data->main->error.notable, path_file, data->main->error.notable); + fl_print_format("%[').%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s); + + f_file_stream_unlock(data->main->error.to); + } + + return F_false; + } + + if (status == F_complete_not_utf || status == F_complete_not_utf_eos || status == F_complete_not_utf_stop) { + if (data->main->error.verbosity > f_console_verbosity_quiet_e) { + f_file_stream_lock(data->main->error.to); + + fl_print_format("%r%[%QOccurred on invalid UTF-8 character at %s (at '%]", data->main->error.to, f_string_eol_s, data->main->error.context, data->main->error.prefix, status == F_complete_not_utf_eos ? "end of string" : "stop point of string", data->main->error.context); + fl_print_format("%[%un%]", data->main->error.to, data->main->error.notable, range.start, data->main->error.notable); + fl_print_format("%[ of setting file '%]", data->main->error.to, data->main->error.context, data->main->error.context); + fl_print_format("%[%Q%]", data->main->error.to, data->main->error.notable, path_file, data->main->error.notable); + fl_print_format("%[').%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s); + + f_file_stream_unlock(data->main->error.to); + } + + return F_false; + } + + if (status == F_complete_not_utf_stop) { + if (data->main->error.verbosity > f_console_verbosity_quiet_e) { + f_file_stream_lock(data->main->error.to); + + fl_print_format("%r%[%QOccurred on invalid UTF-8 character at stop point of string (at '%]", data->main->error.to, f_string_eol_s, data->main->error.context, data->main->error.prefix, data->main->error.context); + fl_print_format("%[%un%]", data->main->error.to, data->main->error.notable, range.start, data->main->error.notable); + fl_print_format("%[ of setting file '%]", data->main->error.to, data->main->error.context, data->main->error.context); + fl_print_format("%[%Q%]", data->main->error.to, data->main->error.notable, path_file, data->main->error.notable); + fl_print_format("%[').%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s); + + f_file_stream_unlock(data->main->error.to); + } + + return F_false; + } + + if (fll_error_print(data->main->error, status, function, F_false) == F_known_not && fallback && data->main->error.verbosity > f_console_verbosity_quiet_e) { + f_file_stream_lock(data->main->error.to); + + fl_print_format("%r%[UNKNOWN %Q(%]", data->main->error.to, f_string_eol_s, data->main->error.context, data->main->error.prefix, data->main->error.context); + fl_print_format("%[%ui%]", data->main->error.to, data->main->error.notable, status, data->main->error.notable); + fl_print_format("%[) in function '%]", data->main->error.to, data->main->error.context, data->main->error.context); + fl_print_format("%[%Q%]", data->main->error.to, data->main->error.notable, function, data->main->error.notable); + fl_print_format("%[().%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s); + + f_file_stream_unlock(data->main->error.to); + } + + return F_true; + } +#endif // _di_fake_print_error_fss + +#ifndef _di_fake_print_error_parameter_missing_value_ + void fake_print_error_parameter_missing_value(fake_data_t * const data, const f_string_static_t parameter) { + + if (data->main->error.verbosity == f_console_verbosity_quiet_e) return; + + f_file_stream_lock(data->main->error.to); + + fl_print_format("%r%[%QThe parameter '%]", data->main->error.to, f_string_eol_s, data->main->error.context, data->main->error.prefix, data->main->error.context); + fl_print_format("%[%r%r%]", data->main->error.to, data->main->error.notable, f_console_symbol_long_normal_s, parameter, data->main->error.notable); + fl_print_format("%[' is specified, but no value is given.%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s); + + f_file_stream_unlock(data->main->error.to); + } +#endif // _di_fake_print_error_parameter_missing_value_ + +#ifndef _di_fake_print_error_parameter_too_many_ + void fake_print_error_parameter_too_many(fake_data_t * const data, const f_string_static_t parameter) { + + if (data->main->error.verbosity == f_console_verbosity_quiet_e) return; + + f_file_stream_lock(data->main->error.to); + + fl_print_format("%r%[%QThe parameter '%]", data->main->error.to, f_string_eol_s, data->main->error.context, data->main->error.prefix, data->main->error.context); + fl_print_format("%[%r%r%]", data->main->error.to, data->main->error.notable, f_console_symbol_long_normal_s, parameter, data->main->error.notable); + fl_print_format("%[' was specified too many times.%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s); + + f_file_stream_unlock(data->main->error.to); + } +#endif // _di_fake_print_error_parameter_too_many_ + +#ifndef _di_fake_print_error_requires_more_arguments_ + void fake_print_error_requires_more_arguments(fake_make_data_t * const data_make) { + + if (data_make->error.verbosity == f_console_verbosity_quiet_e) return; + if (!data_make->main->error.to.stream) return; + + fll_print_format("%r%[%QRequires more arguments.%]%r", data_make->main->error.to, f_string_eol_s, data_make->error.context, data_make->error.prefix, data_make->error.context, f_string_eol_s); + } +#endif // _di_fake_print_error_requires_more_arguments_ + +#ifndef _di_fake_print_error_too_many_arguments_ + void fake_print_error_too_many_arguments(fake_make_data_t * const data_make) { + + if (data_make->error.verbosity == f_console_verbosity_quiet_e) return; + if (!data_make->main->error.to.stream) return; + + fll_print_format("%r%[%QHas too many arguments.%]%r", data_make->main->error.to, f_string_eol_s, data_make->error.context, data_make->error.prefix, data_make->error.context, f_string_eol_s); + } +#endif // _di_fake_print_error_too_many_arguments_ + +#ifndef _di_fake_print_error_argument_empty_ + void fake_print_error_argument_empty(fake_make_data_t * const data_make, const f_array_length_t index) { + + if (data_make->error.verbosity == f_console_verbosity_quiet_e) return; + if (!data_make->main->error.to.stream) return; + + f_file_stream_lock(data_make->main->error.to); + + fl_print_format("%r%[%QThe %]", data_make->main->error.to, f_string_eol_s, data_make->error.context, data_make->error.prefix, data_make->error.context); + fl_print_format("%[%un%]", data_make->main->error.to, data_make->error.notable, index, data_make->error.notable); + fl_print_format("%[ argument must not be an empty string.%]%r", data_make->main->error.to, data_make->error.context, data_make->error.context, f_string_eol_s); + + f_file_stream_unlock(data_make->main->error.to); + } +#endif // _di_fake_print_error_argument_empty_ + +#ifndef _di_fake_print_message_section_operation_failed_ + void fake_print_message_section_operation_failed(fake_data_t * const data, const fl_print_t print, const f_string_static_t buffer, const f_string_range_t section_name, const f_string_range_t operation_name) { + + if (print.verbosity == f_console_verbosity_quiet_e || !print.to.stream) return; + + f_array_length_t line = 1; + f_state_t state = f_state_t_initialize; + + f_fss_count_lines(state, buffer, operation_name.start, &line); + + f_file_stream_lock(print.to); + + fl_print_format("%r%[%QThe section operation '%]", print.to, f_string_eol_s, print.context, print.prefix, print.context); + fl_print_format("%[%/Q%]", print.to, print.notable, buffer, operation_name, print.notable); + fl_print_format("%[' from section '%]", print.to, print.context, print.context); + fl_print_format("%[%/Q%]", print.to, print.notable, buffer, section_name, print.notable); + fl_print_format("%[' on line%] ", print.to, print.context, print.context); + fl_print_format("%[%un%]", print.to, print.notable, line, print.notable); + fl_print_format(" %[failed.%]%r", print.to, print.context, print.context, f_string_eol_s); + + f_file_stream_unlock(print.to); + } +#endif // _di_fake_print_message_section_operation_failed_ + +#ifndef _di_fake_print_message_section_operation_link_argument_unknown_ + void fake_print_message_section_operation_link_argument_unknown(fake_data_t * const data, const fl_print_t print, const f_string_static_t argument) { + + if (print.verbosity == f_console_verbosity_quiet_e || !print.to.stream) return; + + f_file_stream_lock(print.to); + + fl_print_format("%r%[%QThe argument '%]", print.to, f_string_eol_s, print.context, print.prefix, print.context); + fl_print_format("%[%Q%]", print.to, print.notable, argument, print.notable); + fl_print_format("%[' is not not valid and may only be one of either '%]", print.to, print.context, print.context); + fl_print_format("%[%r%]", print.to, print.notable, fake_make_operation_argument_force_s, print.notable); + fl_print_format("%[' or '%]", print.to, print.context, print.context); + fl_print_format("%[%r%]", print.to, print.notable, fake_make_operation_argument_strict_s, print.notable); + fl_print_format("%['.%]%r", print.to, print.context, print.context, f_string_eol_s); + + f_file_stream_unlock(print.to); + + } +#endif // _di_fake_print_message_section_operation_link_argument_unknown_ + +#ifndef _di_fake_print_message_section_operation_link_point_exists_ + void fake_print_message_section_operation_link_point_exists(fake_data_t * const data, const fl_print_t print, const f_string_static_t argument) { + + if (print.verbosity == f_console_verbosity_quiet_e || !print.to.stream) return; + + f_file_stream_lock(print.to); + + fl_print_format("%r%[%QThe point file '%]", print.to, f_string_eol_s, print.context, print.prefix, print.context); + fl_print_format("%[%Q%]", print.to, print.notable, argument, print.notable); + fl_print_format("%[' already exists.%]%r", print.to, print.context, print.context, f_string_eol_s); + + f_file_stream_unlock(print.to); + + } +#endif // _di_fake_print_message_section_operation_link_point_exists_ + +#ifndef _di_fake_print_message_section_operation_link_target_exists_not_ + void fake_print_message_section_operation_link_target_exists_not(fake_data_t * const data, const fl_print_t print, const f_string_static_t argument) { + + if (print.verbosity == f_console_verbosity_quiet_e || !print.to.stream) return; + + f_file_stream_lock(print.to); + + fl_print_format("%r%[%QThe target file '%]", print.to, f_string_eol_s, print.context, print.prefix, print.context); + fl_print_format("%[%Q%]", print.to, print.notable, argument, print.notable); + fl_print_format("%[' does not exist.%]%r", print.to, print.context, print.context, f_string_eol_s); + + f_file_stream_unlock(print.to); + + } +#endif // _di_fake_print_message_section_operation_link_target_exists_not_ + +#ifndef _di_fake_print_message_section_operation_path_outside_ + void fake_print_message_section_operation_path_outside(fake_data_t * const data, const fl_print_t print, const f_status_t status, const f_string_t function, const f_string_static_t path) { + + if (print.verbosity == f_console_verbosity_quiet_e || !print.to.stream) return; + + f_file_stream_lock(print.to); + + if (F_status_set_fine(status) == F_false) { + fake_print_line_first_locked(data->setting, data->main->error); + + fl_print_format("%[%QThe path '%]", print.to, print.context, print.prefix, print.context); + fl_print_format("%[%Q%]", print.to, print.notable, path, print.notable); + fl_print_format("%[' is outside the project root.%]%r", print.to, print.context, print.context, f_string_eol_s); + } + else { + fake_print_error_file(data->setting, status, print, function, path, fake_common_file_path_determine_real_s, fll_error_file_type_file_e); + } + + f_file_stream_unlock(print.to); + } +#endif // _di_fake_print_message_section_operation_path_outside_ + +#ifndef _di_fake_print_message_section_operation_path_stack_max_ + void fake_print_message_section_operation_path_stack_max(fake_data_t * const data, fl_print_t print, const f_status_t status, const f_string_t function, const f_string_static_t path) { + + if (print.verbosity == f_console_verbosity_quiet_e || !print.to.stream) return; + + if (status == F_array_too_large) { + f_file_stream_lock(print.to); + + fl_print_format("%r%[%QMaximum stack size reached while processing path '%]", print.to, f_string_eol_s, print.context, print.prefix, print.context); + fl_print_format("%[%Q%]", print.to, print.notable, path, print.notable); + fl_print_format("%['", print.to, print.context); + + if (function) { + fl_print_format(" while calling%] %[%S%]", print.to, print.context, print.notable, function, print.notable); + fl_print_format("%[()", print.to, print.context); + } + + fl_print_format(".%]%r", print.to, print.context, f_string_eol_s); + + f_file_stream_unlock(print.to); + } + else { + fake_print_error_file(data->setting, status, print, function, path, fake_common_file_path_change_to_s, fll_error_file_type_directory_e); + } + } +#endif // _di_fake_print_message_section_operation_path_stack_max_ + +#ifndef _di_fake_print_message_section_operation_stack_max_ + void fake_print_message_section_operation_stack_max(fake_data_t * const data, fl_print_t print, const f_string_static_t buffer, const f_string_range_t section_name, const f_string_range_t operation_name, const f_array_length_t stack_max) { + + if (print.verbosity == f_console_verbosity_quiet_e || !print.to.stream) return; + + f_array_length_t line = 1; + f_state_t state = f_state_t_initialize; + + f_fss_count_lines(state, buffer, operation_name.start, &line); + + f_file_stream_lock(print.to); + + fl_print_format("%r%[%QThe section operation '%]", print.to, f_string_eol_s, print.context, print.prefix, print.context); + fl_print_format("%[%/Q%]", print.to, print.notable, buffer, operation_name, print.notable); + fl_print_format("%[' from section '%]", print.to, print.context, buffer, print.context); + fl_print_format("%[%/Q%]", print.to, print.notable, buffer, section_name, print.notable); + fl_print_format("%[' on line%] ", print.to, print.context, print.context); + fl_print_format("%[%ul%]", print.to, print.notable, line, print.notable); + fl_print_format("%[' cannot be processed because the max stack depth of%] ", print.to, print.context, print.context); + fl_print_format("%[%ul%]", print.to, print.notable, stack_max, print.notable); + fl_print_format(" %[has been reached.%]%r", print.to, print.context, print.context, f_string_eol_s); + + f_file_stream_unlock(print.to); + } +#endif // _di_fake_print_message_section_operation_stack_max_ + +#ifndef _di_fake_print_message_section_operation_unknown_ + void fake_print_message_section_operation_unknown(fake_data_t * const data, const fl_print_t print, const f_string_static_t buffer, const f_string_range_t section_name, const f_string_range_t operation_name) { + + if (print.verbosity == f_console_verbosity_quiet_e || !print.to.stream) return; + + f_array_length_t line = 1; + f_state_t state = f_state_t_initialize; + + f_fss_count_lines(state, buffer, operation_name.start, &line); + + f_file_stream_lock(print.to); + + fl_print_format("%r%[%QThe section operation '%]", print.to, f_string_eol_s, print.context, print.prefix, print.context); + fl_print_format("%[%/Q%]", print.to, print.notable, buffer, operation_name, print.notable); + fl_print_format("%[' from section '%]", print.to, print.context, buffer, print.context); + fl_print_format("%[%/Q%]", print.to, print.notable, buffer, section_name, print.notable); + fl_print_format("%[' on line%] ", print.to, print.context, print.context); + fl_print_format("%[%ul%]", print.to, print.notable, line, print.notable); + fl_print_format(" %[is not a known operation name.%]%r", print.to, print.context, print.context, f_string_eol_s); + + f_file_stream_unlock(print.to); + } +#endif // _di_fake_print_message_section_operation_unknown_ + +#ifndef _di_fake_print_warning_settings_content_empty_ + void fake_print_warning_settings_content_empty(fake_data_t * const data, const f_string_static_t path_file, const f_string_dynamic_t buffer, const f_string_range_t range_object, const f_string_static_t settings_name) { + + if (data->main->warning.verbosity == f_console_verbosity_quiet_e) return; + + f_file_stream_lock(data->main->warning.to); + + fl_print_format("%r%[%QThe fakefile '%]", data->main->warning.to, f_string_eol_s, data->main->warning.context, data->main->warning.prefix, data->main->warning.context); + fl_print_format("%[%Q%]", data->main->warning.to, data->main->warning.notable, path_file, data->main->warning.notable); + fl_print_format("%[' has empty content for the '%]", data->main->warning.to, data->main->warning.context, data->main->warning.context); + fl_print_format("%[%r%]", data->main->warning.to, data->main->warning.notable, settings_name, data->main->warning.notable); + fl_print_format("%[' object '%]", data->main->warning.to, data->main->warning.context, data->main->warning.context); + fl_print_format("%[%/Q%]", data->main->warning.to, data->main->warning.notable, buffer, range_object, data->main->warning.notable); + fl_print_format("%['.%]%r", data->main->warning.to, data->main->warning.context, data->main->warning.context, f_string_eol_s); + + f_file_stream_unlock(data->main->warning.to); + } +#endif // _di_fake_print_warning_settings_content_empty_ + +#ifndef _di_fake_print_warning_settings_content_invalid_ + void fake_print_warning_settings_content_invalid(fake_data_t * const data, const f_string_static_t path_file, const f_string_dynamic_t buffer, const f_string_range_t range_object, const f_string_range_t range_content, const f_string_static_t settings_name) { + + if (data->main->warning.verbosity == f_console_verbosity_quiet_e) return; + + f_file_stream_lock(data->main->warning.to); + + fl_print_format("%r%[%QThe fakefile '%]", data->main->warning.to, f_string_eol_s, data->main->warning.context, data->main->warning.prefix, data->main->warning.context); + fl_print_format("%[%Q%]", data->main->warning.to, data->main->warning.notable, path_file, data->main->warning.notable); + fl_print_format("%[' has invalid content '%]", data->main->warning.to, data->main->warning.context, data->main->warning.context); + fl_print_format("%[%/Q%]", data->main->warning.to, data->main->warning.notable, buffer, range_content, data->main->warning.notable); + fl_print_format("%[' for the '%]", data->main->warning.to, data->main->warning.context, data->main->warning.context); + fl_print_format("%[%r%]", data->main->warning.to, data->main->warning.notable, settings_name, data->main->warning.notable); + fl_print_format("%[' object '%]", data->main->warning.to, data->main->warning.context, data->main->warning.context); + fl_print_format("%[%/Q%]", data->main->warning.to, data->main->warning.notable, buffer, range_object, data->main->warning.notable); + fl_print_format("%['.%]%r", data->main->warning.to, data->main->warning.context, data->main->warning.context, f_string_eol_s); + + f_file_stream_unlock(data->main->warning.to); + } +#endif // _di_fake_print_warning_settings_content_invalid_ + +#ifndef _di_fake_print_warning_settings_content_multiple_ + void fake_print_warning_settings_content_multiple(fake_data_t * const data, const f_string_static_t path_file, const f_string_static_t name_object) { + + if (data->main->warning.verbosity == f_console_verbosity_quiet_e) return; + + f_file_stream_lock(data->main->warning.to); + + fl_print_format("%r%[%QThe fakefile '%]", data->main->warning.to, f_string_eol_s, data->main->warning.context, data->main->warning.prefix, data->main->warning.context); + fl_print_format("%[%r%]", data->main->warning.to, data->main->warning.notable, name_object, data->main->warning.notable); + fl_print_format("%[' in the file '%]", data->main->warning.to, data->main->warning.context, data->main->warning.context); + fl_print_format("%[%Q%]", data->main->warning.to, data->main->warning.notable, path_file, data->main->warning.notable); + fl_print_format("%[' may only have a single property, only using the first.%]%r", data->main->warning.to, data->main->warning.context, data->main->warning.context, f_string_eol_s); + + f_file_stream_unlock(data->main->warning.to); + } +#endif // _di_fake_print_warning_settings_content_multiple_ + +#ifndef _di_fake_print_warning_settings_object_multiple_ + void fake_print_warning_settings_object_multiple(fake_data_t * const data, const f_string_static_t path_file, const f_string_static_t label, const f_string_static_t name_object) { + + if (data->main->warning.verbosity == f_console_verbosity_quiet_e) return; + + f_file_stream_lock(data->main->warning.to); + + fl_print_format("%r%[%QThe object '%]", data->main->warning.to, f_string_eol_s, data->main->warning.context, data->main->warning.prefix, data->main->warning.context); + fl_print_format("%[%r%]", data->main->warning.to, data->main->warning.notable, name_object, data->main->warning.notable); + fl_print_format("%[' in the file '%]", data->main->warning.to, data->main->warning.context, data->main->warning.context); + fl_print_format("%[%Q%]", data->main->warning.to, data->main->warning.notable, path_file, data->main->warning.notable); + fl_print_format("%[' may only be specified once, only using the first.%]%r", data->main->warning.to, data->main->warning.context, data->main->warning.context, f_string_eol_s); + + f_file_stream_unlock(data->main->warning.to); + } +#endif // _di_fake_print_warning_settings_object_multiple_ + #ifdef __cplusplus } // extern "C" #endif diff --git a/level_3/fake/c/main/print.h b/level_3/fake/c/main/print.h index 65e5f99..83d1780 100644 --- a/level_3/fake/c/main/print.h +++ b/level_3/fake/c/main/print.h @@ -352,6 +352,422 @@ extern "C" { extern f_status_t fake_print_operation_all_complete(fake_setting_t * const setting, const fl_print_t print); #endif // _di_fake_print_operation_all_complete_ +/** + * Print build operation file error messages. + * + * @param data + * The program data. + * @param status + * The status to use. + * This is provided, ignoring data.setting->status, for thread-safety reasons. + * @param function + * The name of the function where the error happened. + * @param operation + * The operation performed. + * @param source + * The operation source. + * @param destination + * The operation destination, if applicable. + * Set destination.used to 0 to disable. + * @param how + * The how the operation is perform, such as "to" in "copy" source "to" destination. + * @param fallback + * Set to F_true to print the fallback error message for unknown errors. + * + * @return + * F_true is returned if the status code has no print message. + * F_false is returned on successful print of known errors. + * + * @see f_file_stream_lock() + * @see f_file_stream_unlock() + * @see fl_print_format() + * + * @see fake_print_error_build_operation_file_message(); + */ +#ifndef _di_fake_print_error_operation_file_ + extern bool fake_print_error_build_operation_file(fake_data_t * const data, const f_status_t status, const f_string_t function, const f_string_static_t operation, const f_string_static_t source, const f_string_static_t destination, const f_string_static_t how, const bool fallback) F_attribute_visibility_internal_d; +#endif // _di_fake_print_error_operation_file_ + +/** + * Helper function for printing build operation file error messages. + * + * This prints the "copy source to destination" part of the message. + * + * @param data + * The program data. + * @param operation + * The operation performed. + * @param source + * The operation source. + * @param destination + * The operation destination, if applicable. + * Set destination.used to 0 to disable. + * @param how + * The how the operation is perform, such as "to" in "copy" source "to" destination. + * + * @see fl_print_format() + * + * @see fake_print_error_build_operation_file() + */ +#ifndef _di_fake_print_error_build_operation_file_message_ + extern void fake_print_error_build_operation_file_message(fake_data_t * const data, const f_string_static_t operation, const f_string_static_t source, const f_string_static_t destination, const f_string_static_t how) F_attribute_visibility_internal_d; +#endif // _di_fake_print_error_build_operation_file_message_ + +/** + * Print FSS error messages. + * + * @param data + * The program data. + * @param status + * The error status code to report on. + * @param function + * The function call that returned the error. + * @param path_file + * The path to the file. + * @param range + * The range representing the position in the buffer such that range.start is where the error happened. + * @param fallback + * Set to F_true to print the fallback error message for unknown errors. + * + * @return + * F_true is returned if the status code has no print message. + * F_false is returned on successful print of known errors. + * + * @see f_file_stream_lock() + * @see f_file_stream_unlock() + * @see fl_print_format() + */ +#ifndef _di_fake_print_error_fss_ + extern bool fake_print_error_fss(fake_data_t * const data, const f_status_t status, const f_string_t function, const f_string_static_t path_file, const f_string_range_t range, const bool fallback) F_attribute_visibility_internal_d; +#endif // _di_fake_print_error_fss_ + +/** + * Print an error message for when the parameter is missing its accompanying value. + * + * @param data + * The program data. + * @param parameter + * The parameter name. + * + * @see f_file_stream_lock() + * @see f_file_stream_unlock() + * @see fl_print_format() + */ +#ifndef _di_fake_print_error_parameter_missing_value_ + extern void fake_print_error_parameter_missing_value(fake_data_t * const data, const f_string_static_t parameter) F_attribute_visibility_internal_d; +#endif // _di_fake_print_error_parameter_missing_value_ + +/** + * Print an error message for when the parameter is specified too many times. + * + * @param data + * The program data. + * @param parameter + * The parameter name. + * + * @see f_file_stream_lock() + * @see f_file_stream_unlock() + * @see fl_print_format() + */ +#ifndef _di_fake_print_error_parameter_too_many_ + extern void fake_print_error_parameter_too_many(fake_data_t * const data, const f_string_static_t parameter) F_attribute_visibility_internal_d; +#endif // _di_fake_print_error_parameter_too_many_ + +/** + * Print an error message for when there are more arguments are required (such as to a fakefile operation). + * + * @param data_make + * All make related setting data, including data from the fakefile and the build settings file. + * + * @see fll_print_format() + */ +#ifndef _di_fake_print_error_requires_more_arguments_ + extern void fake_print_error_requires_more_arguments(fake_make_data_t * const data_make) F_attribute_visibility_internal_d; +#endif // _di_fake_print_error_requires_more_arguments_ + +/** + * Print an error message for when there are too many arguments passed (such as to a fakefile operation). + * + * @param data_make + * All make related setting data, including data from the fakefile and the build settings file. + * + * @see fll_print_format() + */ +#ifndef _di_fake_print_error_too_many_arguments_ + extern void fake_print_error_too_many_arguments(fake_make_data_t * const data_make) F_attribute_visibility_internal_d; +#endif // _di_fake_print_error_too_many_arguments_ + +/** + * Print an error message for when an argument is an empty string. + * + * @param data_make + * All make related setting data, including data from the fakefile and the build settings file. + * @param index + * The index of the argument that is an empty string. + * + * @see fll_print_format() + */ +#ifndef _di_fake_print_error_argument_empty_ + extern void fake_print_error_argument_empty(fake_make_data_t * const data_make, const f_array_length_t index) F_attribute_visibility_internal_d; +#endif // _di_fake_print_error_argument_empty_ + +/** + * Print error messages when processing some fakefile section, for a specific line and operation, and that operation failed. + * + * @param data + * The program data. + * @param print + * Designates how the section error/warning should be printed. + * @param buffer + * The buffer containing the fakefile data. + * @param section_name + * The range within the buffer representing the section name. + * @param operation_name + * The range within the buffer representing the operation name within the section. + * + * @see f_file_stream_lock() + * @see f_file_stream_unlock() + * @see fl_print_format() + */ +#ifndef _di_fake_print_message_section_operation_failed_ + extern void fake_print_message_section_operation_failed(fake_data_t * const data, const fl_print_t print, const f_string_static_t buffer, const f_string_range_t section_name, const f_string_range_t operation_name) F_attribute_visibility_internal_d; +#endif // _di_fake_print_message_section_operation_failed_ + +/** + * Print error messages when a given link argument is unknown. + * + * @param data + * The program data. + * @param print + * Designates how the section error/warning should be printed. + * @param argument + * The argument that is unknown by the link operation. + * + * @see f_file_stream_lock() + * @see f_file_stream_unlock() + * @see fl_print_format() + */ +#ifndef _di_fake_print_message_section_operation_link_argument_unknown_ + extern void fake_print_message_section_operation_link_argument_unknown(fake_data_t * const data, const fl_print_t print, const f_string_static_t argument) F_attribute_visibility_internal_d; +#endif // _di_fake_print_message_section_operation_link_argument_unknown_ + +/** + * Print error messages when a given link point file already exists. + * + * @param data + * The program data. + * @param print + * Designates how the section error/warning should be printed. + * @param argument + * The argument representing the point file. + * + * @see f_file_stream_lock() + * @see f_file_stream_unlock() + * @see fl_print_format() + */ +#ifndef _di_fake_print_message_section_operation_link_point_exists_ + extern void fake_print_message_section_operation_link_point_exists(fake_data_t * const data, const fl_print_t print, const f_string_static_t argument) F_attribute_visibility_internal_d; +#endif // _di_fake_print_message_section_operation_link_point_exists_ + +/** + * Print error messages when a given link target file does not already exist. + * + * @param data + * The program data. + * @param print + * Designates how the section error/warning should be printed. + * @param argument + * The argument representing the point file. + * + * @see f_file_stream_lock() + * @see f_file_stream_unlock() + * @see fl_print_format() + */ +#ifndef _di_fake_print_message_section_operation_link_target_exists_not_ + extern void fake_print_message_section_operation_link_target_exists_not(fake_data_t * const data, const fl_print_t print, const f_string_static_t argument) F_attribute_visibility_internal_d; +#endif // _di_fake_print_message_section_operation_link_target_exists_not_ + +/** + * Print error messages when processing some fakefile section, for a specific line and operation, and that operation has a path outside of the project root. + * + * @param data + * The program data. + * @param print + * Designates how the section error/warning should be printed. + * @param status + * The status code representing an error. + * @param function + * The name of the function where the error happened. + * @param path + * The path that is outside of the project path. + * + * @see f_file_stream_lock() + * @see f_file_stream_unlock() + * @see fl_print_format() + * @see fll_error_file_print() + */ +#ifndef _di_fake_print_message_section_operation_path_outside_ + extern void fake_print_message_section_operation_path_outside(fake_data_t * const data, const fl_print_t print, const f_status_t status, const f_string_t function, const f_string_static_t path) F_attribute_visibility_internal_d; +#endif // _fake_print_message_section_operation_path_outside_ + +/** + * Print error messages when processing some fakefile section, for a specific line and operation. + * + * @param data + * The program data. + * @param error + * Designates how the section error/warning should be printed. + * @param status + * The status code representing an error. + * @param function + * The name of the function where the error happened. + * Set to 0 to disable. + * @param path + * The path to the directory. + * + * @see f_file_stream_lock() + * @see f_file_stream_unlock() + * @see fl_print_format() + * @see fll_error_file_print() + */ +#ifndef _di_fake_print_message_section_operation_path_stack_max_ + extern void fake_print_message_section_operation_path_stack_max(fake_data_t * const data, fl_print_t error, const f_status_t status, const f_string_t function, const f_string_static_t path) F_attribute_visibility_internal_d; +#endif // _di_fake_print_message_section_operation_path_stack_max_ + +/** + * Print error messages when processing some fakefile section, for a specific line and operation, and that the max stack depth is reached. + * + * @param data + * The program data. + * @param print + * Designates how the section error/warning should be printed. + * @param buffer + * The buffer containing the fakefile data. + * @param section_name + * The range within the buffer representing the section name. + * @param operation_name + * The range within the buffer representing the operation name within the section. + * @param stack_max + * The max stack depth. + * + * @see f_file_stream_lock() + * @see f_file_stream_unlock() + * @see fl_print_format() + */ +#ifndef _di_fake_print_message_section_operation_stack_max_ + extern void fake_print_message_section_operation_stack_max(fake_data_t * const data, const fl_print_t print, const f_string_static_t buffer, const f_string_range_t section_name, const f_string_range_t operation_name, const f_array_length_t stack_max) F_attribute_visibility_internal_d; +#endif // _di_fake_print_message_section_operation_stack_max_ + +/** + * Print error messages when processing some fakefile section, for a specific line and operation, and that operation is invalid. + * + * @param data + * The program data. + * @param print + * Designates how the section error/warning should be printed. + * @param buffer + * The buffer containing the fakefile data. + * @param section_name + * The range within the buffer representing the section name. + * @param operation_name + * The range within the buffer representing the operation name within the section. + * + * @see f_file_stream_lock() + * @see f_file_stream_unlock() + * @see fl_print_format() + */ +#ifndef _di_fake_print_message_section_operation_unknown_ + extern void fake_print_message_section_operation_unknown(fake_data_t * const data, const fl_print_t print, const f_string_static_t buffer, const f_string_range_t section_name, const f_string_range_t operation_name) F_attribute_visibility_internal_d; +#endif // _di_fake_print_message_section_operation_unknown_ + +/** + * Print message when fake settings content is empty. + * + * @param data + * The program data. + * @param path_file + * The path to the fakefile. + * @param buffer + * The buffer containing the loaded file content. + * @param range_object + * The range within the buffer representing the object. + * @param settings_name + * The name of the setting that has an invalid value. + * + * @see f_file_stream_lock() + * @see f_file_stream_unlock() + * @see fl_print_format() + */ +#ifndef _di_fake_print_warning_settings_content_empty_ + extern void fake_print_warning_settings_content_empty(fake_data_t * const data, const f_string_static_t path_file, const f_string_dynamic_t buffer, const f_string_range_t range_object, const f_string_static_t settings_name) F_attribute_visibility_internal_d; +#endif // _di_fake_print_warning_settings_content_empty_ + +/** + * Print warning message when fake settings content is invalid. + * + * @param data + * The program data. + * @param path_file + * The path to the fakefile. + * @param buffer + * The buffer containing the loaded file content. + * @param range_object + * The range within the buffer representing the object. + * @param range_content + * The range within the buffer representing the content. + * @param settings_name + * The name of the setting that has an invalid value. + * + * @see f_file_stream_lock() + * @see f_file_stream_unlock() + * @see fl_print_format() + */ +#ifndef _di_fake_print_warning_settings_content_invalid_ + extern void fake_print_warning_settings_content_invalid(fake_data_t * const data, const f_string_static_t path_file, const f_string_dynamic_t buffer, const f_string_range_t range_object, const f_string_range_t range_content, const f_string_static_t settings_name) F_attribute_visibility_internal_d; +#endif // _di_fake_print_warning_settings_content_invalid_ + +/** + * Print warning message when settings content has too many values. + * + * @param data + * The program data. + * @param path_file + * The path to the fakefile. + * @param buffer + * The buffer containing the loaded file content. + * @param name_object + * The name of the object. + * + * @see f_file_stream_lock() + * @see f_file_stream_unlock() + * @see fl_print_format() + */ +#ifndef _di_fake_print_warning_settings_content_multiple_ + extern void fake_print_warning_settings_content_multiple(fake_data_t * const data, const f_string_static_t path_file, const f_string_static_t name_object) F_attribute_visibility_internal_d; +#endif // _di_fake_print_warning_settings_content_multiple_ + +/** + * Print warning message when fakefile has too many objects with the same name. + * + * @param data + * The program data. + * @param path_file + * The path to the fakefile. + * @param buffer + * The buffer containing the loaded file content. + * @param label + * A label describing what this object belongs to. + * @param name_object + * The name of the object. + * + * @see f_file_stream_lock() + * @see f_file_stream_unlock() + * @see fl_print_format() + */ +#ifndef _di_fake_print_warning_settings_object_multiple_ + extern void fake_print_warning_settings_object_multiple(fake_data_t * const data, const f_string_static_t path_file, const f_string_static_t label, const f_string_static_t name_object) F_attribute_visibility_internal_d; +#endif // _di_fake_print_warning_settings_object_multiple_ + #ifdef __cplusplus } // extern "C" #endif diff --git a/level_3/fake/c/main/private-common.c b/level_3/fake/c/main/private-common.c index 7b8b1c3..1d7722e 100644 --- a/level_3/fake/c/main/private-common.c +++ b/level_3/fake/c/main/private-common.c @@ -5,407 +5,6 @@ extern "C" { #endif -#ifndef _di_fake_build_setting_t_ - const f_string_static_t fake_build_setting_default_ar_s = macro_f_string_static_t_initialize(FAKE_build_setting_default_ar_s, 0, FAKE_build_setting_default_ar_s_length); - const f_string_static_t fake_build_setting_default_gcc_s = macro_f_string_static_t_initialize(FAKE_build_setting_default_gcc_s, 0, FAKE_build_setting_default_gcc_s_length); - const f_string_static_t fake_build_setting_default_version_s = macro_f_string_static_t_initialize(FAKE_build_setting_default_version_s, 0, FAKE_build_setting_default_version_s_length); - const f_string_static_t fake_build_setting_default_version_prefix_s = macro_f_string_static_t_initialize(FAKE_build_setting_default_version_prefix_s, 0, FAKE_build_setting_default_version_prefix_s_length); - const f_string_static_t fake_build_setting_default_yes_s = macro_f_string_static_t_initialize(FAKE_build_setting_default_yes_s, 0, FAKE_build_setting_default_yes_s_length); - - const f_string_static_t fake_build_setting_name_build_compiler_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_compiler_s, 0, FAKE_build_setting_name_build_compiler_s_length); - const f_string_static_t fake_build_setting_name_build_indexer_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_indexer_s, 0, FAKE_build_setting_name_build_indexer_s_length); - const f_string_static_t fake_build_setting_name_build_indexer_arguments_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_indexer_arguments_s, 0, FAKE_build_setting_name_build_indexer_arguments_s_length); - const f_string_static_t fake_build_setting_name_build_language_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_language_s, 0, FAKE_build_setting_name_build_language_s_length); - const f_string_static_t fake_build_setting_name_build_libraries_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_libraries_s, 0, FAKE_build_setting_name_build_libraries_s_length); - const f_string_static_t fake_build_setting_name_build_libraries_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_libraries_shared_s, 0, FAKE_build_setting_name_build_libraries_shared_s_length); - const f_string_static_t fake_build_setting_name_build_libraries_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_libraries_static_s, 0, FAKE_build_setting_name_build_libraries_static_s_length); - const f_string_static_t fake_build_setting_name_build_name_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_name_s, 0, FAKE_build_setting_name_build_name_s_length); - const f_string_static_t fake_build_setting_name_build_objects_library_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_objects_library_s, 0, FAKE_build_setting_name_build_objects_library_s_length); - const f_string_static_t fake_build_setting_name_build_objects_library_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_objects_library_shared_s, 0, FAKE_build_setting_name_build_objects_library_shared_s_length); - const f_string_static_t fake_build_setting_name_build_objects_library_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_objects_library_static_s, 0, FAKE_build_setting_name_build_objects_library_static_s_length); - const f_string_static_t fake_build_setting_name_build_objects_program_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_objects_program_s, 0, FAKE_build_setting_name_build_objects_program_s_length); - const f_string_static_t fake_build_setting_name_build_objects_program_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_objects_program_shared_s, 0, FAKE_build_setting_name_build_objects_program_shared_s_length); - const f_string_static_t fake_build_setting_name_build_objects_program_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_objects_program_static_s, 0, FAKE_build_setting_name_build_objects_program_static_s_length); - const f_string_static_t fake_build_setting_name_build_script_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_script_s, 0, FAKE_build_setting_name_build_script_s_length); - const f_string_static_t fake_build_setting_name_build_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_shared_s, 0, FAKE_build_setting_name_build_shared_s_length); - const f_string_static_t fake_build_setting_name_build_sources_documentation_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_documentation_s, 0, FAKE_build_setting_name_build_sources_documentation_s_length); - const f_string_static_t fake_build_setting_name_build_sources_headers_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_headers_s, 0, FAKE_build_setting_name_build_sources_headers_s_length); - const f_string_static_t fake_build_setting_name_build_sources_headers_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_headers_shared_s, 0, FAKE_build_setting_name_build_sources_headers_shared_s_length); - const f_string_static_t fake_build_setting_name_build_sources_headers_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_headers_static_s, 0, FAKE_build_setting_name_build_sources_headers_static_s_length); - const f_string_static_t fake_build_setting_name_build_sources_library_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_library_s, 0, FAKE_build_setting_name_build_sources_library_s_length); - const f_string_static_t fake_build_setting_name_build_sources_library_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_library_shared_s, 0, FAKE_build_setting_name_build_sources_library_shared_s_length); - const f_string_static_t fake_build_setting_name_build_sources_library_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_library_static_s, 0, FAKE_build_setting_name_build_sources_library_static_s_length); - const f_string_static_t fake_build_setting_name_build_sources_object_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_object_s, 0, FAKE_build_setting_name_build_sources_object_s_length); - const f_string_static_t fake_build_setting_name_build_sources_object_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_object_shared_s, 0, FAKE_build_setting_name_build_sources_object_shared_s_length); - const f_string_static_t fake_build_setting_name_build_sources_object_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_object_static_s, 0, FAKE_build_setting_name_build_sources_object_static_s_length); - const f_string_static_t fake_build_setting_name_build_sources_program_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_program_s, 0, FAKE_build_setting_name_build_sources_program_s_length); - const f_string_static_t fake_build_setting_name_build_sources_program_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_program_shared_s, 0, FAKE_build_setting_name_build_sources_program_shared_s_length); - const f_string_static_t fake_build_setting_name_build_sources_program_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_program_static_s, 0, FAKE_build_setting_name_build_sources_program_static_s_length); - const f_string_static_t fake_build_setting_name_build_sources_script_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_script_s, 0, FAKE_build_setting_name_build_sources_script_s_length); - const f_string_static_t fake_build_setting_name_build_sources_setting_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_setting_s, 0, FAKE_build_setting_name_build_sources_setting_s_length); - const f_string_static_t fake_build_setting_name_build_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_static_s, 0, FAKE_build_setting_name_build_static_s_length); - const f_string_static_t fake_build_setting_name_defines_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_defines_s, 0, FAKE_build_setting_name_defines_s_length); - const f_string_static_t fake_build_setting_name_defines_library_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_defines_library_s, 0, FAKE_build_setting_name_defines_library_s_length); - const f_string_static_t fake_build_setting_name_defines_library_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_defines_library_shared_s, 0, FAKE_build_setting_name_defines_library_shared_s_length); - const f_string_static_t fake_build_setting_name_defines_library_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_defines_library_static_s, 0, FAKE_build_setting_name_defines_library_static_s_length); - const f_string_static_t fake_build_setting_name_defines_object_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_defines_object_s, 0, FAKE_build_setting_name_defines_object_s_length); - const f_string_static_t fake_build_setting_name_defines_object_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_defines_object_shared_s, 0, FAKE_build_setting_name_defines_object_shared_s_length); - const f_string_static_t fake_build_setting_name_defines_object_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_defines_object_static_s, 0, FAKE_build_setting_name_defines_object_static_s_length); - const f_string_static_t fake_build_setting_name_defines_program_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_defines_program_s, 0, FAKE_build_setting_name_defines_program_s_length); - const f_string_static_t fake_build_setting_name_defines_program_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_defines_program_shared_s, 0, FAKE_build_setting_name_defines_program_shared_s_length); - const f_string_static_t fake_build_setting_name_defines_program_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_defines_program_static_s, 0, FAKE_build_setting_name_defines_program_static_s_length); - const f_string_static_t fake_build_setting_name_defines_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_defines_shared_s, 0, FAKE_build_setting_name_defines_shared_s_length); - const f_string_static_t fake_build_setting_name_defines_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_defines_static_s, 0, FAKE_build_setting_name_defines_static_s_length); - const f_string_static_t fake_build_setting_name_environment_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_environment_s, 0, FAKE_build_setting_name_environment_s_length); - const f_string_static_t fake_build_setting_name_flags_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_flags_s, 0, FAKE_build_setting_name_flags_s_length); - const f_string_static_t fake_build_setting_name_flags_library_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_flags_library_s, 0, FAKE_build_setting_name_flags_library_s_length); - const f_string_static_t fake_build_setting_name_flags_library_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_flags_library_shared_s, 0, FAKE_build_setting_name_flags_library_shared_s_length); - const f_string_static_t fake_build_setting_name_flags_library_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_flags_library_static_s, 0, FAKE_build_setting_name_flags_library_static_s_length); - const f_string_static_t fake_build_setting_name_flags_object_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_flags_object_s, 0, FAKE_build_setting_name_flags_object_s_length); - const f_string_static_t fake_build_setting_name_flags_object_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_flags_object_shared_s, 0, FAKE_build_setting_name_flags_object_shared_s_length); - const f_string_static_t fake_build_setting_name_flags_object_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_flags_object_static_s, 0, FAKE_build_setting_name_flags_object_static_s_length); - const f_string_static_t fake_build_setting_name_flags_program_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_flags_program_s, 0, FAKE_build_setting_name_flags_program_s_length); - const f_string_static_t fake_build_setting_name_flags_program_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_flags_program_shared_s, 0, FAKE_build_setting_name_flags_program_shared_s_length); - const f_string_static_t fake_build_setting_name_flags_program_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_flags_program_static_s, 0, FAKE_build_setting_name_flags_program_static_s_length); - const f_string_static_t fake_build_setting_name_flags_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_flags_shared_s, 0, FAKE_build_setting_name_flags_shared_s_length); - const f_string_static_t fake_build_setting_name_flags_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_flags_static_s, 0, FAKE_build_setting_name_flags_static_s_length); - const f_string_static_t fake_build_setting_name_has_path_standard_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_has_path_standard_s, 0, FAKE_build_setting_name_has_path_standard_s_length); - const f_string_static_t fake_build_setting_name_modes_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_modes_s, 0, FAKE_build_setting_name_modes_s_length); - const f_string_static_t fake_build_setting_name_modes_default_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_modes_default_s, 0, FAKE_build_setting_name_modes_default_s_length); - const f_string_static_t fake_build_setting_name_path_headers_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_headers_s, 0, FAKE_build_setting_name_path_headers_s_length); - const f_string_static_t fake_build_setting_name_path_language_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_language_s, 0, FAKE_build_setting_name_path_language_s_length); - const f_string_static_t fake_build_setting_name_path_library_script_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_library_script_s, 0, FAKE_build_setting_name_path_library_script_s_length); - const f_string_static_t fake_build_setting_name_path_library_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_library_shared_s, 0, FAKE_build_setting_name_path_library_shared_s_length); - const f_string_static_t fake_build_setting_name_path_library_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_library_static_s, 0, FAKE_build_setting_name_path_library_static_s_length); - const f_string_static_t fake_build_setting_name_path_object_script_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_object_script_s, 0, FAKE_build_setting_name_path_object_script_s_length); - const f_string_static_t fake_build_setting_name_path_object_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_object_shared_s, 0, FAKE_build_setting_name_path_object_shared_s_length); - const f_string_static_t fake_build_setting_name_path_object_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_object_static_s, 0, FAKE_build_setting_name_path_object_static_s_length); - const f_string_static_t fake_build_setting_name_path_program_script_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_program_script_s, 0, FAKE_build_setting_name_path_program_script_s_length); - const f_string_static_t fake_build_setting_name_path_program_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_program_shared_s, 0, FAKE_build_setting_name_path_program_shared_s_length); - const f_string_static_t fake_build_setting_name_path_program_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_program_static_s, 0, FAKE_build_setting_name_path_program_static_s_length); - const f_string_static_t fake_build_setting_name_path_sources_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_sources_s, 0, FAKE_build_setting_name_path_sources_s_length); - const f_string_static_t fake_build_setting_name_path_sources_object_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_sources_object_s, 0, FAKE_build_setting_name_path_sources_object_s_length); - const f_string_static_t fake_build_setting_name_preserve_path_headers_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_preserve_path_headers_s, 0, FAKE_build_setting_name_preserve_path_headers_s_length); - const f_string_static_t fake_build_setting_name_process_post_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_process_post_s, 0, FAKE_build_setting_name_process_post_s_length); - const f_string_static_t fake_build_setting_name_process_pre_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_process_pre_s, 0, FAKE_build_setting_name_process_pre_s_length); - const f_string_static_t fake_build_setting_name_search_exclusive_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_search_exclusive_s, 0, FAKE_build_setting_name_search_exclusive_s_length); - const f_string_static_t fake_build_setting_name_search_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_search_shared_s, 0, FAKE_build_setting_name_search_shared_s_length); - const f_string_static_t fake_build_setting_name_search_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_search_static_s, 0, FAKE_build_setting_name_search_static_s_length); - const f_string_static_t fake_build_setting_name_version_file_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_version_file_s, 0, FAKE_build_setting_name_version_file_s_length); - const f_string_static_t fake_build_setting_name_version_major_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_version_major_s, 0, FAKE_build_setting_name_version_major_s_length); - const f_string_static_t fake_build_setting_name_version_major_prefix_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_version_major_prefix_s, 0, FAKE_build_setting_name_version_major_prefix_s_length); - const f_string_static_t fake_build_setting_name_version_micro_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_version_micro_s, 0, FAKE_build_setting_name_version_micro_s_length); - const f_string_static_t fake_build_setting_name_version_micro_prefix_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_version_micro_prefix_s, 0, FAKE_build_setting_name_version_micro_prefix_s_length); - const f_string_static_t fake_build_setting_name_version_minor_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_version_minor_s, 0, FAKE_build_setting_name_version_minor_s_length); - const f_string_static_t fake_build_setting_name_version_minor_prefix_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_version_minor_prefix_s, 0, FAKE_build_setting_name_version_minor_prefix_s_length); - const f_string_static_t fake_build_setting_name_version_nano_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_version_nano_s, 0, FAKE_build_setting_name_version_nano_s_length); - const f_string_static_t fake_build_setting_name_version_nano_prefix_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_version_nano_prefix_s, 0, FAKE_build_setting_name_version_nano_prefix_s_length); - const f_string_static_t fake_build_setting_name_version_target_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_version_target_s, 0, FAKE_build_setting_name_version_target_s_length); -#endif // _di_fake_build_setting_t_ - -#ifndef _di_fake_build_stage_t_ - const f_string_static_t fake_build_stage_built_s = macro_f_string_static_t_initialize(FAKE_build_stage_built_s, 0, FAKE_build_stage_built_s_length); - const f_string_static_t fake_build_stage_library_script_s = macro_f_string_static_t_initialize(FAKE_build_stage_library_script_s, 0, FAKE_build_stage_library_script_s_length); - const f_string_static_t fake_build_stage_library_shared_s = macro_f_string_static_t_initialize(FAKE_build_stage_library_shared_s, 0, FAKE_build_stage_library_shared_s_length); - const f_string_static_t fake_build_stage_library_static_s = macro_f_string_static_t_initialize(FAKE_build_stage_library_static_s, 0, FAKE_build_stage_library_static_s_length); - const f_string_static_t fake_build_stage_object_script_s = macro_f_string_static_t_initialize(FAKE_build_stage_object_script_s, 0, FAKE_build_stage_object_script_s_length); - const f_string_static_t fake_build_stage_object_shared_s = macro_f_string_static_t_initialize(FAKE_build_stage_object_shared_s, 0, FAKE_build_stage_object_shared_s_length); - const f_string_static_t fake_build_stage_object_static_s = macro_f_string_static_t_initialize(FAKE_build_stage_object_static_s, 0, FAKE_build_stage_object_static_s_length); - const f_string_static_t fake_build_stage_objects_static_s = macro_f_string_static_t_initialize(FAKE_build_stage_objects_static_s, 0, FAKE_build_stage_objects_static_s_length); - const f_string_static_t fake_build_stage_process_post_s = macro_f_string_static_t_initialize(FAKE_build_stage_process_post_s, 0, FAKE_build_stage_process_post_s_length); - const f_string_static_t fake_build_stage_process_pre_s = macro_f_string_static_t_initialize(FAKE_build_stage_process_pre_s, 0, FAKE_build_stage_process_pre_s_length); - const f_string_static_t fake_build_stage_program_script_s = macro_f_string_static_t_initialize(FAKE_build_stage_program_script_s, 0, FAKE_build_stage_program_script_s_length); - const f_string_static_t fake_build_stage_program_shared_s = macro_f_string_static_t_initialize(FAKE_build_stage_program_shared_s, 0, FAKE_build_stage_program_shared_s_length); - const f_string_static_t fake_build_stage_program_static_s = macro_f_string_static_t_initialize(FAKE_build_stage_program_static_s, 0, FAKE_build_stage_program_static_s_length); - const f_string_static_t fake_build_stage_separate_s = macro_f_string_static_t_initialize(FAKE_build_stage_separate_s, 0, FAKE_build_stage_separate_s_length); - const f_string_static_t fake_build_stage_skeleton_s = macro_f_string_static_t_initialize(FAKE_build_stage_skeleton_s, 0, FAKE_build_stage_skeleton_s_length); - const f_string_static_t fake_build_stage_sources_documentation_s = macro_f_string_static_t_initialize(FAKE_build_stage_sources_documentation_s, 0, FAKE_build_stage_sources_documentation_s_length); - const f_string_static_t fake_build_stage_sources_headers_s = macro_f_string_static_t_initialize(FAKE_build_stage_sources_headers_s, 0, FAKE_build_stage_sources_headers_s_length); - const f_string_static_t fake_build_stage_sources_script_s = macro_f_string_static_t_initialize(FAKE_build_stage_sources_script_s, 0, FAKE_build_stage_sources_script_s_length); - const f_string_static_t fake_build_stage_sources_settings_s = macro_f_string_static_t_initialize(FAKE_build_stage_sources_settings_s, 0, FAKE_build_stage_sources_settings_s_length); -#endif // _di_fake_build_stage_t_ - -#ifndef _di_fake_build_parameter_ - const f_string_static_t fake_build_parameter_library_include_s = macro_f_string_static_t_initialize(FAKE_build_parameter_library_include_s, 0, FAKE_build_parameter_library_include_s_length); - const f_string_static_t fake_build_parameter_library_link_file_s = macro_f_string_static_t_initialize(FAKE_build_parameter_library_link_file_s, 0, FAKE_build_parameter_library_link_file_s_length); - const f_string_static_t fake_build_parameter_library_link_path_s = macro_f_string_static_t_initialize(FAKE_build_parameter_library_link_path_s, 0, FAKE_build_parameter_library_link_path_s_length); - const f_string_static_t fake_build_parameter_library_name_prefix_s = macro_f_string_static_t_initialize(FAKE_build_parameter_library_name_prefix_s, 0, FAKE_build_parameter_library_name_prefix_s_length); - const f_string_static_t fake_build_parameter_library_name_suffix_shared_s = macro_f_string_static_t_initialize(FAKE_build_parameter_library_name_suffix_shared_s, 0, FAKE_build_parameter_library_name_suffix_shared_s_length); - const f_string_static_t fake_build_parameter_library_name_suffix_static_s = macro_f_string_static_t_initialize(FAKE_build_parameter_library_name_suffix_static_s, 0, FAKE_build_parameter_library_name_suffix_static_s_length); - const f_string_static_t fake_build_parameter_library_output_s = macro_f_string_static_t_initialize(FAKE_build_parameter_library_output_s, 0, FAKE_build_parameter_library_output_s_length); - const f_string_static_t fake_build_parameter_library_shared_s = macro_f_string_static_t_initialize(FAKE_build_parameter_library_shared_s, 0, FAKE_build_parameter_library_shared_s_length); - const f_string_static_t fake_build_parameter_library_static_s = macro_f_string_static_t_initialize(FAKE_build_parameter_library_static_s, 0, FAKE_build_parameter_library_static_s_length); - const f_string_static_t fake_build_parameter_library_shared_prefix_s = macro_f_string_static_t_initialize(FAKE_build_parameter_library_shared_prefix_s, 0, FAKE_build_parameter_library_shared_prefix_s_length); - - const f_string_static_t fake_build_parameter_object_compile_s = macro_f_string_static_t_initialize(FAKE_build_parameter_object_compile_s, 0, FAKE_build_parameter_object_compile_s_length); - const f_string_static_t fake_build_parameter_object_name_suffix_s = macro_f_string_static_t_initialize(FAKE_build_parameter_object_name_suffix_s, 0, FAKE_build_parameter_object_name_suffix_s_length); - const f_string_static_t fake_build_parameter_object_output_s = macro_f_string_static_t_initialize(FAKE_build_parameter_object_output_s, 0, FAKE_build_parameter_object_output_s_length); - const f_string_static_t fake_build_parameter_object_static_s = macro_f_string_static_t_initialize(FAKE_build_parameter_object_static_s, 0, FAKE_build_parameter_object_static_s_length); -#endif // _di_fake_build_parameter_ - -#ifndef _di_fake_common_ - const f_string_static_t fake_common_file_path_access_s = macro_f_string_static_t_initialize(FAKE_common_file_path_access_s, 0, FAKE_common_file_path_access_s_length); - const f_string_static_t fake_common_file_directory_copy_s = macro_f_string_static_t_initialize(FAKE_common_file_directory_copy_s, 0, FAKE_common_file_directory_copy_s_length); - const f_string_static_t fake_common_file_path_change_to_s = macro_f_string_static_t_initialize(FAKE_common_file_path_change_to_s, 0, FAKE_common_file_path_change_to_s_length); - const f_string_static_t fake_common_file_path_determine_real_s = macro_f_string_static_t_initialize(FAKE_common_file_path_determine_real_s, 0, FAKE_common_file_path_determine_real_s_length); - const f_string_static_t fake_common_file_path_stack_s = macro_f_string_static_t_initialize(FAKE_common_file_path_stack_s, 0, FAKE_common_file_path_stack_s_length); - const f_string_static_t fake_common_file_populate_pre_s = macro_f_string_static_t_initialize(FAKE_common_file_populate_pre_s, 0, FAKE_common_file_populate_pre_s_length); - - const f_string_static_t fake_common_setting_bool_yes_s = macro_f_string_static_t_initialize(FAKE_common_setting_bool_yes_s, 0, FAKE_common_setting_bool_yes_s_length); - const f_string_static_t fake_common_setting_bool_no_s = macro_f_string_static_t_initialize(FAKE_common_setting_bool_no_s, 0, FAKE_common_setting_bool_no_s_length); - - const f_string_static_t fake_common_setting_list_s = macro_f_string_static_t_initialize(FAKE_common_setting_list_s, 0, FAKE_common_setting_list_s_length); -#endif // _di_fake_common_ - -#ifndef _di_fake_make_section_ - const f_string_static_t fake_make_section_main_s = macro_f_string_static_t_initialize(FAKE_make_section_main_s, 0, FAKE_make_section_main_s_length); - const f_string_static_t fake_make_section_settings_s = macro_f_string_static_t_initialize(FAKE_make_section_settings_s, 0, FAKE_make_section_settings_s_length); -#endif // _di_fake_make_section_ - -#ifndef _di_fake_make_setting_t_ - const f_string_static_t fake_make_setting_compiler_s = macro_f_string_static_t_initialize(FAKE_make_setting_compiler_s, 0, FAKE_make_setting_compiler_s_length); - const f_string_static_t fake_make_setting_define_s = macro_f_string_static_t_initialize(FAKE_make_setting_define_s, 0, FAKE_make_setting_define_s_length); - const f_string_static_t fake_make_setting_environment_s = macro_f_string_static_t_initialize(FAKE_make_setting_environment_s, 0, FAKE_make_setting_environment_s_length); - const f_string_static_t fake_make_setting_fail_s = macro_f_string_static_t_initialize(FAKE_make_setting_fail_s, 0, FAKE_make_setting_fail_s_length); - const f_string_static_t fake_make_setting_indexer_s = macro_f_string_static_t_initialize(FAKE_make_setting_indexer_s, 0, FAKE_make_setting_indexer_s_length); - const f_string_static_t fake_make_setting_indexer_arguments_s = macro_f_string_static_t_initialize(FAKE_make_setting_indexer_arguments_s, 0, FAKE_make_setting_indexer_arguments_s_length); - const f_string_static_t fake_make_setting_load_build_s = macro_f_string_static_t_initialize(FAKE_make_setting_load_build_s, 0, FAKE_make_setting_load_build_s_length); - const f_string_static_t fake_make_setting_parameter_s = macro_f_string_static_t_initialize(FAKE_make_setting_parameter_s, 0, FAKE_make_setting_parameter_s_length); - const f_string_static_t fake_make_setting_return_s = macro_f_string_static_t_initialize(FAKE_make_setting_return_s, 0, FAKE_make_setting_return_s_length); -#endif // _di_fake_make_setting_t_ - -#ifndef _di_fake_make_operation_ - const f_string_static_t fake_make_operation_and_s = macro_f_string_static_t_initialize(FAKE_make_operation_and_s, 0, FAKE_make_operation_and_s_length); - const f_string_static_t fake_make_operation_break_s = macro_f_string_static_t_initialize(FAKE_make_operation_break_s, 0, FAKE_make_operation_break_s_length); - const f_string_static_t fake_make_operation_build_s = macro_f_string_static_t_initialize(FAKE_make_operation_build_s, 0, FAKE_make_operation_build_s_length); - const f_string_static_t fake_make_operation_clean_s = macro_f_string_static_t_initialize(FAKE_make_operation_clean_s, 0, FAKE_make_operation_clean_s_length); - const f_string_static_t fake_make_operation_clone_s = macro_f_string_static_t_initialize(FAKE_make_operation_clone_s, 0, FAKE_make_operation_clone_s_length); - const f_string_static_t fake_make_operation_compile_s = macro_f_string_static_t_initialize(FAKE_make_operation_compile_s, 0, FAKE_make_operation_compile_s_length); - const f_string_static_t fake_make_operation_copy_s = macro_f_string_static_t_initialize(FAKE_make_operation_copy_s, 0, FAKE_make_operation_copy_s_length); - const f_string_static_t fake_make_operation_define_s = macro_f_string_static_t_initialize(FAKE_make_operation_define_s, 0, FAKE_make_operation_define_s_length); - const f_string_static_t fake_make_operation_delete_s = macro_f_string_static_t_initialize(FAKE_make_operation_delete_s, 0, FAKE_make_operation_delete_s_length); - const f_string_static_t fake_make_operation_deletes_s = macro_f_string_static_t_initialize(FAKE_make_operation_deletes_s, 0, FAKE_make_operation_deletes_s_length); - const f_string_static_t fake_make_operation_else_s = macro_f_string_static_t_initialize(FAKE_make_operation_else_s, 0, FAKE_make_operation_else_s_length); - const f_string_static_t fake_make_operation_exit_s = macro_f_string_static_t_initialize(FAKE_make_operation_exit_s, 0, FAKE_make_operation_exit_s_length); - const f_string_static_t fake_make_operation_fail_s = macro_f_string_static_t_initialize(FAKE_make_operation_fail_s, 0, FAKE_make_operation_fail_s_length); - const f_string_static_t fake_make_operation_group_s = macro_f_string_static_t_initialize(FAKE_make_operation_group_s, 0, FAKE_make_operation_group_s_length); - const f_string_static_t fake_make_operation_groups_s = macro_f_string_static_t_initialize(FAKE_make_operation_groups_s, 0, FAKE_make_operation_groups_s_length); - const f_string_static_t fake_make_operation_if_s = macro_f_string_static_t_initialize(FAKE_make_operation_if_s, 0, FAKE_make_operation_if_s_length); - const f_string_static_t fake_make_operation_index_s = macro_f_string_static_t_initialize(FAKE_make_operation_index_s, 0, FAKE_make_operation_index_s_length); - const f_string_static_t fake_make_operation_link_s = macro_f_string_static_t_initialize(FAKE_make_operation_link_s, 0, FAKE_make_operation_link_s_length); - const f_string_static_t fake_make_operation_mode_s = macro_f_string_static_t_initialize(FAKE_make_operation_mode_s, 0, FAKE_make_operation_mode_s_length); - const f_string_static_t fake_make_operation_modes_s = macro_f_string_static_t_initialize(FAKE_make_operation_modes_s, 0, FAKE_make_operation_modes_s_length); - const f_string_static_t fake_make_operation_move_s = macro_f_string_static_t_initialize(FAKE_make_operation_move_s, 0, FAKE_make_operation_move_s_length); - const f_string_static_t fake_make_operation_operate_s = macro_f_string_static_t_initialize(FAKE_make_operation_operate_s, 0, FAKE_make_operation_operate_s_length); - const f_string_static_t fake_make_operation_or_s = macro_f_string_static_t_initialize(FAKE_make_operation_or_s, 0, FAKE_make_operation_or_s_length); - const f_string_static_t fake_make_operation_owner_s = macro_f_string_static_t_initialize(FAKE_make_operation_owner_s, 0, FAKE_make_operation_owner_s_length); - const f_string_static_t fake_make_operation_owners_s = macro_f_string_static_t_initialize(FAKE_make_operation_owners_s, 0, FAKE_make_operation_owners_s_length); - const f_string_static_t fake_make_operation_parameter_s = macro_f_string_static_t_initialize(FAKE_make_operation_parameter_s, 0, FAKE_make_operation_parameter_s_length); - const f_string_static_t fake_make_operation_pop_s = macro_f_string_static_t_initialize(FAKE_make_operation_pop_s, 0, FAKE_make_operation_pop_s_length); - const f_string_static_t fake_make_operation_print_s = macro_f_string_static_t_initialize(FAKE_make_operation_print_s, 0, FAKE_make_operation_print_s_length); - const f_string_static_t fake_make_operation_run_s = macro_f_string_static_t_initialize(FAKE_make_operation_run_s, 0, FAKE_make_operation_run_s_length); - const f_string_static_t fake_make_operation_shell_s = macro_f_string_static_t_initialize(FAKE_make_operation_shell_s, 0, FAKE_make_operation_shell_s_length); - const f_string_static_t fake_make_operation_skeleton_s = macro_f_string_static_t_initialize(FAKE_make_operation_skeleton_s, 0, FAKE_make_operation_skeleton_s_length); - const f_string_static_t fake_make_operation_to_s = macro_f_string_static_t_initialize(FAKE_make_operation_to_s, 0, FAKE_make_operation_to_s_length); - const f_string_static_t fake_make_operation_top_s = macro_f_string_static_t_initialize(FAKE_make_operation_top_s, 0, FAKE_make_operation_top_s_length); - const f_string_static_t fake_make_operation_touch_s = macro_f_string_static_t_initialize(FAKE_make_operation_touch_s, 0, FAKE_make_operation_touch_s_length); - const f_string_static_t fake_make_operation_write_s = macro_f_string_static_t_initialize(FAKE_make_operation_write_s, 0, FAKE_make_operation_write_s_length); - - const f_string_static_t fake_make_operation_argument_directory_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_directory_s, 0, FAKE_make_operation_argument_directory_s_length); - const f_string_static_t fake_make_operation_argument_environment_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_environment_s, 0, FAKE_make_operation_argument_environment_s_length); - const f_string_static_t fake_make_operation_argument_error_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_error_s, 0, FAKE_make_operation_argument_error_s_length); - const f_string_static_t fake_make_operation_argument_exit_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_exit_s, 0, FAKE_make_operation_argument_exit_s_length); - const f_string_static_t fake_make_operation_argument_failure_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_failure_s, 0, FAKE_make_operation_argument_failure_s_length); - const f_string_static_t fake_make_operation_argument_file_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_file_s, 0, FAKE_make_operation_argument_file_s_length); - const f_string_static_t fake_make_operation_argument_force_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_force_s, 0, FAKE_make_operation_argument_force_s_length); - const f_string_static_t fake_make_operation_argument_has_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_has_s, 0, FAKE_make_operation_argument_has_s_length); - const f_string_static_t fake_make_operation_argument_ignore_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_ignore_s, 0, FAKE_make_operation_argument_ignore_s_length); - const f_string_static_t fake_make_operation_argument_is_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_is_s, 0, FAKE_make_operation_argument_is_s_length); - const f_string_static_t fake_make_operation_argument_no_dereference_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_no_dereference_s, 0, FAKE_make_operation_argument_no_dereference_s_length); - const f_string_static_t fake_make_operation_argument_parameter_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_parameter_s, 0, FAKE_make_operation_argument_parameter_s_length); - const f_string_static_t fake_make_operation_argument_point_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_point_s, 0, FAKE_make_operation_argument_point_s_length); - const f_string_static_t fake_make_operation_argument_recursive_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_recursive_s, 0, FAKE_make_operation_argument_recursive_s_length); - const f_string_static_t fake_make_operation_argument_strict_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_strict_s, 0, FAKE_make_operation_argument_strict_s_length); - const f_string_static_t fake_make_operation_argument_success_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_success_s, 0, FAKE_make_operation_argument_success_s_length); - const f_string_static_t fake_make_operation_argument_target_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_target_s, 0, FAKE_make_operation_argument_target_s_length); - const f_string_static_t fake_make_operation_argument_warn_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_warn_s, 0, FAKE_make_operation_argument_warn_s_length); - - const f_string_static_t fake_make_operation_argument_if_define_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_if_define_s, 0, FAKE_make_operation_argument_if_define_s_length); - const f_string_static_t fake_make_operation_argument_if_equal_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_if_equal_s, 0, FAKE_make_operation_argument_if_equal_s_length); - const f_string_static_t fake_make_operation_argument_if_equal_not_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_if_equal_not_s, 0, FAKE_make_operation_argument_if_equal_not_s_length); - const f_string_static_t fake_make_operation_argument_if_exist_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_if_exist_s, 0, FAKE_make_operation_argument_if_exist_s_length); - const f_string_static_t fake_make_operation_argument_if_failure_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_if_failure_s, 0, FAKE_make_operation_argument_if_failure_s_length); - const f_string_static_t fake_make_operation_argument_if_greater_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_if_greater_s, 0, FAKE_make_operation_argument_if_greater_s_length); - const f_string_static_t fake_make_operation_argument_if_greater_equal_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_if_greater_equal_s, 0, FAKE_make_operation_argument_if_greater_equal_s_length); - const f_string_static_t fake_make_operation_argument_if_group_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_if_group_s, 0, FAKE_make_operation_argument_if_group_s_length); - const f_string_static_t fake_make_operation_argument_if_is_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_if_is_s, 0, FAKE_make_operation_argument_if_is_s_length); - const f_string_static_t fake_make_operation_argument_if_is_for_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_if_is_for_s, 0, FAKE_make_operation_argument_if_is_for_s_length); - const f_string_static_t fake_make_operation_argument_if_less_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_if_less_s, 0, FAKE_make_operation_argument_if_less_s_length); - const f_string_static_t fake_make_operation_argument_if_less_equal_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_if_less_equal_s, 0, FAKE_make_operation_argument_if_less_equal_s_length); - const f_string_static_t fake_make_operation_argument_if_mode_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_if_mode_s, 0, FAKE_make_operation_argument_if_mode_s_length); - const f_string_static_t fake_make_operation_argument_if_not_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_if_not_s, 0, FAKE_make_operation_argument_if_not_s_length); - const f_string_static_t fake_make_operation_argument_if_owner_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_if_owner_s, 0, FAKE_make_operation_argument_if_owner_s_length); - const f_string_static_t fake_make_operation_argument_if_parameter_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_if_parameter_s, 0, FAKE_make_operation_argument_if_parameter_s_length); - const f_string_static_t fake_make_operation_argument_if_success_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_if_success_s, 0, FAKE_make_operation_argument_if_success_s_length); -#endif // _di_fake_make_operation_ - -#ifndef _di_fake_make_parameter_t_ - const f_string_static_t fake_make_parameter_iki_option_s = macro_f_string_static_t_initialize(FAKE_make_parameter_iki_option_s, 0, FAKE_make_parameter_iki_option_s_length); - const f_string_static_t fake_make_parameter_iki_value_s = macro_f_string_static_t_initialize(FAKE_make_parameter_iki_value_s, 0, FAKE_make_parameter_iki_value_s_length); - - const f_string_static_t fake_make_parameter_variable_build_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_build_s, 0, FAKE_make_parameter_variable_build_s_length); - const f_string_static_t fake_make_parameter_variable_color_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_color_s, 0, FAKE_make_parameter_variable_color_s_length); - const f_string_static_t fake_make_parameter_variable_current_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_current_s, 0, FAKE_make_parameter_variable_current_s_length); - const f_string_static_t fake_make_parameter_variable_data_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_data_s, 0, FAKE_make_parameter_variable_data_s_length); - const f_string_static_t fake_make_parameter_variable_define_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_define_s, 0, FAKE_make_parameter_variable_define_s_length); - const f_string_static_t fake_make_parameter_variable_documents_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_documents_s, 0, FAKE_make_parameter_variable_documents_s_length); - const f_string_static_t fake_make_parameter_variable_fakefile_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_fakefile_s, 0, FAKE_make_parameter_variable_fakefile_s_length); - const f_string_static_t fake_make_parameter_variable_licenses_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_licenses_s, 0, FAKE_make_parameter_variable_licenses_s_length); - const f_string_static_t fake_make_parameter_variable_mode_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_mode_s, 0, FAKE_make_parameter_variable_mode_s_length); - const f_string_static_t fake_make_parameter_variable_process_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_process_s, 0, FAKE_make_parameter_variable_process_s_length); - const f_string_static_t fake_make_parameter_variable_return_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_return_s, 0, FAKE_make_parameter_variable_return_s_length); - const f_string_static_t fake_make_parameter_variable_settings_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_settings_s, 0, FAKE_make_parameter_variable_settings_s_length); - const f_string_static_t fake_make_parameter_variable_sources_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_sources_s, 0, FAKE_make_parameter_variable_sources_s_length); - const f_string_static_t fake_make_parameter_variable_top_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_top_s, 0, FAKE_make_parameter_variable_top_s_length); - const f_string_static_t fake_make_parameter_variable_verbosity_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_verbosity_s, 0, FAKE_make_parameter_variable_verbosity_s_length); - const f_string_static_t fake_make_parameter_variable_work_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_work_s, 0, FAKE_make_parameter_variable_work_s_length); - - const f_string_static_t fake_make_parameter_variable_option_build_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_option_build_s, 0, FAKE_make_parameter_variable_option_build_s_length); - const f_string_static_t fake_make_parameter_variable_option_color_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_option_color_s, 0, FAKE_make_parameter_variable_option_color_s_length); - const f_string_static_t fake_make_parameter_variable_option_data_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_option_data_s, 0, FAKE_make_parameter_variable_option_data_s_length); - const f_string_static_t fake_make_parameter_variable_option_define_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_option_define_s, 0, FAKE_make_parameter_variable_option_define_s_length); - const f_string_static_t fake_make_parameter_variable_option_documents_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_option_documents_s, 0, FAKE_make_parameter_variable_option_documents_s_length); - const f_string_static_t fake_make_parameter_variable_option_fakefile_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_option_fakefile_s, 0, FAKE_make_parameter_variable_option_fakefile_s_length); - const f_string_static_t fake_make_parameter_variable_option_licenses_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_option_licenses_s, 0, FAKE_make_parameter_variable_option_licenses_s_length); - const f_string_static_t fake_make_parameter_variable_option_mode_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_option_mode_s, 0, FAKE_make_parameter_variable_option_mode_s_length); - const f_string_static_t fake_make_parameter_variable_option_process_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_option_process_s, 0, FAKE_make_parameter_variable_option_process_s_length); - const f_string_static_t fake_make_parameter_variable_option_settings_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_option_settings_s, 0, FAKE_make_parameter_variable_option_settings_s_length); - const f_string_static_t fake_make_parameter_variable_option_sources_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_option_sources_s, 0, FAKE_make_parameter_variable_option_sources_s_length); - const f_string_static_t fake_make_parameter_variable_option_verbosity_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_option_verbosity_s, 0, FAKE_make_parameter_variable_option_verbosity_s_length); - const f_string_static_t fake_make_parameter_variable_option_work_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_option_work_s, 0, FAKE_make_parameter_variable_option_work_s_length); - - const f_string_static_t fake_make_parameter_variable_value_build_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_value_build_s, 0, FAKE_make_parameter_variable_value_build_s_length); - const f_string_static_t fake_make_parameter_variable_value_color_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_value_color_s, 0, FAKE_make_parameter_variable_value_color_s_length); - const f_string_static_t fake_make_parameter_variable_value_data_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_value_data_s, 0, FAKE_make_parameter_variable_value_data_s_length); - const f_string_static_t fake_make_parameter_variable_value_define_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_value_define_s, 0, FAKE_make_parameter_variable_value_define_s_length); - const f_string_static_t fake_make_parameter_variable_value_documents_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_value_documents_s, 0, FAKE_make_parameter_variable_value_documents_s_length); - const f_string_static_t fake_make_parameter_variable_value_fakefile_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_value_fakefile_s, 0, FAKE_make_parameter_variable_value_fakefile_s_length); - const f_string_static_t fake_make_parameter_variable_value_licenses_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_value_licenses_s, 0, FAKE_make_parameter_variable_value_licenses_s_length); - const f_string_static_t fake_make_parameter_variable_value_mode_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_value_mode_s, 0, FAKE_make_parameter_variable_value_mode_s_length); - const f_string_static_t fake_make_parameter_variable_value_process_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_value_process_s, 0, FAKE_make_parameter_variable_value_process_s_length); - const f_string_static_t fake_make_parameter_variable_value_settings_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_value_settings_s, 0, FAKE_make_parameter_variable_value_settings_s_length); - const f_string_static_t fake_make_parameter_variable_value_sources_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_value_sources_s, 0, FAKE_make_parameter_variable_value_sources_s_length); - const f_string_static_t fake_make_parameter_variable_value_verbosity_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_value_verbosity_s, 0, FAKE_make_parameter_variable_value_verbosity_s_length); - const f_string_static_t fake_make_parameter_variable_value_work_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_value_work_s, 0, FAKE_make_parameter_variable_value_work_s_length); -#endif // _di_fake_make_parameter_t_ - -#ifndef _di_fake_skeleton_content_ - const f_string_static_t fake_make_skeleton_content_defines_s = macro_f_string_static_t_initialize(FAKE_make_skeleton_content_defines_s, 0, FAKE_make_skeleton_content_defines_s_length); - const f_string_static_t fake_make_skeleton_content_dependencies_s = macro_f_string_static_t_initialize(FAKE_make_skeleton_content_dependencies_s, 0, FAKE_make_skeleton_content_dependencies_s_length); - const f_string_static_t fake_make_skeleton_content_fakefile_s = macro_f_string_static_t_initialize(FAKE_make_skeleton_content_fakefile_s, 0, FAKE_make_skeleton_content_fakefile_s_length); - const f_string_static_t fake_make_skeleton_content_process_post_s = macro_f_string_static_t_initialize(FAKE_make_skeleton_content_process_post_s, 0, FAKE_make_skeleton_content_process_post_s_length); - const f_string_static_t fake_make_skeleton_content_process_pre_s = macro_f_string_static_t_initialize(FAKE_make_skeleton_content_process_pre_s, 0, FAKE_make_skeleton_content_process_pre_s_length); - const f_string_static_t fake_make_skeleton_content_settings_s = macro_f_string_static_t_initialize(FAKE_make_skeleton_content_settings_s, 0, FAKE_make_skeleton_content_settings_s_length); -#endif // _di_fake_skeleton_content_ - -#ifndef _di_fake_make_context_ - const f_string_static_t fake_make_context_error_s = macro_f_string_static_t_initialize(FAKE_make_context_error_s, 0, FAKE_make_context_error_s_length); - const f_string_static_t fake_make_context_important_s = macro_f_string_static_t_initialize(FAKE_make_context_important_s, 0, FAKE_make_context_important_s_length); - const f_string_static_t fake_make_context_normal_s = macro_f_string_static_t_initialize(FAKE_make_context_normal_s, 0, FAKE_make_context_normal_s_length); - const f_string_static_t fake_make_context_notable_s = macro_f_string_static_t_initialize(FAKE_make_context_notable_s, 0, FAKE_make_context_notable_s_length); - const f_string_static_t fake_make_context_reset_s = macro_f_string_static_t_initialize(FAKE_make_context_reset_s, 0, FAKE_make_context_reset_s_length); - const f_string_static_t fake_make_context_standout_s = macro_f_string_static_t_initialize(FAKE_make_context_standout_s, 0, FAKE_make_context_standout_s_length); - const f_string_static_t fake_make_context_success_s = macro_f_string_static_t_initialize(FAKE_make_context_success_s, 0, FAKE_make_context_success_s_length); - const f_string_static_t fake_make_context_title_s = macro_f_string_static_t_initialize(FAKE_make_context_title_s, 0, FAKE_make_context_title_s_length); - const f_string_static_t fake_make_context_warning_s = macro_f_string_static_t_initialize(FAKE_make_context_warning_s, 0, FAKE_make_context_warning_s_length); -#endif // _di_fake_make_context_ - -#ifndef _di_fake_file_data_build_strings_ - const f_string_static_t fake_file_data_build_process_post_s = macro_f_string_static_t_initialize(FAKE_file_data_build_process_post_s, 0, FAKE_file_data_build_process_post_s_length); - const f_string_static_t fake_file_data_build_process_pre_s = macro_f_string_static_t_initialize(FAKE_file_data_build_process_pre_s, 0, FAKE_file_data_build_process_pre_s_length); -#endif // _di_fake_file_data_build_strings_ - -#ifndef _di_fake_data_delete_ - f_status_t fake_data_delete(fake_data_t * const data) { - - f_string_dynamic_resize(0, &data->path_build); - f_string_dynamic_resize(0, &data->path_build_documentation); - f_string_dynamic_resize(0, &data->path_build_documents); - f_string_dynamic_resize(0, &data->path_build_includes); - f_string_dynamic_resize(0, &data->path_build_libraries); - f_string_dynamic_resize(0, &data->path_build_libraries_script); - f_string_dynamic_resize(0, &data->path_build_libraries_shared); - f_string_dynamic_resize(0, &data->path_build_libraries_static); - f_string_dynamic_resize(0, &data->path_build_objects); - f_string_dynamic_resize(0, &data->path_build_objects_script); - f_string_dynamic_resize(0, &data->path_build_objects_shared); - f_string_dynamic_resize(0, &data->path_build_objects_static); - f_string_dynamic_resize(0, &data->path_build_programs); - f_string_dynamic_resize(0, &data->path_build_programs_script); - f_string_dynamic_resize(0, &data->path_build_programs_shared); - f_string_dynamic_resize(0, &data->path_build_programs_static); - f_string_dynamic_resize(0, &data->path_build_settings); - f_string_dynamic_resize(0, &data->path_build_stage); - - f_string_dynamic_resize(0, &data->path_data_build); - f_string_dynamic_resize(0, &data->path_data_documentation); - f_string_dynamic_resize(0, &data->path_data_settings); - - f_string_dynamic_resize(0, &data->path_documents); - - f_string_dynamic_resize(0, &data->path_licenses); - - f_string_dynamic_resize(0, &data->path_work_includes); - f_string_dynamic_resize(0, &data->path_work_libraries); - f_string_dynamic_resize(0, &data->path_work_libraries_script); - f_string_dynamic_resize(0, &data->path_work_libraries_shared); - f_string_dynamic_resize(0, &data->path_work_libraries_static); - f_string_dynamic_resize(0, &data->path_work_programs); - f_string_dynamic_resize(0, &data->path_work_programs_script); - f_string_dynamic_resize(0, &data->path_work_programs_shared); - f_string_dynamic_resize(0, &data->path_work_programs_static); - - f_string_dynamic_resize(0, &data->file_data_build_defines); - f_string_dynamic_resize(0, &data->file_data_build_dependencies); - f_string_dynamic_resize(0, &data->file_data_build_process_post); - f_string_dynamic_resize(0, &data->file_data_build_process_pre); - f_string_dynamic_resize(0, &data->file_data_build_fakefile); - f_string_dynamic_resize(0, &data->file_data_build_settings); - - f_string_dynamic_resize(0, &data->file_documents_readme); - - return F_none; - } -#endif // _di_fake_data_delete_ - -#ifndef _di_fake_make_data_delete_ - f_status_t fake_make_data_delete(fake_make_data_t * const data) { - - macro_fake_build_setting_t_delete_simple(data->setting_build); - macro_fake_make_setting_t_delete_simple(data->setting_make); - - f_string_maps_resize(0, &data->environment); - - macro_fake_make_parameter_delete_simple(data->parameter); - macro_fake_make_parameter_delete_simple(data->parameter_option); - macro_fake_make_parameter_delete_simple(data->parameter_value); - macro_fake_make_path_delete_simple(data->path); - - f_fss_nameds_resize(0, &data->fakefile); - - f_string_dynamic_resize(0, &data->buffer); - f_string_dynamic_resize(0, &data->cache_1); - f_string_dynamic_resize(0, &data->cache_2); - f_string_dynamic_resize(0, &data->cache_path); - - f_string_dynamics_resize(0, &data->cache_arguments); - - f_iki_data_delete(&data->cache_iki); - - return F_none; - } -#endif // _di_fake_make_data_delete_ - #ifdef __cplusplus } // extern "C" #endif diff --git a/level_3/fake/c/main/private-common.h b/level_3/fake/c/main/private-common.h index acacd4e..cf2d9a0 100644 --- a/level_3/fake/c/main/private-common.h +++ b/level_3/fake/c/main/private-common.h @@ -12,1915 +12,6 @@ extern "C" { #endif -/** - * The program data. - * - * operation: A code representing the currrent operation. - * - * main: The main program data. - * setting: The settings data. - * - * path_build: The build path. - * path_build_documentation: The build documentation path. - * path_build_documents: The build documents path. - * path_build_includes: The build includes path. - * path_build_libraries: The build libraries path. - * path_build_libraries_script: The build libraries_script path. - * path_build_libraries_shared: The build libraries_shared path. - * path_build_libraries_static: The build libraries_static path. - * path_build_objects: The build objects path. - * path_build_objects_script: The build objects_script path. - * path_build_objects_shared: The build objects_shared path. - * path_build_objects_static: The build objects_static path. - * path_build_programs: The build programs path. - * path_build_programs_script: The build programs_script path. - * path_build_programs_shared: The build programs_shared path. - * path_build_programs_static: The build programs_static path. - * path_build_settings: The build settings path. - * path_build_stage: The build stage path. - * - * path_data_build: The build data path. - * path_data_documentation: The documentation data path. - * path_data_settings: The settings data path. - * - * path_documents: The documents path. - * path_licenses: The licenses path. - * path_sources: The sources path. - * - * path_work_includes: The includes work path. - * path_work_libraries: The libraries work path. - * path_work_libraries_script: The libraries_script work path. - * path_work_libraries_shared: The libraries_shared work path. - * path_work_libraries_static: The libraries_static work path. - * path_work_programs: The programs work path. - * path_work_programs_script: The programs_script work path. - * path_work_programs_shared: The programs_shared work path. - * path_work_programs_static: The programs_static work path. - * - * file_data_build_defines: The defines build file data. - * file_data_build_dependencies: The dependencies build file data. - * file_data_build_fakefile: The fakefile build file data. - * file_data_build_process_post: The process_post_s build file data. - * file_data_build_process_pre: The process_pre_s build file data. - * file_data_build_settings: The settings build file data. - * - * file_documents_readme: The documents readme file data. - */ -#ifndef _di_fake_data_t_ - typedef struct { - uint8_t operation; - - fll_program_data_t *main; - fake_setting_t *setting; - - f_string_dynamic_t path_build; - f_string_dynamic_t path_build_documentation; - f_string_dynamic_t path_build_documents; - f_string_dynamic_t path_build_includes; - f_string_dynamic_t path_build_libraries; - f_string_dynamic_t path_build_libraries_script; - f_string_dynamic_t path_build_libraries_shared; - f_string_dynamic_t path_build_libraries_static; - f_string_dynamic_t path_build_objects; - f_string_dynamic_t path_build_objects_script; - f_string_dynamic_t path_build_objects_shared; - f_string_dynamic_t path_build_objects_static; - f_string_dynamic_t path_build_programs; - f_string_dynamic_t path_build_programs_script; - f_string_dynamic_t path_build_programs_shared; - f_string_dynamic_t path_build_programs_static; - f_string_dynamic_t path_build_settings; - f_string_dynamic_t path_build_stage; - - f_string_dynamic_t path_data_build; - f_string_dynamic_t path_data_documentation; - f_string_dynamic_t path_data_settings; - - f_string_dynamic_t path_documents; // @todo: make this a settings configurable parameter, moving it to fake_setting_t. - - f_string_dynamic_t path_licenses; // @todo: make this a settings configurable parameter, moving it to fake_setting_t. - - f_string_dynamic_t path_work_includes; - f_string_dynamic_t path_work_libraries; - f_string_dynamic_t path_work_libraries_script; - f_string_dynamic_t path_work_libraries_shared; - f_string_dynamic_t path_work_libraries_static; - f_string_dynamic_t path_work_programs; - f_string_dynamic_t path_work_programs_script; - f_string_dynamic_t path_work_programs_shared; - f_string_dynamic_t path_work_programs_static; - - f_string_dynamic_t file_data_build_defines; - f_string_dynamic_t file_data_build_dependencies; - f_string_dynamic_t file_data_build_fakefile; - f_string_dynamic_t file_data_build_process_post; - f_string_dynamic_t file_data_build_process_pre; - f_string_dynamic_t file_data_build_settings; - - f_string_dynamic_t file_documents_readme; - } fake_data_t; - - #define fake_data_t_initialize \ - { \ - 0, \ - 0, \ - 0, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - } -#endif // _di_fake_main_t_ - -/** - * Build settings data. - * - * data_build_setting_flag_*: - * - has_environment: Designate that the "environment" is specified in the "settings" Section of the Fakefile. - * - * flag: Flags from data_build_setting_flag_* (Not strictly part of the build settings file). - * - * build_language: The build_language setting. - * - * version_file: The version_file setting. - * version_target: The version_target setting. - * - * build_script: The build_script setting. - * build_shared: The build_shared setting. - * build_static: The build_static setting. - * - * has_path_standard: The has_path_standard setting. - * preserve_path_headers: The preserve_path_headers setting. - * - * search_exclusive: The search_exclusive setting. - * search_shared: The search_shared setting. - * search_static: The search_static setting. - * - * build_compiler: The build_compiler setting. - * build_indexer: The build_indexer setting. - * build_name: The build_name setting. - * build_sources_object: The build_sources_object setting. - * build_sources_object_shared: The build_sources_object_shared setting. - * build_sources_object_static: The build_sources_object_static setting. - * path_headers: The path_headers setting. - * path_language: The path_language setting. - * path_library_script: The path_library_script setting. - * path_library_shared: The path_library_shared setting. - * path_library_static: The path_library_static setting. - * path_object_script: The path_object_script setting. - * path_object_shared: The path_object_shared setting. - * path_object_static: The path_object_static setting. - * path_program_script: The path_program_script setting. - * path_program_shared: The path_program_shared setting. - * path_program_static: The path_program_static setting. - * path_sources: The path_sources setting. - * path_sources_object: The path_sources_object setting. - * process_post: The process_post setting. - * process_pre: The process_pre setting. - * version_major: The version_major setting. - * version_major_prefix: The version_major_prefix setting. - * version_micro: The version_micro setting. - * version_micro_prefix: The version_micro_prefix setting. - * version_minor: The version_minor setting. - * version_minor_prefix: The version_minor_prefix setting. - * version_nano: The version_nano setting. - * version_nano_prefix: The version_nano_prefix setting. - * - * build_indexer_arguments: The build_indexer_arguments setting. - * build_libraries: The build_libraries setting. - * build_libraries_shared: The build_libraries_shared setting. - * build_libraries_static: The build_libraries_static setting. - * build_objects_library: The build_objects_library setting. - * build_objects_library_shared: The build_objects_library_shared setting. - * build_objects_library_static: The build_objects_library_static setting. - * build_objects_program: The build_objects_program setting. - * build_objects_program_shared: The build_objects_program_shared setting. - * build_objects_program_static: The build_objects_program_static setting. - * build_sources_documentation: The build_sources_documentation setting. - * build_sources_headers: The build_sources_headers setting. - * build_sources_headers_shared: The build_sources_headers_shared setting. - * build_sources_headers_static: The build_sources_headers_static setting. - * build_sources_library: The build_sources_library setting. - * build_sources_library_shared: The build_sources_library_shared setting. - * build_sources_library_static: The build_sources_library_static setting. - * build_sources_program: The build_sources_program setting. - * build_sources_program_shared: The build_sources_program_shared setting. - * build_sources_program_static: The build_sources_program_static setting. - * build_sources_script: The build_sources_script setting. - * build_sources_setting: The build_sources_setting setting. - * defines: The defines setting. - * defines_library: The defines_library setting. - * defines_library_shared: The defines_library_shared setting. - * defines_library_static: The defines_library_static setting. - * defines_object: The defines_object setting. - * defines_object_shared: The defines_object_shared setting. - * defines_object_static: The defines_object_static setting. - * defines_program: The defines_program setting. - * defines_program_shared: The defines_program_shared setting. - * defines_program_static: The defines_program_static setting. - * defines_shared: The defines_shared setting. - * defines_static: The defines_static setting. - * environment: The environment setting. - * flags: The flags setting. - * flags_library: The flags_library setting. - * flags_library_shared: The flags_library_shared setting. - * flags_library_static: The flags_library_static setting. - * flags_object: The flags_object setting. - * flags_object_shared: The flags_object_shared setting. - * flags_object_static: The flags_object_static setting. - * flags_program: The flags_program setting. - * flags_program_shared: The flags_program_shared setting. - * flags_program_static: The flags_program_static setting. - * flags_shared: The flags_shared setting. - * flags_static: The flags_static setting. - * modes: The modes setting. - * modes_default: The modes_default setting. - */ -#ifndef _di_fake_build_setting_t_ - enum { - data_build_setting_flag_has_environment_e = 0x1, - }; - - typedef struct { - uint8_t flag; - - uint8_t build_language; - - uint8_t version_file; - uint8_t version_target; - - bool build_script; - bool build_shared; - bool build_static; - - bool has_path_standard; - bool preserve_path_headers; - - bool search_exclusive; - bool search_shared; - bool search_static; - - f_string_dynamic_t build_compiler; - f_string_dynamic_t build_indexer; - f_string_dynamic_t build_name; - f_string_dynamic_t build_sources_object; - f_string_dynamic_t build_sources_object_shared; - f_string_dynamic_t build_sources_object_static; - f_string_dynamic_t path_headers; - f_string_dynamic_t path_language; - f_string_dynamic_t path_library_script; - f_string_dynamic_t path_library_shared; - f_string_dynamic_t path_library_static; - f_string_dynamic_t path_object_script; - f_string_dynamic_t path_object_shared; - f_string_dynamic_t path_object_static; - f_string_dynamic_t path_program_script; - f_string_dynamic_t path_program_shared; - f_string_dynamic_t path_program_static; - f_string_dynamic_t path_sources; - f_string_dynamic_t path_sources_object; - f_string_dynamic_t process_post; - f_string_dynamic_t process_pre; - f_string_dynamic_t version_major; - f_string_dynamic_t version_major_prefix; - f_string_dynamic_t version_micro; - f_string_dynamic_t version_micro_prefix; - f_string_dynamic_t version_minor; - f_string_dynamic_t version_minor_prefix; - 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 build_objects_library; - f_string_dynamics_t build_objects_library_shared; - f_string_dynamics_t build_objects_library_static; - f_string_dynamics_t build_objects_program; - f_string_dynamics_t build_objects_program_shared; - f_string_dynamics_t build_objects_program_static; - f_string_dynamics_t build_sources_documentation; - f_string_dynamics_t build_sources_headers; - f_string_dynamics_t build_sources_headers_shared; - f_string_dynamics_t build_sources_headers_static; - f_string_dynamics_t build_sources_library; - f_string_dynamics_t build_sources_library_shared; - f_string_dynamics_t build_sources_library_static; - f_string_dynamics_t build_sources_program; - f_string_dynamics_t build_sources_program_shared; - f_string_dynamics_t build_sources_program_static; - f_string_dynamics_t build_sources_script; - f_string_dynamics_t build_sources_setting; - f_string_dynamics_t defines; - f_string_dynamics_t defines_library; - f_string_dynamics_t defines_library_shared; - f_string_dynamics_t defines_library_static; - f_string_dynamics_t defines_object; - f_string_dynamics_t defines_object_shared; - f_string_dynamics_t defines_object_static; - f_string_dynamics_t defines_program; - f_string_dynamics_t defines_program_shared; - f_string_dynamics_t defines_program_static; - f_string_dynamics_t defines_shared; - f_string_dynamics_t defines_static; - f_string_dynamics_t environment; - f_string_dynamics_t flags; - f_string_dynamics_t flags_library; - f_string_dynamics_t flags_library_shared; - f_string_dynamics_t flags_library_static; - f_string_dynamics_t flags_object; - f_string_dynamics_t flags_object_shared; - f_string_dynamics_t flags_object_static; - f_string_dynamics_t flags_program; - f_string_dynamics_t flags_program_shared; - f_string_dynamics_t flags_program_static; - f_string_dynamics_t flags_shared; - f_string_dynamics_t flags_static; - f_string_dynamics_t modes; - f_string_dynamics_t modes_default; - } fake_build_setting_t; - - #define fake_build_setting_t_initialize { \ - 0, \ - 0, \ - 0, \ - 0, \ - F_true, \ - F_true, \ - F_true, \ - F_true, \ - F_true, \ - F_true, \ - F_true, \ - F_true, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamics_t_initialize, \ - f_string_dynamics_t_initialize, \ - f_string_dynamics_t_initialize, \ - f_string_dynamics_t_initialize, \ - f_string_dynamics_t_initialize, \ - f_string_dynamics_t_initialize, \ - f_string_dynamics_t_initialize, \ - f_string_dynamics_t_initialize, \ - f_string_dynamics_t_initialize, \ - f_string_dynamics_t_initialize, \ - f_string_dynamics_t_initialize, \ - f_string_dynamics_t_initialize, \ - f_string_dynamics_t_initialize, \ - f_string_dynamics_t_initialize, \ - f_string_dynamics_t_initialize, \ - f_string_dynamics_t_initialize, \ - f_string_dynamics_t_initialize, \ - f_string_dynamics_t_initialize, \ - f_string_dynamics_t_initialize, \ - f_string_dynamics_t_initialize, \ - f_string_dynamics_t_initialize, \ - f_string_dynamics_t_initialize, \ - f_string_dynamics_t_initialize, \ - f_string_dynamics_t_initialize, \ - f_string_dynamics_t_initialize, \ - f_string_dynamics_t_initialize, \ - f_string_dynamics_t_initialize, \ - f_string_dynamics_t_initialize, \ - f_string_dynamics_t_initialize, \ - f_string_dynamics_t_initialize, \ - f_string_dynamics_t_initialize, \ - f_string_dynamics_t_initialize, \ - f_string_dynamics_t_initialize, \ - f_string_dynamics_t_initialize, \ - f_string_dynamics_t_initialize, \ - f_string_dynamics_t_initialize, \ - f_string_dynamics_t_initialize, \ - f_string_dynamics_t_initialize, \ - f_string_dynamics_t_initialize, \ - f_string_dynamics_t_initialize, \ - f_string_dynamics_t_initialize, \ - f_string_dynamics_t_initialize, \ - f_string_dynamics_t_initialize, \ - f_string_dynamics_t_initialize, \ - f_string_dynamics_t_initialize, \ - 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.build_compiler) \ - macro_f_string_dynamic_t_delete_simple(setting.build_indexer) \ - macro_f_string_dynamic_t_delete_simple(setting.build_name) \ - macro_f_string_dynamic_t_delete_simple(setting.build_sources_object) \ - macro_f_string_dynamic_t_delete_simple(setting.build_sources_object_shared) \ - macro_f_string_dynamic_t_delete_simple(setting.build_sources_object_static) \ - macro_f_string_dynamic_t_delete_simple(setting.path_headers) \ - macro_f_string_dynamic_t_delete_simple(setting.path_language) \ - macro_f_string_dynamic_t_delete_simple(setting.path_library_script) \ - macro_f_string_dynamic_t_delete_simple(setting.path_library_shared) \ - macro_f_string_dynamic_t_delete_simple(setting.path_library_static) \ - macro_f_string_dynamic_t_delete_simple(setting.path_object_script) \ - macro_f_string_dynamic_t_delete_simple(setting.path_object_shared) \ - macro_f_string_dynamic_t_delete_simple(setting.path_object_static) \ - macro_f_string_dynamic_t_delete_simple(setting.path_program_script) \ - macro_f_string_dynamic_t_delete_simple(setting.path_program_shared) \ - macro_f_string_dynamic_t_delete_simple(setting.path_program_static) \ - macro_f_string_dynamic_t_delete_simple(setting.path_sources) \ - macro_f_string_dynamic_t_delete_simple(setting.path_sources_object) \ - macro_f_string_dynamic_t_delete_simple(setting.process_post) \ - macro_f_string_dynamic_t_delete_simple(setting.process_pre) \ - macro_f_string_dynamic_t_delete_simple(setting.version_major) \ - macro_f_string_dynamic_t_delete_simple(setting.version_major_prefix) \ - macro_f_string_dynamic_t_delete_simple(setting.version_micro) \ - macro_f_string_dynamic_t_delete_simple(setting.version_micro_prefix) \ - macro_f_string_dynamic_t_delete_simple(setting.version_minor) \ - 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) \ - macro_f_string_dynamics_t_delete_simple(setting.build_objects_library) \ - macro_f_string_dynamics_t_delete_simple(setting.build_objects_library_shared) \ - macro_f_string_dynamics_t_delete_simple(setting.build_objects_library_static) \ - macro_f_string_dynamics_t_delete_simple(setting.build_objects_program) \ - macro_f_string_dynamics_t_delete_simple(setting.build_objects_program_shared) \ - macro_f_string_dynamics_t_delete_simple(setting.build_objects_program_static) \ - macro_f_string_dynamics_t_delete_simple(setting.build_sources_documentation) \ - macro_f_string_dynamics_t_delete_simple(setting.build_sources_headers) \ - macro_f_string_dynamics_t_delete_simple(setting.build_sources_headers_shared) \ - macro_f_string_dynamics_t_delete_simple(setting.build_sources_headers_static) \ - macro_f_string_dynamics_t_delete_simple(setting.build_sources_library) \ - macro_f_string_dynamics_t_delete_simple(setting.build_sources_library_shared) \ - macro_f_string_dynamics_t_delete_simple(setting.build_sources_library_static) \ - macro_f_string_dynamics_t_delete_simple(setting.build_sources_program) \ - macro_f_string_dynamics_t_delete_simple(setting.build_sources_program_shared) \ - macro_f_string_dynamics_t_delete_simple(setting.build_sources_program_static) \ - macro_f_string_dynamics_t_delete_simple(setting.build_sources_script) \ - macro_f_string_dynamics_t_delete_simple(setting.build_sources_setting) \ - macro_f_string_dynamics_t_delete_simple(setting.defines) \ - macro_f_string_dynamics_t_delete_simple(setting.defines_library) \ - macro_f_string_dynamics_t_delete_simple(setting.defines_library_shared) \ - macro_f_string_dynamics_t_delete_simple(setting.defines_library_static) \ - macro_f_string_dynamics_t_delete_simple(setting.defines_object) \ - macro_f_string_dynamics_t_delete_simple(setting.defines_object_shared) \ - macro_f_string_dynamics_t_delete_simple(setting.defines_object_static) \ - macro_f_string_dynamics_t_delete_simple(setting.defines_program) \ - macro_f_string_dynamics_t_delete_simple(setting.defines_program_shared) \ - macro_f_string_dynamics_t_delete_simple(setting.defines_program_static) \ - macro_f_string_dynamics_t_delete_simple(setting.defines_shared) \ - macro_f_string_dynamics_t_delete_simple(setting.defines_static) \ - macro_f_string_dynamics_t_delete_simple(setting.environment) \ - macro_f_string_dynamics_t_delete_simple(setting.flags) \ - macro_f_string_dynamics_t_delete_simple(setting.flags_library) \ - macro_f_string_dynamics_t_delete_simple(setting.flags_library_shared) \ - macro_f_string_dynamics_t_delete_simple(setting.flags_library_static) \ - macro_f_string_dynamics_t_delete_simple(setting.flags_object) \ - macro_f_string_dynamics_t_delete_simple(setting.flags_object_shared) \ - macro_f_string_dynamics_t_delete_simple(setting.flags_object_static) \ - macro_f_string_dynamics_t_delete_simple(setting.flags_program) \ - macro_f_string_dynamics_t_delete_simple(setting.flags_program_shared) \ - macro_f_string_dynamics_t_delete_simple(setting.flags_program_static) \ - macro_f_string_dynamics_t_delete_simple(setting.flags_shared) \ - macro_f_string_dynamics_t_delete_simple(setting.flags_static) \ - macro_f_string_dynamics_t_delete_simple(setting.modes) \ - macro_f_string_dynamics_t_delete_simple(setting.modes_default) - - #define FAKE_build_setting_default_ar_s "ar" - #define FAKE_build_setting_default_gcc_s "gcc" - #define FAKE_build_setting_default_version_s "0" - #define FAKE_build_setting_default_version_prefix_s "." - #define FAKE_build_setting_default_yes_s "yes" - - #define FAKE_build_setting_name_build_compiler_s "build_compiler" - #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_language_s "build_language" - #define FAKE_build_setting_name_build_libraries_s "build_libraries" - #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_name_s "build_name" - #define FAKE_build_setting_name_build_objects_library_s "build_objects_library" - #define FAKE_build_setting_name_build_objects_library_shared_s "build_objects_library_shared" - #define FAKE_build_setting_name_build_objects_library_static_s "build_objects_library_static" - #define FAKE_build_setting_name_build_objects_program_s "build_objects_program" - #define FAKE_build_setting_name_build_objects_program_shared_s "build_objects_program_shared" - #define FAKE_build_setting_name_build_objects_program_static_s "build_objects_program_static" - #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_documentation_s "build_sources_documentation" - #define FAKE_build_setting_name_build_sources_headers_s "build_sources_headers" - #define FAKE_build_setting_name_build_sources_headers_shared_s "build_sources_headers_shared" - #define FAKE_build_setting_name_build_sources_headers_static_s "build_sources_headers_static" - #define FAKE_build_setting_name_build_sources_library_s "build_sources_library" - #define FAKE_build_setting_name_build_sources_library_shared_s "build_sources_library_shared" - #define FAKE_build_setting_name_build_sources_library_static_s "build_sources_library_static" - #define FAKE_build_setting_name_build_sources_object_s "build_sources_object" - #define FAKE_build_setting_name_build_sources_object_shared_s "build_sources_object_shared" - #define FAKE_build_setting_name_build_sources_object_static_s "build_sources_object_static" - #define FAKE_build_setting_name_build_sources_program_s "build_sources_program" - #define FAKE_build_setting_name_build_sources_program_shared_s "build_sources_program_shared" - #define FAKE_build_setting_name_build_sources_program_static_s "build_sources_program_static" - #define FAKE_build_setting_name_build_sources_script_s "build_sources_script" - #define FAKE_build_setting_name_build_sources_setting_s "build_sources_setting" - #define FAKE_build_setting_name_build_static_s "build_static" - #define FAKE_build_setting_name_defines_s "defines" - #define FAKE_build_setting_name_defines_library_s "defines_library" - #define FAKE_build_setting_name_defines_library_shared_s "defines_library_shared" - #define FAKE_build_setting_name_defines_library_static_s "defines_library_static" - #define FAKE_build_setting_name_defines_object_s "defines_object" - #define FAKE_build_setting_name_defines_object_shared_s "defines_object_shared" - #define FAKE_build_setting_name_defines_object_static_s "defines_object_static" - #define FAKE_build_setting_name_defines_program_s "defines_program" - #define FAKE_build_setting_name_defines_program_shared_s "defines_program_shared" - #define FAKE_build_setting_name_defines_program_static_s "defines_program_static" - #define FAKE_build_setting_name_defines_shared_s "defines_shared" - #define FAKE_build_setting_name_defines_static_s "defines_static" - #define FAKE_build_setting_name_environment_s "environment" - #define FAKE_build_setting_name_flags_s "flags" - #define FAKE_build_setting_name_flags_library_s "flags_library" - #define FAKE_build_setting_name_flags_library_shared_s "flags_library_shared" - #define FAKE_build_setting_name_flags_library_static_s "flags_library_static" - #define FAKE_build_setting_name_flags_object_s "flags_object" - #define FAKE_build_setting_name_flags_object_shared_s "flags_object_shared" - #define FAKE_build_setting_name_flags_object_static_s "flags_object_static" - #define FAKE_build_setting_name_flags_program_s "flags_program" - #define FAKE_build_setting_name_flags_program_shared_s "flags_program_shared" - #define FAKE_build_setting_name_flags_program_static_s "flags_program_static" - #define FAKE_build_setting_name_flags_shared_s "flags_shared" - #define FAKE_build_setting_name_flags_static_s "flags_static" - #define FAKE_build_setting_name_has_path_standard_s "has_path_standard" - #define FAKE_build_setting_name_modes_s "modes" - #define FAKE_build_setting_name_modes_default_s "modes_default" - #define FAKE_build_setting_name_path_headers_s "path_headers" - #define FAKE_build_setting_name_path_language_s "path_language" - #define FAKE_build_setting_name_path_library_script_s "path_library_script" - #define FAKE_build_setting_name_path_library_shared_s "path_library_shared" - #define FAKE_build_setting_name_path_library_static_s "path_library_static" - #define FAKE_build_setting_name_path_object_script_s "path_object_script" - #define FAKE_build_setting_name_path_object_shared_s "path_object_shared" - #define FAKE_build_setting_name_path_object_static_s "path_object_static" - #define FAKE_build_setting_name_path_program_script_s "path_program_script" - #define FAKE_build_setting_name_path_program_shared_s "path_program_shared" - #define FAKE_build_setting_name_path_program_static_s "path_program_static" - #define FAKE_build_setting_name_path_sources_s "path_sources" - #define FAKE_build_setting_name_path_sources_object_s "path_sources_object" - #define FAKE_build_setting_name_preserve_path_headers_s "preserve_path_headers" - #define FAKE_build_setting_name_process_post_s "process_post" - #define FAKE_build_setting_name_process_pre_s "process_pre" - #define FAKE_build_setting_name_search_exclusive_s "search_exclusive" - #define FAKE_build_setting_name_search_shared_s "search_shared" - #define FAKE_build_setting_name_search_static_s "search_static" - #define FAKE_build_setting_name_version_file_s "version_file" - #define FAKE_build_setting_name_version_major_s "version_major" - #define FAKE_build_setting_name_version_major_prefix_s "version_major_prefix" - #define FAKE_build_setting_name_version_micro_s "version_micro" - #define FAKE_build_setting_name_version_micro_prefix_s "version_micro_prefix" - #define FAKE_build_setting_name_version_minor_s "version_minor" - #define FAKE_build_setting_name_version_minor_prefix_s "version_minor_prefix" - #define FAKE_build_setting_name_version_nano_s "version_nano" - #define FAKE_build_setting_name_version_nano_prefix_s "version_nano_prefix" - #define FAKE_build_setting_name_version_target_s "version_target" - - #define FAKE_build_setting_default_ar_s_length 2 - #define FAKE_build_setting_default_gcc_s_length 3 - #define FAKE_build_setting_default_version_s_length 1 - #define FAKE_build_setting_default_version_prefix_s_length 1 - #define FAKE_build_setting_default_yes_s_length 3 - - #define FAKE_build_setting_name_build_compiler_s_length 14 - #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_language_s_length 14 - #define FAKE_build_setting_name_build_libraries_s_length 15 - #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_name_s_length 10 - #define FAKE_build_setting_name_build_objects_library_s_length 21 - #define FAKE_build_setting_name_build_objects_library_shared_s_length 28 - #define FAKE_build_setting_name_build_objects_library_static_s_length 28 - #define FAKE_build_setting_name_build_objects_program_s_length 21 - #define FAKE_build_setting_name_build_objects_program_shared_s_length 28 - #define FAKE_build_setting_name_build_objects_program_static_s_length 28 - #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_documentation_s_length 27 - #define FAKE_build_setting_name_build_sources_headers_s_length 21 - #define FAKE_build_setting_name_build_sources_headers_shared_s_length 28 - #define FAKE_build_setting_name_build_sources_headers_static_s_length 28 - #define FAKE_build_setting_name_build_sources_library_s_length 21 - #define FAKE_build_setting_name_build_sources_library_shared_s_length 28 - #define FAKE_build_setting_name_build_sources_library_static_s_length 28 - #define FAKE_build_setting_name_build_sources_object_s_length 20 - #define FAKE_build_setting_name_build_sources_object_shared_s_length 27 - #define FAKE_build_setting_name_build_sources_object_static_s_length 27 - #define FAKE_build_setting_name_build_sources_program_s_length 21 - #define FAKE_build_setting_name_build_sources_program_shared_s_length 28 - #define FAKE_build_setting_name_build_sources_program_static_s_length 28 - #define FAKE_build_setting_name_build_sources_script_s_length 20 - #define FAKE_build_setting_name_build_sources_setting_s_length 21 - #define FAKE_build_setting_name_build_static_s_length 12 - #define FAKE_build_setting_name_environment_s_length 11 - #define FAKE_build_setting_name_defines_s_length 7 - #define FAKE_build_setting_name_defines_library_s_length 15 - #define FAKE_build_setting_name_defines_library_shared_s_length 22 - #define FAKE_build_setting_name_defines_library_static_s_length 22 - #define FAKE_build_setting_name_defines_object_s_length 14 - #define FAKE_build_setting_name_defines_object_shared_s_length 21 - #define FAKE_build_setting_name_defines_object_static_s_length 21 - #define FAKE_build_setting_name_defines_program_s_length 15 - #define FAKE_build_setting_name_defines_program_shared_s_length 22 - #define FAKE_build_setting_name_defines_program_static_s_length 22 - #define FAKE_build_setting_name_defines_shared_s_length 14 - #define FAKE_build_setting_name_defines_static_s_length 14 - #define FAKE_build_setting_name_flags_s_length 5 - #define FAKE_build_setting_name_flags_library_s_length 13 - #define FAKE_build_setting_name_flags_library_shared_s_length 20 - #define FAKE_build_setting_name_flags_library_static_s_length 20 - #define FAKE_build_setting_name_flags_object_s_length 12 - #define FAKE_build_setting_name_flags_object_shared_s_length 19 - #define FAKE_build_setting_name_flags_object_static_s_length 19 - #define FAKE_build_setting_name_flags_program_s_length 13 - #define FAKE_build_setting_name_flags_program_shared_s_length 20 - #define FAKE_build_setting_name_flags_program_static_s_length 20 - #define FAKE_build_setting_name_flags_shared_s_length 12 - #define FAKE_build_setting_name_flags_static_s_length 12 - #define FAKE_build_setting_name_has_path_standard_s_length 17 - #define FAKE_build_setting_name_modes_s_length 5 - #define FAKE_build_setting_name_modes_default_s_length 13 - #define FAKE_build_setting_name_path_headers_s_length 12 - #define FAKE_build_setting_name_path_language_s_length 13 - #define FAKE_build_setting_name_path_library_script_s_length 19 - #define FAKE_build_setting_name_path_library_shared_s_length 19 - #define FAKE_build_setting_name_path_library_static_s_length 19 - #define FAKE_build_setting_name_path_object_script_s_length 18 - #define FAKE_build_setting_name_path_object_shared_s_length 18 - #define FAKE_build_setting_name_path_object_static_s_length 18 - #define FAKE_build_setting_name_path_program_script_s_length 19 - #define FAKE_build_setting_name_path_program_shared_s_length 19 - #define FAKE_build_setting_name_path_program_static_s_length 19 - #define FAKE_build_setting_name_path_sources_s_length 12 - #define FAKE_build_setting_name_path_sources_object_s_length 19 - #define FAKE_build_setting_name_preserve_path_headers_s_length 21 - #define FAKE_build_setting_name_process_post_s_length 12 - #define FAKE_build_setting_name_process_pre_s_length 11 - #define FAKE_build_setting_name_search_exclusive_s_length 16 - #define FAKE_build_setting_name_search_shared_s_length 13 - #define FAKE_build_setting_name_search_static_s_length 13 - #define FAKE_build_setting_name_version_file_s_length 12 - #define FAKE_build_setting_name_version_major_s_length 13 - #define FAKE_build_setting_name_version_major_prefix_s_length 20 - #define FAKE_build_setting_name_version_micro_s_length 13 - #define FAKE_build_setting_name_version_micro_prefix_s_length 20 - #define FAKE_build_setting_name_version_minor_s_length 13 - #define FAKE_build_setting_name_version_minor_prefix_s_length 20 - #define FAKE_build_setting_name_version_nano_s_length 12 - #define FAKE_build_setting_name_version_nano_prefix_s_length 19 - #define FAKE_build_setting_name_version_target_s_length 14 - - extern const f_string_static_t fake_build_setting_default_ar_s; - extern const f_string_static_t fake_build_setting_default_gcc_s; - extern const f_string_static_t fake_build_setting_default_version_s; - extern const f_string_static_t fake_build_setting_default_version_prefix_s; - extern const f_string_static_t fake_build_setting_default_yes_s; - - extern const f_string_static_t fake_build_setting_name_build_compiler_s; - extern const f_string_static_t fake_build_setting_name_build_indexer_s; - extern const f_string_static_t fake_build_setting_name_build_indexer_arguments_s; - extern const f_string_static_t fake_build_setting_name_build_language_s; - extern const f_string_static_t fake_build_setting_name_build_libraries_s; - extern const f_string_static_t fake_build_setting_name_build_libraries_shared_s; - extern const f_string_static_t fake_build_setting_name_build_libraries_static_s; - extern const f_string_static_t fake_build_setting_name_build_name_s; - extern const f_string_static_t fake_build_setting_name_build_objects_library_s; - extern const f_string_static_t fake_build_setting_name_build_objects_library_shared_s; - extern const f_string_static_t fake_build_setting_name_build_objects_library_static_s; - extern const f_string_static_t fake_build_setting_name_build_objects_program_s; - extern const f_string_static_t fake_build_setting_name_build_objects_program_shared_s; - extern const f_string_static_t fake_build_setting_name_build_objects_program_static_s; - extern const f_string_static_t fake_build_setting_name_build_script_s; - extern const f_string_static_t fake_build_setting_name_build_shared_s; - extern const f_string_static_t fake_build_setting_name_build_sources_documentation_s; - extern const f_string_static_t fake_build_setting_name_build_sources_headers_s; - extern const f_string_static_t fake_build_setting_name_build_sources_headers_shared_s; - extern const f_string_static_t fake_build_setting_name_build_sources_headers_static_s; - extern const f_string_static_t fake_build_setting_name_build_sources_library_s; - extern const f_string_static_t fake_build_setting_name_build_sources_library_shared_s; - extern const f_string_static_t fake_build_setting_name_build_sources_library_static_s; - extern const f_string_static_t fake_build_setting_name_build_sources_object_s; - extern const f_string_static_t fake_build_setting_name_build_sources_object_shared_s; - extern const f_string_static_t fake_build_setting_name_build_sources_object_static_s; - extern const f_string_static_t fake_build_setting_name_build_sources_program_s; - extern const f_string_static_t fake_build_setting_name_build_sources_program_shared_s; - extern const f_string_static_t fake_build_setting_name_build_sources_program_static_s; - extern const f_string_static_t fake_build_setting_name_build_sources_script_s; - extern const f_string_static_t fake_build_setting_name_build_sources_setting_s; - extern const f_string_static_t fake_build_setting_name_build_static_s; - extern const f_string_static_t fake_build_setting_name_defines_s; - extern const f_string_static_t fake_build_setting_name_defines_library_s; - extern const f_string_static_t fake_build_setting_name_defines_library_shared_s; - extern const f_string_static_t fake_build_setting_name_defines_library_static_s; - extern const f_string_static_t fake_build_setting_name_defines_object_s; - extern const f_string_static_t fake_build_setting_name_defines_object_shared_s; - extern const f_string_static_t fake_build_setting_name_defines_object_static_s; - extern const f_string_static_t fake_build_setting_name_defines_program_s; - extern const f_string_static_t fake_build_setting_name_defines_program_shared_s; - extern const f_string_static_t fake_build_setting_name_defines_program_static_s; - extern const f_string_static_t fake_build_setting_name_defines_shared_s; - extern const f_string_static_t fake_build_setting_name_defines_static_s; - extern const f_string_static_t fake_build_setting_name_environment_s; - extern const f_string_static_t fake_build_setting_name_flags_s; - extern const f_string_static_t fake_build_setting_name_flags_library_s; - extern const f_string_static_t fake_build_setting_name_flags_library_shared_s; - extern const f_string_static_t fake_build_setting_name_flags_library_static_s; - extern const f_string_static_t fake_build_setting_name_flags_object_s; - extern const f_string_static_t fake_build_setting_name_flags_object_shared_s; - extern const f_string_static_t fake_build_setting_name_flags_object_static_s; - extern const f_string_static_t fake_build_setting_name_flags_program_s; - extern const f_string_static_t fake_build_setting_name_flags_program_shared_s; - extern const f_string_static_t fake_build_setting_name_flags_program_static_s; - extern const f_string_static_t fake_build_setting_name_flags_shared_s; - extern const f_string_static_t fake_build_setting_name_flags_static_s; - extern const f_string_static_t fake_build_setting_name_has_path_standard_s; - extern const f_string_static_t fake_build_setting_name_modes_s; - extern const f_string_static_t fake_build_setting_name_modes_default_s; - extern const f_string_static_t fake_build_setting_name_path_headers_s; - extern const f_string_static_t fake_build_setting_name_path_language_s; - extern const f_string_static_t fake_build_setting_name_path_library_script_s; - extern const f_string_static_t fake_build_setting_name_path_library_shared_s; - extern const f_string_static_t fake_build_setting_name_path_library_static_s; - extern const f_string_static_t fake_build_setting_name_path_object_script_s; - extern const f_string_static_t fake_build_setting_name_path_object_shared_s; - extern const f_string_static_t fake_build_setting_name_path_object_static_s; - extern const f_string_static_t fake_build_setting_name_path_program_script_s; - extern const f_string_static_t fake_build_setting_name_path_program_shared_s; - extern const f_string_static_t fake_build_setting_name_path_program_static_s; - extern const f_string_static_t fake_build_setting_name_path_sources_s; - extern const f_string_static_t fake_build_setting_name_path_sources_object_s; - extern const f_string_static_t fake_build_setting_name_preserve_path_headers_s; - extern const f_string_static_t fake_build_setting_name_process_post_s; - extern const f_string_static_t fake_build_setting_name_process_pre_s; - extern const f_string_static_t fake_build_setting_name_search_exclusive_s; - extern const f_string_static_t fake_build_setting_name_search_shared_s; - extern const f_string_static_t fake_build_setting_name_search_static_s; - extern const f_string_static_t fake_build_setting_name_version_file_s; - extern const f_string_static_t fake_build_setting_name_version_major_s; - extern const f_string_static_t fake_build_setting_name_version_major_prefix_s; - extern const f_string_static_t fake_build_setting_name_version_micro_s; - extern const f_string_static_t fake_build_setting_name_version_micro_prefix_s; - extern const f_string_static_t fake_build_setting_name_version_minor_s; - extern const f_string_static_t fake_build_setting_name_version_minor_prefix_s; - extern const f_string_static_t fake_build_setting_name_version_nano_s; - extern const f_string_static_t fake_build_setting_name_version_nano_prefix_s; - extern const f_string_static_t fake_build_setting_name_version_target_s; - - #define fake_build_setting_total_d 89 -#endif // _di_fake_build_setting_t_ - -#ifndef _di_fake_build_stage_t_ - typedef struct { - f_string_dynamic_t file_library_script; - f_string_dynamic_t file_library_shared; - f_string_dynamic_t file_library_static; - f_string_dynamic_t file_object_script; - f_string_dynamic_t file_object_shared; - f_string_dynamic_t file_object_static; - f_string_dynamic_t file_objects_static; - f_string_dynamic_t file_process_post; - f_string_dynamic_t file_process_pre; - f_string_dynamic_t file_program_script; - f_string_dynamic_t file_program_shared; - f_string_dynamic_t file_program_static; - f_string_dynamic_t file_skeleton; - f_string_dynamic_t file_sources_documentation; - f_string_dynamic_t file_sources_headers; - f_string_dynamic_t file_sources_script; - f_string_dynamic_t file_sources_settings; - } fake_build_stage_t; - - #define fake_build_stage_t_initialize { \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - } - - #define fake_build_stage_total_d 17 - - #define macro_fake_build_stage_t_delete_simple(stage) \ - macro_f_string_dynamic_t_delete_simple(stage.file_library_script) \ - macro_f_string_dynamic_t_delete_simple(stage.file_library_shared) \ - macro_f_string_dynamic_t_delete_simple(stage.file_library_static) \ - macro_f_string_dynamic_t_delete_simple(stage.file_object_script) \ - macro_f_string_dynamic_t_delete_simple(stage.file_object_shared) \ - macro_f_string_dynamic_t_delete_simple(stage.file_object_static) \ - macro_f_string_dynamic_t_delete_simple(stage.file_objects_static) \ - macro_f_string_dynamic_t_delete_simple(stage.file_process_post) \ - macro_f_string_dynamic_t_delete_simple(stage.file_process_pre) \ - macro_f_string_dynamic_t_delete_simple(stage.file_program_script) \ - macro_f_string_dynamic_t_delete_simple(stage.file_program_shared) \ - macro_f_string_dynamic_t_delete_simple(stage.file_program_static) \ - macro_f_string_dynamic_t_delete_simple(stage.file_skeleton) \ - macro_f_string_dynamic_t_delete_simple(stage.file_sources_documentation) \ - macro_f_string_dynamic_t_delete_simple(stage.file_sources_headers) \ - macro_f_string_dynamic_t_delete_simple(stage.file_sources_script) \ - macro_f_string_dynamic_t_delete_simple(stage.file_sources_settings) - - #define FAKE_build_stage_built_s ".built" - #define FAKE_build_stage_library_script_s "library_script" - #define FAKE_build_stage_library_shared_s "library_shared" - #define FAKE_build_stage_library_static_s "library_static" - #define FAKE_build_stage_object_script_s "object_script" - #define FAKE_build_stage_object_shared_s "object_shared" - #define FAKE_build_stage_object_static_s "object_static" - #define FAKE_build_stage_objects_static_s "objects_static" - #define FAKE_build_stage_process_post_s "process_post" - #define FAKE_build_stage_process_pre_s "process_pre" - #define FAKE_build_stage_program_script_s "program_script" - #define FAKE_build_stage_program_shared_s "program_shared" - #define FAKE_build_stage_program_static_s "program_static" - #define FAKE_build_stage_separate_s "-" - #define FAKE_build_stage_skeleton_s "skeleton" - #define FAKE_build_stage_sources_documentation_s "sources_documentation" - #define FAKE_build_stage_sources_headers_s "sources_headers" - #define FAKE_build_stage_sources_script_s "sources_script" - #define FAKE_build_stage_sources_settings_s "sources_settings" - - #define FAKE_build_stage_built_s_length 6 - #define FAKE_build_stage_library_script_s_length 14 - #define FAKE_build_stage_library_shared_s_length 14 - #define FAKE_build_stage_library_static_s_length 14 - #define FAKE_build_stage_object_script_s_length 13 - #define FAKE_build_stage_object_shared_s_length 13 - #define FAKE_build_stage_object_static_s_length 13 - #define FAKE_build_stage_objects_static_s_length 14 - #define FAKE_build_stage_process_post_s_length 12 - #define FAKE_build_stage_process_pre_s_length 11 - #define FAKE_build_stage_program_script_s_length 14 - #define FAKE_build_stage_program_shared_s_length 14 - #define FAKE_build_stage_program_static_s_length 14 - #define FAKE_build_stage_separate_s_length 1 - #define FAKE_build_stage_skeleton_s_length 8 - #define FAKE_build_stage_sources_documentation_s_length 21 - #define FAKE_build_stage_sources_headers_s_length 15 - #define FAKE_build_stage_sources_script_s_length 14 - #define FAKE_build_stage_sources_settings_s_length 16 - - extern const f_string_static_t fake_build_stage_built_s; - extern const f_string_static_t fake_build_stage_library_script_s; - extern const f_string_static_t fake_build_stage_library_shared_s; - extern const f_string_static_t fake_build_stage_library_static_s; - extern const f_string_static_t fake_build_stage_object_script_s; - extern const f_string_static_t fake_build_stage_object_shared_s; - extern const f_string_static_t fake_build_stage_object_static_s; - extern const f_string_static_t fake_build_stage_objects_static_s; - extern const f_string_static_t fake_build_stage_process_post_s; - extern const f_string_static_t fake_build_stage_process_pre_s; - extern const f_string_static_t fake_build_stage_program_script_s; - extern const f_string_static_t fake_build_stage_program_shared_s; - extern const f_string_static_t fake_build_stage_program_static_s; - extern const f_string_static_t fake_build_stage_separate_s; - extern const f_string_static_t fake_build_stage_skeleton_s; - extern const f_string_static_t fake_build_stage_sources_documentation_s; - extern const f_string_static_t fake_build_stage_sources_headers_s; - extern const f_string_static_t fake_build_stage_sources_script_s; - extern const f_string_static_t fake_build_stage_sources_settings_s; -#endif // _di_fake_build_stage_t_ - -/** - * The build data. - * - * setting: The build settings. - * environment: The environment variables. - */ -#ifndef _di_fake_build_data_t_ - typedef struct { - fake_build_setting_t setting; - f_string_maps_t environment; - } fake_build_data_t; - - #define fake_build_data_t_initialize { \ - fake_build_setting_t_initialize, \ - f_string_maps_t_initialize, \ - } - - #define macro_fake_build_main_delete_simple(build) \ - macro_fake_build_setting_t_delete_simple(build.setting) \ - macro_f_string_maps_t_delete_simple(build.environment); -#endif // _di_fake_build_data_t_ - -#ifndef _di_fake_build_parameter_ - #define FAKE_build_parameter_library_include_s "-I" - #define FAKE_build_parameter_library_link_file_s "-l" - #define FAKE_build_parameter_library_link_path_s "-L" - #define FAKE_build_parameter_library_name_prefix_s "lib" - #define FAKE_build_parameter_library_name_suffix_shared_s ".so" - #define FAKE_build_parameter_library_name_suffix_static_s ".a" - #define FAKE_build_parameter_library_output_s "-o" - #define FAKE_build_parameter_library_shared_s "-shared" - #define FAKE_build_parameter_library_static_s "-static" - #define FAKE_build_parameter_library_shared_prefix_s "-Wl,-soname," - - #define FAKE_build_parameter_library_include_s_length 2 - #define FAKE_build_parameter_library_link_file_s_length 2 - #define FAKE_build_parameter_library_link_path_s_length 2 - #define FAKE_build_parameter_library_name_prefix_s_length 3 - #define FAKE_build_parameter_library_name_suffix_shared_s_length 3 - #define FAKE_build_parameter_library_name_suffix_static_s_length 2 - #define FAKE_build_parameter_library_output_s_length 2 - #define FAKE_build_parameter_library_shared_s_length 7 - #define FAKE_build_parameter_library_static_s_length 7 - #define FAKE_build_parameter_library_shared_prefix_s_length 12 - - extern const f_string_static_t fake_build_parameter_library_include_s; - extern const f_string_static_t fake_build_parameter_library_link_file_s; - extern const f_string_static_t fake_build_parameter_library_link_path_s; - extern const f_string_static_t fake_build_parameter_library_name_prefix_s; - extern const f_string_static_t fake_build_parameter_library_name_suffix_shared_s; - extern const f_string_static_t fake_build_parameter_library_name_suffix_static_s; - extern const f_string_static_t fake_build_parameter_library_output_s; - extern const f_string_static_t fake_build_parameter_library_shared_s; - extern const f_string_static_t fake_build_parameter_library_static_s; - extern const f_string_static_t fake_build_parameter_library_shared_prefix_s; - - #define FAKE_build_parameter_object_compile_s "-c" - #define FAKE_build_parameter_object_name_suffix_s ".o" - #define FAKE_build_parameter_object_output_s "-o" - #define FAKE_build_parameter_object_static_s "-static" - - #define FAKE_build_parameter_object_compile_s_length 2 - #define FAKE_build_parameter_object_name_suffix_s_length 2 - #define FAKE_build_parameter_object_output_s_length 2 - #define FAKE_build_parameter_object_static_s_length 7 - - extern const f_string_static_t fake_build_parameter_object_compile_s; - extern const f_string_static_t fake_build_parameter_object_name_suffix_s; - extern const f_string_static_t fake_build_parameter_object_output_s; - extern const f_string_static_t fake_build_parameter_object_static_s; -#endif // _di_fake_build_parameter_ - -/** - * Provide common/generic definitions. - * - * fake_common_allocation_*: - * - large: An allocation step used for buffers that are anticipated to have large buffers. - * - small: An allocation step used for buffers that are anticipated to have small buffers. - * - * fake_common_file_*: - * - directory_copy: A string referring to a file directory copy operation. - * - * fake_common_setting_bool_*: - * - yes: A representation of yes or true. - * - no: A representation of no or false. - * - * fake_common_setting_*: - * - list: A generic name referring to a setting as a list. - */ -#ifndef _di_fake_common_ - #define fake_common_allocation_large_d 256 - #define fake_common_allocation_small_d 16 - - #define FAKE_common_file_directory_copy_s "copy directory" - #define FAKE_common_file_path_access_s "access" - #define FAKE_common_file_path_change_to_s "change path to" - #define FAKE_common_file_path_determine_real_s "determine real path of" - #define FAKE_common_file_path_stack_s "path stack" - #define FAKE_common_file_populate_pre_s "pre-populate" - - #define FAKE_common_setting_bool_yes_s "yes" - #define FAKE_common_setting_bool_no_s "no" - - #define FAKE_common_setting_list_s "list" - - #define FAKE_common_file_directory_copy_s_length 14 - #define FAKE_common_file_path_access_s_length 6 - #define FAKE_common_file_path_change_to_s_length 14 - #define FAKE_common_file_path_determine_real_s_length 22 - #define FAKE_common_file_path_stack_s_length 10 - #define FAKE_common_file_populate_pre_s_length 12 - - #define FAKE_common_setting_bool_yes_s_length 3 - #define FAKE_common_setting_bool_no_s_length 2 - - #define FAKE_common_setting_list_s_length 4 - - extern const f_string_static_t fake_common_file_directory_copy_s; - extern const f_string_static_t fake_common_file_path_access_s; - extern const f_string_static_t fake_common_file_path_change_to_s; - extern const f_string_static_t fake_common_file_path_determine_real_s; - extern const f_string_static_t fake_common_file_path_stack_s; - extern const f_string_static_t fake_common_file_populate_pre_s; - - extern const f_string_static_t fake_common_setting_bool_yes_s; - extern const f_string_static_t fake_common_setting_bool_no_s; - - extern const f_string_static_t fake_common_setting_list_s; - - #define fake_common_initial_buffer_max_d 131072 // 128k max default initial buffer size. -#endif // _di_fake_common_ - -/** - * Provide common/generic definitions. - * - * fake_make_section_*: - * - main: The main section. - * - settings: The settings section. - */ -#ifndef _di_fake_make_section_ - #define FAKE_make_section_main_s "main" - #define FAKE_make_section_settings_s "settings" - - #define FAKE_make_section_main_s_length 4 - #define FAKE_make_section_settings_s_length 8 - - extern const f_string_static_t fake_make_section_main_s; - extern const f_string_static_t fake_make_section_settings_s; - - #define fake_make_section_stack_max_d 8192 // maximum stack call depth. -#endif // _di_fake_make_section_ - -#ifndef _di_fake_make_setting_t_ - typedef struct { - bool load_build; - - uint8_t fail; - - f_string_map_multis_t parameter; - } fake_make_setting_t; - - #define fake_make_setting_t_initialize { \ - 0, \ - 0, \ - f_string_map_multis_t_initialize, \ - } - - #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_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_static_t fake_make_setting_compiler_s; - extern const f_string_static_t fake_make_setting_define_s; - extern const f_string_static_t fake_make_setting_environment_s; - extern const f_string_static_t fake_make_setting_fail_s; - extern const f_string_static_t fake_make_setting_indexer_s; - extern const f_string_static_t fake_make_setting_indexer_arguments_s; - extern const f_string_static_t fake_make_setting_load_build_s; - extern const f_string_static_t fake_make_setting_parameter_s; - extern const f_string_static_t fake_make_setting_return_s; -#endif // _di_fake_make_setting_t_ - -#ifndef _di_fake_make_operation_ - #define FAKE_make_operation_and_s "and" - #define FAKE_make_operation_break_s "break" - #define FAKE_make_operation_build_s "build" - #define FAKE_make_operation_clean_s "clean" - #define FAKE_make_operation_clone_s "clone" - #define FAKE_make_operation_compile_s "compile" - #define FAKE_make_operation_copy_s "copy" - #define FAKE_make_operation_define_s "define" - #define FAKE_make_operation_delete_s "delete" - #define FAKE_make_operation_deletes_s "deletes" - #define FAKE_make_operation_else_s "else" - #define FAKE_make_operation_exit_s "exit" - #define FAKE_make_operation_fail_s "fail" - #define FAKE_make_operation_group_s "group" - #define FAKE_make_operation_groups_s "groups" - #define FAKE_make_operation_if_s "if" - #define FAKE_make_operation_index_s "index" - #define FAKE_make_operation_link_s "link" - #define FAKE_make_operation_mode_s "mode" - #define FAKE_make_operation_modes_s "modes" - #define FAKE_make_operation_move_s "move" - #define FAKE_make_operation_operate_s "operate" - #define FAKE_make_operation_or_s "or" - #define FAKE_make_operation_owner_s "owner" - #define FAKE_make_operation_owners_s "owners" - #define FAKE_make_operation_parameter_s "parameter" - #define FAKE_make_operation_pop_s "pop" - #define FAKE_make_operation_print_s "print" - #define FAKE_make_operation_run_s "run" - #define FAKE_make_operation_shell_s "shell" - #define FAKE_make_operation_skeleton_s "skeleton" - #define FAKE_make_operation_to_s "to" - #define FAKE_make_operation_top_s "top" - #define FAKE_make_operation_touch_s "touch" - #define FAKE_make_operation_write_s "write" - - #define FAKE_make_operation_and_s_length 3 - #define FAKE_make_operation_break_s_length 5 - #define FAKE_make_operation_build_s_length 5 - #define FAKE_make_operation_clean_s_length 5 - #define FAKE_make_operation_clone_s_length 5 - #define FAKE_make_operation_compile_s_length 7 - #define FAKE_make_operation_copy_s_length 4 - #define FAKE_make_operation_define_s_length 6 - #define FAKE_make_operation_delete_s_length 6 - #define FAKE_make_operation_deletes_s_length 7 - #define FAKE_make_operation_else_s_length 4 - #define FAKE_make_operation_exit_s_length 4 - #define FAKE_make_operation_fail_s_length 4 - #define FAKE_make_operation_group_s_length 5 - #define FAKE_make_operation_groups_s_length 6 - #define FAKE_make_operation_if_s_length 2 - #define FAKE_make_operation_index_s_length 5 - #define FAKE_make_operation_link_s_length 4 - #define FAKE_make_operation_mode_s_length 4 - #define FAKE_make_operation_modes_s_length 5 - #define FAKE_make_operation_move_s_length 4 - #define FAKE_make_operation_operate_s_length 7 - #define FAKE_make_operation_or_s_length 2 - #define FAKE_make_operation_owner_s_length 5 - #define FAKE_make_operation_owners_s_length 6 - #define FAKE_make_operation_parameter_s_length 9 - #define FAKE_make_operation_pop_s_length 3 - #define FAKE_make_operation_print_s_length 5 - #define FAKE_make_operation_run_s_length 3 - #define FAKE_make_operation_shell_s_length 5 - #define FAKE_make_operation_skeleton_s_length 8 - #define FAKE_make_operation_to_s_length 2 - #define FAKE_make_operation_top_s_length 3 - #define FAKE_make_operation_touch_s_length 5 - #define FAKE_make_operation_write_s_length 5 - - extern const f_string_static_t fake_make_operation_and_s; - extern const f_string_static_t fake_make_operation_break_s; - extern const f_string_static_t fake_make_operation_build_s; - extern const f_string_static_t fake_make_operation_clean_s; - extern const f_string_static_t fake_make_operation_clone_s; - extern const f_string_static_t fake_make_operation_compile_s; - extern const f_string_static_t fake_make_operation_copy_s; - extern const f_string_static_t fake_make_operation_define_s; - extern const f_string_static_t fake_make_operation_delete_s; - extern const f_string_static_t fake_make_operation_deletes_s; - extern const f_string_static_t fake_make_operation_else_s; - extern const f_string_static_t fake_make_operation_exit_s; - extern const f_string_static_t fake_make_operation_fail_s; - extern const f_string_static_t fake_make_operation_group_s; - extern const f_string_static_t fake_make_operation_groups_s; - extern const f_string_static_t fake_make_operation_if_s; - extern const f_string_static_t fake_make_operation_index_s; - extern const f_string_static_t fake_make_operation_link_s; - extern const f_string_static_t fake_make_operation_mode_s; - extern const f_string_static_t fake_make_operation_modes_s; - extern const f_string_static_t fake_make_operation_move_s; - extern const f_string_static_t fake_make_operation_operate_s; - extern const f_string_static_t fake_make_operation_or_s; - extern const f_string_static_t fake_make_operation_owner_s; - extern const f_string_static_t fake_make_operation_owners_s; - extern const f_string_static_t fake_make_operation_parameter_s; - extern const f_string_static_t fake_make_operation_pop_s; - extern const f_string_static_t fake_make_operation_print_s; - extern const f_string_static_t fake_make_operation_run_s; - extern const f_string_static_t fake_make_operation_shell_s; - extern const f_string_static_t fake_make_operation_skeleton_s; - extern const f_string_static_t fake_make_operation_to_s; - extern const f_string_static_t fake_make_operation_top_s; - extern const f_string_static_t fake_make_operation_touch_s; - extern const f_string_static_t fake_make_operation_write_s; - - enum { - fake_make_operation_type_none_e = 0, - fake_make_operation_type_and_e, - fake_make_operation_type_break_e, - fake_make_operation_type_build_e, - fake_make_operation_type_clean_e, - fake_make_operation_type_clone_e, - fake_make_operation_type_compile_e, - fake_make_operation_type_copy_e, - fake_make_operation_type_define_e, - fake_make_operation_type_delete_e, - fake_make_operation_type_deletes_e, - fake_make_operation_type_else_e, - fake_make_operation_type_exit_e, - fake_make_operation_type_fail_e, - fake_make_operation_type_group_e, - fake_make_operation_type_groups_e, - fake_make_operation_type_if_e, - fake_make_operation_type_index_e, - fake_make_operation_type_link_e, - fake_make_operation_type_mode_e, - fake_make_operation_type_modes_e, - fake_make_operation_type_move_e, - fake_make_operation_type_operate_e, - fake_make_operation_type_or_e, - fake_make_operation_type_owner_e, - fake_make_operation_type_owners_e, - fake_make_operation_type_parameter_e, - fake_make_operation_type_pop_e, - fake_make_operation_type_print_e, - fake_make_operation_type_run_e, - fake_make_operation_type_shell_e, - fake_make_operation_type_skeleton_e, - fake_make_operation_type_to_e, - fake_make_operation_type_top_e, - fake_make_operation_type_touch_e, - fake_make_operation_type_write_e, - }; - - // Total does not include "fake_make_operation_type_none_e". - #define fake_make_operation_total_d 35 - - #define FAKE_make_operation_argument_directory_s "directory" - #define FAKE_make_operation_argument_environment_s "environment" - #define FAKE_make_operation_argument_error_s "error" - #define FAKE_make_operation_argument_exit_s "exit" - #define FAKE_make_operation_argument_failure_s "failure" - #define FAKE_make_operation_argument_file_s "file" - #define FAKE_make_operation_argument_force_s "force" - #define FAKE_make_operation_argument_has_s "has" - #define FAKE_make_operation_argument_ignore_s "ignore" - #define FAKE_make_operation_argument_is_s "is" - #define FAKE_make_operation_argument_no_dereference_s "no_dereference" - #define FAKE_make_operation_argument_parameter_s "parameter" - #define FAKE_make_operation_argument_point_s "point" - #define FAKE_make_operation_argument_recursive_s "recursive" - #define FAKE_make_operation_argument_strict_s "strict" - #define FAKE_make_operation_argument_success_s "success" - #define FAKE_make_operation_argument_target_s "target" - #define FAKE_make_operation_argument_warn_s "warn" - - #define FAKE_make_operation_argument_directory_s_length 9 - #define FAKE_make_operation_argument_environment_s_length 11 - #define FAKE_make_operation_argument_error_s_length 5 - #define FAKE_make_operation_argument_exit_s_length 4 - #define FAKE_make_operation_argument_failure_s_length 7 - #define FAKE_make_operation_argument_file_s_length 4 - #define FAKE_make_operation_argument_force_s_length 5 - #define FAKE_make_operation_argument_has_s_length 3 - #define FAKE_make_operation_argument_ignore_s_length 6 - #define FAKE_make_operation_argument_is_s_length 2 - #define FAKE_make_operation_argument_no_dereference_s_length 14 - #define FAKE_make_operation_argument_parameter_s_length 9 - #define FAKE_make_operation_argument_point_s_length 5 - #define FAKE_make_operation_argument_recursive_s_length 9 - #define FAKE_make_operation_argument_strict_s_length 6 - #define FAKE_make_operation_argument_success_s_length 7 - #define FAKE_make_operation_argument_target_s_length 6 - #define FAKE_make_operation_argument_warn_s_length 4 - - extern const f_string_static_t fake_make_operation_argument_directory_s; - extern const f_string_static_t fake_make_operation_argument_environment_s; - extern const f_string_static_t fake_make_operation_argument_error_s; - extern const f_string_static_t fake_make_operation_argument_exit_s; - extern const f_string_static_t fake_make_operation_argument_failure_s; - extern const f_string_static_t fake_make_operation_argument_file_s; - extern const f_string_static_t fake_make_operation_argument_force_s; - extern const f_string_static_t fake_make_operation_argument_has_s; - extern const f_string_static_t fake_make_operation_argument_ignore_s; - extern const f_string_static_t fake_make_operation_argument_is_s; - extern const f_string_static_t fake_make_operation_argument_no_dereference_s; - extern const f_string_static_t fake_make_operation_argument_parameter_s; - extern const f_string_static_t fake_make_operation_argument_point_s; - extern const f_string_static_t fake_make_operation_argument_recursive_s; - extern const f_string_static_t fake_make_operation_argument_strict_s; - extern const f_string_static_t fake_make_operation_argument_success_s; - extern const f_string_static_t fake_make_operation_argument_target_s; - extern const f_string_static_t fake_make_operation_argument_warn_s; - - #define FAKE_make_operation_argument_if_define_s "define" - #define FAKE_make_operation_argument_if_equal_s "==" - #define FAKE_make_operation_argument_if_equal_not_s "<>" - #define FAKE_make_operation_argument_if_exist_s "exist" - #define FAKE_make_operation_argument_if_failure_s "failure" - #define FAKE_make_operation_argument_if_greater_s ">" - #define FAKE_make_operation_argument_if_greater_equal_s ">=" - #define FAKE_make_operation_argument_if_group_s "group" - #define FAKE_make_operation_argument_if_is_s "is" - #define FAKE_make_operation_argument_if_is_for_s "for" - #define FAKE_make_operation_argument_if_less_s "<" - #define FAKE_make_operation_argument_if_less_equal_s "<=" - #define FAKE_make_operation_argument_if_mode_s "mode" - #define FAKE_make_operation_argument_if_not_s "not" - #define FAKE_make_operation_argument_if_owner_s "owner" - #define FAKE_make_operation_argument_if_parameter_s "parameter" - #define FAKE_make_operation_argument_if_success_s "success" - - #define FAKE_make_operation_argument_if_define_s_length 6 - #define FAKE_make_operation_argument_if_equal_s_length 2 - #define FAKE_make_operation_argument_if_equal_not_s_length 2 - #define FAKE_make_operation_argument_if_exist_s_length 5 - #define FAKE_make_operation_argument_if_failure_s_length 7 - #define FAKE_make_operation_argument_if_greater_s_length 1 - #define FAKE_make_operation_argument_if_greater_equal_s_length 2 - #define FAKE_make_operation_argument_if_group_s_length 5 - #define FAKE_make_operation_argument_if_is_s_length 2 - #define FAKE_make_operation_argument_if_is_for_s_length 3 - #define FAKE_make_operation_argument_if_less_s_length 1 - #define FAKE_make_operation_argument_if_less_equal_s_length 2 - #define FAKE_make_operation_argument_if_mode_s_length 4 - #define FAKE_make_operation_argument_if_not_s_length 3 - #define FAKE_make_operation_argument_if_owner_s_length 5 - #define FAKE_make_operation_argument_if_parameter_s_length 9 - #define FAKE_make_operation_argument_if_success_s_length 7 - - extern const f_string_static_t fake_make_operation_argument_if_define_s; - extern const f_string_static_t fake_make_operation_argument_if_equal_s; - extern const f_string_static_t fake_make_operation_argument_if_equal_not_s; - extern const f_string_static_t fake_make_operation_argument_if_exist_s; - extern const f_string_static_t fake_make_operation_argument_if_failure_s; - extern const f_string_static_t fake_make_operation_argument_if_greater_s; - extern const f_string_static_t fake_make_operation_argument_if_greater_equal_s; - extern const f_string_static_t fake_make_operation_argument_if_group_s; - extern const f_string_static_t fake_make_operation_argument_if_is_s; - extern const f_string_static_t fake_make_operation_argument_if_is_for_s; - extern const f_string_static_t fake_make_operation_argument_if_less_s; - extern const f_string_static_t fake_make_operation_argument_if_less_equal_s; - extern const f_string_static_t fake_make_operation_argument_if_mode_s; - extern const f_string_static_t fake_make_operation_argument_if_not_s; - extern const f_string_static_t fake_make_operation_argument_if_owner_s; - extern const f_string_static_t fake_make_operation_argument_if_parameter_s; - extern const f_string_static_t fake_make_operation_argument_if_success_s; - - enum { - fake_make_operation_if_type_else_e = 1, - fake_make_operation_if_type_if_e, - fake_make_operation_if_type_if_define_e, - fake_make_operation_if_type_if_equal_e, - fake_make_operation_if_type_if_equal_not_e, - fake_make_operation_if_type_if_exist_e, - fake_make_operation_if_type_if_failure_e, - fake_make_operation_if_type_if_greater_e, - fake_make_operation_if_type_if_greater_equal_e, - fake_make_operation_if_type_if_group_e, - fake_make_operation_if_type_if_is_e, - fake_make_operation_if_type_if_less_e, - fake_make_operation_if_type_if_less_equal_e, - fake_make_operation_if_type_if_mode_e, - fake_make_operation_if_type_if_not_e, - fake_make_operation_if_type_if_not_define_e, - fake_make_operation_if_type_if_not_exist_e, - fake_make_operation_if_type_if_not_group_e, - fake_make_operation_if_type_if_not_is_e, - fake_make_operation_if_type_if_not_mode_e, - fake_make_operation_if_type_if_not_owner_e, - fake_make_operation_if_type_if_not_parameter_e, - fake_make_operation_if_type_if_parameter_e, - fake_make_operation_if_type_if_owner_e, - fake_make_operation_if_type_if_success_e, - }; - - enum { - fake_make_operation_fail_type_exit_e = 1, - fake_make_operation_fail_type_warn_e, - fake_make_operation_fail_type_ignore_e, - }; - - #define fake_make_operation_recursion_depth_max_d 65535 -#endif // _di_fake_make_operation_ - -#ifndef _di_fake_make_parameter_t_ - #define FAKE_make_parameter_iki_option_s ":option" - #define FAKE_make_parameter_iki_value_s ":value" - - #define FAKE_make_parameter_variable_build_s "build" - #define FAKE_make_parameter_variable_color_s "color" - #define FAKE_make_parameter_variable_current_s "current" - #define FAKE_make_parameter_variable_data_s "data" - #define FAKE_make_parameter_variable_define_s "define" - #define FAKE_make_parameter_variable_documents_s "documents" - #define FAKE_make_parameter_variable_fakefile_s "fakefile" - #define FAKE_make_parameter_variable_licenses_s "licenses" - #define FAKE_make_parameter_variable_mode_s "mode" - #define FAKE_make_parameter_variable_process_s "process" - #define FAKE_make_parameter_variable_return_s "return" - #define FAKE_make_parameter_variable_settings_s "settings" - #define FAKE_make_parameter_variable_sources_s "sources" - #define FAKE_make_parameter_variable_top_s "top" - #define FAKE_make_parameter_variable_verbosity_s "verbosity" - #define FAKE_make_parameter_variable_work_s "work" - - #define FAKE_make_parameter_variable_option_build_s FAKE_make_parameter_variable_build_s FAKE_make_parameter_iki_option_s - #define FAKE_make_parameter_variable_option_color_s FAKE_make_parameter_variable_color_s FAKE_make_parameter_iki_option_s - #define FAKE_make_parameter_variable_option_data_s FAKE_make_parameter_variable_data_s FAKE_make_parameter_iki_option_s - #define FAKE_make_parameter_variable_option_define_s FAKE_make_parameter_variable_define_s FAKE_make_parameter_iki_option_s - #define FAKE_make_parameter_variable_option_documents_s FAKE_make_parameter_variable_documents_s FAKE_make_parameter_iki_option_s - #define FAKE_make_parameter_variable_option_fakefile_s FAKE_make_parameter_variable_fakefile_s FAKE_make_parameter_iki_option_s - #define FAKE_make_parameter_variable_option_licenses_s FAKE_make_parameter_variable_licenses_s FAKE_make_parameter_iki_option_s - #define FAKE_make_parameter_variable_option_mode_s FAKE_make_parameter_variable_mode_s FAKE_make_parameter_iki_option_s - #define FAKE_make_parameter_variable_option_process_s FAKE_make_parameter_variable_process_s FAKE_make_parameter_iki_option_s - #define FAKE_make_parameter_variable_option_settings_s FAKE_make_parameter_variable_settings_s FAKE_make_parameter_iki_option_s - #define FAKE_make_parameter_variable_option_sources_s FAKE_make_parameter_variable_sources_s FAKE_make_parameter_iki_option_s - #define FAKE_make_parameter_variable_option_verbosity_s FAKE_make_parameter_variable_verbosity_s FAKE_make_parameter_iki_option_s - #define FAKE_make_parameter_variable_option_work_s FAKE_make_parameter_variable_work_s FAKE_make_parameter_iki_option_s - - #define FAKE_make_parameter_variable_value_build_s FAKE_make_parameter_variable_build_s FAKE_make_parameter_iki_value_s - #define FAKE_make_parameter_variable_value_color_s FAKE_make_parameter_variable_color_s FAKE_make_parameter_iki_value_s - #define FAKE_make_parameter_variable_value_data_s FAKE_make_parameter_variable_data_s FAKE_make_parameter_iki_value_s - #define FAKE_make_parameter_variable_value_define_s FAKE_make_parameter_variable_define_s FAKE_make_parameter_iki_value_s - #define FAKE_make_parameter_variable_value_documents_s FAKE_make_parameter_variable_documents_s FAKE_make_parameter_iki_value_s - #define FAKE_make_parameter_variable_value_fakefile_s FAKE_make_parameter_variable_fakefile_s FAKE_make_parameter_iki_value_s - #define FAKE_make_parameter_variable_value_licenses_s FAKE_make_parameter_variable_licenses_s FAKE_make_parameter_iki_value_s - #define FAKE_make_parameter_variable_value_mode_s FAKE_make_parameter_variable_mode_s FAKE_make_parameter_iki_value_s - #define FAKE_make_parameter_variable_value_process_s FAKE_make_parameter_variable_process_s FAKE_make_parameter_iki_value_s - #define FAKE_make_parameter_variable_value_settings_s FAKE_make_parameter_variable_settings_s FAKE_make_parameter_iki_value_s - #define FAKE_make_parameter_variable_value_sources_s FAKE_make_parameter_variable_sources_s FAKE_make_parameter_iki_value_s - #define FAKE_make_parameter_variable_value_verbosity_s FAKE_make_parameter_variable_verbosity_s FAKE_make_parameter_iki_value_s - #define FAKE_make_parameter_variable_value_work_s FAKE_make_parameter_variable_work_s FAKE_make_parameter_iki_value_s - - #define FAKE_make_parameter_iki_option_s_length 7 - #define FAKE_make_parameter_iki_value_s_length 6 - - #define FAKE_make_parameter_variable_build_s_length 5 - #define FAKE_make_parameter_variable_color_s_length 5 - #define FAKE_make_parameter_variable_current_s_length 7 - #define FAKE_make_parameter_variable_data_s_length 4 - #define FAKE_make_parameter_variable_define_s_length 6 - #define FAKE_make_parameter_variable_documents_s_length 9 - #define FAKE_make_parameter_variable_fakefile_s_length 8 - #define FAKE_make_parameter_variable_licenses_s_length 8 - #define FAKE_make_parameter_variable_data_s_length 4 - #define FAKE_make_parameter_variable_mode_s_length 4 - #define FAKE_make_parameter_variable_process_s_length 7 - #define FAKE_make_parameter_variable_return_s_length 6 - #define FAKE_make_parameter_variable_settings_s_length 8 - #define FAKE_make_parameter_variable_sources_s_length 7 - #define FAKE_make_parameter_variable_top_s_length 3 - #define FAKE_make_parameter_variable_verbosity_s_length 9 - #define FAKE_make_parameter_variable_work_s_length 4 - - #define FAKE_make_parameter_variable_option_build_s_length FAKE_make_parameter_variable_build_s_length + FAKE_make_parameter_iki_option_s_length - #define FAKE_make_parameter_variable_option_color_s_length FAKE_make_parameter_variable_color_s_length + FAKE_make_parameter_iki_option_s_length - #define FAKE_make_parameter_variable_option_data_s_length FAKE_make_parameter_variable_data_s_length + FAKE_make_parameter_iki_option_s_length - #define FAKE_make_parameter_variable_option_define_s_length FAKE_make_parameter_variable_define_s_length + FAKE_make_parameter_iki_option_s_length - #define FAKE_make_parameter_variable_option_documents_s_length FAKE_make_parameter_variable_documents_s_length + FAKE_make_parameter_iki_option_s_length - #define FAKE_make_parameter_variable_option_fakefile_s_length FAKE_make_parameter_variable_fakefile_s_length + FAKE_make_parameter_iki_option_s_length - #define FAKE_make_parameter_variable_option_licenses_s_length FAKE_make_parameter_variable_licenses_s_length + FAKE_make_parameter_iki_option_s_length - #define FAKE_make_parameter_variable_option_mode_s_length FAKE_make_parameter_variable_mode_s_length + FAKE_make_parameter_iki_option_s_length - #define FAKE_make_parameter_variable_option_process_s_length FAKE_make_parameter_variable_process_s_length + FAKE_make_parameter_iki_option_s_length - #define FAKE_make_parameter_variable_option_settings_s_length FAKE_make_parameter_variable_settings_s_length + FAKE_make_parameter_iki_option_s_length - #define FAKE_make_parameter_variable_option_sources_s_length FAKE_make_parameter_variable_sources_s_length + FAKE_make_parameter_iki_option_s_length - #define FAKE_make_parameter_variable_option_verbosity_s_length FAKE_make_parameter_variable_verbosity_s_length + FAKE_make_parameter_iki_option_s_length - #define FAKE_make_parameter_variable_option_work_s_length FAKE_make_parameter_variable_work_s_length + FAKE_make_parameter_iki_option_s_length - - #define FAKE_make_parameter_variable_value_build_s_length FAKE_make_parameter_variable_build_s_length + FAKE_make_parameter_iki_value_s_length - #define FAKE_make_parameter_variable_value_color_s_length FAKE_make_parameter_variable_color_s_length + FAKE_make_parameter_iki_value_s_length - #define FAKE_make_parameter_variable_value_data_s_length FAKE_make_parameter_variable_data_s_length + FAKE_make_parameter_iki_value_s_length - #define FAKE_make_parameter_variable_value_documents_s_length FAKE_make_parameter_variable_documents_s_length + FAKE_make_parameter_iki_value_s_length - #define FAKE_make_parameter_variable_value_define_s_length FAKE_make_parameter_variable_define_s_length + FAKE_make_parameter_iki_value_s_length - #define FAKE_make_parameter_variable_value_fakefile_s_length FAKE_make_parameter_variable_fakefile_s_length + FAKE_make_parameter_iki_value_s_length - #define FAKE_make_parameter_variable_value_licenses_s_length FAKE_make_parameter_variable_licenses_s_length + FAKE_make_parameter_iki_value_s_length - #define FAKE_make_parameter_variable_value_mode_s_length FAKE_make_parameter_variable_mode_s_length + FAKE_make_parameter_iki_value_s_length - #define FAKE_make_parameter_variable_value_process_s_length FAKE_make_parameter_variable_process_s_length + FAKE_make_parameter_iki_value_s_length - #define FAKE_make_parameter_variable_value_settings_s_length FAKE_make_parameter_variable_settings_s_length + FAKE_make_parameter_iki_value_s_length - #define FAKE_make_parameter_variable_value_sources_s_length FAKE_make_parameter_variable_sources_s_length + FAKE_make_parameter_iki_value_s_length - #define FAKE_make_parameter_variable_value_verbosity_s_length FAKE_make_parameter_variable_verbosity_s_length + FAKE_make_parameter_iki_value_s_length - #define FAKE_make_parameter_variable_value_work_s_length FAKE_make_parameter_variable_work_s_length + FAKE_make_parameter_iki_value_s_length - - extern const f_string_static_t fake_make_parameter_iki_option_s; - extern const f_string_static_t fake_make_parameter_iki_value_s; - - extern const f_string_static_t fake_make_parameter_variable_build_s; - extern const f_string_static_t fake_make_parameter_variable_color_s; - extern const f_string_static_t fake_make_parameter_variable_current_s; - extern const f_string_static_t fake_make_parameter_variable_data_s; - extern const f_string_static_t fake_make_parameter_variable_define_s; - extern const f_string_static_t fake_make_parameter_variable_documents_s; - extern const f_string_static_t fake_make_parameter_variable_fakefile_s; - extern const f_string_static_t fake_make_parameter_variable_licenses_s; - extern const f_string_static_t fake_make_parameter_variable_mode_s; - extern const f_string_static_t fake_make_parameter_variable_process_s; - extern const f_string_static_t fake_make_parameter_variable_return_s; - extern const f_string_static_t fake_make_parameter_variable_settings_s; - extern const f_string_static_t fake_make_parameter_variable_sources_s; - extern const f_string_static_t fake_make_parameter_variable_top_s; - extern const f_string_static_t fake_make_parameter_variable_verbosity_s; - extern const f_string_static_t fake_make_parameter_variable_work_s; - - extern const f_string_static_t fake_make_parameter_variable_option_build_s; - extern const f_string_static_t fake_make_parameter_variable_option_color_s; - extern const f_string_static_t fake_make_parameter_variable_option_data_s; - extern const f_string_static_t fake_make_parameter_variable_option_define_s; - extern const f_string_static_t fake_make_parameter_variable_option_documents_s; - extern const f_string_static_t fake_make_parameter_variable_option_fakefile_s; - extern const f_string_static_t fake_make_parameter_variable_option_licenses_s; - extern const f_string_static_t fake_make_parameter_variable_option_mode_s; - extern const f_string_static_t fake_make_parameter_variable_option_process_s; - extern const f_string_static_t fake_make_parameter_variable_option_settings_s; - extern const f_string_static_t fake_make_parameter_variable_option_sources_s; - extern const f_string_static_t fake_make_parameter_variable_option_verbosity_s; - extern const f_string_static_t fake_make_parameter_variable_option_work_s; - - extern const f_string_static_t fake_make_parameter_variable_value_build_s; - extern const f_string_static_t fake_make_parameter_variable_value_color_s; - extern const f_string_static_t fake_make_parameter_variable_value_data_s; - extern const f_string_static_t fake_make_parameter_variable_value_define_s; - extern const f_string_static_t fake_make_parameter_variable_value_documents_s; - extern const f_string_static_t fake_make_parameter_variable_value_fakefile_s; - extern const f_string_static_t fake_make_parameter_variable_value_licenses_s; - extern const f_string_static_t fake_make_parameter_variable_value_mode_s; - extern const f_string_static_t fake_make_parameter_variable_value_process_s; - extern const f_string_static_t fake_make_parameter_variable_value_settings_s; - extern const f_string_static_t fake_make_parameter_variable_value_sources_s; - extern const f_string_static_t fake_make_parameter_variable_value_verbosity_s; - extern const f_string_static_t fake_make_parameter_variable_value_work_s; - - typedef struct { - f_string_dynamics_t build; - f_string_dynamics_t color; - f_string_dynamics_t data; - f_string_dynamics_t define; - f_string_dynamics_t documents; - f_string_dynamics_t fakefile; - f_string_dynamics_t licenses; - f_string_dynamics_t mode; - f_string_dynamics_t process; - f_string_dynamics_t settings; - f_string_dynamics_t sources; - f_string_dynamics_t verbosity; - f_string_dynamics_t work; - } fake_make_parameter_t; - - #define fake_make_parameter_t_initialize { \ - f_string_dynamics_t_initialize, \ - f_string_dynamics_t_initialize, \ - f_string_dynamics_t_initialize, \ - f_string_dynamics_t_initialize, \ - f_string_dynamics_t_initialize, \ - f_string_dynamics_t_initialize, \ - f_string_dynamics_t_initialize, \ - f_string_dynamics_t_initialize, \ - f_string_dynamics_t_initialize, \ - f_string_dynamics_t_initialize, \ - f_string_dynamics_t_initialize, \ - f_string_dynamics_t_initialize, \ - f_string_dynamics_t_initialize, \ - } - - #define macro_fake_make_parameter_delete_simple(parameter) \ - macro_f_string_dynamics_t_delete_simple(parameter.build) \ - macro_f_string_dynamics_t_delete_simple(parameter.color) \ - macro_f_string_dynamics_t_delete_simple(parameter.data) \ - macro_f_string_dynamics_t_delete_simple(parameter.define) \ - macro_f_string_dynamics_t_delete_simple(parameter.documents) \ - macro_f_string_dynamics_t_delete_simple(parameter.fakefile) \ - macro_f_string_dynamics_t_delete_simple(parameter.licenses) \ - macro_f_string_dynamics_t_delete_simple(parameter.mode) \ - macro_f_string_dynamics_t_delete_simple(parameter.process) \ - macro_f_string_dynamics_t_delete_simple(parameter.settings) \ - macro_f_string_dynamics_t_delete_simple(parameter.sources) \ - macro_f_string_dynamics_t_delete_simple(parameter.verbosity) \ - macro_f_string_dynamics_t_delete_simple(parameter.work) -#endif // _di_fake_make_parameter_t_ - -#ifndef _di_fake_make_path_t_ - typedef struct { - f_file_t top; - - f_string_dynamics_t stack; - } fake_make_path_t; - - #define fake_make_path_t_initialize { \ - f_file_t_initialize, \ - f_string_dynamics_t_initialize, \ - } - - #define macro_fake_make_path_delete_simple(path) \ - macro_f_string_dynamics_t_delete_simple(path.stack); -#endif // _di_fake_make_path_t_ - -/** - * The control data. - * - * setting_build: The build settings. - * setting_make: The make settings. - * environment: All environment variables allowed to be exposed to the when processing. - * parameter: A set of parameters available for IKI substitution. - * parameter_option: A set of parameters available for IKI option substitution. - * parameter_value: A set of parameters available for IKI value substitution. - * path: The path to the Fakefile. - * error: The error output print structure. - * fakefile: The loaded Fakefile. - * buffer: A buffer used during processing. - * cache_1: An additional buffer for caching purposes. - * cache_2: An additional buffer for caching purposes. - * cache_path: A buffer for path-specific caching. - * cache_arguments: A cache for expanded arguments. - * cache_iki: A cache for IKI data. - * id_main: Index of the "main" Section. - * main: The main program data. - * data: The Fake make program data. - * setting: The settings data. - */ -#ifndef _di_fake_make_data_t_ - typedef struct { - fake_build_setting_t setting_build; - fake_make_setting_t setting_make; - - f_string_maps_t environment; - - fake_make_parameter_t parameter; - fake_make_parameter_t parameter_option; - fake_make_parameter_t parameter_value; - fake_make_path_t path; - - fl_print_t error; - - f_fss_nameds_t fakefile; - - f_string_dynamic_t buffer; - f_string_dynamic_t cache_1; - f_string_dynamic_t cache_2; - f_string_dynamic_t cache_path; - f_string_dynamics_t cache_arguments; - f_iki_data_t cache_iki; - - f_array_length_t id_main; - - fll_program_data_t *main; - fake_data_t *data; - fake_setting_t *setting; - } fake_make_data_t; - - #define fake_make_data_t_initialize { \ - fake_build_setting_t_initialize, \ - fake_make_setting_t_initialize, \ - f_string_maps_t_initialize, \ - fake_make_parameter_t_initialize, \ - fake_make_parameter_t_initialize, \ - fake_make_parameter_t_initialize, \ - fake_make_path_t_initialize, \ - fl_print_t_initialize, \ - f_fss_nameds_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamic_t_initialize, \ - f_string_dynamics_t_initialize, \ - f_iki_data_t_initialize, \ - 0, \ - 0, \ - 0, \ - 0, \ - } -#endif // _di_fake_make_data_t_ - -/** - * A structure for managing the operation and if-condition states. - * - * block: The process block state. - * block_result: The result of the block. - * condition: The current if-condition type. - * condition_result: The result of the currently processed condition. - * operation: The current operation type. - * operation_previous: The previous operation type. - * success: Current state is considered success when F_true and failure when F_false. - * success_block: Current block state is considered success when F_true and failure when F_false. - */ -#ifndef _di_fake_state_process_t_ - typedef struct { - uint8_t block; - uint8_t block_result; - uint8_t condition; - uint8_t condition_result; - uint8_t operation; - uint8_t operation_previous; - uint8_t success; - uint8_t success_block; - } fake_state_process_t; - - #define fake_state_process_t_initialize { \ - 0, \ - 0, \ - 0, \ - 0, \ - 0, \ - 0, \ - F_true, \ - F_true, \ - } -#endif // _di_fake_state_process_t_ - -/** - * Designate the current process block state. - * - * fake_condition_result_*: - * - none: No if-condition is set. - * - operate: The condition passed or perform condition, process the next operation or the condition. - * - skip: The condition failed, skip the next operation. - * - done: After the condition passed, the next operation was performed, all future operations within block are skipped. - */ -#ifndef _di_fake_state_process_block_ - enum { - fake_state_process_block_none_e = 0, - fake_state_process_block_operate_e, - fake_state_process_block_skip_e, - fake_state_process_block_done_e, - }; -#endif // _di_fake_state_process_block_ - -/** - * Designate that the if state is true, false, or undefined (none). - * - * fake_condition_result_*: - * - none: The result of the if-condition is not set. - * - false: The result of the if-condition is false. - * - true: The result of the if-condition is true. - * - error: An error occurred, any if-condition is to be skipped, falling back to the else condition, if any. - */ -#ifndef _di_fake_condition_result_ - enum { - fake_condition_result_none_e = 0, - fake_condition_result_false_e, - fake_condition_result_true_e, - fake_condition_result_error_e, - }; -#endif // _di_fake_condition_result_ - -#ifndef _di_fake_skeleton_content_ - #define FAKE_make_skeleton_content_defines_s "# fss-0000\n\n" - #define FAKE_make_skeleton_content_dependencies_s "# fss-0000\n\n" - #define FAKE_make_skeleton_content_fakefile_s "# fss-0005 iki-0002\n\nsettings:\n fail exit\n\nmain:\n\n" - #define FAKE_make_skeleton_content_process_post_s "#!/bin/bash\n\n" - #define FAKE_make_skeleton_content_process_pre_s "#!/bin/bash\n\n" - #define FAKE_make_skeleton_content_settings_s "# fss-0001\n\n" - - #define FAKE_make_skeleton_content_defines_s_length 12 - #define FAKE_make_skeleton_content_dependencies_s_length 12 - #define FAKE_make_skeleton_content_fakefile_s_length 51 - #define FAKE_make_skeleton_content_process_post_s_length 13 - #define FAKE_make_skeleton_content_process_pre_s_length 13 - #define FAKE_make_skeleton_content_settings_s_length 12 - - extern const f_string_static_t fake_make_skeleton_content_defines_s; - extern const f_string_static_t fake_make_skeleton_content_dependencies_s; - extern const f_string_static_t fake_make_skeleton_content_fakefile_s; - extern const f_string_static_t fake_make_skeleton_content_process_post_s; - extern const f_string_static_t fake_make_skeleton_content_process_pre_s; - extern const f_string_static_t fake_make_skeleton_content_settings_s; -#endif // _di_fake_skeleton_content_ - -#ifndef _di_fake_make_context_ - #define FAKE_make_context_error_s "error" - #define FAKE_make_context_important_s "important" - #define FAKE_make_context_normal_s "normal" - #define FAKE_make_context_notable_s "notable" - #define FAKE_make_context_reset_s "reset" - #define FAKE_make_context_standout_s "standout" - #define FAKE_make_context_success_s "success" - #define FAKE_make_context_title_s "title" - #define FAKE_make_context_warning_s "warning" - - #define FAKE_make_context_error_s_length 5 - #define FAKE_make_context_important_s_length 9 - #define FAKE_make_context_normal_s_length 6 - #define FAKE_make_context_notable_s_length 7 - #define FAKE_make_context_reset_s_length 5 - #define FAKE_make_context_standout_s_length 8 - #define FAKE_make_context_success_s_length 7 - #define FAKE_make_context_title_s_length 5 - #define FAKE_make_context_warning_s_length 7 - - extern const f_string_static_t fake_make_context_error_s; - extern const f_string_static_t fake_make_context_important_s; - extern const f_string_static_t fake_make_context_normal_s; - extern const f_string_static_t fake_make_context_notable_s; - extern const f_string_static_t fake_make_context_reset_s; - extern const f_string_static_t fake_make_context_standout_s; - extern const f_string_static_t fake_make_context_success_s; - extern const f_string_static_t fake_make_context_title_s; - extern const f_string_static_t fake_make_context_warning_s; -#endif // _di_fake_make_context_ - -#ifndef _di_fake_file_data_build_strings_ - #define FAKE_file_data_build_process_post_s "process_post.sh" - #define FAKE_file_data_build_process_pre_s "process_pre.sh" - - #define FAKE_file_data_build_process_post_s_length 15 - #define FAKE_file_data_build_process_pre_s_length 14 - - extern const f_string_static_t fake_file_data_build_process_post_s; - extern const f_string_static_t fake_file_data_build_process_pre_s; -#endif // _di_fake_file_data_build_strings_ - -/** - * Deallocate data. - * - * @param data - * The program data. - * - * @return - * F_none on success. - * - * Status codes (with error bit) are returned on any problem. - * - * @see fake_main() - */ -#ifndef _di_fake_data_delete_ - extern f_status_t fake_data_delete(fake_data_t * const data); -#endif // _di_fake_data_delete_ - -/** - * Deallocate make data. - * - * @param data - * The make data. - * - * @return - * F_none on success. - * - * @see f_fss_nameds_resize() - * @see f_string_dynamic_resize() - * @see f_string_maps_resize() - */ -#ifndef _di_fake_make_data_delete_ - extern f_status_t fake_make_data_delete(fake_make_data_t * const data) F_attribute_visibility_internal_d; -#endif // _di_fake_make_data_delete_ - #ifdef __cplusplus } // extern "C" #endif diff --git a/level_3/fake/c/main/private-fake.c b/level_3/fake/c/main/private-fake.c index e9dc2bf..6d87898 100644 --- a/level_3/fake/c/main/private-fake.c +++ b/level_3/fake/c/main/private-fake.c @@ -7,327 +7,6 @@ extern "C" { #endif -#ifndef _di_fake_execute_ - int fake_execute(fake_data_t * const data, const f_string_maps_t environment, const f_string_static_t program, const f_string_statics_t arguments, f_status_t * const status) { - - if (F_status_is_error(*status)) return 1; - - if (data->main->error.verbosity >= f_console_verbosity_verbose_e) { - f_file_stream_lock(data->main->message.to); - - f_print_dynamic(program, data->main->message.to); - - for (f_array_length_t i = 0; i < arguments.used; ++i) { - - if (!arguments.array[i].used) continue; - - fl_print_format(" %Q", data->main->message.to, arguments.array[i]); - } // for - - f_print_dynamic_raw(f_string_eol_s, data->main->message.to); - - f_file_stream_flush(data->main->message.to); - f_file_stream_unlock(data->main->message.to); - } - - int return_code = 0; - - if (program.used) { - - // Child processes should receive all signals, without blocking. - f_signal_how_t signals = f_signal_how_t_initialize; - f_signal_set_empty(&signals.block); - f_signal_set_fill(&signals.block_not); - - fl_execute_parameter_t parameter = macro_fl_execute_parameter_t_initialize(0, 0, &environment, &signals, 0); - - *status = fll_execute_program(program, arguments, ¶meter, 0, (void *) &return_code); - - if (fll_program_standard_signal_received(data->main)) { - fll_program_print_signal_received(data->main->warning, data->setting->line_first, data->main->signal_received); - - *status = F_status_set_error(F_interrupt); - - return 0; - } - - if (*status == F_child) return return_code; - } - else { - *status = F_status_set_error(F_file_found_not); - } - - if (return_code != 0) { - *status = F_status_set_error(F_failure); - } - else if (F_status_is_error(*status)) { - return_code = 1; - - if (F_status_set_fine(*status) == F_file_found_not) { - if (data->main->error.verbosity > f_console_verbosity_quiet_e) { - f_file_stream_lock(data->main->error.to); - - fl_print_format("%r%[%QFailed to find program '%]", data->main->error.to, f_string_eol_s, data->main->error.context, data->main->error.prefix, data->main->error.context); - fl_print_format("%[%Q%]", data->main->error.to, data->main->error.notable, program, data->main->error.notable); - fl_print_format("%[' for executing.%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s); - - f_file_stream_unlock(data->main->error.to); - } - } - else { - fake_print_error(data->setting, *status, data->main->error, macro_fake_f(fll_execute_program)); - } - } - - return return_code; - } -#endif // _di_fake_execute_ - -#ifndef _di_fake_file_buffer_ - f_status_t fake_file_buffer(fake_data_t * const data, const f_string_static_t path_file, const bool required, f_string_dynamic_t * const buffer) { - - if (fll_program_standard_signal_received(data->main)) { - fll_program_print_signal_received(data->main->warning, data->setting->line_first, data->main->signal_received); - - return F_status_set_error(F_interrupt); - } - - f_status_t status = f_file_exists(path_file, F_true); - - if (F_status_is_error(status)) { - fake_print_error_file(data->setting, status, data->main->error, macro_fake_f(f_file_exists), path_file, f_file_operation_find_s, fll_error_file_type_file_e); - - return status; - } - - if (status == F_true) { - { - off_t size_file = 0; - - status = f_file_size(path_file, F_true, &size_file); - - if (F_status_is_error(status)) { - fake_print_error_file(data->setting, status, data->main->error, macro_fake_f(f_file_size), path_file, f_file_operation_read_s, fll_error_file_type_file_e); - - return status; - } - - if (size_file > fake_common_initial_buffer_max_d) { - size_file = fake_common_initial_buffer_max_d; - } - - status = f_string_dynamic_increase_by(size_file, buffer); - - if (F_status_is_error(status)) { - const f_string_static_t message = macro_f_string_static_t_initialize("allocate buffer size for", 0, 24); - - fake_print_error_file(data->setting, status, data->main->error, macro_fake_f(f_string_dynamic_increase_by), path_file, message, fll_error_file_type_file_e); - - return status; - } - - status = F_true; - } - - f_file_t file = f_file_t_initialize; - - status = f_file_stream_open(path_file, f_string_empty_s, &file); - - if (F_status_is_error(status)) { - fake_print_error_file(data->setting, status, data->main->error, macro_fake_f(f_file_stream_open), path_file, f_file_operation_open_s, fll_error_file_type_file_e); - - return status; - } - - status = f_file_stream_read(file, buffer); - - f_file_stream_flush(file); - f_file_stream_close(&file); - - if (F_status_is_error(status)) { - fake_print_error_file(data->setting, status, data->main->error, macro_fake_f(f_file_read), path_file, f_file_operation_read_s, fll_error_file_type_file_e); - } - } - else { - if (required) { - status = F_status_set_error(F_file_found_not); - - fake_print_error_file(data->setting, status, data->main->error, macro_fake_f(f_file_exists), path_file, f_file_operation_find_s, fll_error_file_type_file_e); - } - } - - return status; - } -#endif // _di_fake_file_buffer_ - -#ifndef _di_fake_pipe_buffer_ - f_status_t fake_pipe_buffer(fake_data_t * const data, f_string_dynamic_t * const buffer) { - - f_status_t status = F_none; - f_file_t file = f_file_t_initialize; - - file.id = F_type_descriptor_input_d; - file.stream = F_type_input_d; - file.size_read = fake_default_allocation_pipe_d; - - status = f_string_dynamic_increase_by(fake_common_initial_buffer_max_d, buffer); - - if (F_status_is_error(status)) { - const f_string_static_t message = macro_f_string_static_t_initialize("allocate buffer size for", 0, 24); - fake_print_error_file(data->setting, status, data->main->error, macro_fake_f(f_string_dynamic_increase_by), f_string_ascii_minus_s, message, fll_error_file_type_file_e); - - return status; - } - - // Reset the error state before processing. - clearerr(F_type_input_d); - - do { - if (fll_program_standard_signal_received(data->main)) { - fll_program_print_signal_received(data->main->warning, data->setting->line_first, data->main->signal_received); - - return F_status_set_error(F_interrupt); - } - - status = f_file_stream_read_block(file, buffer); - - } while (F_status_is_fine(status) && status != F_interrupt && status != F_none_eof); - - if (F_status_is_error(status)) { - fake_print_error_file(data->setting, status, data->main->error, macro_fake_f(f_file_stream_read_block), f_string_ascii_minus_s, f_file_operation_read_s, fll_error_file_type_file_e); - } - - return status; - } -#endif // _di_fake_pipe_buffer_ - -#ifndef _di_fake_validate_parameter_paths_ - f_status_t fake_validate_parameter_paths(fake_data_t * const data) { - - if (fll_program_standard_signal_received(data->main)) { - fll_program_print_signal_received(data->main->warning, data->setting->line_first, data->main->signal_received); - - return F_status_set_error(F_interrupt); - } - - const f_string_static_t names[] = { - fake_long_build_s, - fake_long_data_s, - fake_long_documents_s, - fake_long_licenses_s, - fake_long_sources_s, - fake_long_work_s, - }; - - const f_string_dynamic_t values[] = { - data->setting->build, - data->setting->data, - data->setting->documents, - data->setting->licenses, - data->setting->sources, - data->setting->work, - }; - - uint8_t requireds[] = { - F_false, // fake_long_build_s - (data->main->pipe & fll_program_data_pipe_input_e) ? F_false : F_true, // fake_long_data_s - F_false, // fake_long_documents_s - F_false, // fake_long_licenses_s - F_false, // fake_long_sources_s - F_false, // fake_long_work_s - }; - - struct stat directory_stat; - - f_status_t status = F_none; - - // Check only expected operations (fake_operation_clean_e and fake_operation_skeleton_e should not call this function). - if (data->operation == fake_operation_make_e) { - if (data->main->parameters.array[fake_parameter_fakefile_e].result == f_console_result_none_e) { - if (data->setting->build.used && f_file_exists(data->setting->build, F_false) != F_true) { - if (f_file_exists(fake_default_fakefile_s, F_false) == F_true) { - requireds[1] = F_false; // fake_long_data_s - } - } - } - } - - // If a custom --data or a custom --fakefile parameter is passed and uses an absolute or relative to current path, then do not check. - if (data->operation == fake_operation_make_e || data->operation == fake_operation_build_e) { - f_console_parameter_t * const parameter = &data->main->parameters.array[ - data->operation == fake_operation_make_e - ? fake_parameter_fakefile_e - : fake_parameter_settings_e - ]; - - if (parameter->result & f_console_result_value_e) { - const f_array_length_t index = parameter->values.array[parameter->values.used - 1]; - - if (f_path_is_absolute(data->main->parameters.arguments.array[index]) == F_true || f_path_is_relative_current(data->main->parameters.arguments.array[index]) == F_true) { - requireds[1] = F_none; // fake_long_data_s - } - else { - status = f_file_exists(data->main->parameters.arguments.array[index], F_true); - - if (F_status_is_error_not(status) && status == F_true) { - requireds[1] = F_none; // fake_long_data_s - } - } - } - } - - for (uint8_t i = 0; i < 6; ++i) { - - if (requireds[i] != F_none && values[i].used) { - memset(&directory_stat, 0, sizeof(struct stat)); - - status = f_file_stat(values[i], F_true, &directory_stat); - - if (status == F_status_set_error(F_file_found_not)) status = F_status_set_error(F_directory_found_not); - - if (F_status_is_error(status)) { - if (F_status_set_fine(status) != F_directory_found_not || requireds[i]) { - fake_print_error_file(data->setting, status, data->main->error, macro_fake_f(f_file_stat), values[i], f_file_operation_access_s, fll_error_file_type_directory_e); - - return status; - } - } - } - else if (requireds[i] == F_true) { - f_file_stream_lock(data->main->error.to); - - fl_print_format("%r%[%QNo valid path for the (required) directory parameter '%]", data->main->error.to, f_string_eol_s, data->main->error.context, data->main->error.prefix, data->main->error.context); - fl_print_format("%[%r%r%]", data->main->error.to, data->main->error.notable, f_console_symbol_long_normal_s, names[i], data->main->error.notable); - fl_print_format("%[' was found.%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s); - - f_file_stream_unlock(data->main->error.to); - - return F_status_set_error(F_directory_found_not); - } - } // for - - return F_none; - } -#endif // _di_fake_validate_parameter_paths_ - -#ifndef _di_fake_verbose_print_clone_ - void fake_verbose_print_clone(const f_file_t output, const f_string_static_t source, const f_string_static_t destination) { - fll_print_format("Cloned '%Q' to '%Q'.%r", output, source, destination, f_string_eol_s); - } -#endif // _di_fake_verbose_print_clone_ - -#ifndef _di_fake_verbose_print_copy_ - void fake_verbose_print_copy(const f_file_t output, const f_string_static_t source, const f_string_static_t destination) { - fll_print_format("Copied '%Q' to '%Q'.%r", output, source, destination, f_string_eol_s); - } -#endif // _di_fake_verbose_print_copy_ - -#ifndef _di_fake_verbose_print_move_ - void fake_verbose_print_move(const f_file_t output, const f_string_static_t source, const f_string_static_t destination) { - fll_print_format("Moved '%Q' to '%Q'.%r", output, source, destination, f_string_eol_s); - } -#endif // _di_fake_verbose_print_move_ - #ifdef __cplusplus } // extern "C" #endif diff --git a/level_3/fake/c/main/private-fake.h b/level_3/fake/c/main/private-fake.h index 2bcb2b0..1a3df65 100644 --- a/level_3/fake/c/main/private-fake.h +++ b/level_3/fake/c/main/private-fake.h @@ -12,138 +12,6 @@ extern "C" { #endif -/** - * Execute the given command and arguments. - * - * Will print the command if in verbose mode. - * - * @param data - * The program data. - * @param environment - * The environment variable data. - * @param program - * The program to be executed. - * @param arguments - * The arguments to be passed to the program. - * @param status - * The return status. - * - * @return - * The return code result from execution. - * A value of 1 is returned if status has the error bit set. - * - * F_interrupt (with error bit) on receiving a terminate process signal, such as an interrupt signal. - */ -#ifndef _di_fake_execute_ - extern int fake_execute(fake_data_t * const data, const f_string_maps_t environment, const f_string_static_t program, const f_string_statics_t arguments, f_status_t * const status) F_attribute_visibility_internal_d; -#endif // _di_fake_execute_ - -/** - * Load the contents of a file into the given buffer, handling all potential errors. - * - * @param data - * The program data. - * @param path_file - * The path to the file to load. - * @param required - * If TRUE, then return error when file is not found. - * If FALSE, then return F_false when file is not found. - * @param buffer - * A buffer containing the contents of the file. - * - * @return - * F_none on success. - * F_false on file not found and file is not required. - * - * F_file_found_not (with error bit) if file is not found and file is required. - * F_interrupt (with error bit) on receiving a terminate process signal, such as an interrupt signal. - * - * Status codes (with error bit) are returned on any problem. - */ -#ifndef _di_fake_file_buffer_ - extern f_status_t fake_file_buffer(fake_data_t * const data, const f_string_static_t path_file, const bool required, f_string_dynamic_t * const buffer) F_attribute_visibility_internal_d; -#endif // _di_fake_file_buffer_ - -/** - * Load the contents of the standard input pipe into the given buffer, handling all potential errors. - * - * @param data - * The program data. - * @param buffer - * A buffer containing the contents of the file. - * - * @return - * F_none on success. - * - * F_interrupt (with error bit) on receiving a terminate process signal, such as an interrupt signal. - * - * Status codes (with error bit) are returned on any problem. - */ -#ifndef _di_fake_pipe_buffer_ - extern f_status_t fake_pipe_buffer(fake_data_t * const data, f_string_dynamic_t * const buffer) F_attribute_visibility_internal_d; -#endif // _di_fake_pipe_buffer_ - -/** - * Validate directories and print any relating error messages. - * - * This should not be called for skeleton as in that case the directories probably do not exist. - * - * @param data - * The program data. - * - * @return - * F_none on success. - * - * F_interrupt (with error bit) on receiving a terminate process signal, such as an interrupt signal. - * - * Status codes (with error bit) are returned on any problem. - */ -#ifndef _di_fake_validate_parameter_paths_ - extern f_status_t fake_validate_parameter_paths(fake_data_t * const data) F_attribute_visibility_internal_d; -#endif // _di_fake_validate_parameter_paths_ - -/** - * Helper function for performing a verbose print for a file clone operation. - * - * @param output - * A file to print to. - * @param source - * The source string. - * @param destination - * The destination string. - */ -#ifndef _di_fake_verbose_print_clone_ - extern void fake_verbose_print_clone(const f_file_t output, const f_string_static_t source, const f_string_static_t destination) F_attribute_visibility_internal_d; -#endif // _di_fake_verbose_print_clone_ - -/** - * Helper function for performing a verbose print for a file copy operation. - * - * @param output - * A file to print to. - * @param source - * The source string. - * @param destination - * The destination string. - */ -#ifndef _di_fake_verbose_print_copy_ - extern void fake_verbose_print_copy(const f_file_t output, const f_string_static_t source, const f_string_static_t destination) F_attribute_visibility_internal_d; -#endif // _di_fake_verbose_print_copy_ - -/** - * Helper function for performing a verbose print for a file move operation. - * - * @param output - * A file to print to. - * @param source - * The source string. - * @param destination - * The destination string. - */ -#ifndef _di_fake_verbose_print_move_ - extern void fake_verbose_print_move(const f_file_t output, const f_string_static_t source, const f_string_static_t destination) F_attribute_visibility_internal_d; -#endif // _di_fake_verbose_print_move_ - #ifdef __cplusplus } // extern "C" #endif diff --git a/level_3/fake/c/main/private-print.c b/level_3/fake/c/main/private-print.c index 24ddf8c..6d4b4ef 100644 --- a/level_3/fake/c/main/private-print.c +++ b/level_3/fake/c/main/private-print.c @@ -6,637 +6,6 @@ extern "C" { #endif -#ifndef _di_fake_print_error_build_operation_file_ - bool fake_print_error_build_operation_file(fake_data_t * const data, const f_status_t status, const f_string_t function, const f_string_static_t operation, const f_string_static_t source, const f_string_static_t destination, const f_string_static_t how, const bool fallback) { - - if (F_status_set_fine(status) == F_file_found_not) { - if (data->main->error.verbosity > f_console_verbosity_quiet_e) { - f_file_stream_lock(data->main->error.to); - - fake_print_line_first_locked(data->setting, data->main->error); - - fl_print_format("%[%QFailed to find '%]", data->main->error.to, data->main->error.context, data->main->error.prefix, data->main->error.context); - - fake_print_error_build_operation_file_message(data, operation, source, destination, how); - - fl_print_format("%['.%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s); - - f_file_stream_unlock(data->main->error.to); - } - - return F_false; - } - - if (F_status_set_fine(status) == F_parameter) { - if (data->main->error.verbosity > f_console_verbosity_quiet_e) { - f_file_stream_lock(data->main->error.to); - - fake_print_line_first_locked(data->setting, data->main->error); - - fl_print_format("%[%QInvalid parameter when calling '%]", data->main->error.to, data->main->error.context, data->main->error.prefix, data->main->error.context); - fl_print_format("%[%Q%]", data->main->error.to, data->main->error.notable, function, data->main->error.notable); - fl_print_format("%[() to %Q '%]", data->main->error.to, data->main->error.context, operation, data->main->error.context); - - fake_print_error_build_operation_file_message(data, operation, source, destination, how); - - fl_print_format("%['.%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s); - - f_file_stream_unlock(data->main->error.to); - } - - return F_false; - } - - if (F_status_set_fine(status) == F_name) { - if (data->main->error.verbosity > f_console_verbosity_quiet_e) { - f_file_stream_lock(data->main->error.to); - - fake_print_line_first_locked(data->setting, data->main->error); - - fl_print_format("%[%QInvalid name for '%]", data->main->error.to, data->main->error.context, data->main->error.prefix, data->main->error.context); - - if (source.used) { - fl_print_format("%[%Q%]", data->main->error.to, data->main->error.notable, source, data->main->error.notable); - } - - if (destination.used) { - fl_print_format("%[' or '%]", data->main->error.to, data->main->error.context, data->main->error.context); - fl_print_format("%[%Q%]", data->main->error.to, data->main->error.notable, destination, data->main->error.notable); - } - - fl_print_format("%['.%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s); - - f_file_stream_unlock(data->main->error.to); - } - - return F_false; - } - - if (F_status_set_fine(status) == F_memory_not) { - if (data->main->error.verbosity > f_console_verbosity_quiet_e) { - f_file_stream_lock(data->main->error.to); - - fake_print_line_first_locked(data->setting, data->main->error); - - fl_print_format("%[%QUnable to allocate memory, while trying to %Q '%]", data->main->error.to, data->main->error.context, data->main->error.prefix, operation, data->main->error.context); - - fake_print_error_build_operation_file_message(data, operation, source, destination, how); - - fl_print_format("%['.%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s); - - f_file_stream_unlock(data->main->error.to); - } - - return F_false; - } - - if (F_status_set_fine(status) == F_number_overflow) { - if (data->main->error.verbosity > f_console_verbosity_quiet_e) { - f_file_stream_lock(data->main->error.to); - - fake_print_line_first_locked(data->setting, data->main->error); - - fl_print_format("%[%QOverflow while trying to %Q '%]", data->main->error.to, data->main->error.context, data->main->error.prefix, operation, data->main->error.context); - - fake_print_error_build_operation_file_message(data, operation, source, destination, how); - - fl_print_format("%['.%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s); - - f_file_stream_unlock(data->main->error.to); - } - - return F_false; - } - - if (F_status_set_fine(status) == F_directory) { - if (data->main->error.verbosity > f_console_verbosity_quiet_e) { - f_file_stream_lock(data->main->error.to); - - fake_print_line_first_locked(data->setting, data->main->error); - - fl_print_format("%[%QInvalid directory while trying to %Q '%]", data->main->error.to, data->main->error.context, data->main->error.prefix, operation, data->main->error.context); - - fake_print_error_build_operation_file_message(data, operation, source, destination, how); - - fl_print_format("%['.%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s); - - f_file_stream_unlock(data->main->error.to); - } - - return F_false; - } - - if (F_status_set_fine(status) == F_access_denied) { - if (data->main->error.verbosity > f_console_verbosity_quiet_e) { - f_file_stream_lock(data->main->error.to); - - fake_print_line_first_locked(data->setting, data->main->error); - - fl_print_format("%[%QAccess denied while trying to %Q '%]", data->main->error.to, data->main->error.context, data->main->error.prefix, operation, data->main->error.context); - - fake_print_error_build_operation_file_message(data, operation, source, destination, how); - - fl_print_format("%['.%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s); - - f_file_stream_unlock(data->main->error.to); - } - - return F_false; - } - - if (F_status_set_fine(status) == F_loop) { - if (data->main->error.verbosity > f_console_verbosity_quiet_e) { - f_file_stream_lock(data->main->error.to); - - fake_print_line_first_locked(data->setting, data->main->error); - - fl_print_format("%[%QLoop while trying to %Q '%]", data->main->error.to, data->main->error.context, data->main->error.prefix, operation, data->main->error.context); - - fake_print_error_build_operation_file_message(data, operation, source, destination, how); - - fl_print_format("%['.%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s); - - f_file_stream_unlock(data->main->error.to); - } - - return F_false; - } - - if (F_status_set_fine(status) == F_prohibited) { - if (data->main->error.verbosity > f_console_verbosity_quiet_e) { - f_file_stream_lock(data->main->error.to); - - fake_print_line_first_locked(data->setting, data->main->error); - - fl_print_format("%[%QProhibited by system while trying to %Q '%]", data->main->error.to, data->main->error.context, data->main->error.prefix, operation, data->main->error.context); - - fake_print_error_build_operation_file_message(data, operation, source, destination, how); - - fl_print_format("%['.%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s); - - f_file_stream_unlock(data->main->error.to); - } - - return F_false; - } - - if (F_status_set_fine(status) == F_directory_found_not) { - if (data->main->error.verbosity > f_console_verbosity_quiet_e) { - f_file_stream_lock(data->main->error.to); - - fake_print_line_first_locked(data->setting, data->main->error); - - fl_print_format("%[%QFailed to %Q '%]", data->main->error.to, data->main->error.context, data->main->error.prefix, operation, data->main->error.context); - - fake_print_error_build_operation_file_message(data, operation, source, destination, how); - - fl_print_format("%[' due to an invalid directory in the path.%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s); - - f_file_stream_unlock(data->main->error.to); - } - - return F_false; - } - - if (F_status_set_fine(status) == F_failure) { - if (data->main->error.verbosity > f_console_verbosity_quiet_e) { - f_file_stream_lock(data->main->error.to); - - fake_print_line_first_locked(data->setting, data->main->error); - - fl_print_format("%[%QFailed to %Q '%]", data->main->error.to, data->main->error.context, data->main->error.prefix, operation, data->main->error.context); - - fake_print_error_build_operation_file_message(data, operation, source, destination, how); - - fl_print_format("%['.%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s); - - f_file_stream_unlock(data->main->error.to); - } - - return F_false; - } - - if (fll_error_print(data->main->error, F_status_set_fine(status), function, F_false) == F_known_not && fallback && data->main->error.verbosity > f_console_verbosity_quiet_e) { - f_file_stream_lock(data->main->error.to); - - fake_print_line_first_locked(data->setting, data->main->error); - - fl_print_format("%[UNKNOWN %Q(%]", data->main->error.to, data->main->error.context, data->main->error.prefix, data->main->error.context); - fl_print_format("%[%ui%]", data->main->error.to, data->main->error.notable, F_status_set_fine(status), data->main->error.notable); - fl_print_format("%[) occurred while trying to %Q '%]", data->main->error.to, data->main->error.context, operation, data->main->error.context); - - fake_print_error_build_operation_file_message(data, operation, source, destination, how); - - fl_print_format("%['.%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s); - - f_file_stream_unlock(data->main->error.to); - } - - return F_true; - } -#endif // _di_fake_print_error_build_operation_file_ - -#ifndef _di_fake_print_error_build_operation_file_message_ - void fake_print_error_build_operation_file_message(fake_data_t * const data, const f_string_static_t operation, const f_string_static_t source, const f_string_static_t destination, const f_string_static_t how) { - - if (source.used) { - fl_print_format("%[%Q%]", data->main->error.to, data->main->error.notable, source, data->main->error.notable); - } - - fl_print_format("%[while trying to %Q '%]", data->main->error.to, data->main->error.context, operation, data->main->error.context); - - if (destination.used) { - fl_print_format("%[' %Q '%]", data->main->error.to, data->main->error.context, how, data->main->error.context); - fl_print_format("%[%Q%]", data->main->error.to, data->main->error.notable, destination, data->main->error.notable); - } - else if (source.used) { - fl_print_format("%[%Q%]", data->main->error.to, data->main->error.notable, source, data->main->error.notable); - } - } -#endif // _di_fake_print_error_build_operation_file_message_ - -#ifndef _di_fake_print_error_fss - bool fake_print_error_fss(fake_data_t * const data, const f_status_t status, const f_string_t function, const f_string_static_t path_file, const f_string_range_t range, const bool fallback) { - - if (status == F_file_found_not) { - if (data->main->error.verbosity > f_console_verbosity_quiet_e) { - f_file_stream_lock(data->main->error.to); - - fl_print_format("%r%[%QOccurred on invalid UTF-8 character at stop position (at '%]", data->main->error.to, f_string_eol_s, data->main->error.context, data->main->error.prefix, data->main->error.context); - fl_print_format("%[%un%]", data->main->error.to, data->main->error.notable, range.start, data->main->error.notable); - fl_print_format("%[ of setting file '%]", data->main->error.to, data->main->error.context, data->main->error.context); - fl_print_format("%[%Q%]", data->main->error.to, data->main->error.notable, path_file, data->main->error.notable); - fl_print_format("%[').%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s); - - f_file_stream_unlock(data->main->error.to); - } - - return F_false; - } - - if (status == F_complete_not_utf || status == F_complete_not_utf_eos || status == F_complete_not_utf_stop) { - if (data->main->error.verbosity > f_console_verbosity_quiet_e) { - f_file_stream_lock(data->main->error.to); - - fl_print_format("%r%[%QOccurred on invalid UTF-8 character at %s (at '%]", data->main->error.to, f_string_eol_s, data->main->error.context, data->main->error.prefix, status == F_complete_not_utf_eos ? "end of string" : "stop point of string", data->main->error.context); - fl_print_format("%[%un%]", data->main->error.to, data->main->error.notable, range.start, data->main->error.notable); - fl_print_format("%[ of setting file '%]", data->main->error.to, data->main->error.context, data->main->error.context); - fl_print_format("%[%Q%]", data->main->error.to, data->main->error.notable, path_file, data->main->error.notable); - fl_print_format("%[').%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s); - - f_file_stream_unlock(data->main->error.to); - } - - return F_false; - } - - if (status == F_complete_not_utf_stop) { - if (data->main->error.verbosity > f_console_verbosity_quiet_e) { - f_file_stream_lock(data->main->error.to); - - fl_print_format("%r%[%QOccurred on invalid UTF-8 character at stop point of string (at '%]", data->main->error.to, f_string_eol_s, data->main->error.context, data->main->error.prefix, data->main->error.context); - fl_print_format("%[%un%]", data->main->error.to, data->main->error.notable, range.start, data->main->error.notable); - fl_print_format("%[ of setting file '%]", data->main->error.to, data->main->error.context, data->main->error.context); - fl_print_format("%[%Q%]", data->main->error.to, data->main->error.notable, path_file, data->main->error.notable); - fl_print_format("%[').%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s); - - f_file_stream_unlock(data->main->error.to); - } - - return F_false; - } - - if (fll_error_print(data->main->error, status, function, F_false) == F_known_not && fallback && data->main->error.verbosity > f_console_verbosity_quiet_e) { - f_file_stream_lock(data->main->error.to); - - fl_print_format("%r%[UNKNOWN %Q(%]", data->main->error.to, f_string_eol_s, data->main->error.context, data->main->error.prefix, data->main->error.context); - fl_print_format("%[%ui%]", data->main->error.to, data->main->error.notable, status, data->main->error.notable); - fl_print_format("%[) in function '%]", data->main->error.to, data->main->error.context, data->main->error.context); - fl_print_format("%[%Q%]", data->main->error.to, data->main->error.notable, function, data->main->error.notable); - fl_print_format("%[().%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s); - - f_file_stream_unlock(data->main->error.to); - } - - return F_true; - } -#endif // _di_fake_print_error_fss - -#ifndef _di_fake_print_error_parameter_missing_value_ - void fake_print_error_parameter_missing_value(fake_data_t * const data, const f_string_static_t parameter) { - - if (data->main->error.verbosity == f_console_verbosity_quiet_e) return; - - f_file_stream_lock(data->main->error.to); - - fl_print_format("%r%[%QThe parameter '%]", data->main->error.to, f_string_eol_s, data->main->error.context, data->main->error.prefix, data->main->error.context); - fl_print_format("%[%r%r%]", data->main->error.to, data->main->error.notable, f_console_symbol_long_normal_s, parameter, data->main->error.notable); - fl_print_format("%[' is specified, but no value is given.%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s); - - f_file_stream_unlock(data->main->error.to); - } -#endif // _di_fake_print_error_parameter_missing_value_ - -#ifndef _di_fake_print_error_parameter_too_many_ - void fake_print_error_parameter_too_many(fake_data_t * const data, const f_string_static_t parameter) { - - if (data->main->error.verbosity == f_console_verbosity_quiet_e) return; - - f_file_stream_lock(data->main->error.to); - - fl_print_format("%r%[%QThe parameter '%]", data->main->error.to, f_string_eol_s, data->main->error.context, data->main->error.prefix, data->main->error.context); - fl_print_format("%[%r%r%]", data->main->error.to, data->main->error.notable, f_console_symbol_long_normal_s, parameter, data->main->error.notable); - fl_print_format("%[' was specified too many times.%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s); - - f_file_stream_unlock(data->main->error.to); - } -#endif // _di_fake_print_error_parameter_too_many_ - -#ifndef _di_fake_print_error_requires_more_arguments_ - void fake_print_error_requires_more_arguments(fake_make_data_t * const data_make) { - - if (data_make->error.verbosity == f_console_verbosity_quiet_e) return; - if (!data_make->main->error.to.stream) return; - - fll_print_format("%r%[%QRequires more arguments.%]%r", data_make->main->error.to, f_string_eol_s, data_make->error.context, data_make->error.prefix, data_make->error.context, f_string_eol_s); - } -#endif // _di_fake_print_error_requires_more_arguments_ - -#ifndef _di_fake_print_error_too_many_arguments_ - void fake_print_error_too_many_arguments(fake_make_data_t * const data_make) { - - if (data_make->error.verbosity == f_console_verbosity_quiet_e) return; - if (!data_make->main->error.to.stream) return; - - fll_print_format("%r%[%QHas too many arguments.%]%r", data_make->main->error.to, f_string_eol_s, data_make->error.context, data_make->error.prefix, data_make->error.context, f_string_eol_s); - } -#endif // _di_fake_print_error_too_many_arguments_ - -#ifndef _di_fake_print_error_argument_empty_ - void fake_print_error_argument_empty(fake_make_data_t * const data_make, const f_array_length_t index) { - - if (data_make->error.verbosity == f_console_verbosity_quiet_e) return; - if (!data_make->main->error.to.stream) return; - - f_file_stream_lock(data_make->main->error.to); - - fl_print_format("%r%[%QThe %]", data_make->main->error.to, f_string_eol_s, data_make->error.context, data_make->error.prefix, data_make->error.context); - fl_print_format("%[%un%]", data_make->main->error.to, data_make->error.notable, index, data_make->error.notable); - fl_print_format("%[ argument must not be an empty string.%]%r", data_make->main->error.to, data_make->error.context, data_make->error.context, f_string_eol_s); - - f_file_stream_unlock(data_make->main->error.to); - } -#endif // _di_fake_print_error_argument_empty_ - -#ifndef _di_fake_print_message_section_operation_failed_ - void fake_print_message_section_operation_failed(fake_data_t * const data, const fl_print_t print, const f_string_static_t buffer, const f_string_range_t section_name, const f_string_range_t operation_name) { - - if (print.verbosity == f_console_verbosity_quiet_e || !print.to.stream) return; - - f_array_length_t line = 1; - f_state_t state = f_state_t_initialize; - - f_fss_count_lines(state, buffer, operation_name.start, &line); - - f_file_stream_lock(print.to); - - fl_print_format("%r%[%QThe section operation '%]", print.to, f_string_eol_s, print.context, print.prefix, print.context); - fl_print_format("%[%/Q%]", print.to, print.notable, buffer, operation_name, print.notable); - fl_print_format("%[' from section '%]", print.to, print.context, print.context); - fl_print_format("%[%/Q%]", print.to, print.notable, buffer, section_name, print.notable); - fl_print_format("%[' on line%] ", print.to, print.context, print.context); - fl_print_format("%[%un%]", print.to, print.notable, line, print.notable); - fl_print_format(" %[failed.%]%r", print.to, print.context, print.context, f_string_eol_s); - - f_file_stream_unlock(print.to); - } -#endif // _di_fake_print_message_section_operation_failed_ - -#ifndef _di_fake_print_message_section_operation_link_argument_unknown_ - void fake_print_message_section_operation_link_argument_unknown(fake_data_t * const data, const fl_print_t print, const f_string_static_t argument) { - - if (print.verbosity == f_console_verbosity_quiet_e || !print.to.stream) return; - - f_file_stream_lock(print.to); - - fl_print_format("%r%[%QThe argument '%]", print.to, f_string_eol_s, print.context, print.prefix, print.context); - fl_print_format("%[%Q%]", print.to, print.notable, argument, print.notable); - fl_print_format("%[' is not not valid and may only be one of either '%]", print.to, print.context, print.context); - fl_print_format("%[%r%]", print.to, print.notable, fake_make_operation_argument_force_s, print.notable); - fl_print_format("%[' or '%]", print.to, print.context, print.context); - fl_print_format("%[%r%]", print.to, print.notable, fake_make_operation_argument_strict_s, print.notable); - fl_print_format("%['.%]%r", print.to, print.context, print.context, f_string_eol_s); - - f_file_stream_unlock(print.to); - - } -#endif // _di_fake_print_message_section_operation_link_argument_unknown_ - -#ifndef _di_fake_print_message_section_operation_link_point_exists_ - void fake_print_message_section_operation_link_point_exists(fake_data_t * const data, const fl_print_t print, const f_string_static_t argument) { - - if (print.verbosity == f_console_verbosity_quiet_e || !print.to.stream) return; - - f_file_stream_lock(print.to); - - fl_print_format("%r%[%QThe point file '%]", print.to, f_string_eol_s, print.context, print.prefix, print.context); - fl_print_format("%[%Q%]", print.to, print.notable, argument, print.notable); - fl_print_format("%[' already exists.%]%r", print.to, print.context, print.context, f_string_eol_s); - - f_file_stream_unlock(print.to); - - } -#endif // _di_fake_print_message_section_operation_link_point_exists_ - -#ifndef _di_fake_print_message_section_operation_link_target_exists_not_ - void fake_print_message_section_operation_link_target_exists_not(fake_data_t * const data, const fl_print_t print, const f_string_static_t argument) { - - if (print.verbosity == f_console_verbosity_quiet_e || !print.to.stream) return; - - f_file_stream_lock(print.to); - - fl_print_format("%r%[%QThe target file '%]", print.to, f_string_eol_s, print.context, print.prefix, print.context); - fl_print_format("%[%Q%]", print.to, print.notable, argument, print.notable); - fl_print_format("%[' does not exist.%]%r", print.to, print.context, print.context, f_string_eol_s); - - f_file_stream_unlock(print.to); - - } -#endif // _di_fake_print_message_section_operation_link_target_exists_not_ - -#ifndef _di_fake_print_message_section_operation_path_outside_ - void fake_print_message_section_operation_path_outside(fake_data_t * const data, const fl_print_t print, const f_status_t status, const f_string_t function, const f_string_static_t path) { - - if (print.verbosity == f_console_verbosity_quiet_e || !print.to.stream) return; - - f_file_stream_lock(print.to); - - if (F_status_set_fine(status) == F_false) { - fake_print_line_first_locked(data->setting, data->main->error); - - fl_print_format("%[%QThe path '%]", print.to, print.context, print.prefix, print.context); - fl_print_format("%[%Q%]", print.to, print.notable, path, print.notable); - fl_print_format("%[' is outside the project root.%]%r", print.to, print.context, print.context, f_string_eol_s); - } - else { - fake_print_error_file(data->setting, status, print, function, path, fake_common_file_path_determine_real_s, fll_error_file_type_file_e); - } - - f_file_stream_unlock(print.to); - } -#endif // _di_fake_print_message_section_operation_path_outside_ - -#ifndef _di_fake_print_message_section_operation_path_stack_max_ - void fake_print_message_section_operation_path_stack_max(fake_data_t * const data, fl_print_t print, const f_status_t status, const f_string_t function, const f_string_static_t path) { - - if (print.verbosity == f_console_verbosity_quiet_e || !print.to.stream) return; - - if (status == F_array_too_large) { - f_file_stream_lock(print.to); - - fl_print_format("%r%[%QMaximum stack size reached while processing path '%]", print.to, f_string_eol_s, print.context, print.prefix, print.context); - fl_print_format("%[%Q%]", print.to, print.notable, path, print.notable); - fl_print_format("%['", print.to, print.context); - - if (function) { - fl_print_format(" while calling%] %[%S%]", print.to, print.context, print.notable, function, print.notable); - fl_print_format("%[()", print.to, print.context); - } - - fl_print_format(".%]%r", print.to, print.context, f_string_eol_s); - - f_file_stream_unlock(print.to); - } - else { - fake_print_error_file(data->setting, status, print, function, path, fake_common_file_path_change_to_s, fll_error_file_type_directory_e); - } - } -#endif // _di_fake_print_message_section_operation_path_stack_max_ - -#ifndef _di_fake_print_message_section_operation_stack_max_ - void fake_print_message_section_operation_stack_max(fake_data_t * const data, fl_print_t print, const f_string_static_t buffer, const f_string_range_t section_name, const f_string_range_t operation_name, const f_array_length_t stack_max) { - - if (print.verbosity == f_console_verbosity_quiet_e || !print.to.stream) return; - - f_array_length_t line = 1; - f_state_t state = f_state_t_initialize; - - f_fss_count_lines(state, buffer, operation_name.start, &line); - - f_file_stream_lock(print.to); - - fl_print_format("%r%[%QThe section operation '%]", print.to, f_string_eol_s, print.context, print.prefix, print.context); - fl_print_format("%[%/Q%]", print.to, print.notable, buffer, operation_name, print.notable); - fl_print_format("%[' from section '%]", print.to, print.context, buffer, print.context); - fl_print_format("%[%/Q%]", print.to, print.notable, buffer, section_name, print.notable); - fl_print_format("%[' on line%] ", print.to, print.context, print.context); - fl_print_format("%[%ul%]", print.to, print.notable, line, print.notable); - fl_print_format("%[' cannot be processed because the max stack depth of%] ", print.to, print.context, print.context); - fl_print_format("%[%ul%]", print.to, print.notable, stack_max, print.notable); - fl_print_format(" %[has been reached.%]%r", print.to, print.context, print.context, f_string_eol_s); - - f_file_stream_unlock(print.to); - } -#endif // _di_fake_print_message_section_operation_stack_max_ - -#ifndef _di_fake_print_message_section_operation_unknown_ - void fake_print_message_section_operation_unknown(fake_data_t * const data, const fl_print_t print, const f_string_static_t buffer, const f_string_range_t section_name, const f_string_range_t operation_name) { - - if (print.verbosity == f_console_verbosity_quiet_e || !print.to.stream) return; - - f_array_length_t line = 1; - f_state_t state = f_state_t_initialize; - - f_fss_count_lines(state, buffer, operation_name.start, &line); - - f_file_stream_lock(print.to); - - fl_print_format("%r%[%QThe section operation '%]", print.to, f_string_eol_s, print.context, print.prefix, print.context); - fl_print_format("%[%/Q%]", print.to, print.notable, buffer, operation_name, print.notable); - fl_print_format("%[' from section '%]", print.to, print.context, buffer, print.context); - fl_print_format("%[%/Q%]", print.to, print.notable, buffer, section_name, print.notable); - fl_print_format("%[' on line%] ", print.to, print.context, print.context); - fl_print_format("%[%ul%]", print.to, print.notable, line, print.notable); - fl_print_format(" %[is not a known operation name.%]%r", print.to, print.context, print.context, f_string_eol_s); - - f_file_stream_unlock(print.to); - } -#endif // _di_fake_print_message_section_operation_unknown_ - -#ifndef _di_fake_print_warning_settings_content_empty_ - void fake_print_warning_settings_content_empty(fake_data_t * const data, const f_string_static_t path_file, const f_string_dynamic_t buffer, const f_string_range_t range_object, const f_string_static_t settings_name) { - - if (data->main->warning.verbosity == f_console_verbosity_quiet_e) return; - - f_file_stream_lock(data->main->warning.to); - - fl_print_format("%r%[%QThe fakefile '%]", data->main->warning.to, f_string_eol_s, data->main->warning.context, data->main->warning.prefix, data->main->warning.context); - fl_print_format("%[%Q%]", data->main->warning.to, data->main->warning.notable, path_file, data->main->warning.notable); - fl_print_format("%[' has empty content for the '%]", data->main->warning.to, data->main->warning.context, data->main->warning.context); - fl_print_format("%[%r%]", data->main->warning.to, data->main->warning.notable, settings_name, data->main->warning.notable); - fl_print_format("%[' object '%]", data->main->warning.to, data->main->warning.context, data->main->warning.context); - fl_print_format("%[%/Q%]", data->main->warning.to, data->main->warning.notable, buffer, range_object, data->main->warning.notable); - fl_print_format("%['.%]%r", data->main->warning.to, data->main->warning.context, data->main->warning.context, f_string_eol_s); - - f_file_stream_unlock(data->main->warning.to); - } -#endif // _di_fake_print_warning_settings_content_empty_ - -#ifndef _di_fake_print_warning_settings_content_invalid_ - void fake_print_warning_settings_content_invalid(fake_data_t * const data, const f_string_static_t path_file, const f_string_dynamic_t buffer, const f_string_range_t range_object, const f_string_range_t range_content, const f_string_static_t settings_name) { - - if (data->main->warning.verbosity == f_console_verbosity_quiet_e) return; - - f_file_stream_lock(data->main->warning.to); - - fl_print_format("%r%[%QThe fakefile '%]", data->main->warning.to, f_string_eol_s, data->main->warning.context, data->main->warning.prefix, data->main->warning.context); - fl_print_format("%[%Q%]", data->main->warning.to, data->main->warning.notable, path_file, data->main->warning.notable); - fl_print_format("%[' has invalid content '%]", data->main->warning.to, data->main->warning.context, data->main->warning.context); - fl_print_format("%[%/Q%]", data->main->warning.to, data->main->warning.notable, buffer, range_content, data->main->warning.notable); - fl_print_format("%[' for the '%]", data->main->warning.to, data->main->warning.context, data->main->warning.context); - fl_print_format("%[%r%]", data->main->warning.to, data->main->warning.notable, settings_name, data->main->warning.notable); - fl_print_format("%[' object '%]", data->main->warning.to, data->main->warning.context, data->main->warning.context); - fl_print_format("%[%/Q%]", data->main->warning.to, data->main->warning.notable, buffer, range_object, data->main->warning.notable); - fl_print_format("%['.%]%r", data->main->warning.to, data->main->warning.context, data->main->warning.context, f_string_eol_s); - - f_file_stream_unlock(data->main->warning.to); - } -#endif // _di_fake_print_warning_settings_content_invalid_ - -#ifndef _di_fake_print_warning_settings_content_multiple_ - void fake_print_warning_settings_content_multiple(fake_data_t * const data, const f_string_static_t path_file, const f_string_static_t name_object) { - - if (data->main->warning.verbosity == f_console_verbosity_quiet_e) return; - - f_file_stream_lock(data->main->warning.to); - - fl_print_format("%r%[%QThe fakefile '%]", data->main->warning.to, f_string_eol_s, data->main->warning.context, data->main->warning.prefix, data->main->warning.context); - fl_print_format("%[%r%]", data->main->warning.to, data->main->warning.notable, name_object, data->main->warning.notable); - fl_print_format("%[' in the file '%]", data->main->warning.to, data->main->warning.context, data->main->warning.context); - fl_print_format("%[%Q%]", data->main->warning.to, data->main->warning.notable, path_file, data->main->warning.notable); - fl_print_format("%[' may only have a single property, only using the first.%]%r", data->main->warning.to, data->main->warning.context, data->main->warning.context, f_string_eol_s); - - f_file_stream_unlock(data->main->warning.to); - } -#endif // _di_fake_print_warning_settings_content_multiple_ - -#ifndef _di_fake_print_warning_settings_object_multiple_ - void fake_print_warning_settings_object_multiple(fake_data_t * const data, const f_string_static_t path_file, const f_string_static_t label, const f_string_static_t name_object) { - - if (data->main->warning.verbosity == f_console_verbosity_quiet_e) return; - - f_file_stream_lock(data->main->warning.to); - - fl_print_format("%r%[%QThe object '%]", data->main->warning.to, f_string_eol_s, data->main->warning.context, data->main->warning.prefix, data->main->warning.context); - fl_print_format("%[%r%]", data->main->warning.to, data->main->warning.notable, name_object, data->main->warning.notable); - fl_print_format("%[' in the file '%]", data->main->warning.to, data->main->warning.context, data->main->warning.context); - fl_print_format("%[%Q%]", data->main->warning.to, data->main->warning.notable, path_file, data->main->warning.notable); - fl_print_format("%[' may only be specified once, only using the first.%]%r", data->main->warning.to, data->main->warning.context, data->main->warning.context, f_string_eol_s); - - f_file_stream_unlock(data->main->warning.to); - } -#endif // _di_fake_print_warning_settings_object_multiple_ - #ifdef __cplusplus } // extern "C" #endif diff --git a/level_3/fake/c/main/private-print.h b/level_3/fake/c/main/private-print.h index 5e74abf..ac39d78 100644 --- a/level_3/fake/c/main/private-print.h +++ b/level_3/fake/c/main/private-print.h @@ -12,422 +12,6 @@ extern "C" { #endif -/** - * Print build operation file error messages. - * - * @param data - * The program data. - * @param status - * The status to use. - * This is provided, ignoring data.setting->status, for thread-safety reasons. - * @param function - * The name of the function where the error happened. - * @param operation - * The operation performed. - * @param source - * The operation source. - * @param destination - * The operation destination, if applicable. - * Set destination.used to 0 to disable. - * @param how - * The how the operation is perform, such as "to" in "copy" source "to" destination. - * @param fallback - * Set to F_true to print the fallback error message for unknown errors. - * - * @return - * F_true is returned if the status code has no print message. - * F_false is returned on successful print of known errors. - * - * @see f_file_stream_lock() - * @see f_file_stream_unlock() - * @see fl_print_format() - * - * @see fake_print_error_build_operation_file_message(); - */ -#ifndef _di_fake_print_error_operation_file_ - extern bool fake_print_error_build_operation_file(fake_data_t * const data, const f_status_t status, const f_string_t function, const f_string_static_t operation, const f_string_static_t source, const f_string_static_t destination, const f_string_static_t how, const bool fallback) F_attribute_visibility_internal_d; -#endif // _di_fake_print_error_operation_file_ - -/** - * Helper function for printing build operation file error messages. - * - * This prints the "copy source to destination" part of the message. - * - * @param data - * The program data. - * @param operation - * The operation performed. - * @param source - * The operation source. - * @param destination - * The operation destination, if applicable. - * Set destination.used to 0 to disable. - * @param how - * The how the operation is perform, such as "to" in "copy" source "to" destination. - * - * @see fl_print_format() - * - * @see fake_print_error_build_operation_file() - */ -#ifndef _di_fake_print_error_build_operation_file_message_ - extern void fake_print_error_build_operation_file_message(fake_data_t * const data, const f_string_static_t operation, const f_string_static_t source, const f_string_static_t destination, const f_string_static_t how) F_attribute_visibility_internal_d; -#endif // _di_fake_print_error_build_operation_file_message_ - -/** - * Print FSS error messages. - * - * @param data - * The program data. - * @param status - * The error status code to report on. - * @param function - * The function call that returned the error. - * @param path_file - * The path to the file. - * @param range - * The range representing the position in the buffer such that range.start is where the error happened. - * @param fallback - * Set to F_true to print the fallback error message for unknown errors. - * - * @return - * F_true is returned if the status code has no print message. - * F_false is returned on successful print of known errors. - * - * @see f_file_stream_lock() - * @see f_file_stream_unlock() - * @see fl_print_format() - */ -#ifndef _di_fake_print_error_fss_ - extern bool fake_print_error_fss(fake_data_t * const data, const f_status_t status, const f_string_t function, const f_string_static_t path_file, const f_string_range_t range, const bool fallback) F_attribute_visibility_internal_d; -#endif // _di_fake_print_error_fss_ - -/** - * Print an error message for when the parameter is missing its accompanying value. - * - * @param data - * The program data. - * @param parameter - * The parameter name. - * - * @see f_file_stream_lock() - * @see f_file_stream_unlock() - * @see fl_print_format() - */ -#ifndef _di_fake_print_error_parameter_missing_value_ - extern void fake_print_error_parameter_missing_value(fake_data_t * const data, const f_string_static_t parameter) F_attribute_visibility_internal_d; -#endif // _di_fake_print_error_parameter_missing_value_ - -/** - * Print an error message for when the parameter is specified too many times. - * - * @param data - * The program data. - * @param parameter - * The parameter name. - * - * @see f_file_stream_lock() - * @see f_file_stream_unlock() - * @see fl_print_format() - */ -#ifndef _di_fake_print_error_parameter_too_many_ - extern void fake_print_error_parameter_too_many(fake_data_t * const data, const f_string_static_t parameter) F_attribute_visibility_internal_d; -#endif // _di_fake_print_error_parameter_too_many_ - -/** - * Print an error message for when there are more arguments are required (such as to a fakefile operation). - * - * @param data_make - * All make related setting data, including data from the fakefile and the build settings file. - * - * @see fll_print_format() - */ -#ifndef _di_fake_print_error_requires_more_arguments_ - extern void fake_print_error_requires_more_arguments(fake_make_data_t * const data_make) F_attribute_visibility_internal_d; -#endif // _di_fake_print_error_requires_more_arguments_ - -/** - * Print an error message for when there are too many arguments passed (such as to a fakefile operation). - * - * @param data_make - * All make related setting data, including data from the fakefile and the build settings file. - * - * @see fll_print_format() - */ -#ifndef _di_fake_print_error_too_many_arguments_ - extern void fake_print_error_too_many_arguments(fake_make_data_t * const data_make) F_attribute_visibility_internal_d; -#endif // _di_fake_print_error_too_many_arguments_ - -/** - * Print an error message for when an argument is an empty string. - * - * @param data_make - * All make related setting data, including data from the fakefile and the build settings file. - * @param index - * The index of the argument that is an empty string. - * - * @see fll_print_format() - */ -#ifndef _di_fake_print_error_argument_empty_ - extern void fake_print_error_argument_empty(fake_make_data_t * const data_make, const f_array_length_t index) F_attribute_visibility_internal_d; -#endif // _di_fake_print_error_argument_empty_ - -/** - * Print error messages when processing some fakefile section, for a specific line and operation, and that operation failed. - * - * @param data - * The program data. - * @param print - * Designates how the section error/warning should be printed. - * @param buffer - * The buffer containing the fakefile data. - * @param section_name - * The range within the buffer representing the section name. - * @param operation_name - * The range within the buffer representing the operation name within the section. - * - * @see f_file_stream_lock() - * @see f_file_stream_unlock() - * @see fl_print_format() - */ -#ifndef _di_fake_print_message_section_operation_failed_ - extern void fake_print_message_section_operation_failed(fake_data_t * const data, const fl_print_t print, const f_string_static_t buffer, const f_string_range_t section_name, const f_string_range_t operation_name) F_attribute_visibility_internal_d; -#endif // _di_fake_print_message_section_operation_failed_ - -/** - * Print error messages when a given link argument is unknown. - * - * @param data - * The program data. - * @param print - * Designates how the section error/warning should be printed. - * @param argument - * The argument that is unknown by the link operation. - * - * @see f_file_stream_lock() - * @see f_file_stream_unlock() - * @see fl_print_format() - */ -#ifndef _di_fake_print_message_section_operation_link_argument_unknown_ - extern void fake_print_message_section_operation_link_argument_unknown(fake_data_t * const data, const fl_print_t print, const f_string_static_t argument) F_attribute_visibility_internal_d; -#endif // _di_fake_print_message_section_operation_link_argument_unknown_ - -/** - * Print error messages when a given link point file already exists. - * - * @param data - * The program data. - * @param print - * Designates how the section error/warning should be printed. - * @param argument - * The argument representing the point file. - * - * @see f_file_stream_lock() - * @see f_file_stream_unlock() - * @see fl_print_format() - */ -#ifndef _di_fake_print_message_section_operation_link_point_exists_ - extern void fake_print_message_section_operation_link_point_exists(fake_data_t * const data, const fl_print_t print, const f_string_static_t argument) F_attribute_visibility_internal_d; -#endif // _di_fake_print_message_section_operation_link_point_exists_ - -/** - * Print error messages when a given link target file does not already exist. - * - * @param data - * The program data. - * @param print - * Designates how the section error/warning should be printed. - * @param argument - * The argument representing the point file. - * - * @see f_file_stream_lock() - * @see f_file_stream_unlock() - * @see fl_print_format() - */ -#ifndef _di_fake_print_message_section_operation_link_target_exists_not_ - extern void fake_print_message_section_operation_link_target_exists_not(fake_data_t * const data, const fl_print_t print, const f_string_static_t argument) F_attribute_visibility_internal_d; -#endif // _di_fake_print_message_section_operation_link_target_exists_not_ - -/** - * Print error messages when processing some fakefile section, for a specific line and operation, and that operation has a path outside of the project root. - * - * @param data - * The program data. - * @param print - * Designates how the section error/warning should be printed. - * @param status - * The status code representing an error. - * @param function - * The name of the function where the error happened. - * @param path - * The path that is outside of the project path. - * - * @see f_file_stream_lock() - * @see f_file_stream_unlock() - * @see fl_print_format() - * @see fll_error_file_print() - */ -#ifndef _di_fake_print_message_section_operation_path_outside_ - extern void fake_print_message_section_operation_path_outside(fake_data_t * const data, const fl_print_t print, const f_status_t status, const f_string_t function, const f_string_static_t path) F_attribute_visibility_internal_d; -#endif // _fake_print_message_section_operation_path_outside_ - -/** - * Print error messages when processing some fakefile section, for a specific line and operation. - * - * @param data - * The program data. - * @param error - * Designates how the section error/warning should be printed. - * @param status - * The status code representing an error. - * @param function - * The name of the function where the error happened. - * Set to 0 to disable. - * @param path - * The path to the directory. - * - * @see f_file_stream_lock() - * @see f_file_stream_unlock() - * @see fl_print_format() - * @see fll_error_file_print() - */ -#ifndef _di_fake_print_message_section_operation_path_stack_max_ - extern void fake_print_message_section_operation_path_stack_max(fake_data_t * const data, fl_print_t error, const f_status_t status, const f_string_t function, const f_string_static_t path) F_attribute_visibility_internal_d; -#endif // _di_fake_print_message_section_operation_path_stack_max_ - -/** - * Print error messages when processing some fakefile section, for a specific line and operation, and that the max stack depth is reached. - * - * @param data - * The program data. - * @param print - * Designates how the section error/warning should be printed. - * @param buffer - * The buffer containing the fakefile data. - * @param section_name - * The range within the buffer representing the section name. - * @param operation_name - * The range within the buffer representing the operation name within the section. - * @param stack_max - * The max stack depth. - * - * @see f_file_stream_lock() - * @see f_file_stream_unlock() - * @see fl_print_format() - */ -#ifndef _di_fake_print_message_section_operation_stack_max_ - extern void fake_print_message_section_operation_stack_max(fake_data_t * const data, const fl_print_t print, const f_string_static_t buffer, const f_string_range_t section_name, const f_string_range_t operation_name, const f_array_length_t stack_max) F_attribute_visibility_internal_d; -#endif // _di_fake_print_message_section_operation_stack_max_ - -/** - * Print error messages when processing some fakefile section, for a specific line and operation, and that operation is invalid. - * - * @param data - * The program data. - * @param print - * Designates how the section error/warning should be printed. - * @param buffer - * The buffer containing the fakefile data. - * @param section_name - * The range within the buffer representing the section name. - * @param operation_name - * The range within the buffer representing the operation name within the section. - * - * @see f_file_stream_lock() - * @see f_file_stream_unlock() - * @see fl_print_format() - */ -#ifndef _di_fake_print_message_section_operation_unknown_ - extern void fake_print_message_section_operation_unknown(fake_data_t * const data, const fl_print_t print, const f_string_static_t buffer, const f_string_range_t section_name, const f_string_range_t operation_name) F_attribute_visibility_internal_d; -#endif // _di_fake_print_message_section_operation_unknown_ - -/** - * Print message when fake settings content is empty. - * - * @param data - * The program data. - * @param path_file - * The path to the fakefile. - * @param buffer - * The buffer containing the loaded file content. - * @param range_object - * The range within the buffer representing the object. - * @param settings_name - * The name of the setting that has an invalid value. - * - * @see f_file_stream_lock() - * @see f_file_stream_unlock() - * @see fl_print_format() - */ -#ifndef _di_fake_print_warning_settings_content_empty_ - extern void fake_print_warning_settings_content_empty(fake_data_t * const data, const f_string_static_t path_file, const f_string_dynamic_t buffer, const f_string_range_t range_object, const f_string_static_t settings_name) F_attribute_visibility_internal_d; -#endif // _di_fake_print_warning_settings_content_empty_ - -/** - * Print warning message when fake settings content is invalid. - * - * @param data - * The program data. - * @param path_file - * The path to the fakefile. - * @param buffer - * The buffer containing the loaded file content. - * @param range_object - * The range within the buffer representing the object. - * @param range_content - * The range within the buffer representing the content. - * @param settings_name - * The name of the setting that has an invalid value. - * - * @see f_file_stream_lock() - * @see f_file_stream_unlock() - * @see fl_print_format() - */ -#ifndef _di_fake_print_warning_settings_content_invalid_ - extern void fake_print_warning_settings_content_invalid(fake_data_t * const data, const f_string_static_t path_file, const f_string_dynamic_t buffer, const f_string_range_t range_object, const f_string_range_t range_content, const f_string_static_t settings_name) F_attribute_visibility_internal_d; -#endif // _di_fake_print_warning_settings_content_invalid_ - -/** - * Print warning message when settings content has too many values. - * - * @param data - * The program data. - * @param path_file - * The path to the fakefile. - * @param buffer - * The buffer containing the loaded file content. - * @param name_object - * The name of the object. - * - * @see f_file_stream_lock() - * @see f_file_stream_unlock() - * @see fl_print_format() - */ -#ifndef _di_fake_print_warning_settings_content_multiple_ - extern void fake_print_warning_settings_content_multiple(fake_data_t * const data, const f_string_static_t path_file, const f_string_static_t name_object) F_attribute_visibility_internal_d; -#endif // _di_fake_print_warning_settings_content_multiple_ - -/** - * Print warning message when fakefile has too many objects with the same name. - * - * @param data - * The program data. - * @param path_file - * The path to the fakefile. - * @param buffer - * The buffer containing the loaded file content. - * @param label - * A label describing what this object belongs to. - * @param name_object - * The name of the object. - * - * @see f_file_stream_lock() - * @see f_file_stream_unlock() - * @see fl_print_format() - */ -#ifndef _di_fake_print_warning_settings_object_multiple_ - extern void fake_print_warning_settings_object_multiple(fake_data_t * const data, const f_string_static_t path_file, const f_string_static_t label, const f_string_static_t name_object) F_attribute_visibility_internal_d; -#endif // _di_fake_print_warning_settings_object_multiple_ - #ifdef __cplusplus } // extern "C" #endif diff --git a/level_3/fake/c/main/private-skeleton.c b/level_3/fake/c/main/skeleton.c similarity index 99% rename from level_3/fake/c/main/private-skeleton.c rename to level_3/fake/c/main/skeleton.c index 6a4bc98..26fe024 100644 --- a/level_3/fake/c/main/private-skeleton.c +++ b/level_3/fake/c/main/skeleton.c @@ -1,6 +1,5 @@ #include "fake.h" -#include "private-common.h" -#include "private-skeleton.h" +#include "skeleton.h" #ifdef __cplusplus extern "C" { diff --git a/level_3/fake/c/main/private-skeleton.h b/level_3/fake/c/main/skeleton.h similarity index 100% rename from level_3/fake/c/main/private-skeleton.h rename to level_3/fake/c/main/skeleton.h diff --git a/level_3/fake/c/main/skeleton/print.c b/level_3/fake/c/main/skeleton/print.c new file mode 100644 index 0000000..9dcac6e --- /dev/null +++ b/level_3/fake/c/main/skeleton/print.c @@ -0,0 +1,10 @@ +#include "../fake.h" +#include "print.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef __cplusplus +} // extern "C" +#endif diff --git a/level_3/fake/c/main/skeleton/print.h b/level_3/fake/c/main/skeleton/print.h new file mode 100644 index 0000000..66c9d2c --- /dev/null +++ b/level_3/fake/c/main/skeleton/print.h @@ -0,0 +1,19 @@ +/** + * FLL - Level 3 + * + * Project: Featureless Make + * API Version: 0.7 + * Licenses: lgpl-2.1-or-later + */ +#ifndef _PRIVATE_skeleton_print_h +#define _PRIVATE_skeleton_print_h + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif // _PRIVATE_skeleton_print_h diff --git a/level_3/fake/data/build/settings b/level_3/fake/data/build/settings index dba15f0..ec0a586 100644 --- a/level_3/fake/data/build/settings +++ b/level_3/fake/data/build/settings @@ -27,16 +27,23 @@ build_libraries-individual -lf_account -lf_capability -lf_color -lf_console -lf_ build_libraries-level -lfll_2 -lfll_1 -lfll_0 build_libraries-monolithic -lfll -build_sources_library main/fake.c main/common.c main/common-print.c main/common-string.c main/common-type.c main/print.c -build_sources_library main/private-build.c main/private-build-library.c main/private-build-load.c main/private-build-object.c main/private-build-objects.c main/private-build-program.c main/private-build-skeleton.c -build_sources_library main/private-clean.c main/private-common.c main/private-make.c main/private-print.c main/private-skeleton.c -build_sources_library main/private-make-load_fakefile.c main/private-make-load_parameters.c -build_sources_library main/private-make-operate.c main/private-make-operate_block.c main/private-make-operate_process.c main/private-make-operate_process_type.c main/private-make-operate_validate.c main/private-make-operate_validate_type.c -build_sources_library main/private-fake.c main/private-fake-path_generate.c +build_sources_library main/build.c main/clean.c main/common.c main/fake.c main/make.c main/print.c main/private-common.c main/private-fake.c main/private-print.c main/skeleton.c +build_sources_library main/build/library.c main/build/load.c main/build/object.c main/build/objects.c main/build/print.c main/build/program.c main/build/skeleton.c +build_sources_library main/clean/print.c +build_sources_library main/common/print.c main/common/string.c main/common/type.c +build_sources_library main/fake/path_generate.c main/fake/print.c +build_sources_library main/make/load_fakefile.c main/make/load_parameters.c main/make/operate_block.c main/make/operate.c main/make/operate_process.c main/make/operate_process_type.c main/make/operate_validate.c main/make/operate_validate_type.c main/make/print.c +build_sources_library main/skeleton/print.c build_sources_program main/main.c -build_sources_headers main/fake.h main/common.h main/common-print.h main/common-string.h main/common-type.h main/print.h +build_sources_headers main/build.h main/clean.h main/common.h main/fake.h main/make.h main/print.h main/private-common.h main/private-fake.h main/private-print.h main/skeleton.h +build_sources_headers main/build/library.h main/build/load.h main/build/object.h main/build/objects.h main/build/print.h main/build/program.h main/build/skeleton.h +build_sources_headers main/clean/print.h +build_sources_headers main/common/print.h main/common/string.h main/common/type.h +build_sources_headers main/fake/path_generate.h main/fake/print.h +build_sources_headers main/make/load_fakefile.h main/make/load_parameters.h main/make/operate_block.h main/make/operate.h main/make/operate_process.h main/make/operate_process_type.h main/make/operate_validate.h main/make/operate_validate_type.h main/make/print.h +build_sources_headers main/skeleton/print.h build_sources_documentation man