The Featureless Make is intended to not be language specific since its inception.
I did not know how the languages were to work, so I mostly built this to guarantee C/C++ support.
I found that the `golang` supports some command line based compilation.
This adds support for `golang` in the most basic way.
This support is not well tested.
An `example_go` project is added.
I have only tested the basic build and I have not done anything advanced.
This relaxes some of the requirements.
The `bash` is changed to `shell` to encourage more types of scripts.
The `custom` is added and used as a fallback if `build_language_path` is not used.
I found that there needs to be some additional settings in the `settings` specification.
This updates the specification and adds:
- build_compiler_arguments
- build_compiler_arguments_shared
- build_compiler_arguments_static
- build_compiler_arguments_library
- build_compiler_arguments_library_shared
- build_compiler_arguments_library_static
- build_compiler_arguments_object
- build_compiler_arguments_object_shared
- build_compiler_arguments_object_static
- build_compiler_arguments_program
- build_compiler_arguments_program_shared
- build_compiler_arguments_program_static
- build_language_path
This also fixes some mistakes in the language of the specification.
build_sources_program fll/level_2/print.c
build_sources_program fll/level_2/program.c fll/level_2/program/common.c fll/level_2/program/print.c fll/level_2/private-program.c
-build_sources_program program/fake/main/build.c program/fake/main/clean.c program/fake/main/common.c program/fake/main/fake.c program/fake/main/make.c program/fake/main/print/common.c program/fake/main/print/context.c program/fake/main/print/error.c program/fake/main/print/message.c program/fake/main/print/operation.c program/fake/main/print/warning.c program/fake/main/print/verbose.c program/fake/main/signal.c program/fake/main/skeleton.c program/fake/main/thread.c
+build_sources_program program/fake/main/build.c program/fake/main/clean.c program/fake/main/common.c program/fake/main/fake.c program/fake/main/make.c program/fake/main/print/common.c program/fake/main/print/context.c program/fake/main/print/debug.c program/fake/main/print/error.c program/fake/main/print/message.c program/fake/main/print/operation.c program/fake/main/print/warning.c program/fake/main/print/verbose.c program/fake/main/signal.c program/fake/main/skeleton.c program/fake/main/thread.c
build_sources_program program/fake/main/build/enumeration.c program/fake/main/build/library.c program/fake/main/build/load.c program/fake/main/build/object.c program/fake/main/build/print/compile.c program/fake/main/build/print/error.c program/fake/main/build/print/message.c program/fake/main/build/print/verbose.c program/fake/main/build/print/warning.c program/fake/main/build/program.c program/fake/main/build/skeleton.c program/fake/main/build/string.c
build_sources_program program/fake/main/common/define.c program/fake/main/common/enumeration.c program/fake/main/common/print.c program/fake/main/common/string.c program/fake/main/common/type.c
build_sources_program program/fake/main/fake/path_generate.c program/fake/main/fake/do.c
if (!data || !data->main || !data_build) return;
if (F_status_is_error(data->main->setting.state.status)) return;
+ // Only C/C++ is supported here.
+ if (!(data_build->setting.language == fake_build_language_c_e || data_build->setting.language == fake_build_language_cpp_e)) return;
+
fake_main_t * const main = data->main;
fake_string_dynamic_reset(&main->cache_argument);
main->setting.state.status = f_string_dynamic_append_nulless(fake_build_parameter_library_link_path_s, &main->cache_argument);
- if (F_status_is_error(main->setting.state.status)) return;
- main->setting.state.status = f_string_dynamic_append_nulless(is_shared ? data->path_build_libraries_shared : data->path_build_libraries_static, &main->cache_argument);
- if (F_status_is_error(main->setting.state.status)) return;
+ if (F_status_is_error_not(main->setting.state.status)) {
+ main->setting.state.status = f_string_dynamic_append_nulless(is_shared ? data->path_build_libraries_shared : data->path_build_libraries_static, &main->cache_argument);
+ }
if (main->cache_argument.used) {
- main->setting.state.status = fll_execute_arguments_add(main->cache_argument, &main->cache_arguments);
- if (F_status_is_error(main->setting.state.status)) return;
+ if (F_status_is_error_not(main->setting.state.status)) {
+ main->setting.state.status = fll_execute_arguments_add(main->cache_argument, &main->cache_arguments);
+ }
}
- fake_string_dynamic_reset(&main->cache_argument);
+ if (F_status_is_error_not(main->setting.state.status)) {
+ fake_string_dynamic_reset(&main->cache_argument);
+ }
- main->setting.state.status = f_string_dynamic_append_nulless(fake_build_parameter_library_include_s, &main->cache_argument);
- if (F_status_is_error(main->setting.state.status)) return;
+ if (F_status_is_error_not(main->setting.state.status)) {
+ main->setting.state.status = f_string_dynamic_append_nulless(fake_build_parameter_library_include_s, &main->cache_argument);
+ }
- main->setting.state.status = f_string_dynamic_append_nulless(data->path_build_includes, &main->cache_argument);
- if (F_status_is_error(main->setting.state.status)) return;
+ if (F_status_is_error_not(main->setting.state.status)) {
+ main->setting.state.status = f_string_dynamic_append_nulless(data->path_build_includes, &main->cache_argument);
+ }
if (main->cache_argument.used) {
- main->setting.state.status = fll_execute_arguments_add(main->cache_argument, &main->cache_arguments);
- if (F_status_is_error(main->setting.state.status)) return;
+ if (F_status_is_error_not(main->setting.state.status)) {
+ main->setting.state.status = fll_execute_arguments_add(main->cache_argument, &main->cache_arguments);
+ }
}
- if (main->setting.work.used) {
+ if (F_status_is_error_not(main->setting.state.status) && main->setting.work.used) {
fake_string_dynamic_reset(&main->cache_argument);
main->setting.state.status = f_string_dynamic_append_nulless(fake_build_parameter_library_include_s, &main->cache_argument);
- if (F_status_is_error(main->setting.state.status)) return;
- main->setting.state.status = f_string_dynamic_append_nulless(data->path_work_includes, &main->cache_argument);
- if (F_status_is_error(main->setting.state.status)) return;
+ if (F_status_is_error_not(main->setting.state.status)) {
+ main->setting.state.status = f_string_dynamic_append_nulless(data->path_work_includes, &main->cache_argument);
+ }
- main->setting.state.status = fll_execute_arguments_add(main->cache_argument, &main->cache_arguments);
- if (F_status_is_error(main->setting.state.status)) return;
+ if (F_status_is_error_not(main->setting.state.status)) {
+ main->setting.state.status = fll_execute_arguments_add(main->cache_argument, &main->cache_arguments);
+ }
if (data_build->setting.search_shared && (is_shared || !data_build->setting.search_exclusive)) {
fake_string_dynamic_reset(&main->cache_argument);
- main->setting.state.status = f_string_dynamic_append_nulless(fake_build_parameter_library_link_path_s, &main->cache_argument);
- if (F_status_is_error(main->setting.state.status)) return;
+ if (F_status_is_error_not(main->setting.state.status)) {
+ main->setting.state.status = f_string_dynamic_append_nulless(fake_build_parameter_library_link_path_s, &main->cache_argument);
+ }
- main->setting.state.status = f_string_dynamic_append_nulless(data->path_work_libraries_shared, &main->cache_argument);
- if (F_status_is_error(main->setting.state.status)) return;
+ if (F_status_is_error_not(main->setting.state.status)) {
+ main->setting.state.status = f_string_dynamic_append_nulless(data->path_work_libraries_shared, &main->cache_argument);
+ }
- main->setting.state.status = fll_execute_arguments_add(main->cache_argument, &main->cache_arguments);
- if (F_status_is_error(main->setting.state.status)) return;
+ if (F_status_is_error_not(main->setting.state.status)) {
+ main->setting.state.status = fll_execute_arguments_add(main->cache_argument, &main->cache_arguments);
+ }
}
if (data_build->setting.search_static && (!is_shared || !data_build->setting.search_exclusive)) {
fake_string_dynamic_reset(&main->cache_argument);
- main->setting.state.status = f_string_dynamic_append_nulless(fake_build_parameter_library_link_path_s, &main->cache_argument);
- if (F_status_is_error(main->setting.state.status)) return;
+ if (F_status_is_error_not(main->setting.state.status)) {
+ main->setting.state.status = f_string_dynamic_append_nulless(fake_build_parameter_library_link_path_s, &main->cache_argument);
+ }
- main->setting.state.status = f_string_dynamic_append_nulless(data->path_work_libraries_static, &main->cache_argument);
- if (F_status_is_error(main->setting.state.status)) return;
+ if (F_status_is_error_not(main->setting.state.status)) {
+ main->setting.state.status = f_string_dynamic_append_nulless(data->path_work_libraries_static, &main->cache_argument);
+ }
- main->setting.state.status = fll_execute_arguments_add(main->cache_argument, &main->cache_arguments);
- if (F_status_is_error(main->setting.state.status)) return;
+ if (F_status_is_error_not(main->setting.state.status)) {
+ main->setting.state.status = fll_execute_arguments_add(main->cache_argument, &main->cache_arguments);
+ }
}
}
+ if (F_status_is_error(main->setting.state.status)) return;
+
{
f_string_statics_t empty = f_string_statics_t_initialize;
fake_build_copy(data, mode, fake_build_setting_files_s, data->path_data_settings, data->path_build_settings, data_build.setting.build_sources_setting, stage.file_sources_settings, 0);
- if (data_build.setting.build_language == fake_build_language_bash_e) {
+ if (data_build.setting.language == fake_build_language_shell_e) {
fake_build_object_script(data, &data_build, mode, stage.file_object_script);
fake_build_library_script(data, &data_build, mode, stage.file_library_script);
if (data_build.setting.build_static) {
main->program.child = fake_build_object(data, &data_build, mode, stage.file_object_static, F_false);
- main->program.child = fake_build_library_static_object(data, &data_build, mode, stage.file_library_static_object);
+ main->program.child = fake_build_library_static_object(data, &data_build, mode, stage.file_library_static_object); // @todo
main->program.child = fake_build_library_static(data, &data_build, mode, stage.file_library_static);
main->setting.state.status = f_string_dynamic_append_nulless(*setting_path_source, source);
if (F_status_is_error_not(main->setting.state.status) && data_build->setting.has_path_standard) {
- if (data_build->setting.build_language == fake_build_language_c_e) {
+ if (data_build->setting.build_language_path.used) {
+ main->setting.state.status = f_string_dynamic_append_nulless(data_build->setting.build_language_path, source);
+ }
+ else if (data_build->setting.language == fake_build_language_c_e) {
main->setting.state.status = f_string_dynamic_append_nulless(fake_build_language_c_s, source);
}
- else if (data_build->setting.build_language == fake_build_language_cpp_e) {
+ else if (data_build->setting.language == fake_build_language_cpp_e) {
main->setting.state.status = f_string_dynamic_append_nulless(fake_build_language_cpp_s, source);
}
- else if (data_build->setting.build_language == fake_build_language_bash_e) {
- main->setting.state.status = f_string_dynamic_append_nulless(fake_build_language_bash_s, source);
+ else if (data_build->setting.language == fake_build_language_custom_e) {
+ main->setting.state.status = f_string_dynamic_append_nulless(fake_build_language_custom_s, source);
+ }
+ else if (data_build->setting.language == fake_build_language_golang_e) {
+ main->setting.state.status = f_string_dynamic_append_nulless(fake_build_language_golang_s, source);
+ }
+ else if (data_build->setting.language == fake_build_language_shell_e) {
+ main->setting.state.status = f_string_dynamic_append_nulless(fake_build_language_shell_s, source);
+ }
+ else {
+ main->setting.state.status = F_skip;
}
if (F_status_is_error_not(main->setting.state.status)) {
- main->setting.state.status = f_string_dynamic_append_assure(f_path_separator_s, source);
+ if (main->setting.state.status == F_skip) {
+ main->setting.state.status = F_okay;
+ }
+ else {
+ main->setting.state.status = f_string_dynamic_append_assure(f_path_separator_s, source);
+ }
}
}
* The build language enumerations.
*
* fake_build_language_*_e:
- * - 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).
+ * - c: The C language.
+ * - cpp: The C++ language.
+ * - custom: A language that is not known.
+ * - golang: The Golang language.
+ * - shell: A shell scripting language such as GNU Bash or Zsh.
*/
#ifndef _di_fake_build_language_e_
enum {
fake_build_language_none_e = 0,
- fake_build_language_bash_e,
fake_build_language_c_e,
fake_build_language_cpp_e,
- fake_build_language_zsh_e,
+ fake_build_language_custom_e,
+ fake_build_language_golang_e,
+ fake_build_language_shell_e,
}; // enum
#endif // _di_fake_build_language_e_
fake_string_dynamics_reset(&main->cache_arguments);
+ uint8_t i = 0;
+
+ {
+ f_number_unsigned_t j = 0;
+
+ f_string_statics_t * const values[] = {
+ &data_build->setting.build_compiler_arguments,
+ &data_build->setting.build_compiler_arguments_shared,
+ &data_build->setting.build_compiler_arguments_library,
+ &data_build->setting.build_compiler_arguments_library_shared,
+ };
+
+ for (i = 0; i < 4; ++i) {
+
+ for (j = 0; j < values[i]->used; ++j) {
+
+ if (!values[i]->array[j].used) continue;
+
+ main->setting.state.status = fll_execute_arguments_add(values[i]->array[j], &main->cache_arguments);
+
+ if (F_status_is_error(main->setting.state.status)) {
+ fake_print_error(&main->program.error, macro_fake_f(fll_execute_arguments_add));
+
+ return 0;
+ }
+ } // for
+ } // for
+ }
+
fake_build_objects_add(data, data_build, &data->path_build_objects_shared, &data_build->setting.build_objects_library, &data_build->setting.build_objects_library_shared);
if (F_status_is_error(main->setting.state.status)) {
¶meter_file_name_nano,
};
- uint8_t i = 0;
+ for (i = 0; i < strings_length; ++i) {
- {
- for (; i < strings_length; ++i) {
-
- memcpy(strings[i]->string, fake_build_parameter_library_name_prefix_s.string, sizeof(f_char_t) * fake_build_parameter_library_name_prefix_s.used);
-
- strings[i]->used += fake_build_parameter_library_name_prefix_s.used;
- } // for
-
- for (i = 0; i < strings_length; ++i) {
+ memcpy(strings[i]->string, fake_build_parameter_library_name_prefix_s.string, sizeof(f_char_t) * fake_build_parameter_library_name_prefix_s.used);
- memcpy(strings[i]->string + strings[i]->used, data_build->setting.build_name.string, sizeof(f_char_t) * data_build->setting.build_name.used);
-
- strings[i]->used += data_build->setting.build_name.used;
- } // for
+ strings[i]->used += fake_build_parameter_library_name_prefix_s.used;
+ } // for
- for (i = 0; i < strings_length; ++i) {
+ for (i = 0; i < strings_length; ++i) {
- memcpy(strings[i]->string + strings[i]->used, fake_build_parameter_library_name_suffix_shared_s.string, sizeof(f_char_t) * fake_build_parameter_library_name_suffix_shared_s.used);
+ memcpy(strings[i]->string + strings[i]->used, data_build->setting.build_name.string, sizeof(f_char_t) * data_build->setting.build_name.used);
- strings[i]->used += fake_build_parameter_library_name_suffix_shared_s.used;
- } // for
+ strings[i]->used += data_build->setting.build_name.used;
+ } // for
- if (data_build->setting.version_major.used) {
- if (data_build->setting.version_major_prefix.used) {
- for (i = 1; i < strings_length; ++i) {
+ for (i = 0; i < strings_length; ++i) {
- memcpy(strings[i]->string + strings[i]->used, data_build->setting.version_major_prefix.string, sizeof(f_char_t) * data_build->setting.version_major_prefix.used);
+ memcpy(strings[i]->string + strings[i]->used, fake_build_parameter_library_name_suffix_shared_s.string, sizeof(f_char_t) * fake_build_parameter_library_name_suffix_shared_s.used);
- strings[i]->used += data_build->setting.version_major_prefix.used;
- } // for
- }
+ strings[i]->used += fake_build_parameter_library_name_suffix_shared_s.used;
+ } // for
+ if (data_build->setting.version_major.used) {
+ if (data_build->setting.version_major_prefix.used) {
for (i = 1; i < strings_length; ++i) {
- memcpy(strings[i]->string + strings[i]->used, data_build->setting.version_major.string, sizeof(f_char_t) * data_build->setting.version_major.used);
+ memcpy(strings[i]->string + strings[i]->used, data_build->setting.version_major_prefix.string, sizeof(f_char_t) * data_build->setting.version_major_prefix.used);
- strings[i]->used += data_build->setting.version_major.used;
+ strings[i]->used += data_build->setting.version_major_prefix.used;
} // for
+ }
- if (data_build->setting.version_minor.used) {
- if (data_build->setting.version_minor_prefix.used) {
- for (i = 2; i < strings_length; ++i) {
+ for (i = 1; i < strings_length; ++i) {
- memcpy(strings[i]->string + strings[i]->used, data_build->setting.version_minor_prefix.string, sizeof(f_char_t) * data_build->setting.version_minor_prefix.used);
+ memcpy(strings[i]->string + strings[i]->used, data_build->setting.version_major.string, sizeof(f_char_t) * data_build->setting.version_major.used);
- strings[i]->used += data_build->setting.version_minor_prefix.used;
- } // for
- }
+ strings[i]->used += data_build->setting.version_major.used;
+ } // for
+ if (data_build->setting.version_minor.used) {
+ if (data_build->setting.version_minor_prefix.used) {
for (i = 2; i < strings_length; ++i) {
- memcpy(strings[i]->string + strings[i]->used, data_build->setting.version_minor.string, sizeof(f_char_t) * data_build->setting.version_minor.used);
+ memcpy(strings[i]->string + strings[i]->used, data_build->setting.version_minor_prefix.string, sizeof(f_char_t) * data_build->setting.version_minor_prefix.used);
- strings[i]->used += data_build->setting.version_minor.used;
+ strings[i]->used += data_build->setting.version_minor_prefix.used;
} // for
+ }
- if (data_build->setting.version_micro.used) {
- if (data_build->setting.version_micro_prefix.used) {
- for (i = 3; i < strings_length; ++i) {
+ for (i = 2; i < strings_length; ++i) {
- memcpy(strings[i]->string + strings[i]->used, data_build->setting.version_micro_prefix.string, sizeof(f_char_t) * data_build->setting.version_micro_prefix.used);
+ memcpy(strings[i]->string + strings[i]->used, data_build->setting.version_minor.string, sizeof(f_char_t) * data_build->setting.version_minor.used);
- strings[i]->used += data_build->setting.version_micro_prefix.used;
- } // for
- }
+ strings[i]->used += data_build->setting.version_minor.used;
+ } // for
+ if (data_build->setting.version_micro.used) {
+ if (data_build->setting.version_micro_prefix.used) {
for (i = 3; i < strings_length; ++i) {
- memcpy(strings[i]->string + strings[i]->used, data_build->setting.version_micro.string, sizeof(f_char_t) * data_build->setting.version_micro.used);
+ memcpy(strings[i]->string + strings[i]->used, data_build->setting.version_micro_prefix.string, sizeof(f_char_t) * data_build->setting.version_micro_prefix.used);
- strings[i]->used += data_build->setting.version_micro.used;
+ strings[i]->used += data_build->setting.version_micro_prefix.used;
} // for
+ }
- if (data_build->setting.version_nano.used) {
- if (data_build->setting.version_nano_prefix.used) {
- for (i = 4; i < strings_length; ++i) {
+ for (i = 3; i < strings_length; ++i) {
- memcpy(strings[i]->string + strings[i]->used, data_build->setting.version_nano_prefix.string, sizeof(f_char_t) * data_build->setting.version_nano_prefix.used);
+ memcpy(strings[i]->string + strings[i]->used, data_build->setting.version_micro.string, sizeof(f_char_t) * data_build->setting.version_micro.used);
- strings[i]->used += data_build->setting.version_nano_prefix.used;
- } // for
- }
+ strings[i]->used += data_build->setting.version_micro.used;
+ } // for
+ if (data_build->setting.version_nano.used) {
+ if (data_build->setting.version_nano_prefix.used) {
for (i = 4; i < strings_length; ++i) {
- memcpy(strings[i]->string + strings[i]->used, data_build->setting.version_nano.string, sizeof(f_char_t) * data_build->setting.version_nano.used);
+ memcpy(strings[i]->string + strings[i]->used, data_build->setting.version_nano_prefix.string, sizeof(f_char_t) * data_build->setting.version_nano_prefix.used);
- strings[i]->used += data_build->setting.version_nano.used;
+ strings[i]->used += data_build->setting.version_nano_prefix.used;
} // for
}
+
+ for (i = 4; i < strings_length; ++i) {
+
+ memcpy(strings[i]->string + strings[i]->used, data_build->setting.version_nano.string, sizeof(f_char_t) * data_build->setting.version_nano.used);
+
+ strings[i]->used += data_build->setting.version_nano.used;
+ } // for
}
}
}
+ }
+
+ parameter_file_name_string[parameter_file_name.used] = 0;
+ parameter_file_name_major_string[parameter_file_name_major.used] = 0;
+ parameter_file_name_minor_string[parameter_file_name_minor.used] = 0;
+ parameter_file_name_micro_string[parameter_file_name_micro.used] = 0;
+ parameter_file_name_nano_string[parameter_file_name_nano.used] = 0;
+
+ main->setting.state.status = fll_execute_arguments_add(fake_build_parameter_library_shared_s, &main->cache_arguments);
- parameter_file_name_string[parameter_file_name.used] = 0;
- parameter_file_name_major_string[parameter_file_name_major.used] = 0;
- parameter_file_name_minor_string[parameter_file_name_minor.used] = 0;
- parameter_file_name_micro_string[parameter_file_name_micro.used] = 0;
- parameter_file_name_nano_string[parameter_file_name_nano.used] = 0;
+ if (F_status_is_error(main->setting.state.status)) {
+ fake_print_error(&main->program.error, macro_fake_f(fll_execute_arguments_add));
+
+ return 0;
}
- {
- main->setting.state.status = fll_execute_arguments_add(fake_build_parameter_library_shared_s, &main->cache_arguments);
+ fake_string_dynamic_reset(&main->cache_argument);
- if (F_status_is_error(main->setting.state.status)) {
- fake_print_error(&main->program.error, macro_fake_f(fll_execute_arguments_add));
+ main->setting.state.status = f_string_dynamic_append_nulless(fake_build_parameter_library_shared_prefix_s, &main->cache_argument);
- return 0;
+ if (F_status_is_error_not(main->setting.state.status)) {
+ if (data_build->setting.version_target == fake_build_version_major_e) {
+ main->setting.state.status = f_string_dynamic_append_nulless(parameter_file_name_major, &main->cache_argument);
+ }
+ else if (data_build->setting.version_target == fake_build_version_minor_e) {
+ main->setting.state.status = f_string_dynamic_append_nulless(parameter_file_name_minor, &main->cache_argument);
+ }
+ else if (data_build->setting.version_target == fake_build_version_micro_e) {
+ main->setting.state.status = f_string_dynamic_append_nulless(parameter_file_name_micro, &main->cache_argument);
+ }
+ else if (data_build->setting.version_target == fake_build_version_nano_e) {
+ main->setting.state.status = f_string_dynamic_append_nulless(parameter_file_name_nano, &main->cache_argument);
}
+ }
- fake_string_dynamic_reset(&main->cache_argument);
+ if (F_status_is_error(main->setting.state.status)) {
+ fake_print_error(&main->program.error, macro_fake_f(f_string_dynamic_append_nulless));
- main->setting.state.status = f_string_dynamic_append_nulless(fake_build_parameter_library_shared_prefix_s, &main->cache_argument);
+ return 0;
+ }
- if (F_status_is_error_not(main->setting.state.status)) {
- if (data_build->setting.version_target == fake_build_version_major_e) {
- main->setting.state.status = f_string_dynamic_append_nulless(parameter_file_name_major, &main->cache_argument);
- }
- else if (data_build->setting.version_target == fake_build_version_minor_e) {
- main->setting.state.status = f_string_dynamic_append_nulless(parameter_file_name_minor, &main->cache_argument);
- }
- else if (data_build->setting.version_target == fake_build_version_micro_e) {
- main->setting.state.status = f_string_dynamic_append_nulless(parameter_file_name_micro, &main->cache_argument);
- }
- else if (data_build->setting.version_target == fake_build_version_nano_e) {
- main->setting.state.status = f_string_dynamic_append_nulless(parameter_file_name_nano, &main->cache_argument);
- }
- }
+ main->setting.state.status = fll_execute_arguments_add(main->cache_argument, &main->cache_arguments);
- if (F_status_is_error(main->setting.state.status)) {
- fake_print_error(&main->program.error, macro_fake_f(f_string_dynamic_append_nulless));
+ if (F_status_is_error_not(main->setting.state.status)) {
+ main->setting.state.status = fll_execute_arguments_add(fake_build_parameter_library_output_s, &main->cache_arguments);
+ }
- return 0;
- }
+ if (F_status_is_error(main->setting.state.status)) {
+ fake_print_error(&main->program.error, macro_fake_f(fll_execute_arguments_add));
- main->setting.state.status = fll_execute_arguments_add(main->cache_argument, &main->cache_arguments);
+ return 0;
+ }
- if (F_status_is_error_not(main->setting.state.status)) {
- main->setting.state.status = fll_execute_arguments_add(fake_build_parameter_library_output_s, &main->cache_arguments);
- }
+ fake_string_dynamic_reset(&main->cache_argument);
- if (F_status_is_error(main->setting.state.status)) {
- fake_print_error(&main->program.error, macro_fake_f(fll_execute_arguments_add));
+ main->setting.state.status = f_string_dynamic_append_nulless(data->path_build_libraries_shared, &main->cache_argument);
- return 0;
+ if (F_status_is_error_not(main->setting.state.status)) {
+ if (data_build->setting.version_file == fake_build_version_major_e) {
+ main->setting.state.status = f_string_dynamic_append_nulless(parameter_file_name_major, &main->cache_argument);
+ }
+ else if (data_build->setting.version_file == fake_build_version_minor_e) {
+ main->setting.state.status = f_string_dynamic_append_nulless(parameter_file_name_minor, &main->cache_argument);
+ }
+ else if (data_build->setting.version_file == fake_build_version_micro_e) {
+ main->setting.state.status = f_string_dynamic_append_nulless(parameter_file_name_micro, &main->cache_argument);
+ }
+ else if (data_build->setting.version_file == fake_build_version_nano_e) {
+ main->setting.state.status = f_string_dynamic_append_nulless(parameter_file_name_nano, &main->cache_argument);
}
+ }
- fake_string_dynamic_reset(&main->cache_argument);
+ if (F_status_is_error(main->setting.state.status)) {
+ fake_print_error(&main->program.error, macro_fake_f(f_string_dynamic_append_nulless));
- main->setting.state.status = f_string_dynamic_append_nulless(data->path_build_libraries_shared, &main->cache_argument);
+ return 0;
+ }
- if (F_status_is_error_not(main->setting.state.status)) {
- if (data_build->setting.version_file == fake_build_version_major_e) {
- main->setting.state.status = f_string_dynamic_append_nulless(parameter_file_name_major, &main->cache_argument);
- }
- else if (data_build->setting.version_file == fake_build_version_minor_e) {
- main->setting.state.status = f_string_dynamic_append_nulless(parameter_file_name_minor, &main->cache_argument);
- }
- else if (data_build->setting.version_file == fake_build_version_micro_e) {
- main->setting.state.status = f_string_dynamic_append_nulless(parameter_file_name_micro, &main->cache_argument);
- }
- else if (data_build->setting.version_file == fake_build_version_nano_e) {
- main->setting.state.status = f_string_dynamic_append_nulless(parameter_file_name_nano, &main->cache_argument);
- }
- }
+ main->setting.state.status = fll_execute_arguments_add(main->cache_argument, &main->cache_arguments);
- main->setting.state.status = fll_execute_arguments_add(main->cache_argument, &main->cache_arguments);
+ if (F_status_is_error(main->setting.state.status)) {
+ fake_print_error(&main->program.error, macro_fake_f(fll_execute_arguments_add));
- if (F_status_is_error_not(main->setting.state.status)) {
- fake_build_arguments_standard_add(data, data_build, F_true, fake_build_type_library_e);
- }
+ return 0;
+ }
- if (F_status_is_error(main->setting.state.status)) {
- fake_print_error(&main->program.error, macro_fake_f(fll_execute_arguments_add));
+ fake_build_arguments_standard_add(data, data_build, F_true, fake_build_type_library_e);
- return 0;
- }
+ if (F_status_is_error(main->setting.state.status)) {
+ fake_print_error(&main->program.error, macro_fake_f(fake_build_arguments_standard_add));
+
+ return 0;
}
{
}
{
- bool dont_links[] = {
+ uint8_t dont_links[] = {
!parameter_file_name_major.used,
data_build->setting.version_file == fake_build_version_major_e || !parameter_file_name_major.used,
data_build->setting.version_file == fake_build_version_minor_e || !parameter_file_name_minor.used,
fake_string_dynamics_reset(&main->cache_arguments);
f_number_unsigned_t i = 0;
+ f_number_unsigned_t j = 0;
+
+ {
+ f_string_statics_t * const values[] = {
+ &data_build->setting.build_compiler_arguments,
+ &data_build->setting.build_compiler_arguments_static,
+ &data_build->setting.build_compiler_arguments_library,
+ &data_build->setting.build_compiler_arguments_library_static,
+ };
+
+ for (i = 0; i < 4; ++i) {
+
+ for (j = 0; j < values[i]->used; ++j) {
+
+ if (!values[i]->array[j].used) continue;
+
+ main->setting.state.status = fll_execute_arguments_add(values[i]->array[j], &main->cache_arguments);
+
+ if (F_status_is_error(main->setting.state.status)) {
+ fake_print_error(&main->program.error, macro_fake_f(fll_execute_arguments_add));
+
+ return 0;
+ }
+ } // for
+ } // for
+ }
for (; i < data_build->setting.build_indexer_arguments.used; ++i) {
}
if (F_status_is_error_not(main->setting.state.status)) {
- f_number_unsigned_t j = 0;
-
const f_string_dynamics_t *sources[2] = {
&data_build->setting.build_sources_library,
&data_build->setting.build_sources_library_static,
fake_string_dynamics_reset(&main->cache_arguments);
+ uint8_t i = 0;
+ f_number_unsigned_t j = 0;
+
+ {
+ f_string_statics_t * const values[] = {
+ &data_build->setting.build_compiler_arguments,
+ &data_build->setting.build_compiler_arguments_static,
+ &data_build->setting.build_compiler_arguments_object,
+ &data_build->setting.build_compiler_arguments_object_static,
+ };
+
+ for (i = 0; i < 4; ++i) {
+
+ for (j = 0; j < values[i]->used; ++j) {
+
+ if (!values[i]->array[j].used) continue;
+
+ main->setting.state.status = fll_execute_arguments_add(values[i]->array[j], &main->cache_arguments);
+
+ if (F_status_is_error(main->setting.state.status)) {
+ fake_print_error(&main->program.error, macro_fake_f(fll_execute_arguments_add));
+
+ return 0;
+ }
+ } // for
+ } // for
+ }
+
int result = main->program.child;
const f_string_dynamics_t *sources[2] = {
&data_build->setting.build_sources_library_static,
};
- f_number_unsigned_t i = 0;
- f_number_unsigned_t j = 0;
uint8_t k = 0;
for (i = 0; i < 2; ++i) {
return 0;
}
- const f_string_static_t values[] = {
- main->cache_1,
- fake_build_parameter_object_compile_s,
- fake_build_parameter_object_static_s,
- fake_build_parameter_object_output_s,
- main->cache_argument,
- };
+ {
+ const f_string_static_t values[] = {
+ main->cache_1,
+ fake_build_parameter_object_compile_s,
+ fake_build_parameter_object_static_s,
+ fake_build_parameter_object_output_s,
+ main->cache_argument,
+ };
- for (k = 0; k < 5; ++k) {
+ for (k = 0; k < 5; ++k) {
- if (!values[k].used) continue;
+ if (!values[k].used) continue;
- main->setting.state.status = fll_execute_arguments_add(values[k], &main->cache_arguments);
- if (F_status_is_error(main->setting.state.status)) break;
- } // for
+ main->setting.state.status = fll_execute_arguments_add(values[k], &main->cache_arguments);
+ if (F_status_is_error(main->setting.state.status)) break;
+ } // for
- fake_build_arguments_standard_add(data, data_build, F_false, fake_build_type_object_e);
+ fake_build_arguments_standard_add(data, data_build, F_false, fake_build_type_object_e);
- if (F_status_is_error(main->setting.state.status)) {
- fake_print_error(&main->program.error, macro_fake_f(fll_execute_arguments_add));
+ if (F_status_is_error(main->setting.state.status)) {
+ fake_print_error(&main->program.error, macro_fake_f(fll_execute_arguments_add));
- break;
+ break;
+ }
}
result = fake_execute(data, data_build->environment, data_build->setting.build_compiler);
f_string_dynamics_t build_compiler = f_string_dynamics_t_initialize;
f_string_dynamics_t build_indexer = f_string_dynamics_t_initialize;
f_string_dynamics_t build_language = f_string_dynamics_t_initialize;
+ f_string_dynamics_t build_language_path = f_string_dynamics_t_initialize;
f_string_dynamics_t build_name = f_string_dynamics_t_initialize;
f_string_dynamics_t build_script = f_string_dynamics_t_initialize;
f_string_dynamics_t build_shared = f_string_dynamics_t_initialize;
f_string_dynamics_t has_path_standard = f_string_dynamics_t_initialize;
f_string_dynamics_t path_headers = f_string_dynamics_t_initialize;
f_string_dynamics_t path_language = f_string_dynamics_t_initialize;
+ f_string_dynamics_t path_language_path = f_string_dynamics_t_initialize;
f_string_dynamics_t path_library_script = f_string_dynamics_t_initialize;
f_string_dynamics_t path_library_shared = f_string_dynamics_t_initialize;
f_string_dynamics_t path_library_static = f_string_dynamics_t_initialize;
const f_string_static_t settings_name[] = {
fake_build_setting_name_build_compiler_s,
+ fake_build_setting_name_build_compiler_arguments_s,
+ fake_build_setting_name_build_compiler_arguments_shared_s,
+ fake_build_setting_name_build_compiler_arguments_static_s,
+ fake_build_setting_name_build_compiler_arguments_library_s,
+ fake_build_setting_name_build_compiler_arguments_library_shared_s,
+ fake_build_setting_name_build_compiler_arguments_library_static_s,
+ fake_build_setting_name_build_compiler_arguments_object_s,
+ fake_build_setting_name_build_compiler_arguments_object_shared_s,
+ fake_build_setting_name_build_compiler_arguments_object_static_s,
+ fake_build_setting_name_build_compiler_arguments_program_s,
+ fake_build_setting_name_build_compiler_arguments_program_shared_s,
+ fake_build_setting_name_build_compiler_arguments_program_static_s,
fake_build_setting_name_build_indexer_s,
fake_build_setting_name_build_indexer_arguments_s,
fake_build_setting_name_build_language_s,
+ fake_build_setting_name_build_language_path_s,
fake_build_setting_name_build_libraries_s,
fake_build_setting_name_build_libraries_shared_s,
fake_build_setting_name_build_libraries_static_s,
f_string_dynamics_t *settings_value[] = {
&build_compiler,
+ &setting->build_compiler_arguments,
+ &setting->build_compiler_arguments_shared,
+ &setting->build_compiler_arguments_static,
+ &setting->build_compiler_arguments_library,
+ &setting->build_compiler_arguments_library_shared,
+ &setting->build_compiler_arguments_library_static,
+ &setting->build_compiler_arguments_object,
+ &setting->build_compiler_arguments_object_shared,
+ &setting->build_compiler_arguments_object_static,
+ &setting->build_compiler_arguments_program,
+ &setting->build_compiler_arguments_program_shared,
+ &setting->build_compiler_arguments_program_static,
&build_indexer,
&setting->build_indexer_arguments,
&build_language,
+ &build_language_path,
&setting->build_libraries,
&setting->build_libraries_shared,
&setting->build_libraries_static,
bool settings_matches[] = {
F_false, // build_compiler
+ F_false, // setting->build_compiler_arguments
+ F_false, // setting->build_compiler_arguments_shared
+ F_false, // setting->build_compiler_arguments_static
+ F_false, // setting->build_compiler_arguments_library
+ F_false, // setting->build_compiler_arguments_library_shared
+ F_false, // setting->build_compiler_arguments_library_static
+ F_false, // setting->build_compiler_arguments_object
+ F_false, // setting->build_compiler_arguments_object_shared
+ F_false, // setting->build_compiler_arguments_object_static
+ F_false, // setting->build_compiler_arguments_program
+ F_false, // setting->build_compiler_arguments_program_shared
+ F_false, // setting->build_compiler_arguments_program_static
F_false, // build_indexer
F_false, // setting->build_indexer_arguments
F_false, // build_language
+ F_false, // build_language_path
F_false, // setting->build_libraries
F_false, // setting->build_libraries_shared
F_false, // setting->build_libraries_static
fake_build_setting_name_build_compiler_s,
fake_build_setting_name_build_indexer_s,
fake_build_setting_name_build_language_s,
+ fake_build_setting_name_build_language_path_s,
fake_build_setting_name_build_name_s,
fake_build_setting_name_build_script_s,
fake_build_setting_name_build_shared_s,
&build_compiler,
&build_indexer,
&build_language,
+ &build_language_path,
&build_name,
&build_script,
&build_shared,
0, // build_compiler
0, // build_indexer
0, // build_language
+ 0, // build_language_path
0, // build_name
&setting->build_script, // build_script
&setting->build_shared, // build_shared
f_string_dynamic_t *settings_single_destination[] = {
&setting->build_compiler, // build_compiler
&setting->build_indexer, // build_indexer
- 0, // build_language
+ &setting->build_language, // build_language
+ &setting->build_language_path, // build_language_path
&setting->build_name, // build_name
0, // build_script
0, // build_shared
};
const bool settings_single_matches[] = {
- settings_matches[0], // build_compiler
- settings_matches[1], // build_indexer
- settings_matches[3], // build_language
- settings_matches[7], // build_name
- settings_matches[14], // build_script
- settings_matches[15], // build_shared
- settings_matches[31], // build_static
- settings_matches[57], // has_path_standard
- settings_matches[60], // path_headers
- settings_matches[61], // path_language
- settings_matches[62], // path_library_script
- settings_matches[63], // path_library_shared
- settings_matches[64], // path_library_static
- settings_matches[65], // path_object_script
- settings_matches[66], // path_object_shared
- settings_matches[67], // path_object_static
- settings_matches[68], // path_program_script
- settings_matches[69], // path_program_shared
- settings_matches[70], // path_program_static
- settings_matches[71], // path_sources
- settings_matches[72], // path_sources_headers
- settings_matches[73], // path_sources_library
- settings_matches[74], // path_sources_object
- settings_matches[75], // path_sources_program
- settings_matches[76], // path_sources_script
- settings_matches[77], // preserve_path_headers
- settings_matches[78], // process_post
- settings_matches[79], // process_pre
- settings_matches[80], // search_exclusive
- settings_matches[81], // search_shared
- settings_matches[82], // search_static
- settings_matches[83], // stage
- settings_matches[84], // version_file
- settings_matches[85], // version_major
- settings_matches[86], // version_major_prefix
- settings_matches[87], // version_micro
- settings_matches[88], // version_micro_prefix
- settings_matches[89], // version_minor
- settings_matches[90], // version_minor_prefix
- settings_matches[91], // version_nano
- settings_matches[92], // version_nano_prefix
- settings_matches[93], // version_target
+ settings_matches[0], // build_compiler
+ settings_matches[13], // build_indexer
+ settings_matches[15], // build_language
+ settings_matches[16], // build_language_path
+ settings_matches[20], // build_name
+ settings_matches[27], // build_script
+ settings_matches[28], // build_shared
+ settings_matches[44], // build_static
+ settings_matches[70], // has_path_standard
+ settings_matches[73], // path_headers
+ settings_matches[74], // path_language
+ settings_matches[75], // path_library_script
+ settings_matches[76], // path_library_shared
+ settings_matches[77], // path_library_static
+ settings_matches[78], // path_object_script
+ settings_matches[79], // path_object_shared
+ settings_matches[80], // path_object_static
+ settings_matches[81], // path_program_script
+ settings_matches[82], // path_program_shared
+ settings_matches[83], // path_program_static
+ settings_matches[84], // path_sources
+ settings_matches[85], // path_sources_headers
+ settings_matches[86], // path_sources_library
+ settings_matches[87], // path_sources_object
+ settings_matches[88], // path_sources_program
+ settings_matches[89], // path_sources_script
+ settings_matches[90], // preserve_path_headers
+ settings_matches[91], // process_post
+ settings_matches[92], // process_pre
+ settings_matches[93], // search_exclusive
+ settings_matches[94], // search_shared
+ settings_matches[95], // search_static
+ settings_matches[96], // stage
+ settings_matches[97], // version_file
+ settings_matches[98], // version_major
+ settings_matches[99], // version_major_prefix
+ settings_matches[100], // version_micro
+ settings_matches[101], // version_micro_prefix
+ settings_matches[102], // version_minor
+ settings_matches[103], // version_minor_prefix
+ settings_matches[104], // version_nano
+ settings_matches[105], // version_nano_prefix
+ settings_matches[106], // version_target
};
const f_string_static_t settings_single_string_default[] = {
fake_build_setting_default_gcc_s, // build_compiler
fake_build_setting_default_ar_s, // build_indexer
f_string_empty_s, // build_language
+ f_string_empty_s, // build_language_path
f_string_empty_s, // build_name
f_string_empty_s, // build_script
f_string_empty_s, // build_shared
uint8_t *settings_single_language[] = {
0, // build_compiler
0, // build_indexer
- &setting->build_language, // build_language
+ &setting->language, // build_language (setting as code via language)
};
uint8_t *settings_single_version[] = {
0, // build_compiler
0, // build_indexer
0, // build_language
+ 0, // build_language_path
0, // build_name
0, // build_script
0, // build_shared
0, // build_compiler
0, // build_indexer
0, // build_language
+ 0, // build_language_path
0, // build_name
0, // build_script
0, // build_shared
f_string_empty_s, // build_compiler
f_string_empty_s, // build_indexer
f_string_empty_s, // build_language
+ f_string_empty_s, // build_language_path
f_string_empty_s, // build_name
fake_common_setting_bool_yes_s, // build_script
fake_common_setting_bool_yes_s, // build_shared
fake_build_version_major_s, // version_target
};
- // 1 = "yes" or "no", 2 = path/, 3 = literal, 4 = "bash", "c", or "c++", 5 = "major", "minor", "micro", or "nano", 6 = literal, no slash.
+ // 1 = "yes" or "no", 2 = path/, 3 = literal, 4 = language such as "c", 5 = "major", "minor", "micro", or "nano", 6 = literal, no slash.
static const uint8_t settings_single_type[] = {
3, // build_compiler
3, // build_indexer
4, // build_language
+ 2, // build_language_path
6, // build_name
1, // build_script
1, // build_shared
f_string_dynamic_t *single_source = 0;
- for (i = 0; i < 42; ++i) {
+ for (i = 0; i < 43; ++i) {
// Assign the default for literal and path types.
if (!settings_single_matches[i] && settings_single_destination[i]) {
}
}
else if (settings_single_type[i] == 4) {
- if (f_compare_dynamic_trim(*single_source, fake_build_language_bash_s) == F_equal_to) {
- *settings_single_language[i] = fake_build_language_bash_e;
- }
- else if (f_compare_dynamic_trim(*single_source, fake_build_language_c_s) == F_equal_to) {
+ if (f_compare_dynamic_trim(*single_source, fake_build_language_c_s) == F_equal_to) {
+ *settings_single_destination[i] = fake_build_language_c_s;
*settings_single_language[i] = fake_build_language_c_e;
}
else if (f_compare_dynamic_trim(*single_source, fake_build_language_cpp_s) == F_equal_to) {
+ *settings_single_destination[i] = fake_build_language_cpp_s;
*settings_single_language[i] = fake_build_language_cpp_e;
}
+ else if (f_compare_dynamic_trim(*single_source, fake_build_language_golang_s) == F_equal_to) {
+ *settings_single_destination[i] = fake_build_language_golang_s;
+ *settings_single_language[i] = fake_build_language_golang_e;
+ }
+ else if (f_compare_dynamic_trim(*single_source, fake_build_language_shell_s) == F_equal_to) {
+ *settings_single_destination[i] = fake_build_language_shell_s;
+ *settings_single_language[i] = fake_build_language_shell_e;
+ }
+ else if (single_source->used) {
+ *settings_single_language[i] = fake_build_language_custom_e;
+ settings_single_destination[i]->used = 0;
+
+ main->setting.state.status = f_string_dynamic_append(*single_source, settings_single_destination[i]);
+
+ if (F_status_is_error(main->setting.state.status)) {
+ fake_print_error(&main->program.error, macro_fake_f(f_string_dynamic_append));
+
+ break;
+ }
+ }
else {
+ *settings_single_destination[i] = fake_build_language_c_s;
*settings_single_language[i] = fake_build_language_c_e;
-
- fake_build_print_warning_setting_language_may_only_be(&main->program.warning, settings_single_name[i], path_file, fake_build_language_c_s);
}
}
else if (settings_single_type[i] == 5) {
// Handle special defaults for path sources.
if (F_status_is_error_not(main->setting.state.status)) {
- // [72] path_sources_headers.
- if (!settings_matches[72]) {
+ // [85] path_sources_headers.
+ if (!settings_matches[85]) {
setting->path_sources_headers.used = 0;
main->setting.state.status = f_string_dynamic_append_nulless(setting->path_sources, &setting->path_sources_headers);
}
- // [73] path_sources_library.
- if (!settings_matches[73] && F_status_is_error_not(main->setting.state.status)) {
+ // [86] path_sources_library.
+ if (!settings_matches[86] && F_status_is_error_not(main->setting.state.status)) {
setting->path_sources_library.used = 0;
main->setting.state.status = f_string_dynamic_append_nulless(setting->path_sources, &setting->path_sources_library);
}
- // [74] path_sources_object.
- if (!settings_matches[74] && F_status_is_error_not(main->setting.state.status)) {
+ // [87] path_sources_object.
+ if (!settings_matches[87] && F_status_is_error_not(main->setting.state.status)) {
setting->path_sources_object.used = 0;
main->setting.state.status = f_string_dynamic_append_nulless(setting->path_sources, &setting->path_sources_object);
}
- // [75] path_sources_program.
- if (!settings_matches[75] && F_status_is_error_not(main->setting.state.status)) {
+ // [88] path_sources_program.
+ if (!settings_matches[88] && F_status_is_error_not(main->setting.state.status)) {
setting->path_sources_program.used = 0;
main->setting.state.status = f_string_dynamic_append_nulless(setting->path_sources, &setting->path_sources_program);
}
- // [76] path_sources_script.
- if (!settings_matches[76] && F_status_is_error_not(main->setting.state.status)) {
+ // [89] path_sources_script.
+ if (!settings_matches[89] && F_status_is_error_not(main->setting.state.status)) {
setting->path_sources_script.used = 0;
main->setting.state.status = f_string_dynamic_append_nulless(setting->path_sources, &setting->path_sources_script);
f_memory_arrays_resize(0, sizeof(f_string_dynamic_t), (void **) &build_compiler.array, &build_compiler.used, &build_compiler.size, &f_string_dynamics_delete_callback);
f_memory_arrays_resize(0, sizeof(f_string_dynamic_t), (void **) &build_indexer.array, &build_indexer.used, &build_indexer.size, &f_string_dynamics_delete_callback);
f_memory_arrays_resize(0, sizeof(f_string_dynamic_t), (void **) &build_language.array, &build_language.used, &build_language.size, &f_string_dynamics_delete_callback);
+ f_memory_arrays_resize(0, sizeof(f_string_dynamic_t), (void **) &build_language_path.array, &build_language_path.used, &build_language_path.size, &f_string_dynamics_delete_callback);
f_memory_arrays_resize(0, sizeof(f_string_dynamic_t), (void **) &build_name.array, &build_name.used, &build_name.size, &f_string_dynamics_delete_callback);
f_memory_arrays_resize(0, sizeof(f_string_dynamic_t), (void **) &build_script.array, &build_script.used, &build_script.size, &f_string_dynamics_delete_callback);
f_memory_arrays_resize(0, sizeof(f_string_dynamic_t), (void **) &build_shared.array, &build_shared.used, &build_shared.size, &f_string_dynamics_delete_callback);
setting->search_static = F_true;
}
- if (setting->build_language == fake_build_language_c_e || setting->build_language == fake_build_language_cpp_e) {
+ if (setting->language == fake_build_language_c_e || setting->language == fake_build_language_cpp_e) {
if (setting->build_shared == F_false && setting->build_static == F_false) {
- fake_build_print_warning_setting_both_cannot_when_language(&main->program.warning, fake_build_setting_name_build_shared_s, fake_build_setting_name_build_static_s, setting->build_language == fake_build_language_c_e ? fake_build_language_c_s : fake_build_language_cpp_s);
+ fake_build_print_warning_setting_both_cannot_when_language(&main->program.warning, fake_build_setting_name_build_shared_s, fake_build_setting_name_build_static_s, setting->language == fake_build_language_c_e ? fake_build_language_c_s : fake_build_language_cpp_s);
main->setting.state.status = F_status_set_error(F_failure);
}
int result = 0;
int result_final = 0;
- f_number_unsigned_t i = 0;
+ uint8_t i = 0;
f_number_unsigned_t j = 0;
+ {
+ f_string_statics_t * const values[] = {
+ &data_build->setting.build_compiler_arguments,
+ shared ? &data_build->setting.build_compiler_arguments_shared : &data_build->setting.build_compiler_arguments_static,
+ &data_build->setting.build_compiler_arguments_object,
+ shared ? &data_build->setting.build_compiler_arguments_object_shared : &data_build->setting.build_compiler_arguments_object_static,
+ };
+
+ for (i = 0; i < 4; ++i) {
+
+ for (j = 0; j < values[i]->used; ++j) {
+
+ if (!values[i]->array[j].used) continue;
+
+ main->setting.state.status = fll_execute_arguments_add(values[i]->array[j], &main->cache_arguments);
+ if (F_status_is_error(main->setting.state.status)) break;
+ } // for
+
+ if (F_status_is_error(main->setting.state.status)) {
+ fake_print_error(&main->program.error, macro_fake_f(fll_execute_arguments_add));
+
+ break;
+ }
+ } // for
+ }
+
const f_string_dynamics_t *sources[2] = {
&data_build->setting.build_sources_object,
shared ? &data_build->setting.build_sources_object_shared : &data_build->setting.build_sources_object_static,
};
+ uint8_t k = 0;
+
if (shared) {
fake_build_print_compile_object_shared(&main->program.message);
}
break;
}
- {
+ if (data_build->setting.language == fake_build_language_c_e || data_build->setting.language == fake_build_language_cpp_e) {
const f_string_static_t values[] = {
shared ? f_string_empty_s : fake_build_parameter_library_static_s,
fake_build_parameter_object_compile_s,
main->cache_argument,
};
- for (uint8_t i = 0; i < 4; ++i) {
+ for (k = 0; k < 4; ++k) {
- if (!values[i].used) continue;
+ if (!values[k].used) continue;
- main->setting.state.status = fll_execute_arguments_add(values[i], &main->cache_arguments);
+ main->setting.state.status = fll_execute_arguments_add(values[k], &main->cache_arguments);
if (F_status_is_error(main->setting.state.status)) break;
} // for
}
#endif // _di_fake_build_print_warning_setting_both_cannot_using_language_
-#ifndef _di_fake_build_print_warning_setting_language_may_only_be_
- f_status_t fake_build_print_warning_setting_language_may_only_be(fl_print_t * const print, const f_string_static_t name, const f_string_static_t path, const f_string_static_t default_to) {
-
- if (print->verbosity < f_console_verbosity_verbose_e) return F_output_not;
-
- f_file_stream_lock(print->to);
-
- fl_print_format("%[%QThe setting '%]", print->to, print->context, print->prefix, print->context);
- fl_print_format(f_string_format_Q_single_s.string, print->to, print->notable, name, print->notable);
- fl_print_format("%[' in the file '%]", print->to, print->context, print->context);
- fl_print_format(f_string_format_Q_single_s.string, print->to, print->notable, path, print->notable);
- fl_print_format("%[' may only be one of '%]", print->to, print->context, print->context);
- fl_print_format(f_string_format_r_single_s.string, print->to, print->notable, fake_build_language_bash_s, print->notable);
- fl_print_format("%[', '%]", print->to, print->context, print->context);
- fl_print_format(f_string_format_r_single_s.string, print->to, print->notable, fake_build_language_c_s, print->notable);
- fl_print_format("%[', or '%]", print->to, print->context, print->context);
- fl_print_format(f_string_format_r_single_s.string, print->to, print->notable, fake_build_language_cpp_s, print->notable);
- fl_print_format("%[', defaulting to '%]", print->to, print->context, print->context);
- fl_print_format(f_string_format_r_single_s.string, print->to, print->notable, default_to, print->notable);
- fl_print_format("%['.%]%r", print->to, print->context, print->context, f_string_eol_s);
-
- f_file_stream_unlock(print->to);
-
- return F_okay;
- }
-#endif // _di_fake_build_print_warning_setting_language_may_only_be_
-
#ifndef _di_fake_build_print_warning_setting_required_default_to_
f_status_t fake_build_print_warning_setting_required_default_to(fl_print_t * const print, const f_string_static_t name, const f_string_static_t path, const f_string_static_t default_to) {
#endif // _di_fake_build_print_error_settings_both_cannot_using_language_
/**
- * Print warning message that the setting may only be from a specific set of allowed language values.
- *
- * @param print
- * The output structure to print to.
- *
- * This requires print.custom to be fake_main_t.
- *
- * This does not alter print.custom.setting.state.status.
- * @param name
- * The name for the setting.
- * @param path
- * The path to the setting file.
- * @param default_to
- * The value being defaulted to.
- *
- * @return
- * F_okay on success.
- * F_output_not on success, but no printing is performed.
- *
- * @see f_file_stream_lock()
- * @see f_file_stream_unlock()
- * @see fl_print_format()
- */
-#ifndef _di_fake_build_print_warning_setting_language_may_only_be_
- extern f_status_t fake_build_print_warning_setting_language_may_only_be(fl_print_t * const print, const f_string_static_t name, const f_string_static_t path, const f_string_static_t default_to);
-#endif // _di_fake_build_print_warning_setting_language_may_only_be_
-
-/**
* Print warning message regarding two parameters being both false when using a given language.
*
* @param print
fake_string_dynamics_reset(&main->cache_arguments);
+ uint8_t i = 0;
+
+ {
+ f_number_unsigned_t j = 0;
+
+ f_string_statics_t * const values[] = {
+ &data_build->setting.build_compiler_arguments,
+ &data_build->setting.build_compiler_arguments_shared,
+ &data_build->setting.build_compiler_arguments_program,
+ &data_build->setting.build_compiler_arguments_program_shared,
+ };
+
+ for (i = 0; i < 4; ++i) {
+
+ for (j = 0; j < values[i]->used; ++j) {
+
+ if (!values[i]->array[j].used) continue;
+
+ main->setting.state.status = fll_execute_arguments_add(values[i]->array[j], &main->cache_arguments);
+ if (F_status_is_error(main->setting.state.status)) break;
+ } // for
+
+ if (F_status_is_error(main->setting.state.status)) {
+ fake_print_error(&main->program.error, macro_fake_f(fll_execute_arguments_add));
+
+ break;
+ }
+ } // for
+ }
+
fake_build_objects_add(data, data_build, &data->path_build_objects_shared, &data_build->setting.build_objects_program, &data_build->setting.build_objects_program_shared);
if (F_status_is_error(main->setting.state.status)) {
}
if (F_status_is_error_not(main->setting.state.status)) {
- fake_string_dynamic_reset(&main->cache_argument);
+ if (data_build->setting.language == fake_build_language_c_e || data_build->setting.language == fake_build_language_cpp_e) {
+ fake_string_dynamic_reset(&main->cache_argument);
- main->setting.state.status = f_string_dynamic_append_nulless(data->path_build_programs_shared, &main->cache_argument);
+ main->setting.state.status = f_string_dynamic_append_nulless(data->path_build_programs_shared, &main->cache_argument);
- if (F_status_is_error_not(main->setting.state.status)) {
- main->setting.state.status = f_string_dynamic_append_nulless(data_build->setting.build_name, &main->cache_argument);
- }
+ if (F_status_is_error_not(main->setting.state.status)) {
+ main->setting.state.status = f_string_dynamic_append_nulless(data_build->setting.build_name, &main->cache_argument);
+ }
- if (F_status_is_error(main->setting.state.status)) {
- fake_print_error(&main->program.error, macro_fake_f(f_string_dynamic_append_nulless));
+ if (F_status_is_error(main->setting.state.status)) {
+ fake_print_error(&main->program.error, macro_fake_f(f_string_dynamic_append_nulless));
- return 0;
- }
+ return 0;
+ }
- const f_string_static_t values[] = {
- fake_build_parameter_library_output_s,
- main->cache_argument,
- };
+ const f_string_static_t values[] = {
+ fake_build_parameter_library_output_s,
+ main->cache_argument,
+ };
- for (uint8_t i = 0; i < 2; ++i) {
+ for (i = 0; i < 2; ++i) {
- if (!values[i].used) continue;
+ if (!values[i].used) continue;
- main->setting.state.status = fll_execute_arguments_add(values[i], &main->cache_arguments);
- if (F_status_is_error(main->setting.state.status)) break;
- } // for
+ main->setting.state.status = fll_execute_arguments_add(values[i], &main->cache_arguments);
+ if (F_status_is_error(main->setting.state.status)) break;
+ } // for
+ }
}
// If project-specific library sources exist, then the -lbuild_name needs to be added to the arguments.
fake_string_dynamics_reset(&main->cache_arguments);
+ {
+ f_number_unsigned_t j = 0;
+
+ f_string_statics_t * const values[] = {
+ &data_build->setting.build_compiler_arguments,
+ &data_build->setting.build_compiler_arguments_static,
+ &data_build->setting.build_compiler_arguments_program,
+ &data_build->setting.build_compiler_arguments_program_static,
+ };
+
+ for (uint8_t i = 0; i < 4; ++i) {
+
+ for (j = 0; j < values[i]->used; ++j) {
+
+ if (!values[i]->array[j].used) continue;
+
+ main->setting.state.status = fll_execute_arguments_add(values[i]->array[j], &main->cache_arguments);
+ if (F_status_is_error(main->setting.state.status)) break;
+ } // for
+
+ if (F_status_is_error(main->setting.state.status)) {
+ fake_print_error(&main->program.error, macro_fake_f(fll_execute_arguments_add));
+
+ break;
+ }
+ } // for
+ }
+
fake_build_objects_add(data, data_build, &data->path_build_objects_static, &data_build->setting.build_objects_program, &data_build->setting.build_objects_program_static);
if (F_status_is_error(main->setting.state.status)) {
return 0;
}
- if (F_status_is_error_not(main->setting.state.status)) {
+ if (data_build->setting.language == fake_build_language_c_e || data_build->setting.language == fake_build_language_cpp_e) {
+ if (F_status_is_error_not(main->setting.state.status)) {
- // Only include the library if there are sources that would result in it being built.
- if (data_build->setting.build_sources_library.used || data_build->setting.build_sources_library_static.used) {
- fake_string_dynamic_reset(&main->cache_argument);
+ // Only include the library if there are sources that would result in it being built.
+ if (data_build->setting.build_sources_library.used || data_build->setting.build_sources_library_static.used) {
+ fake_string_dynamic_reset(&main->cache_argument);
- main->setting.state.status = f_string_dynamic_append_nulless(data->path_build_libraries_static, &main->cache_argument);
+ main->setting.state.status = f_string_dynamic_append_nulless(data->path_build_libraries_static, &main->cache_argument);
- if (F_status_is_error_not(main->setting.state.status)) {
- main->setting.state.status = f_string_dynamic_append_nulless(fake_build_parameter_library_name_prefix_s, &main->cache_argument);
+ if (F_status_is_error_not(main->setting.state.status)) {
+ main->setting.state.status = f_string_dynamic_append_nulless(fake_build_parameter_library_name_prefix_s, &main->cache_argument);
+ }
+
+ if (F_status_is_error_not(main->setting.state.status)) {
+ main->setting.state.status = f_string_dynamic_append_nulless(data_build->setting.build_name, &main->cache_argument);
+ }
+
+ if (F_status_is_error_not(main->setting.state.status)) {
+ main->setting.state.status = f_string_dynamic_append_nulless(fake_build_parameter_library_name_suffix_static_s, &main->cache_argument);
+ }
+
+ if (F_status_is_error(main->setting.state.status)) {
+ fake_print_error(&main->program.error, macro_fake_f(f_string_dynamic_append_nulless));
+
+ return 0;
+ }
+
+ main->setting.state.status = fll_execute_arguments_add(main->cache_argument, &main->cache_arguments);
+
+ if (F_status_is_error(main->setting.state.status)) {
+ fake_print_error(&main->program.error, macro_fake_f(fll_execute_arguments_add));
+
+ return 0;
+ }
}
+ main->setting.state.status = fll_execute_arguments_add(fake_build_parameter_library_static_s, &main->cache_arguments);
+
if (F_status_is_error_not(main->setting.state.status)) {
- main->setting.state.status = f_string_dynamic_append_nulless(data_build->setting.build_name, &main->cache_argument);
+ main->setting.state.status = fll_execute_arguments_add(fake_build_parameter_library_output_s, &main->cache_arguments);
}
+ if (F_status_is_error(main->setting.state.status)) {
+ fake_print_error(&main->program.error, macro_fake_f(fll_execute_arguments_add));
+
+ return 0;
+ }
+
+ fake_string_dynamic_reset(&main->cache_argument);
+
+ main->setting.state.status = f_string_dynamic_append_nulless(data->path_build_programs_static, &main->cache_argument);
+
if (F_status_is_error_not(main->setting.state.status)) {
- main->setting.state.status = f_string_dynamic_append_nulless(fake_build_parameter_library_name_suffix_static_s, &main->cache_argument);
+ main->setting.state.status = f_string_dynamic_append_nulless(data_build->setting.build_name, &main->cache_argument);
}
if (F_status_is_error(main->setting.state.status)) {
return 0;
}
}
-
- main->setting.state.status = fll_execute_arguments_add(fake_build_parameter_library_static_s, &main->cache_arguments);
-
- if (F_status_is_error_not(main->setting.state.status)) {
- main->setting.state.status = fll_execute_arguments_add(fake_build_parameter_library_output_s, &main->cache_arguments);
- }
-
- if (F_status_is_error(main->setting.state.status)) {
- fake_print_error(&main->program.error, macro_fake_f(fll_execute_arguments_add));
-
- return 0;
- }
-
- fake_string_dynamic_reset(&main->cache_argument);
-
- main->setting.state.status = f_string_dynamic_append_nulless(data->path_build_programs_static, &main->cache_argument);
-
- if (F_status_is_error_not(main->setting.state.status)) {
- main->setting.state.status = f_string_dynamic_append_nulless(data_build->setting.build_name, &main->cache_argument);
- }
-
- if (F_status_is_error(main->setting.state.status)) {
- fake_print_error(&main->program.error, macro_fake_f(f_string_dynamic_append_nulless));
-
- return 0;
- }
-
- main->setting.state.status = fll_execute_arguments_add(main->cache_argument, &main->cache_arguments);
-
- if (F_status_is_error(main->setting.state.status)) {
- fake_print_error(&main->program.error, macro_fake_f(fll_execute_arguments_add));
-
- return 0;
- }
}
// The cache_argument should be safe at this point to be reset and reused by this function.
#endif // _di_fake_build_s_
#ifndef _di_fake_build_language_s_
- const f_string_static_t fake_build_language_bash_s = macro_f_string_static_t_initialize_1(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_1(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_1(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_1(FAKE_build_language_zsh_s, 0, FAKE_build_language_zsh_s_length);
+ const f_string_static_t fake_build_language_custom_s = macro_f_string_static_t_initialize_1(FAKE_build_language_custom_s, 0, FAKE_build_language_custom_s_length);
+ const f_string_static_t fake_build_language_golang_s = macro_f_string_static_t_initialize_1(FAKE_build_language_golang_s, 0, FAKE_build_language_golang_s_length);
+ const f_string_static_t fake_build_language_shell_s = macro_f_string_static_t_initialize_1(FAKE_build_language_shell_s, 0, FAKE_build_language_shell_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_1(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_1(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_1(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_1(FAKE_build_version_nano_s, 0, FAKE_build_version_nano_s_length);
-#endif // _di_fake_build_version_s_
+#ifndef _di_fake_build_parameter_
+ const f_string_static_t fake_build_parameter_library_include_s = macro_f_string_static_t_initialize_1(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_1(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_1(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_1(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_1(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_1(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_1(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_1(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_1(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_1(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_1(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_1(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_1(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_1(FAKE_build_parameter_object_static_s, 0, FAKE_build_parameter_object_static_s_length);
+#endif // _di_fake_build_parameter_
#ifndef _di_fake_build_setting_t_
const f_string_static_t fake_build_setting_default_ar_s = macro_f_string_static_t_initialize_1(FAKE_build_setting_default_ar_s, 0, FAKE_build_setting_default_ar_s_length);
const f_string_static_t fake_build_setting_default_yes_s = macro_f_string_static_t_initialize_1(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_1(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_compiler_arguments_s = macro_f_string_static_t_initialize_1(FAKE_build_setting_name_build_compiler_arguments_s, 0, FAKE_build_setting_name_build_compiler_arguments_s_length);
+ const f_string_static_t fake_build_setting_name_build_compiler_arguments_shared_s = macro_f_string_static_t_initialize_1(FAKE_build_setting_name_build_compiler_arguments_shared_s, 0, FAKE_build_setting_name_build_compiler_arguments_shared_s_length);
+ const f_string_static_t fake_build_setting_name_build_compiler_arguments_static_s = macro_f_string_static_t_initialize_1(FAKE_build_setting_name_build_compiler_arguments_static_s, 0, FAKE_build_setting_name_build_compiler_arguments_static_s_length);
+ const f_string_static_t fake_build_setting_name_build_compiler_arguments_library_s = macro_f_string_static_t_initialize_1(FAKE_build_setting_name_build_compiler_arguments_library_s, 0, FAKE_build_setting_name_build_compiler_arguments_library_s_length);
+ const f_string_static_t fake_build_setting_name_build_compiler_arguments_library_shared_s = macro_f_string_static_t_initialize_1(FAKE_build_setting_name_build_compiler_arguments_library_shared_s, 0, FAKE_build_setting_name_build_compiler_arguments_library_shared_s_length);
+ const f_string_static_t fake_build_setting_name_build_compiler_arguments_library_static_s = macro_f_string_static_t_initialize_1(FAKE_build_setting_name_build_compiler_arguments_library_static_s, 0, FAKE_build_setting_name_build_compiler_arguments_library_static_s_length);
+ const f_string_static_t fake_build_setting_name_build_compiler_arguments_object_s = macro_f_string_static_t_initialize_1(FAKE_build_setting_name_build_compiler_arguments_object_s, 0, FAKE_build_setting_name_build_compiler_arguments_object_s_length);
+ const f_string_static_t fake_build_setting_name_build_compiler_arguments_object_shared_s = macro_f_string_static_t_initialize_1(FAKE_build_setting_name_build_compiler_arguments_object_shared_s, 0, FAKE_build_setting_name_build_compiler_arguments_object_shared_s_length);
+ const f_string_static_t fake_build_setting_name_build_compiler_arguments_object_static_s = macro_f_string_static_t_initialize_1(FAKE_build_setting_name_build_compiler_arguments_object_static_s, 0, FAKE_build_setting_name_build_compiler_arguments_object_static_s_length);
+ const f_string_static_t fake_build_setting_name_build_compiler_arguments_program_s = macro_f_string_static_t_initialize_1(FAKE_build_setting_name_build_compiler_arguments_program_s, 0, FAKE_build_setting_name_build_compiler_arguments_program_s_length);
+ const f_string_static_t fake_build_setting_name_build_compiler_arguments_program_shared_s = macro_f_string_static_t_initialize_1(FAKE_build_setting_name_build_compiler_arguments_program_shared_s, 0, FAKE_build_setting_name_build_compiler_arguments_program_shared_s_length);
+ const f_string_static_t fake_build_setting_name_build_compiler_arguments_program_static_s = macro_f_string_static_t_initialize_1(FAKE_build_setting_name_build_compiler_arguments_program_static_s, 0, FAKE_build_setting_name_build_compiler_arguments_program_static_s_length);
const f_string_static_t fake_build_setting_name_build_indexer_s = macro_f_string_static_t_initialize_1(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_1(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_1(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_language_path_s = macro_f_string_static_t_initialize_1(FAKE_build_setting_name_build_language_path_s, 0, FAKE_build_setting_name_build_language_path_s_length);
const f_string_static_t fake_build_setting_name_build_libraries_s = macro_f_string_static_t_initialize_1(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_1(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_1(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_stage_sources_settings_s = macro_f_string_static_t_initialize_1(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_1(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_1(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_1(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_1(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_1(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_1(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_1(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_1(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_1(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_1(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_1(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_1(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_1(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_1(FAKE_build_parameter_object_static_s, 0, FAKE_build_parameter_object_static_s_length);
-#endif // _di_fake_build_parameter_
+#ifndef _di_fake_build_version_s_
+ const f_string_static_t fake_build_version_major_s = macro_f_string_static_t_initialize_1(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_1(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_1(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_1(FAKE_build_version_nano_s, 0, FAKE_build_version_nano_s_length);
+#endif // _di_fake_build_version_s_
#ifdef __cplusplus
} // extern "C"
* 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).
+ * - c: The C language.
+ * - cpp: The C++ language.
+ * - custom: Any other langauge.
+ * - golang: The Golang language.
+ * - shell: A shell scripting language such as GNU Bash or Zsh
*/
#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_c_s "c"
+ #define FAKE_build_language_cpp_s "c++"
+ #define FAKE_build_language_custom_s "custom"
+ #define FAKE_build_language_golang_s "golang"
+ #define FAKE_build_language_shell_s "shell"
- #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
+ #define FAKE_build_language_c_s_length 1
+ #define FAKE_build_language_cpp_s_length 3
+ #define FAKE_build_language_custom_s_length 6
+ #define FAKE_build_language_golang_s_length 6
+ #define FAKE_build_language_shell_s_length 5
- 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;
+ extern const f_string_static_t fake_build_language_custom_s;
+ extern const f_string_static_t fake_build_language_golang_s;
+ extern const f_string_static_t fake_build_language_shell_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"
+#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_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
+ #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_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_
+ 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_build_setting_s_
#define FAKE_build_setting_default_ar_s "ar"
#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_headers_s "path_sources_headers"
- #define FAKE_build_setting_name_path_sources_library_s "path_sources_library"
- #define FAKE_build_setting_name_path_sources_object_s "path_sources_object"
- #define FAKE_build_setting_name_path_sources_program_s "path_sources_program"
- #define FAKE_build_setting_name_path_sources_script_s "path_sources_script"
- #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_stage_s "stage"
- #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_name_build_compiler_s "build_compiler"
+ #define FAKE_build_setting_name_build_compiler_arguments_s "build_compiler_arguments"
+ #define FAKE_build_setting_name_build_compiler_arguments_shared_s "build_compiler_arguments_shared"
+ #define FAKE_build_setting_name_build_compiler_arguments_static_s "build_compiler_arguments_static"
+ #define FAKE_build_setting_name_build_compiler_arguments_library_s "build_compiler_arguments_library"
+ #define FAKE_build_setting_name_build_compiler_arguments_library_shared_s "build_compiler_arguments_library_shared"
+ #define FAKE_build_setting_name_build_compiler_arguments_library_static_s "build_compiler_arguments_library_static"
+ #define FAKE_build_setting_name_build_compiler_arguments_object_s "build_compiler_arguments_object"
+ #define FAKE_build_setting_name_build_compiler_arguments_object_shared_s "build_compiler_arguments_object_shared"
+ #define FAKE_build_setting_name_build_compiler_arguments_object_static_s "build_compiler_arguments_object_static"
+ #define FAKE_build_setting_name_build_compiler_arguments_program_s "build_compiler_arguments_program"
+ #define FAKE_build_setting_name_build_compiler_arguments_program_shared_s "build_compiler_arguments_program_shared"
+ #define FAKE_build_setting_name_build_compiler_arguments_program_static_s "build_compiler_arguments_program_static"
+ #define FAKE_build_setting_name_build_indexer_s "build_indexer"
+ #define FAKE_build_setting_name_build_indexer_arguments_s "build_indexer_arguments"
+ #define FAKE_build_setting_name_build_language_s "build_language"
+ #define FAKE_build_setting_name_build_language_path_s "build_language_path"
+ #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_headers_s "path_sources_headers"
+ #define FAKE_build_setting_name_path_sources_library_s "path_sources_library"
+ #define FAKE_build_setting_name_path_sources_object_s "path_sources_object"
+ #define FAKE_build_setting_name_path_sources_program_s "path_sources_program"
+ #define FAKE_build_setting_name_path_sources_script_s "path_sources_script"
+ #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_stage_s "stage"
+ #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_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_headers_s_length 20
- #define FAKE_build_setting_name_path_sources_library_s_length 20
- #define FAKE_build_setting_name_path_sources_object_s_length 19
- #define FAKE_build_setting_name_path_sources_program_s_length 20
- #define FAKE_build_setting_name_path_sources_script_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_stage_s_length 5
- #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
+ #define FAKE_build_setting_name_build_compiler_s_length 14
+ #define FAKE_build_setting_name_build_compiler_arguments_s_length 24
+ #define FAKE_build_setting_name_build_compiler_arguments_shared_s_length 31
+ #define FAKE_build_setting_name_build_compiler_arguments_static_s_length 31
+ #define FAKE_build_setting_name_build_compiler_arguments_library_s_length 32
+ #define FAKE_build_setting_name_build_compiler_arguments_library_shared_s_length 39
+ #define FAKE_build_setting_name_build_compiler_arguments_library_static_s_length 39
+ #define FAKE_build_setting_name_build_compiler_arguments_object_s_length 31
+ #define FAKE_build_setting_name_build_compiler_arguments_object_shared_s_length 38
+ #define FAKE_build_setting_name_build_compiler_arguments_object_static_s_length 38
+ #define FAKE_build_setting_name_build_compiler_arguments_program_s_length 32
+ #define FAKE_build_setting_name_build_compiler_arguments_program_shared_s_length 39
+ #define FAKE_build_setting_name_build_compiler_arguments_program_static_s_length 39
+ #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_language_path_s_length 19
+ #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_headers_s_length 20
+ #define FAKE_build_setting_name_path_sources_library_s_length 20
+ #define FAKE_build_setting_name_path_sources_object_s_length 19
+ #define FAKE_build_setting_name_path_sources_program_s_length 20
+ #define FAKE_build_setting_name_path_sources_script_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_stage_s_length 5
+ #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_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_compiler_arguments_s;
+ extern const f_string_static_t fake_build_setting_name_build_compiler_arguments_shared_s;
+ extern const f_string_static_t fake_build_setting_name_build_compiler_arguments_static_s;
+ extern const f_string_static_t fake_build_setting_name_build_compiler_arguments_library_s;
+ extern const f_string_static_t fake_build_setting_name_build_compiler_arguments_library_shared_s;
+ extern const f_string_static_t fake_build_setting_name_build_compiler_arguments_library_static_s;
+ extern const f_string_static_t fake_build_setting_name_build_compiler_arguments_object_s;
+ extern const f_string_static_t fake_build_setting_name_build_compiler_arguments_object_shared_s;
+ extern const f_string_static_t fake_build_setting_name_build_compiler_arguments_object_static_s;
+ extern const f_string_static_t fake_build_setting_name_build_compiler_arguments_program_s;
+ extern const f_string_static_t fake_build_setting_name_build_compiler_arguments_program_shared_s;
+ extern const f_string_static_t fake_build_setting_name_build_compiler_arguments_program_static_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_language_path_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_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"
+/**
+ * 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_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
+ #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_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_
+ 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_
#ifdef __cplusplus
} // extern "C"
main->setting.state.status = f_directory_remove(main->setting.build, F_directory_max_descriptors_d, F_true);
}
- if (F_status_set_fine(main->setting.state.status) == F_file_found_not || F_status_set_fine(main->setting.state.status) == F_directory) {
- fake_print_warning_build_directory_not_directory(&main->program.warning, main->setting.build);
+ if (F_status_set_fine(main->setting.state.status) == F_file_found_not) {
+ fake_print_debug_build_directory_not_found(&main->program.warning, main->setting.build);
main->setting.state.status = F_okay;
}
+ else if (F_status_set_fine(main->setting.state.status) == F_directory_not) {
+ fake_print_warning_build_directory_not_directory(&main->program.warning, main->setting.build);
- if (F_status_is_error(main->setting.state.status)) {
+ main->setting.state.status = F_okay;
+ }
+ else if (F_status_is_error(main->setting.state.status)) {
fake_print_error_file(&main->program.error, macro_fake_f(f_directory_remove), main->setting.build, f_file_operation_delete_s, fll_error_file_type_directory_e);
}
else {
const f_string_static_t fake_path_part_data_s = macro_f_string_static_t_initialize_1(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_1(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_1(FAKE_path_part_documents_s, 0, FAKE_path_part_documents_s_length);
+ const f_string_static_t fake_path_part_golang_s = macro_f_string_static_t_initialize_1(FAKE_path_part_golang_s, 0, FAKE_path_part_golang_s_length);
const f_string_static_t fake_path_part_includes_s = macro_f_string_static_t_initialize_1(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_1(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_1(FAKE_path_part_licenses_s, 0, FAKE_path_part_licenses_s_length);
#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_golang_s "golang" 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_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_golang_s_length 6 + 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
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_golang_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;
f_memory_array_resize(0, sizeof(f_char_t), (void **) &build_setting->build_compiler.string, &build_setting->build_compiler.used, &build_setting->build_compiler.size);
f_memory_array_resize(0, sizeof(f_char_t), (void **) &build_setting->build_indexer.string, &build_setting->build_indexer.used, &build_setting->build_indexer.size);
+ f_memory_array_resize(0, sizeof(f_char_t), (void **) &build_setting->build_language.string, &build_setting->build_language.used, &build_setting->build_language.size);f_memory_array_resize(0, sizeof(f_char_t), (void **) &build_setting->build_compiler.string, &build_setting->build_compiler.used, &build_setting->build_compiler.size);
+ f_memory_array_resize(0, sizeof(f_char_t), (void **) &build_setting->build_language_path.string, &build_setting->build_language_path.used, &build_setting->build_language_path.size);
f_memory_array_resize(0, sizeof(f_char_t), (void **) &build_setting->build_name.string, &build_setting->build_name.used, &build_setting->build_name.size);
f_memory_array_resize(0, sizeof(f_char_t), (void **) &build_setting->path_headers.string, &build_setting->path_headers.used, &build_setting->path_headers.size);
f_memory_array_resize(0, sizeof(f_char_t), (void **) &build_setting->path_language.string, &build_setting->path_language.used, &build_setting->path_language.size);
f_memory_array_resize(0, sizeof(f_char_t), (void **) &build_setting->version_nano.string, &build_setting->version_nano.used, &build_setting->version_nano.size);
f_memory_array_resize(0, sizeof(f_char_t), (void **) &build_setting->version_nano_prefix.string, &build_setting->version_nano_prefix.used, &build_setting->version_nano_prefix.size);
+ f_memory_arrays_resize(0, sizeof(f_string_dynamic_t), (void **) &build_setting->build_compiler_arguments.array, &build_setting->build_compiler_arguments.used, &build_setting->build_compiler_arguments.size, &f_string_dynamics_delete_callback);
+ f_memory_arrays_resize(0, sizeof(f_string_dynamic_t), (void **) &build_setting->build_compiler_arguments_shared.array, &build_setting->build_compiler_arguments_shared.used, &build_setting->build_compiler_arguments_shared.size, &f_string_dynamics_delete_callback);
+ f_memory_arrays_resize(0, sizeof(f_string_dynamic_t), (void **) &build_setting->build_compiler_arguments_static.array, &build_setting->build_compiler_arguments_static.used, &build_setting->build_compiler_arguments_static.size, &f_string_dynamics_delete_callback);
+ f_memory_arrays_resize(0, sizeof(f_string_dynamic_t), (void **) &build_setting->build_compiler_arguments_library.array, &build_setting->build_compiler_arguments_library.used, &build_setting->build_compiler_arguments_library.size, &f_string_dynamics_delete_callback);
+ f_memory_arrays_resize(0, sizeof(f_string_dynamic_t), (void **) &build_setting->build_compiler_arguments_library_shared.array, &build_setting->build_compiler_arguments_library_shared.used, &build_setting->build_compiler_arguments_library_shared.size, &f_string_dynamics_delete_callback);
+ f_memory_arrays_resize(0, sizeof(f_string_dynamic_t), (void **) &build_setting->build_compiler_arguments_library_static.array, &build_setting->build_compiler_arguments_library_static.used, &build_setting->build_compiler_arguments_library_static.size, &f_string_dynamics_delete_callback);
+ f_memory_arrays_resize(0, sizeof(f_string_dynamic_t), (void **) &build_setting->build_compiler_arguments_object.array, &build_setting->build_compiler_arguments_object.used, &build_setting->build_compiler_arguments_object.size, &f_string_dynamics_delete_callback);
+ f_memory_arrays_resize(0, sizeof(f_string_dynamic_t), (void **) &build_setting->build_compiler_arguments_object_shared.array, &build_setting->build_compiler_arguments_object_shared.used, &build_setting->build_compiler_arguments_object_shared.size, &f_string_dynamics_delete_callback);
+ f_memory_arrays_resize(0, sizeof(f_string_dynamic_t), (void **) &build_setting->build_compiler_arguments_object_static.array, &build_setting->build_compiler_arguments_object_static.used, &build_setting->build_compiler_arguments_object_static.size, &f_string_dynamics_delete_callback);
+ f_memory_arrays_resize(0, sizeof(f_string_dynamic_t), (void **) &build_setting->build_compiler_arguments_program.array, &build_setting->build_compiler_arguments_program.used, &build_setting->build_compiler_arguments_program.size, &f_string_dynamics_delete_callback);
+ f_memory_arrays_resize(0, sizeof(f_string_dynamic_t), (void **) &build_setting->build_compiler_arguments_program_shared.array, &build_setting->build_compiler_arguments_program_shared.used, &build_setting->build_compiler_arguments_program_shared.size, &f_string_dynamics_delete_callback);
+ f_memory_arrays_resize(0, sizeof(f_string_dynamic_t), (void **) &build_setting->build_compiler_arguments_program_static.array, &build_setting->build_compiler_arguments_program_static.used, &build_setting->build_compiler_arguments_program_static.size, &f_string_dynamics_delete_callback);
f_memory_arrays_resize(0, sizeof(f_string_dynamic_t), (void **) &build_setting->build_indexer_arguments.array, &build_setting->build_indexer_arguments.used, &build_setting->build_indexer_arguments.size, &f_string_dynamics_delete_callback);
f_memory_arrays_resize(0, sizeof(f_string_dynamic_t), (void **) &build_setting->build_libraries.array, &build_setting->build_libraries.used, &build_setting->build_libraries.size, &f_string_dynamics_delete_callback);
f_memory_arrays_resize(0, sizeof(f_string_dynamic_t), (void **) &build_setting->build_libraries_shared.array, &build_setting->build_libraries_shared.used, &build_setting->build_libraries_shared.size, &f_string_dynamics_delete_callback);
* Build settings data.
*
* Properties:
- * - flag: Flags from data_build_setting_* (Not strictly part of the build settings file and is not included in fake_build_setting_total_d).
+ * - flag: Flags from data_build_setting_*_e (Not strictly part of the build settings file and is not included in fake_build_setting_total_d).
*
- * - build_language: The build_language setting.
+ * - language: The build_language setting as an enum.
*
- * - version_file: The version_file setting.
- * - version_target: The version_target 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.
+ * - 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.
+ * - 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.
+ * - 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.
- * - 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_headers: The path_sources_headers setting.
- * - path_sources_library: The path_sources_library setting.
- * - path_sources_object: The path_sources_object setting.
- * - path_sources_program: The path_sources_program setting.
- * - path_sources_script: The path_sources_script setting.
- * - process_post: The process_post setting.
- * - process_pre: The process_pre setting.
- * - stage: The stage 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_compiler: The build_compiler setting.
+ * - build_indexer: The build_indexer setting.
+ * - build_language: The build_language setting.
+ * - build_language_path: The build_language_path setting.
+ * - build_name: The build_name 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_headers: The path_sources_headers setting.
+ * - path_sources_library: The path_sources_library setting.
+ * - path_sources_object: The path_sources_object setting.
+ * - path_sources_program: The path_sources_program setting.
+ * - path_sources_script: The path_sources_script setting.
+ * - process_post: The process_post setting.
+ * - process_pre: The process_pre setting.
+ * - stage: The stage 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_object: The build_sources_library setting.
- * - build_sources_object_shared: The build_sources_library_shared setting.
- * - build_sources_object_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.
+ * - build_compiler_arguments: The build_compiler_arguments setting.
+ * - build_compiler_arguments_shared: The build_compiler_arguments_shared setting.
+ * - build_compiler_arguments_static: The build_compiler_arguments_static setting.
+ * - build_compiler_arguments_library: The build_compiler_arguments_library setting.
+ * - build_compiler_arguments_library_shared: The build_compiler_arguments_library_shared setting.
+ * - build_compiler_arguments_library_static: The build_compiler_arguments_library_static setting.
+ * - build_compiler_arguments_object: The build_compiler_arguments_object setting.
+ * - build_compiler_arguments_object_shared: The build_compiler_arguments_object_shared setting.
+ * - build_compiler_arguments_object_static: The build_compiler_arguments_object_static setting.
+ * - build_compiler_arguments_program: The build_compiler_arguments_program setting.
+ * - build_compiler_arguments_program_shared: The build_compiler_arguments_program_shared setting.
+ * - build_compiler_arguments_program_static: The build_compiler_arguments_program_static 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_object: The build_sources_library setting.
+ * - build_sources_object_shared: The build_sources_library_shared setting.
+ * - build_sources_object_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 language;
uint8_t version_file;
uint8_t version_target;
f_string_dynamic_t build_compiler;
f_string_dynamic_t build_indexer;
+ f_string_dynamic_t build_language;
+ f_string_dynamic_t build_language_path;
f_string_dynamic_t build_name;
f_string_dynamic_t path_headers;
f_string_dynamic_t path_language;
f_string_dynamic_t version_nano;
f_string_dynamic_t version_nano_prefix;
+ f_string_dynamics_t build_compiler_arguments;
+ f_string_dynamics_t build_compiler_arguments_shared;
+ f_string_dynamics_t build_compiler_arguments_static;
+ f_string_dynamics_t build_compiler_arguments_library;
+ f_string_dynamics_t build_compiler_arguments_library_shared;
+ f_string_dynamics_t build_compiler_arguments_library_static;
+ f_string_dynamics_t build_compiler_arguments_object;
+ f_string_dynamics_t build_compiler_arguments_object_shared;
+ f_string_dynamics_t build_compiler_arguments_object_static;
+ f_string_dynamics_t build_compiler_arguments_program;
+ f_string_dynamics_t build_compiler_arguments_program_shared;
+ f_string_dynamics_t build_compiler_arguments_program_static;
f_string_dynamics_t build_indexer_arguments;
f_string_dynamics_t build_libraries;
f_string_dynamics_t build_libraries_shared;
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, \
}
- #define fake_build_setting_total_d 94
+ #define fake_build_setting_total_d 107
#endif // _di_fake_build_setting_t_
/**
#include <program/fake/main/make/print/warning.h>
#include <program/fake/main/print/common.h>
#include <program/fake/main/print/context.h>
+#include <program/fake/main/print/debug.h>
#include <program/fake/main/print/error.h>
#include <program/fake/main/print/message.h>
#include <program/fake/main/print/operation.h>
};
const uint8_t uint8_value[] = {
- data_make->setting_build.build_language,
+ data_make->setting_build.language,
data_make->setting_build.version_file,
data_make->setting_build.version_target,
};
if (unmatched) {
const f_string_static_t dynamic_name[] = {
fake_build_setting_name_build_compiler_s,
+ // @todo
fake_build_setting_name_build_indexer_s,
fake_build_setting_name_build_name_s,
fake_build_setting_name_path_headers_s,
--- /dev/null
+#include "../fake.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifndef _di_fake_print_debug_build_directory_not_found_
+ f_status_t fake_print_debug_build_directory_not_found(fl_print_t * const print, f_string_static_t path) {
+
+ if (!print) return F_status_set_error(F_output_not);
+ if (print->verbosity < f_console_verbosity_verbose_e) return F_output_not;
+
+ fake_print_context_wrapped_variable(print, "The build directory ", path, " exists but is not a directory");
+
+ return F_okay;
+ }
+#endif // _di_fake_print_debug_build_directory_not_found_
+
+#ifdef __cplusplus
+} // extern "C"
+#endif
--- /dev/null
+/**
+ * FLL - Level 3
+ *
+ * Project: Featureless Make
+ * API Version: 0.7
+ * Licenses: lgpl-2.1-or-later
+ *
+ * Provides the print debug functionality.
+ *
+ * This is auto-included and should not need to be explicitly included.
+ */
+#ifndef _fake_print_debug_h
+#define _fake_print_debug_h
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * Print debug message about the build directory not being found.
+ *
+ * @param print
+ * The output structure to print to.
+ *
+ * This requires print.custom to be fake_main_t.
+ *
+ * This does not alter print.custom.setting.state.status.
+ * @param path
+ * The path of the build directory.
+ *
+ * @return
+ * F_okay on success.
+ * F_output_not on success, but no printing is performed.
+ *
+ * F_output_not (with error bit) if setting is NULL.
+ *
+ * @see fake_print_context_wrapped_variable()
+ */
+#ifndef _di_fake_print_debug_build_directory_not_found_
+ extern f_status_t fake_print_debug_build_directory_not_found(fl_print_t * const print, f_string_static_t path);
+#endif // _di_fake_print_debug_build_directory_not_found_
+
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
+#endif // _fake_print_debug_h
{
f_string_static_t sources = f_string_static_t_initialize;
- f_string_static_t sources_bash = f_string_static_t_initialize;
f_string_static_t sources_c = f_string_static_t_initialize;
f_string_static_t sources_cpp = f_string_static_t_initialize;
+ f_string_static_t sources_golang = f_string_static_t_initialize;
f_string_static_t sources_script = f_string_static_t_initialize;
+ f_string_static_t sources_shell = f_string_static_t_initialize;
fake_skeleton_path_source_length(data, &f_string_empty_s, &sources);
fake_skeleton_path_source_length(data, &fake_path_part_c_s, &sources_c);
fake_skeleton_path_source_length(data, &fake_path_part_cpp_s, &sources_cpp);
+ fake_skeleton_path_source_length(data, &fake_path_part_golang_s, &sources_golang);
fake_skeleton_path_source_length(data, &fake_path_part_script_s, &sources_script);
- fake_skeleton_path_source_length(data, &fake_path_part_shell_s, &sources_bash);
+ fake_skeleton_path_source_length(data, &fake_path_part_shell_s, &sources_shell);
f_char_t sources_string[sources.used + 1];
- f_char_t sources_bash_string[sources_bash.used + 1];
f_char_t sources_c_string[sources_c.used + 1];
f_char_t sources_cpp_string[sources_cpp.used + 1];
+ f_char_t sources_golang_string[sources_golang.used + 1];
f_char_t sources_script_string[sources_script.used + 1];
+ f_char_t sources_shell_string[sources_shell.used + 1];
sources.string = sources_string;
- sources_bash.string = sources_bash_string;
sources_c.string = sources_c_string;
sources_cpp.string = sources_cpp_string;
+ sources_golang.string = sources_golang_string;
sources_script.string = sources_script_string;
+ sources_shell.string = sources_shell_string;
fake_skeleton_path_source_string(data, &f_string_empty_s, &sources);
fake_skeleton_path_source_string(data, &fake_path_part_c_s, &sources_c);
fake_skeleton_path_source_string(data, &fake_path_part_cpp_s, &sources_cpp);
+ fake_skeleton_path_source_string(data, &fake_path_part_golang_s, &sources_golang);
fake_skeleton_path_source_string(data, &fake_path_part_script_s, &sources_script);
- fake_skeleton_path_source_string(data, &fake_path_part_shell_s, &sources_bash);
+ fake_skeleton_path_source_string(data, &fake_path_part_shell_s, &sources_shell);
const f_string_static_t path[] = {
data->path_build,
data->path_licenses,
main->setting.sources,
sources,
- sources_bash,
sources_c,
sources_cpp,
+ sources_golang,
sources_script,
+ sources_shell,
main->setting.work,
data->path_work_includes,
data->path_work_libraries,
fake_path_part_specifications_s,
};
- for (uint8_t i = 0; i < 24; ++i) {
+ for (uint8_t i = 0; i < 25; ++i) {
fake_skeleton_operate_directory_create(data, path[i]);
build_libraries-level -lfll_2 -lfll_1 -lfll_0
build_libraries-monolithic -lfll
-build_sources_library main/build.c main/clean.c main/common.c main/fake.c main/make.c main/print/common.c main/print/context.c main/print/error.c main/print/message.c main/print/operation.c main/print/warning.c main/print/verbose.c main/signal.c main/skeleton.c main/thread.c
+build_sources_library main/build.c main/clean.c main/common.c main/fake.c main/make.c main/print/common.c main/print/context.c main/print/debug.c main/print/error.c main/print/message.c main/print/operation.c main/print/warning.c main/print/verbose.c main/signal.c main/skeleton.c main/thread.c
build_sources_library main/build/enumeration.c main/build/library.c main/build/load.c main/build/object.c main/build/print/compile.c main/build/print/error.c main/build/print/message.c main/build/print/verbose.c main/build/print/warning.c main/build/program.c main/build/skeleton.c main/build/string.c
build_sources_library main/common/define.c main/common/enumeration.c main/common/print.c main/common/string.c main/common/type.c
build_sources_library main/fake/path_generate.c main/fake/do.c
build_sources_program main/main.c
-build_sources_headers main/build.h main/clean.h main/common.h main/fake.h main/make.h main/print/common.h main/print/context.h main/print/error.h main/print/message.h main/print/operation.h main/print/warning.h main/print/verbose.h main/signal.h main/skeleton.h main/thread.h
+build_sources_headers main/build.h main/clean.h main/common.h main/fake.h main/make.h main/print/common.h main/print/context.h main/print/debug.h main/print/error.h main/print/message.h main/print/operation.h main/print/warning.h main/print/verbose.h main/signal.h main/skeleton.h main/thread.h
build_sources_headers main/build/enumeration.h main/build/library.h main/build/load.h main/build/object.h main/build/print/compile.h main/build/print/error.h main/build/print/message.h main/build/print/verbose.h main/build/print/warning.h main/build/program.h main/build/skeleton.h main/build/string.h
build_sources_headers main/common/define.h main/common/enumeration.h main/common/print.h main/common/string.h main/common/type.h
build_sources_headers main/fake/path_generate.h main/fake/do.h
--- /dev/null
+# fss-0000
+
--- /dev/null
+# fss-0000
+
--- /dev/null
+# fss-0005 iki-0002
+
+settings:
+ fail exit
+
+main:
+
--- /dev/null
+#!/bin/bash
+
--- /dev/null
+#!/bin/bash
+
--- /dev/null
+# fss-0001
+#
+# Very basic golang example.
+#
+
+build_name example_go
+
+version_major 0
+version_minor 0
+version_micro 0
+version_file micro
+version_target minor
+
+modes program
+modes_default program
+
+build_compiler go
+build_language golang
+build_compiler_arguments build
+build_compiler_arguments_shared -o build/programs/shared/main
+
+build_script no
+build_shared yes
+build_static no
+
+build_sources_program main.go
+
+environment PATH LD_LIBRARY_PATH
+environment LANG LC_ALL LC_COLLATE LC_CTYPE LC_FASTMSG LC_MESSAGES LC_MONETARY LC_NUMERIC LC_TIME LOCPATH NLSPATH
+environment GOCACHE XDG_CACHE_HOME HOME
+
+flags -O2 -g -fdiagnostics-color=always -Wno-logical-not-parentheses -Wno-parentheses -Wno-missing-braces
+
+flags_program -fPIE
--- /dev/null
+package main
+
+import "fmt"
+
+func main() {
+ fmt.Println("Example Go Program.")
+}
# fss-0002 iki-0000
#
# license: open-standard-license-1.0-or-later
-# version 2024/07/30
+# version 2024/09/20
#
# This file (assumed to be named settings.txt) can be more easily read using the following iki_read commands:
# iki_read settings.txt +Q -w -rrr ASCII ASCII FLL FLL GCC GCC -WW character "'" "'" code '"' '"'
The programs code:"gcc" and code:"clang" are known to work.
Many of the parameters in the bold:"settings" file can be changed if not using GCC:"GNU Compiler Collection", but there may be certain hard-coded functionality that may need to be changed.
+ - code:"build_compiler_arguments"\:
+ This represents arguments passed directly to the code:"build_compiler".
+ These arguments are placed immediately after the code:"build_compiler" program.
+ This is useful for some languages, such as code:"go" which might need to operate like code:"go build" or code:"go build -buildmode=archive".
+
+ - code:"build_compiler_arguments_shared"\:
+ This represents arguments passed directly to the code:"build_compiler" for shared.
+ These arguments are placed immediately after the code:"build_compiler" program.
+ This is useful for some languages, such as code:"go" which might need to operate like code:"go build" or code:"go build -buildmode=archive".
+
+ - code:"build_compiler_arguments_static"\:
+ This represents arguments passed directly to the code:"build_compiler for static".
+ These arguments are placed immediately after the code:"build_compiler" program.
+ This is useful for some languages, such as code:"go" which might need to operate like code:"go build" or code:"go build -buildmode=archive".
+
+ - code:"build_compiler_arguments_library"\:
+ This represents arguments passed directly to the code:"build_compiler" when building libraries.
+ These arguments are placed immediately after the code:"build_compiler_arguments" parameters.
+ This is useful for some languages, such as code:"go" which might need to operate like code:"go build" or code:"go build -buildmode=archive".
+
+ - code:"build_compiler_arguments_library_shared"\:
+ This represents arguments passed directly to the code:"build_compiler" when building libraries that are shared.
+ These arguments are placed immediately after the code:"build_compiler_arguments_library" parameters.
+ This is useful for some languages, such as code:"go" which might need to operate like code:"go build" or code:"go build -buildmode=archive".
+
+ - code:"build_compiler_arguments_library_static"\:
+ This represents arguments passed directly to the code:"build_compiler" when building libraries that are static.
+ These arguments are placed immediately after the code:"build_compiler_arguments_library" parameters.
+ This is useful for some languages, such as code:"go" which might need to operate like code:"go build" or code:"go build -buildmode=archive".
+
+ - code:"build_compiler_arguments_object"\:
+ This represents arguments passed directly to the code:"build_compiler" when building objects.
+ These arguments are placed immediately after the code:"build_compiler_arguments" parameters.
+ This is useful for some languages, such as code:"go" which might need to operate like code:"go build" or code:"go build -buildmode=archive"
+
+ - code:"build_compiler_arguments_object_shared"\:
+ This represents arguments passed directly to the code:"build_compiler" when building objects that are shared.
+ These arguments are placed immediately after the code:"build_compiler_arguments_object" parameters.
+ This is useful for some languages, such as code:"go" which might need to operate like code:"go build" or code:"go build -buildmode=archive"
+
+ - code:"build_compiler_arguments_object_static"\:
+ This represents arguments passed directly to the code:"build_compiler" when building objects that are static.
+ These arguments are placed immediately after the code:"build_compiler_arguments_object" parameters.
+ This is useful for some languages, such as code:"go" which might need to operate like code:"go build" or code:"go build -buildmode=archive"
+
+ - code:"build_compiler_arguments_program"\:
+ This represents arguments passed directly to the code:"build_compiler" when building programs.
+ These arguments are placed immediately after the code:"build_compiler_arguments" parameters.
+ This is useful for some languages, such as code:"go" which might need to operate like code:"go build" or code:"go build -buildmode=archive".
+
+ - code:"build_compiler_arguments_program_shared"\:
+ This represents arguments passed directly to the code:"build_compiler" when building programs that are shared.
+ These arguments are placed immediately after the code:"build_compiler_arguments_program" parameters.
+ This is useful for some languages, such as code:"go" which might need to operate like code:"go build" or code:"go build -buildmode=archive".
+
+ - code:"build_compiler_arguments_program_static"\:
+ This represents arguments passed directly to the code:"build_compiler" when building programs that are static.
+ These arguments are placed immediately after the code:"build_compiler_arguments_program" parameters.
+ This is useful for some languages, such as code:"go" which might need to operate like code:"go build" or code:"go build -buildmode=archive".
+
- code:"build_indexer"\:
This represents the name of the indexer program to use, such as code:"ar".
An indexer is often called a linker.
- code:"build_language"\:
The programming language to build with.
- The languages code:"c" and code:"c++" are supported (with code:"bash" as a consideration for support).
- The code:"bash" language is not currently implemented and needs some consideration because there is nothing to compile.
- The code:"bash" language will likely build a set of individual scripts, and perhaps script dependencies, into a single Bash script.
+ The languages code:"c", code:"c++", code:"go", and code:"shell" are the commonly known and supported languages.
+ The code:"shell" language is for shell languages such as code:"bash" or code:"zsh" and might not need special handling because there is nothing to compile.
+ The code:"shell" language might be implemented to build a set of individual scripts, and perhaps script dependencies, into a single script.
+ Individual implementations may restrict this to a select number of languages such as the commonly known and supported languages mentioned.
+ Languages not in the commonly known and supported languages are generally treated as compiled languages but the user must take care to properly configure it.
+
+ - code:"build_language_path"\:
+ A path relative to the sources directory reprsenting the sources.
+ This defaults to a path based on the code:"build_language" when not defined.
- code:"build_libraries"\:
A collection of libraries to be linked against.
These are applied to only static builds.
- code:"build_objects_library"\:
- A collection of object files to be compile with when building libraries.
+ A collection of object files to be compile with when building objects for libraries.
These are intended to represent already compiled object files.
These paths are relative to the code:"path_object_script", code:"path_object_shared", or code:"path_object_static".
The order of these may matter if the compiler (such as GCC:"GNU Compiler Collection" or a linker via GCC:"GNU Compiler Collection") is order sensitive.
- code:"build_objects_library_shared"\:
- A collection of object files to be compile with when building shared libraries.
+ A collection of object files to be compile with when building objects for shared libraries.
These are intended to represent already compiled object files.
These paths are relative to the code:"path_object_shared".
The order of these may matter if the compiler (such as GCC:"GNU Compiler Collection" or a linker via GCC:"GNU Compiler Collection") is order sensitive.
These are applied to only shared builds.
- code:"build_objects_library_static"\:
- A collection of object files to be compile with when building static libraries.
+ A collection of object files to be compile with when building objects for static libraries.
These are intended to represent already compiled object files.
These paths are relative to the code:"path_object_static".
The order of these may matter if the compiler (such as GCC:"GNU Compiler Collection" or a linker via GCC:"GNU Compiler Collection") is order sensitive.
These are applied to only static builds.
- code:"build_objects_program"\:
- A collection of object files to be compile with when building programs.
+ A collection of object files to be compile with when building objects for programs.
These are intended to represent already compiled object files.
These paths are relative to the code:"path_object_script", code:"path_object_shared", or code:"path_object_static".
The order of these may matter if the compiler (such as GCC:"GNU Compiler Collection" or a linker via GCC:"GNU Compiler Collection") is order sensitive.
- code:"build_objects_program_shared"\:
- A collection of object files to be compile with when building shared programs.
+ A collection of object files to be compile with when building objects for shared programs.
These are intended to represent already compiled object files.
These paths are relative to the code:"path_object_shared".
The order of these may matter if the compiler (such as GCC:"GNU Compiler Collection" or a linker via GCC:"GNU Compiler Collection") is order sensitive.
These are applied to only shared builds.
- code:"build_objects_program_static"\:
- A collection of object files to be compile with when building static programs.
+ A collection of object files to be compile with when building objects for static programs.
These are intended to represent already compiled object files.
These paths are relative to the code:"path_object_static".
The order of these may matter if the compiler (such as GCC:"GNU Compiler Collection" or a linker via GCC:"GNU Compiler Collection") is order sensitive.
# fss-0002 iki-0000
#
# license: open-standard-license-1.0-or-later
-# version 2024/07/30
+# version 2024/09/20
#
# This file (assumed to be named settings.txt) can be more easily read using the following iki_read commands:
# iki_read settings.txt +Q -w -WW character "'" "'" code '"' '"'
bold:"Object" names and their respective bold:"Content" purpose/restrictions\:
- code:"build_compiler": Only one bold:"Content", which must only be a valid filename.
+ - code:"build_compiler_arguments": Must be zero or more parameters.
+ - code:"build_compiler_arguments_shared": Must be zero or more parameters.
+ - code:"build_compiler_arguments_static": Must be zero or more parameters.
+ - code:"build_compiler_arguments_library": Must be zero or more parameters.
+ - code:"build_compiler_arguments_library_shared": Must be zero or more parameters.
+ - code:"build_compiler_arguments_library_static": Must be zero or more parameters.
+ - code:"build_compiler_arguments_object": Must be zero or more parameters.
+ - code:"build_compiler_arguments_object_shared": Must be zero or more parameters.
+ - code:"build_compiler_arguments_object_static": Must be zero or more parameters.
+ - code:"build_compiler_arguments_program": Must be zero or more parameters.
+ - code:"build_compiler_arguments_program_shared": Must be zero or more parameters.
+ - code:"build_compiler_arguments_program_static": Must be zero or more parameters.
- code:"build_indexer": Only one bold:"Content", which must only be a valid filename.
- code:"build_indexer_arguments": Zero or more arguments supported by the indexer specified in code:"build_indexer".
- - code:"build_language": Must only be one of: code:"bash", code:"c", or code:"c++".
+ - code:"build_language": May be any language but is generally only a known or supported language, such as: code:"c", code:"c++", or code:"go".
- code:"build_libraries": Must only contain any number of valid library include arguments that are valid for the compiler defined in "build_compiler" bold:"Object".
- code:"build_libraries_shared": Must only contain any number of valid library include arguments that are valid for the compiler defined in "build_compiler" bold:"Object".
- code:"build_libraries_static": Must only contain any number of valid library include arguments that are valid for the compiler defined in "build_compiler" bold:"Object".
- code:"version_minor_prefix": Must be zero or more valid filename characters (no slashes allowed).
- code:"version_nano": Must only be a single value containing valid filename characters (no slashes allowed).
- code:"version_nano_prefix": Must be zero or more valid filename characters (no slashes allowed).
- - code:"version_target": Must only be one of: code:"major", code:"minor", code:"micro", or code:"nano".
+ - code:"version_target": Must only be one of: code:"major", code:"minor", code:"micro", or code:"nano" (no slashes allowed).
All bold:"Object" names support having a code:"-" and a code:"mode" name, such as code:"build_libraries-individual" for a mode called code:"individual", except for the code:"modes" and the code:"modes_default" bold:"Object" names.