Improve some of the status handling that I noticed.
Several functions are return code 0 even on status errors.
Only when the execute is performed does the return code get set to something else.
Make sure this behavior is consistent.
There `fake_execute()` does not need to have the error message printed after calling.
That function already prints the error messages as needed.
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)) {
+ fake_print_error(&main->program.error, macro_fake_f(f_string_dynamic_append_nulless));
+
+ return;
+ }
+
if (main->cache_argument.used) {
- if (F_status_is_error_not(main->setting.state.status)) {
- 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));
+
+ return;
}
}
- if (F_status_is_error_not(main->setting.state.status)) {
- fake_string_dynamic_reset(&main->cache_argument);
- }
+ fake_string_dynamic_reset(&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_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)) {
+ fake_print_error(&main->program.error, macro_fake_f(f_string_dynamic_append_nulless));
+
+ return;
+ }
+
if (main->cache_argument.used) {
- if (F_status_is_error_not(main->setting.state.status)) {
- 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_not(main->setting.state.status) && main->setting.work.used) {
main->setting.state.status = f_string_dynamic_append_nulless(data->path_work_libraries_shared, &main->cache_argument);
}
- 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)) {
+ fake_print_error(&main->program.error, macro_fake_f(f_string_dynamic_append_nulless));
+
+ return;
}
+
+ 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)) {
main->setting.state.status = f_string_dynamic_append_nulless(data->path_work_libraries_static, &main->cache_argument);
}
- 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)) {
+ fake_print_error(&main->program.error, macro_fake_f(f_string_dynamic_append_nulless));
+
+ return;
}
+
+ 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(main->setting.state.status)) {
+ fake_print_error(&main->program.error, macro_fake_f(fll_execute_arguments_add));
+
+ return;
+ }
{
f_string_statics_t empty = f_string_statics_t_initialize;
if (!strings[s]->array[i].used) continue;
main->setting.state.status = fll_execute_arguments_add(strings[s]->array[i], &main->cache_arguments);
- if (F_status_is_error(main->setting.state.status)) return;
+
+ if (F_status_is_error(main->setting.state.status)) {
+ fake_print_error(&main->program.error, macro_fake_f(fll_execute_arguments_add));
+
+ return;
+ }
} // for
} // for
}
fake_string_dynamic_reset(&main->cache_argument);
main->setting.state.status = f_string_dynamic_append_nulless(*path, &main->cache_argument);
- if (F_status_is_error(main->setting.state.status)) return;
- main->setting.state.status = f_string_dynamic_append_nulless(sources[i]->array[j], &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(sources[i]->array[j], &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;
+ }
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(main->setting.state.status)) {
+ fake_print_error(&main->program.error, macro_fake_f(fll_execute_arguments_add));
+
+ return;
+ }
} // for
} // for
}
else {
main->setting.state.status = f_string_dynamic_append_assure(f_path_separator_s, source);
+
+ if (F_status_is_error(main->setting.state.status)) {
+ fake_print_error(&main->program.error, macro_fake_f(f_string_dynamic_append_assure));
+
+ return;
+ }
}
}
}
}
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(main->setting.state.status)) {
+ fake_print_error(&main->program.error, macro_fake_f(fll_execute_arguments_add));
+
+ return;
+ }
} // for
} // for
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));
+ fake_print_error(&main->program.error, macro_fake_f(fll_execute_arguments_add));
return;
}
{
const int result = fake_execute(data, data_build->environment, data_build->setting.build_compiler);
-
- if (F_status_is_error(main->setting.state.status)) return 0;
- if (main->setting.state.status == F_child) return result;
+ if (F_status_is_error(main->setting.state.status) || main->setting.state.status == F_child) return result;
}
{
if (F_status_is_error(main->setting.state.status)) {
fake_print_error(&main->program.error, macro_fake_f(fll_execute_arguments_add));
- break;
+ return 0;
}
} // for
if (F_status_is_error(main->setting.state.status)) {
fake_print_error(&main->program.error, macro_fake_f(fake_build_get_file_name_without_extension));
- break;
+ return 0;
}
main->setting.state.status = f_file_name_directory(sources[i]->array[j], &main->cache_2);
if (F_status_is_error(main->setting.state.status)) {
fake_print_error(&main->program.error, macro_fake_f(f_file_name_directory));
- break;
+ return 0;
}
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_prepend));
- break;
+ return 0;
}
main->setting.state.status = f_string_dynamic_append_assure(f_path_separator_s, &main->cache_2);
if (F_status_is_error(main->setting.state.status)) {
fake_print_error(&main->program.error, macro_fake_f(f_string_dynamic_append_assure));
- break;
+ return 0;
}
main->setting.state.status = f_string_dynamic_append_nulless(main->cache_2, &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));
- break;
+ 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));
- break;
+ return 0;
}
} // for
} // for
}
- const int result = F_status_is_error(main->setting.state.status)
- ? main->program.child
- : fake_execute(data, data_build->environment, data_build->setting.build_indexer);
-
- if (F_status_is_error_not(main->setting.state.status) && main->setting.state.status != F_child) {
- fake_build_touch(data, file_stage);
+ {
+ const int result = fake_execute(data, data_build->environment, data_build->setting.build_indexer);
+ if (F_status_is_error(main->setting.state.status) || main->setting.state.status == F_child) return result;
}
- return result;
+ fake_build_touch(data, file_stage);
+
+ return 0;
}
#endif // _di_fake_build_library_static_
} // for
}
- int result = main->program.child;
+ int result = 0;
const f_string_dynamics_t *sources[2] = {
&data_build->setting.build_sources_library,
fake_string_dynamics_reset_to(&main->cache_arguments, minimum);
fake_build_path_source_string(data, data_build, &data_build->setting.path_sources_library, &main->cache_1);
- if (F_status_is_error(main->setting.state.status)) break;
+ if (F_status_is_error(main->setting.state.status)) return 0;
main->setting.state.status = f_string_dynamic_append_nulless(sources[i]->array[j], &main->cache_1);
if (F_status_is_error(main->setting.state.status)) {
fake_print_error(&main->program.error, macro_fake_f(fake_build_get_file_name_without_extension));
- break;
+ return 0;
}
main->setting.state.status = f_file_name_directory(sources[i]->array[j], &main->cache_argument);
if (F_status_is_error(main->setting.state.status)) {
fake_print_error(&main->program.error, macro_fake_f(f_file_name_directory));
- break;
+ return 0;
}
if (main->cache_argument.used) {
if (F_status_is_error(main->setting.state.status)) {
fake_print_error(&main->program.error, macro_fake_f(f_string_dynamic_prepend));
- break;
+ return 0;
}
main->setting.state.status = f_string_dynamic_append_assure(f_path_separator_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_assure));
- break;
+ return 0;
}
main->setting.state.status = f_directory_exists(main->cache_argument);
main->setting.state.status = F_status_set_error(F_failure);
- break;
+ return 0;
}
if (main->setting.state.status == F_file_found_not) {
fake_print_error_file(&main->program.error, macro_fake_f(f_directory_create), main->cache_argument, f_file_operation_create_s, fll_error_file_type_directory_e);
}
- break;
+ return 0;
}
fake_build_print_verbose_create_directory(&main->program.message, main->cache_argument);
else if (F_status_is_error(main->setting.state.status)) {
fake_print_error_file(&main->program.error, macro_fake_f(f_directory_exists), main->cache_argument, f_file_operation_create_s, fll_error_file_type_directory_e);
- break;
+ return 0;
}
}
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
- 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));
+ return 0;
+ }
+ } // for
- break;
- }
+ fake_build_arguments_standard_add(data, data_build, F_false, fake_build_type_object_e);
+ if (F_status_is_error(main->setting.state.status)) return 0;
}
result = fake_execute(data, data_build->environment, data_build->setting.build_compiler);
-
- if (F_status_is_error(main->setting.state.status) || main->setting.state.status == F_child) break;
+ if (F_status_is_error(main->setting.state.status) || main->setting.state.status == F_child) return result;
} // for
-
- if (F_status_is_error(main->setting.state.status) || main->setting.state.status == F_child) break;
} // for
- if (F_status_is_error_not(main->setting.state.status) && main->setting.state.status != F_child) {
- fake_build_touch(data, file_stage);
- }
+ fake_build_touch(data, file_stage);
- return result;
+ return 0;
}
#endif // _di_fake_build_library_static_object_
fake_main_t * const main = data->main;
- int result = 0;
- int result_final = 0;
-
uint8_t i = 0;
f_number_unsigned_t j = 0;
f_number_unsigned_t minimum = 0;
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;
- ++minimum;
- } // for
+ 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));
+ return 0;
+ }
- break;
- }
+ ++minimum;
+ } // for
} // for
}
shared ? &data_build->setting.build_sources_object_shared : &data_build->setting.build_sources_object_static,
};
+
+ int result = 0;
uint8_t k = 0;
if (shared) {
if (F_status_is_error(main->setting.state.status)) {
fake_print_error(&main->program.error, macro_fake_f(fake_build_sources_object_add));
- break;
+ return 0;
}
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(fake_build_get_file_name_without_extension));
- break;
+ return 0;
}
main->setting.state.status = f_file_name_directory(sources[i]->array[j], &main->cache_2);
if (F_status_is_error(main->setting.state.status)) {
fake_print_error(&main->program.error, macro_fake_f(f_file_name_directory));
- break;
+ return 0;
}
main->setting.state.status = f_string_dynamic_append_assure(f_path_separator_s, &main->cache_2);
if (F_status_is_error(main->setting.state.status)) {
fake_print_error(&main->program.error, macro_fake_f(f_string_dynamic_append_assure));
- break;
+ return 0;
}
main->setting.state.status = f_string_dynamic_append_nulless(shared ? data->path_build_objects_shared : data->path_build_objects_static, &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));
- break;
+ return 0;
}
main->setting.state.status = f_directory_exists(main->cache_argument);
main->setting.state.status = F_status_set_error(F_failure);
- break;
+ return 0;
}
if (main->setting.state.status == F_file_found_not) {
fake_print_error_file(&main->program.error, macro_fake_f(f_directory_create), main->cache_argument, f_file_operation_create_s, fll_error_file_type_directory_e);
}
- break;
+ return 0;
}
fake_build_print_verbose_create_directory(&main->program.message, main->cache_argument);
else if (F_status_is_error(main->setting.state.status)) {
fake_print_error_file(&main->program.error, macro_fake_f(f_directory_exists), main->cache_argument, f_file_operation_create_s, fll_error_file_type_directory_e);
- break;
+ return 0;
}
if (F_status_is_error_not(main->setting.state.status)) {
if (F_status_is_error(main->setting.state.status)) {
fake_print_error(&main->program.error, macro_fake_f(f_string_dynamic_append_nulless));
- break;
+ return 0;
}
if (data_build->setting.language == fake_build_language_c_e || data_build->setting.language == fake_build_language_cpp_e) {
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
- 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;
- }
+ return 0;
+ }
+ } // for
}
// The cache_argument should be safe at this point to be reset and reused by this function.
fake_build_arguments_standard_add(data, data_build, F_true, fake_build_type_object_e);
-
- if (F_status_is_error(main->setting.state.status)) {
- fake_print_error(&main->program.error, macro_fake_f(fake_build_arguments_standard_add));
-
- break;
- }
+ if (F_status_is_error(main->setting.state.status)) return 0;
result = fake_execute(data, data_build->environment, data_build->setting.build_compiler);
-
- if (F_status_is_error(main->setting.state.status)) {
- fake_print_error(&main->program.error, macro_fake_f(fake_execute));
-
- result_final = result;
-
- break;
- }
-
- if (result && !result_final) {
- result_final = result;
- }
+ if (F_status_is_error(main->setting.state.status) || main->setting.state.status == F_child) return result;
} // for
} // for
- if (F_status_is_error_not(main->setting.state.status) && main->setting.state.status != F_child) {
- fake_build_touch(data, file_stage);
- }
+ fake_build_touch(data, file_stage);
- return result_final;
+ return 0;
}
#endif // _di_fake_build_object_
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));
+ if (F_status_is_error(main->setting.state.status)) {
+ fake_print_error(&main->program.error, macro_fake_f(fll_execute_arguments_add));
- break;
- }
+ return 0;
+ }
+ } // for
} // for
}
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) {
- 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_program_shared.used
- ? data_build->setting.build_name_program_shared
- : data_build->setting.build_name_program.used
- ? data_build->setting.build_name_program
- : 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_program_shared.used
+ ? data_build->setting.build_name_program_shared
+ : data_build->setting.build_name_program.used
+ ? data_build->setting.build_name_program
+ : 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 (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)) {
+ fake_print_error(&main->program.error, macro_fake_f(fll_execute_arguments_add));
+
+ return 0;
+ }
+ } // for
}
// If project-specific library sources exist, then the -lbuild_name needs to be added to the arguments.
- if (F_status_is_error_not(main->setting.state.status) && data_build->setting.build_sources_library.used) {
+ if (data_build->setting.build_sources_library.used) {
fake_string_dynamic_reset(&main->cache_argument);
main->setting.state.status = f_string_dynamic_append_nulless(fake_build_parameter_library_link_file_s, &main->cache_argument);
}
main->setting.state.status = fll_execute_arguments_add(main->cache_argument, &main->cache_arguments);
- }
-
- fake_build_arguments_standard_add(data, data_build, F_true, fake_build_type_program_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));
- return 0;
+ return 0;
+ }
}
- const int result = fake_execute(data, data_build->environment, data_build->setting.build_compiler);
+ fake_build_arguments_standard_add(data, data_build, F_true, fake_build_type_program_e);
+ if (F_status_is_error(main->setting.state.status)) return 0;
- if (F_status_is_error_not(main->setting.state.status) && main->setting.state.status != F_child) {
- fake_build_touch(data, file_stage);
+ {
+ const int result = fake_execute(data, data_build->environment, data_build->setting.build_compiler);
+ if (F_status_is_error(main->setting.state.status) || main->setting.state.status == F_child) return result;
}
- return result;
+ fake_build_touch(data, file_stage);
+
+ return 0;
}
#endif // _di_fake_build_program_shared_
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));
+ if (F_status_is_error(main->setting.state.status)) {
+ fake_print_error(&main->program.error, macro_fake_f(fll_execute_arguments_add));
- break;
- }
+ return 0;
+ }
+ } // for
} // for
}
}
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);
-
- 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(
- data_build->setting.build_name_library_static.used
- ? data_build->setting.build_name_library_static
- : data_build->setting.build_name_library.used
- ? data_build->setting.build_name_library
- : 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;
- }
- }
+ // 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 = fll_execute_arguments_add(fake_build_parameter_library_static_s, &main->cache_arguments);
+ 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 = 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;
+ main->setting.state.status = f_string_dynamic_append_nulless(fake_build_parameter_library_name_prefix_s, &main->cache_argument);
}
- 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_program_static.used
- ? data_build->setting.build_name_program_static
- : data_build->setting.build_name_program.used
- ? data_build->setting.build_name_program
+ data_build->setting.build_name_library_static.used
+ ? data_build->setting.build_name_library_static
+ : data_build->setting.build_name_library.used
+ ? data_build->setting.build_name_library
: 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));
}
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)) {
+ main->setting.state.status = fll_execute_arguments_add(fake_build_parameter_library_static_s, &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);
}
- }
- // The cache_argument should be safe at this point to be reset and reused by this function.
- fake_build_arguments_standard_add(data, data_build, F_false, fake_build_type_program_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));
+ return 0;
+ }
- 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_program_static.used
+ ? data_build->setting.build_name_program_static
+ : data_build->setting.build_name_program.used
+ ? data_build->setting.build_name_program
+ : 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;
+ }
}
- const int result = fake_execute(data, data_build->environment, data_build->setting.build_compiler);
+ // The cache_argument should be safe at this point to be reset and reused by this function.
+ fake_build_arguments_standard_add(data, data_build, F_false, fake_build_type_program_e);
+ if (F_status_is_error(main->setting.state.status)) return 0;
- if (F_status_is_error_not(main->setting.state.status) && main->setting.state.status != F_child) {
- fake_build_touch(data, file_stage);
+ {
+ const int result = fake_execute(data, data_build->environment, data_build->setting.build_compiler);
+ if (F_status_is_error(main->setting.state.status) || main->setting.state.status == F_child) return result;
}
- return result;
+ fake_build_touch(data, file_stage);
+
+ return 0;
}
#endif // _di_fake_build_program_static_
fake_main_t * const main = data_make->main;
const int result = fake_execute(data_make->data, data_make->environment, data_make->setting_build.build_compiler);
-
- if (F_status_is_error(main->setting.state.status)) {
- fake_print_error(&main->program.error, macro_fake_f(fake_execute));
- }
- else if (main->setting.state.status == F_child) {
- return result;
- }
+ if (main->setting.state.status == F_child) return result;
fake_make_operate_process_return(data_make, result);
- return 0;
+ return result;
}
#endif // _di_fake_make_operate_process_type_compile_
fake_main_t * const main = data_make->main;
const int result = fake_execute(data_make->data, data_make->environment, data_make->setting_build.build_indexer);
-
- if (F_status_is_error(main->setting.state.status)) {
- fake_print_error(&main->program.error, macro_fake_f(fake_execute));
- }
-
if (main->setting.state.status == F_child) return result;
fake_make_operate_process_return(data_make, result);
- return 0;
+ return result;
}
#endif // _di_fake_make_operate_process_type_index_