The standard path is used by the featureless linux library.
If any other project, such as bzip2, has its own directory structure provide a way to more likely support that when using the build operation.
This is not intended to handle all possible cases.
This is only intended to handle simple cases such as with bzip2.
For more complex builds the fakefile and the make operation should instead be used.
This adds a path_standard setting that is a yes/no boolean for designating if/when to follow the standard source path structure or not.
When this is 'yes', then the standard sources path such as 'sources/c/' is used or when -S/--sources is supplied then the path would be 'XXX/c/' when using "-S xxx/" as an example.
When this is 'no', then the sources path specified by a new setting 'path_sources' is used but when -S/--sources is supplied then the path would be 'XXX/' when using "-S xxx/" as an example.
The result of this change moves the "sources/" directory from required to optional.
This directory is no longer checked for during the check required directories process.
The bootstrap.sh script is exclusively intended to be used for compiling the featureless linux library.
Therefore, the 'path_standard' and 'path_sources' are unimplemented within that script (beyond being defined in the variable list).
"path_program_script") echo -n 28;;
"path_program_shared") echo -n 29;;
"path_program_static") echo -n 30;;
- "process_post") echo -n 31;;
- "process_pre") echo -n 32;;
- "project_name") echo -n 33;;
- "search_exclusive") echo -n 34;;
- "search_shared") echo -n 35;;
- "search_static") echo -n 36;;
- "version_major") echo -n 37;;
- "version_micro") echo -n 38;;
- "version_minor") echo -n 39;;
- "version_target") echo -n 40;;
-
- "build_libraries-$mode") echo -n 41;;
- "build_sources_headers-$mode") echo -n 42;;
- "build_sources_library-$mode") echo -n 43;;
- "build_sources_program-$mode") echo -n 44;;
- "build_sources_setting-$mode") echo -n 45;;
- "build_sources_script-$mode") echo -n 46;;
- "defines_all-$mode") echo -n 47;;
- "defines_shared-$mode") echo -n 48;;
- "defines_static-$mode") echo -n 49;;
- "environment-$mode") echo -n 50;;
- "flags_all-$mode") echo -n 51;;
- "flags_library-$mode") echo -n 52;;
- "flags_program-$mode") echo -n 53;;
- "flags_shared-$mode") echo -n 54;;
- "flags_static-$mode") echo -n 55;;
+ "path_sources") echo -n 31;;
+ "path_standard") echo -n 32;;
+ "process_post") echo -n 33;;
+ "process_pre") echo -n 34;;
+ "project_name") echo -n 35;;
+ "search_exclusive") echo -n 36;;
+ "search_shared") echo -n 37;;
+ "search_static") echo -n 38;;
+ "version_major") echo -n 39;;
+ "version_micro") echo -n 40;;
+ "version_minor") echo -n 41;;
+ "version_target") echo -n 42;;
+
+ "build_libraries-$mode") echo -n 43;;
+ "build_sources_headers-$mode") echo -n 44;;
+ "build_sources_library-$mode") echo -n 45;;
+ "build_sources_program-$mode") echo -n 46;;
+ "build_sources_setting-$mode") echo -n 47;;
+ "build_sources_script-$mode") echo -n 48;;
+ "defines_all-$mode") echo -n 49;;
+ "defines_shared-$mode") echo -n 50;;
+ "defines_static-$mode") echo -n 51;;
+ "environment-$mode") echo -n 52;;
+ "flags_all-$mode") echo -n 53;;
+ "flags_library-$mode") echo -n 54;;
+ "flags_program-$mode") echo -n 55;;
+ "flags_shared-$mode") echo -n 56;;
+ "flags_static-$mode") echo -n 57;;
esac
}
exit $failure
fi
- for i in build_compiler build_language build_libraries build_linker build_script build_shared build_sources_headers build_sources_library build_sources_program build_sources_setting build_sources_script build_static defines_all defines_shared defines_static environment flags_all flags_library flags_program flags_shared flags_static modes modes_default path_language path_headers path_library_script path_library_shared path_library_static path_program_script path_program_shared path_program_static process_post process_pre project_name search_exclusive search_shared search_static version_major version_micro version_minor ; do
+ for i in build_compiler build_language build_libraries build_linker build_script build_shared build_sources_headers build_sources_library build_sources_program build_sources_setting build_sources_script build_static defines_all defines_shared defines_static environment flags_all flags_library flags_program flags_shared flags_static modes modes_default path_language path_headers path_library_script path_library_shared path_library_static path_program_script path_program_shared path_program_static path_sources path_standard process_post process_pre project_name search_exclusive search_shared search_static version_major version_micro version_minor ; do
variables[$(bootstrap_id $i)]=$(grep -s -o "^[[:space:]]*$i[[:space:]].*\$" $settings_file | sed -e "s|^[[:space:]]*$i\>||" -e 's|^[[:space:]]*||')
done
}
path_program_script script
path_program_shared shared
path_program_static static
+path_sources
+path_standard yes
search_exclusive yes
search_shared yes
path_program_script script
path_program_shared shared
path_program_static static
+path_sources
+path_standard yes
search_exclusive yes
search_shared yes
path_program_script script
path_program_shared shared
path_program_static static
+path_sources
+path_standard yes
search_exclusive yes
search_shared yes
path_program_script script
path_program_shared shared
path_program_static static
+path_sources
+path_standard yes
search_exclusive yes
search_shared yes
path_program_script script
path_program_shared shared
path_program_static static
+path_sources
+path_standard yes
search_exclusive yes
search_shared yes
path_program_script script
path_program_shared shared
path_program_static static
+path_sources
+path_standard yes
search_exclusive yes
search_shared yes
path_program_script script
path_program_shared shared
path_program_static static
+path_sources
+path_standard yes
search_exclusive yes
search_shared yes
path_program_script script
path_program_shared shared
path_program_static static
+path_sources
+path_standard yes
search_exclusive yes
search_shared yes
path_program_script script
path_program_shared shared
path_program_static static
+path_sources
+path_standard yes
search_exclusive yes
search_shared yes
path_program_script script
path_program_shared shared
path_program_static static
+path_sources
+path_standard yes
search_exclusive yes
search_shared yes
path_program_script script
path_program_shared shared
path_program_static static
+path_sources
+path_standard yes
search_exclusive yes
search_shared yes
path_program_script script
path_program_shared shared
path_program_static static
+path_sources
+path_standard yes
search_exclusive yes
search_shared yes
path_program_script script
path_program_shared shared
path_program_static static
+path_sources
+path_standard yes
search_exclusive yes
search_shared yes
path_program_script script
path_program_shared shared
path_program_static static
+path_sources
+path_standard yes
search_exclusive yes
search_shared yes
path_program_script script
path_program_shared shared
path_program_static static
+path_sources
+path_standard yes
search_exclusive yes
search_shared yes
path_program_script script
path_program_shared shared
path_program_static static
+path_sources
+path_standard yes
search_exclusive yes
search_shared yes
path_program_script script
path_program_shared shared
path_program_static static
+path_sources
+path_standard yes
search_exclusive yes
search_shared yes
path_program_script script
path_program_shared shared
path_program_static static
+path_sources
+path_standard yes
search_exclusive yes
search_shared yes
path_program_script script
path_program_shared shared
path_program_static static
+path_sources
+path_standard yes
search_exclusive yes
search_shared yes
path_program_script script
path_program_shared shared
path_program_static static
+path_sources
+path_standard yes
search_exclusive yes
search_shared yes
path_program_script script
path_program_shared shared
path_program_static static
+path_sources
+path_standard yes
search_exclusive yes
search_shared yes
path_program_script script
path_program_shared shared
path_program_static static
+path_sources
+path_standard yes
search_exclusive yes
search_shared yes
path_program_script script
path_program_shared shared
path_program_static static
+path_sources
+path_standard yes
search_exclusive yes
search_shared yes
path_program_script script
path_program_shared shared
path_program_static static
+path_sources
+path_standard yes
search_exclusive yes
search_shared yes
path_program_script script
path_program_shared shared
path_program_static static
+path_sources
+path_standard yes
search_exclusive yes
search_shared yes
path_program_script script
path_program_shared shared
path_program_static static
+path_sources
+path_standard yes
search_exclusive yes
search_shared yes
path_program_script script
path_program_shared shared
path_program_static static
+path_sources
+path_standard yes
search_exclusive yes
search_shared yes
path_program_script script
path_program_shared shared
path_program_static static
+path_sources
+path_standard yes
search_exclusive yes
search_shared yes
path_program_script script
path_program_shared shared
path_program_static static
+path_sources
+path_standard yes
search_exclusive yes
search_shared yes
path_program_script script
path_program_shared shared
path_program_static static
+path_sources
+path_standard yes
search_exclusive yes
search_shared yes
path_program_script script
path_program_shared shared
path_program_static static
+path_sources
+path_standard yes
search_exclusive yes
search_shared yes
path_program_script script
path_program_shared shared
path_program_static static
+path_sources
+path_standard yes
search_exclusive yes
search_shared yes
path_program_script script
path_program_shared shared
path_program_static static
+path_sources
+path_standard yes
search_exclusive yes
search_shared yes
path_program_script script
path_program_shared shared
path_program_static static
+path_sources
+path_standard yes
search_exclusive yes
search_shared yes
path_program_script script
path_program_shared shared
path_program_static static
+path_sources
+path_standard yes
search_exclusive yes
search_shared yes
path_program_script script
path_program_shared shared
path_program_static static
+path_sources
+path_standard yes
search_exclusive yes
search_shared yes
path_program_script script
path_program_shared shared
path_program_static static
+path_sources
+path_standard yes
search_exclusive yes
search_shared yes
path_program_script script
path_program_shared shared
path_program_static static
+path_sources
+path_standard yes
search_exclusive yes
search_shared yes
#define fake_path_part_script "script" f_path_separator
#define fake_path_part_settings "settings" f_path_separator
#define fake_path_part_shared "shared" f_path_separator
- #define fake_path_part_sources "sources" f_path_separator
#define fake_path_part_stage "stage" f_path_separator
#define fake_path_part_static "static" f_path_separator
#define fake_path_part_script_length 7
#define fake_path_part_settings_length 9
#define fake_path_part_shared_length 7
- #define fake_path_part_sources_length 8
#define fake_path_part_stage_length 6
#define fake_path_part_static_length 7
#endif // _di_fake_path_
f_string_dynamics_t arguments = f_string_dynamics_t_initialize;
{
- const f_string_static_t *path_sources = &data.path_sources_c;
+ const f_string_static_t *path_sources = &data.path_sources;
- if (data_build.setting.build_language == fake_build_language_type_cpp) {
- path_sources = &data.path_sources_cpp;
+ if (data_build.setting.path_standard) {
+ path_sources = &data.path_sources_c;
+
+ if (data_build.setting.build_language == fake_build_language_type_cpp) {
+ path_sources = &data.path_sources_cpp;
+ }
+ }
+ else if (data.parameters[fake_parameter_path_sources].result != f_console_result_additional) {
+ path_sources = &data_build.setting.path_sources;
}
f_string_length_t source_length = 0;
fake_build_setting_name_path_program_script,
fake_build_setting_name_path_program_shared,
fake_build_setting_name_path_program_static,
+ fake_build_setting_name_path_sources,
+ fake_build_setting_name_path_standard,
fake_build_setting_name_process_post,
fake_build_setting_name_process_pre,
fake_build_setting_name_project_name,
fake_build_setting_name_path_program_script_length,
fake_build_setting_name_path_program_shared_length,
fake_build_setting_name_path_program_static_length,
+ fake_build_setting_name_path_sources_length,
+ fake_build_setting_name_path_standard_length,
fake_build_setting_name_process_post_length,
fake_build_setting_name_process_pre_length,
fake_build_setting_name_project_name_length,
f_string_dynamics_t path_program_script = f_string_dynamics_t_initialize;
f_string_dynamics_t path_program_shared = f_string_dynamics_t_initialize;
f_string_dynamics_t path_program_static = f_string_dynamics_t_initialize;
+ f_string_dynamics_t path_sources = f_string_dynamics_t_initialize;
+ f_string_dynamics_t path_standard = f_string_dynamics_t_initialize;
f_string_dynamics_t process_post = f_string_dynamics_t_initialize;
f_string_dynamics_t process_pre = f_string_dynamics_t_initialize;
f_string_dynamics_t project_name = f_string_dynamics_t_initialize;
&path_program_script,
&path_program_shared,
&path_program_static,
+ &path_sources,
+ &path_standard,
&process_post,
&process_pre,
&project_name,
fake_build_setting_name_path_program_script,
fake_build_setting_name_path_program_shared,
fake_build_setting_name_path_program_static,
+ fake_build_setting_name_path_sources,
+ fake_build_setting_name_path_standard,
fake_build_setting_name_process_post,
fake_build_setting_name_process_pre,
fake_build_setting_name_project_name,
&path_program_script,
&path_program_shared,
&path_program_static,
+ &path_sources,
+ &path_standard,
&process_post,
&process_pre,
&project_name,
0,
0,
0,
+ &setting->path_standard,
+ 0,
0,
0,
&setting->search_exclusive,
&setting->path_program_script,
&setting->path_program_shared,
&setting->path_program_static,
+ &setting->path_sources,
+ 0,
&setting->process_post,
&setting->process_pre,
&setting->project_name,
0,
0,
0,
+ 0,
+ 0,
&setting->version_target,
};
2,
2,
2,
+ 2,
+ 1,
3,
3,
3,
5,
};
- for (f_array_length_t i = 0; i < 24; i++) {
+ for (f_array_length_t i = 0; i < 26; i++) {
if (settings_single_source[i]->used == 0) continue;
if (settings_single_source[i]->used > 1) {
f_macro_string_dynamics_t_delete_simple(path_program_script);
f_macro_string_dynamics_t_delete_simple(path_program_shared);
f_macro_string_dynamics_t_delete_simple(path_program_static);
+ f_macro_string_dynamics_t_delete_simple(path_sources);
+ f_macro_string_dynamics_t_delete_simple(path_standard);
f_macro_string_dynamics_t_delete_simple(process_post);
f_macro_string_dynamics_t_delete_simple(process_pre);
f_macro_string_dynamics_t_delete_simple(project_name);
f_string_length_t source_length = 0;
f_string_length_t destination_length = 0;
- const f_string_static_t *path_sources = &data.path_sources_c;
+ const f_string_static_t *path_sources = &data.path_sources;
- if (data_build.setting.build_language == fake_build_language_type_cpp) {
- path_sources = &data.path_sources_cpp;
+ if (data_build.setting.path_standard) {
+ path_sources = &data.path_sources_c;
+
+ if (data_build.setting.build_language == fake_build_language_type_cpp) {
+ path_sources = &data.path_sources_cpp;
+ }
+ }
+ else if (data.parameters[fake_parameter_path_sources].result != f_console_result_additional) {
+ path_sources = &data_build.setting.path_sources;
}
for (f_array_length_t i = 0; i < data_build.setting.build_sources_library.used; i++) {
}
else {
if (data_build.setting.build_sources_headers.used) {
- const f_string_static_t *path_sources = &data.path_sources_c;
+ const f_string_static_t *path_sources = &data.path_sources;
- if (data_build.setting.build_language == fake_build_language_type_cpp) {
- path_sources = &data.path_sources_cpp;
+ if (data_build.setting.path_standard) {
+ path_sources = &data.path_sources_c;
+
+ if (data_build.setting.build_language == fake_build_language_type_cpp) {
+ path_sources = &data.path_sources_cpp;
+ }
+ }
+ else if (data.parameters[fake_parameter_path_sources].result != f_console_result_additional) {
+ path_sources = &data_build.setting.path_sources;
}
f_string_static_t path_headers = f_string_static_t_initialize;
f_string_dynamics_t arguments = f_string_dynamics_t_initialize;
{
- const f_string_static_t *path_sources = &data.path_sources_c;
+ const f_string_static_t *path_sources = &data.path_sources;
- if (data_build.setting.build_language == fake_build_language_type_cpp) {
- path_sources = &data.path_sources_cpp;
+ if (data_build.setting.path_standard) {
+ path_sources = &data.path_sources_c;
+
+ if (data_build.setting.build_language == fake_build_language_type_cpp) {
+ path_sources = &data.path_sources_cpp;
+ }
+ }
+ else if (data.parameters[fake_parameter_path_sources].result != f_console_result_additional) {
+ path_sources = &data_build.setting.path_sources;
}
f_string_length_t source_length = 0;
f_string_dynamics_t arguments = f_string_dynamics_t_initialize;
{
- const f_string_static_t *path_sources = &data.path_sources_c;
+ const f_string_static_t *path_sources = &data.path_sources;
- if (data_build.setting.build_language == fake_build_language_type_cpp) {
- path_sources = &data.path_sources_cpp;
+ if (data_build.setting.path_standard) {
+ path_sources = &data.path_sources_c;
+
+ if (data_build.setting.build_language == fake_build_language_type_cpp) {
+ path_sources = &data.path_sources_cpp;
+ }
+ }
+ else if (data.parameters[fake_parameter_path_sources].result != f_console_result_additional) {
+ path_sources = &data_build.setting.path_sources;
}
f_string_length_t source_length = 0;
bool build_shared;
bool build_static;
+ bool path_standard;
+
bool search_exclusive;
bool search_shared;
bool search_static;
f_string_dynamic_t path_program_script;
f_string_dynamic_t path_program_shared;
f_string_dynamic_t path_program_static;
+ f_string_dynamic_t path_sources;
f_string_dynamic_t process_post;
f_string_dynamic_t process_pre;
f_string_dynamic_t project_name;
F_true, \
F_true, \
F_true, \
+ F_true, \
+ f_string_dynamic_t_initialize, \
f_string_dynamic_t_initialize, \
f_string_dynamic_t_initialize, \
f_string_dynamic_t_initialize, \
f_macro_string_dynamic_t_delete_simple(setting.path_program_script) \
f_macro_string_dynamic_t_delete_simple(setting.path_program_shared) \
f_macro_string_dynamic_t_delete_simple(setting.path_program_static) \
+ f_macro_string_dynamic_t_delete_simple(setting.path_sources) \
f_macro_string_dynamic_t_delete_simple(setting.process_post) \
f_macro_string_dynamic_t_delete_simple(setting.process_pre) \
f_macro_string_dynamic_t_delete_simple(setting.project_name) \
#define fake_build_setting_name_path_program_script "path_program_script"
#define fake_build_setting_name_path_program_shared "path_program_shared"
#define fake_build_setting_name_path_program_static "path_program_static"
+ #define fake_build_setting_name_path_sources "path_sources"
+ #define fake_build_setting_name_path_standard "path_standard"
#define fake_build_setting_name_process_post "process_post"
#define fake_build_setting_name_process_pre "process_pre"
#define fake_build_setting_name_project_name "project_name"
#define fake_build_setting_name_path_program_script_length 19
#define fake_build_setting_name_path_program_shared_length 19
#define fake_build_setting_name_path_program_static_length 19
+ #define fake_build_setting_name_path_sources_length 12
+ #define fake_build_setting_name_path_standard_length 13
#define fake_build_setting_name_process_post_length 12
#define fake_build_setting_name_process_pre_length 11
#define fake_build_setting_name_project_name_length 12
#define fake_build_setting_name_version_minor_length 13
#define fake_build_setting_name_version_target_length 14
- #define fake_build_setting_total 41
+ #define fake_build_setting_total 43
#define fake_build_setting_default_version "0"
{
int result = 0;
- *status = fll_execute_program_environment(program.string, arguments, environment.names, environment.values, &result);
+ if (program.used) {
+ *status = fll_execute_program_environment(program.string, arguments, environment.names, environment.values, &result);
+ }
+ else {
+ *status = F_status_set_error(F_file_found_not);
+ }
if (result != 0) {
*status = F_status_set_error(F_failure);
if (data.verbosity != fake_verbosity_quiet) {
fprintf(f_type_error, "%c", f_string_eol[0]);
fl_color_print(f_type_error, data.context.error, data.context.reset, "ERROR: Failed to find program '");
- fl_color_print(f_type_error, data.context.notable, data.context.reset, "%s", program.string);
+ fl_color_print(f_type_error, data.context.notable, data.context.reset, "%s", program.used ? program.string : "");
fl_color_print_line(f_type_error, data.context.error, data.context.reset, "' for executing.");
}
}
const f_string_t parameters_name[] = {
fake_long_path_build,
fake_long_path_data,
- fake_long_path_sources,
fake_long_path_work,
};
const f_string_t parameter_defaults[] = {
fake_default_path_build,
fake_default_path_data,
- fake_default_path_sources,
fake_default_path_work,
};
const f_string_length_t parameter_default_lengths[] = {
fake_default_path_build_length,
fake_default_path_data_length,
- fake_default_path_sources_length,
fake_default_path_work_length,
};
const f_string_dynamic_t *parameters_value[] = {
&data.path_build,
&data.path_data,
- &data.path_sources,
&data.path_work,
};
const bool parameters_required[] = {
F_false,
F_true,
- F_true,
F_false,
};
struct stat directory_stat;
f_status_t status = F_none;
- for (uint8_t i = 0; i < 4; i++) {
+ for (uint8_t i = 0; i < 3; i++) {
if (parameters_value[i]->used > 0) {
memset(&directory_stat, 0, sizeof(struct stat));
fake_build_setting_name_build_script,
fake_build_setting_name_build_shared,
fake_build_setting_name_build_static,
+ fake_build_setting_name_path_standard,
fake_build_setting_name_search_exclusive,
fake_build_setting_name_search_shared,
fake_build_setting_name_search_static,
fake_build_setting_name_build_script_length,
fake_build_setting_name_build_shared_length,
fake_build_setting_name_build_static_length,
+ fake_build_setting_name_path_standard_length,
fake_build_setting_name_search_exclusive_length,
fake_build_setting_name_search_shared_length,
fake_build_setting_name_search_static_length,
data_make->setting_build.build_script,
data_make->setting_build.build_shared,
data_make->setting_build.build_static,
+ data_make->setting_build.path_standard,
data_make->setting_build.search_exclusive,
data_make->setting_build.search_shared,
data_make->setting_build.search_static,
};
- for (uint8_t i = 0; i < 6; i++) {
+ for (uint8_t i = 0; i < 7; i++) {
status = fl_string_dynamic_partial_compare_string(bool_name[i], data_make->buffer, bool_length[i], range_name);
if (status == F_equal_to) {
fake_build_setting_name_path_program_script,
fake_build_setting_name_path_program_shared,
fake_build_setting_name_path_program_static,
+ fake_build_setting_name_path_sources,
fake_build_setting_name_process_post,
fake_build_setting_name_process_pre,
fake_build_setting_name_project_name,
fake_build_setting_name_path_program_script_length,
fake_build_setting_name_path_program_shared_length,
fake_build_setting_name_path_program_static_length,
+ fake_build_setting_name_path_sources_length,
fake_build_setting_name_process_post_length,
fake_build_setting_name_process_pre_length,
fake_build_setting_name_project_name_length,
data_make->setting_build.path_program_script,
data_make->setting_build.path_program_shared,
data_make->setting_build.path_program_static,
+ data_make->setting_build.path_sources,
data_make->setting_build.process_post,
data_make->setting_build.process_pre,
data_make->setting_build.project_name,
data_make->setting_build.version_minor,
};
- for (uint8_t i = 0; i < 16; i++) {
+ for (uint8_t i = 0; i < 17; i++) {
status = fl_string_dynamic_partial_compare_string(dynamic_name[i], data_make->buffer, dynamic_length[i], range_name);
if (status == F_equal_to) {
path_program_script script
path_program_shared shared
path_program_static static
+path_sources
+path_standard yes
search_exclusive yes
search_shared yes
path_program_script script
path_program_shared shared
path_program_static static
+path_sources
+path_standard no
search_exclusive yes
search_shared yes
path_program_script script
path_program_shared shared
path_program_static static
+path_sources
+path_standard no
search_exclusive yes
search_shared yes
path_program_static\:
A sub-path representing when the built shared program files are placed.
+ path_sources\:
+ A sub-path representing when the built shared program files are placed.
+
+ path_standard\:
+ When "yes", the sources path will be built using the sources path with the language, such as "sources/c/", ignoring "path_sources" completely.
+ When "no", the default sources path structure is not used and instead "path_sources" is used.
+ When the parameter -S/--sources is specified, such as "-S xxx", then when "yes" is used path would be "xxx/c/" and when "no" path would be "xxx/".
+
project_name\:
The name of the project.
If program sources are specified, then this will be used as the program name.
"path_program_script": Must be a single valid path.
"path_program_shared": Must be a single valid path.
"path_program_static": Must be a single valid path.
+ "path_sources": Must only be a valid directory path or not specified.
+ "path_standard": Must only one of: "yes" or "no".
"project_name": Must only contain characters allowed in a filename.
"process_post": Must contain only a single valid filename.
"process_pre": Must contain only a single valid filename.
path_program_script script
path_program_shared shared
path_program_static static
+path_sources
+path_standard yes
search_exclusive yes
search_shared yes
path_program_script script
path_program_shared shared
path_program_static static
+path_sources
+path_standard yes
search_exclusive yes
search_shared yes
path_program_script script
path_program_shared shared
path_program_static static
+path_sources
+path_standard yes
search_exclusive yes
search_shared yes
path_program_script script
path_program_shared shared
path_program_static static
+path_sources
+path_standard yes
search_exclusive yes
search_shared yes
path_program_script script
path_program_shared shared
path_program_static static
+path_sources
+path_standard yes
search_exclusive yes
search_shared yes
path_program_script script
path_program_shared shared
path_program_static static
+path_sources
+path_standard yes
search_exclusive yes
search_shared yes
path_program_script script
path_program_shared shared
path_program_static static
+path_sources
+path_standard yes
search_exclusive yes
search_shared yes
path_program_script script
path_program_shared shared
path_program_static static
+path_sources
+path_standard yes
search_exclusive yes
search_shared yes
path_program_script script
path_program_shared shared
path_program_static static
+path_sources
+path_standard yes
search_exclusive yes
search_shared yes
path_program_script script
path_program_shared shared
path_program_static static
+path_sources
+path_standard yes
search_exclusive yes
search_shared yes
path_program_script script
path_program_shared shared
path_program_static static
+path_sources
+path_standard yes
search_exclusive yes
search_shared yes
path_program_script script
path_program_shared shared
path_program_static static
+path_sources
+path_standard yes
search_exclusive yes
search_shared yes