From: Kevin Day Date: Sat, 7 Jan 2023 05:03:34 +0000 (-0600) Subject: Feature: Add missing documentation handling functionality to Featureless Make. X-Git-Tag: 0.6.3~34 X-Git-Url: https://git.kevux.org/?a=commitdiff_plain;h=80a32704802ccd466f8d8744e3f835e326f42427;p=fll Feature: Add missing documentation handling functionality to Featureless Make. This is an oversight and should have been implemented before the first stable release. This feature should be a core feature. Documentation is important. Make sure the handling of documentation is available for use. This adds "build_sources_documentation" to the build settings to help facilitate documentation installation. The documentation that is copied is expected to be under 'data/documentation/'. The 'documentation' and 'documents' terminology overlaps to some degree. The 'documentation' is a more specific thing and may not always be a 'document'. The existing behavior around 'documents' is left unchanged. The skeleton operation now creates the 'data/documentation/' directory. The bootstrap.sh script now supports enabling and disabling documentation via the more common '--enable-doc' and '--disable-doc' parameters. --- diff --git a/build/scripts/bootstrap.sh b/build/scripts/bootstrap.sh index 480fc7c..c3e1cfa 100644 --- a/build/scripts/bootstrap.sh +++ b/build/scripts/bootstrap.sh @@ -54,6 +54,7 @@ bootstrap_main() { local path_build=build/ local path_build_stage=build/stage/ local path_data=data/ + local path_documentation=${path_data}documentation/ local path_settings=${path_data}settings/ local path_sources=sources/ local path_language=c/ @@ -72,6 +73,7 @@ bootstrap_main() { local verbose= local verbose_common= + local enable_documentation= local enable_shared= local enable_static= @@ -134,6 +136,10 @@ bootstrap_main() { grab_next=path_sources elif [[ $p == "-w" || $p == "--work" ]] ; then grab_next=path_work + elif [[ $p == "--enable-doc" ]] ; then + enable_documentation="yes" + elif [[ $p == "--disable-doc" ]] ; then + enable_documentation="no" elif [[ $p == "--enable-shared" ]] ; then enable_shared="yes" elif [[ $p == "--disable-shared" ]] ; then @@ -188,6 +194,7 @@ bootstrap_main() { fi settings_defines="${path_data}build/defines" + path_documentation="${path_data}documentation/" path_settings="${path_data}settings/" path_build_stage="${path_build}stage/" @@ -495,6 +502,8 @@ bootstrap_help() { echo -e " -${c_important}w${c_reset}, --${c_important}work${c_reset} Use includes/libraries/programs from this directory instead of system." echo echo -e "${c_highlight}Special Options:${c_reset}" + echo -e " --${c_important}enable-doc${c_reset} Forcibly do build documentation files." + echo -e " --${c_important}disable-doc${c_reset} Forcibly do not build documentation files." echo -e " --${c_important}enable-shared${c_reset} Forcibly do build shared files." echo -e " --${c_important}disable-shared${c_reset} Forcibly do not build shared files." echo -e " --${c_important}enable-static${c_reset} Forcibly do build static files." @@ -521,213 +530,215 @@ bootstrap_id() { "build_objects_program_static") let key=13;; "build_script") let key=14;; "build_shared") let key=15;; - "build_sources_headers") let key=16;; - "build_sources_headers_shared") let key=17;; - "build_sources_headers_static") let key=18;; - "build_sources_library") let key=19;; - "build_sources_library_shared") let key=20;; - "build_sources_library_static") let key=21;; - "build_sources_object") let key=22;; - "build_sources_object_shared") let key=23;; - "build_sources_object_static") let key=24;; - "build_sources_program") let key=25;; - "build_sources_program_shared") let key=26;; - "build_sources_program_static") let key=27;; - "build_sources_script") let key=28;; - "build_sources_setting") let key=29;; - "build_static") let key=30;; - "defines") let key=31;; - "defines_library") let key=32;; - "defines_library_shared") let key=33;; - "defines_library_static") let key=34;; - "defines_object") let key=35;; - "defines_object_shared") let key=36;; - "defines_object_static") let key=37;; - "defines_program") let key=38;; - "defines_program_shared") let key=39;; - "defines_program_static") let key=40;; - "defines_shared") let key=41;; - "defines_static") let key=42;; - "environment") let key=43;; - "flags") let key=44;; - "flags_library") let key=45;; - "flags_library_shared") let key=46;; - "flags_library_static") let key=47;; - "flags_object") let key=48;; - "flags_object_shared") let key=49;; - "flags_object_static") let key=50;; - "flags_program") let key=51;; - "flags_program_shared") let key=52;; - "flags_program_static") let key=53;; - "flags_shared") let key=54;; - "flags_static") let key=55;; - "has_path_standard") let key=56;; - "modes") let key=57;; - "modes_default") let key=58;; - "path_headers") let key=59;; - "path_language") let key=60;; - "path_library_script") let key=61;; - "path_library_shared") let key=62;; - "path_library_static") let key=63;; - "path_object_script") let key=64;; - "path_object_shared") let key=65;; - "path_object_static") let key=66;; - "path_program_script") let key=67;; - "path_program_shared") let key=68;; - "path_program_static") let key=69;; - "path_sources") let key=70;; - "path_sources_object") let key=71;; - "preserve_path_headers") let key=72;; - "process_post") let key=73;; - "process_pre") let key=74;; - "search_exclusive") let key=75;; - "search_shared") let key=76;; - "search_static") let key=77;; - "version_file") let key=78;; - "version_major") let key=79;; - "version_major_prefix") let key=80;; - "version_micro") let key=81;; - "version_micro_prefix") let key=82;; - "version_minor") let key=83;; - "version_minor_prefix") let key=84;; - "version_nano") let key=85;; - "version_nano_prefix") let key=86;; - "version_target") let key=87;; - - "build_compiler-mode") let key=88;; - "build_indexer-mode") let key=89;; - "build_indexer_arguments-mode") let key=90;; - "build_language-mode") let key=91;; - "build_libraries-mode") let key=92;; - "build_libraries_shared-mode") let key=93;; - "build_libraries_static-mode") let key=94;; - "build_name-mode") let key=95;; - "build_objects_library-mode") let key=96;; - "build_objects_library_shared-mode") let key=97;; - "build_objects_library_static-mode") let key=98;; - "build_objects_program-mode") let key=99;; - "build_objects_program_shared-mode") let key=100;; - "build_objects_program_static-mode") let key=101;; - "build_script-mode") let key=102;; - "build_shared-mode") let key=103;; - "build_sources_headers-mode") let key=104;; - "build_sources_headers_shared-mode") let key=105;; - "build_sources_headers_static-mode") let key=106;; - "build_sources_library-mode") let key=107;; - "build_sources_library_shared-mode") let key=108;; - "build_sources_library_static-mode") let key=109;; - "build_sources_object-mode") let key=110;; - "build_sources_object_shared-mode") let key=111;; - "build_sources_object_static-mode") let key=112;; - "build_sources_program-mode") let key=113;; - "build_sources_program_shared-mode") let key=114;; - "build_sources_program_static-mode") let key=115;; - "build_sources_script-mode") let key=116;; - "build_sources_setting-mode") let key=117;; - "build_static-mode") let key=118;; - "defines-mode") let key=119;; - "defines_library-mode") let key=120;; - "defines_library_shared-mode") let key=121;; - "defines_library_static-mode") let key=122;; - "defines_object-mode") let key=123;; - "defines_object_shared-mode") let key=124;; - "defines_object_static-mode") let key=125;; - "defines_program-mode") let key=126;; - "defines_program_shared-mode") let key=127;; - "defines_program_static-mode") let key=128;; - "defines_shared-mode") let key=129;; - "defines_static-mode") let key=130;; - "environment-mode") let key=131;; - "flags-mode") let key=132;; - "flags_library-mode") let key=133;; - "flags_library_shared-mode") let key=134;; - "flags_library_static-mode") let key=135;; - "flags_object-mode") let key=136;; - "flags_object_shared-mode") let key=137;; - "flags_object_static-mode") let key=138;; - "flags_program-mode") let key=139;; - "flags_program_shared-mode") let key=140;; - "flags_program_static-mode") let key=141;; - "flags_shared-mode") let key=142;; - "flags_static-mode") let key=143;; - "has_path_standard-mode") let key=144;; - "path_headers-mode") let key=145;; - "path_language-mode") let key=146;; - "path_library_script-mode") let key=147;; - "path_library_shared-mode") let key=148;; - "path_library_static-mode") let key=149;; - "path_object_script-mode") let key=150;; - "path_object_shared-mode") let key=151;; - "path_object_static-mode") let key=152;; - "path_program_script-mode") let key=153;; - "path_program_shared-mode") let key=154;; - "path_program_static-mode") let key=155;; - "path_sources-mode") let key=156;; - "path_sources_object-mode") let key=157;; - "preserve_path_headers-mode") let key=158;; - "process_post-mode") let key=159;; - "process_pre-mode") let key=160;; - "search_exclusive-mode") let key=161;; - "search_shared-mode") let key=162;; - "search_static-mode") let key=163;; - "version_file-mode") let key=164;; - "version_major-mode") let key=165;; - "version_major_prefix-mode") let key=166;; - "version_micro-mode") let key=167;; - "version_micro_prefix-mode") let key=168;; - "version_minor-mode") let key=169;; - "version_minor_prefix-mode") let key=170;; - "version_nano-mode") let key=171;; - "version_nano_prefix-mode") let key=172;; - "version_target-mode") let key=173;; - - "has-build_compiler") let key=174;; - "has-build_indexer") let key=175;; - "has-build_indexer_arguments") let key=176;; - "has-build_name") let key=177;; - "has-has_path_standard") let key=178;; - "has-path_library_script") let key=179;; - "has-path_library_shared") let key=180;; - "has-path_library_static") let key=181;; - "has-path_object_script") let key=182;; - "has-path_object_shared") let key=183;; - "has-path_object_static") let key=184;; - "has-path_program_script") let key=185;; - "has-path_program_shared") let key=186;; - "has-path_program_static") let key=187;; - "has-path_sources") let key=188;; - "has-path_sources_object") let key=189;; - "has-search_exclusive") let key=190;; - "has-search_shared") let key=191;; - "has-search_static") let key=192;; - "has-version_major_prefix") let key=193;; - "has-version_micro_prefix") let key=194;; - "has-version_minor_prefix") let key=195;; - "has-version_nano_prefix") let key=196;; - - "has-build_compiler-mode") let key=197;; - "has-build_indexer-mode") let key=198;; - "has-build_indexer_arguments-mode") let key=199;; - "has-build_name-mode") let key=200;; - "has-has_path_standard-mode") let key=201;; - "has-path_library_script-mode") let key=202;; - "has-path_library_shared-mode") let key=203;; - "has-path_library_static-mode") let key=204;; - "has-path_object_script-mode") let key=205;; - "has-path_object_shared-mode") let key=206;; - "has-path_object_static-mode") let key=207;; - "has-path_program_script-mode") let key=208;; - "has-path_program_shared-mode") let key=209;; - "has-path_program_static-mode") let key=210;; - "has-path_sources-mode") let key=211;; - "has-path_sources_object-mode") let key=212;; - "has-search_exclusive-mode") let key=213;; - "has-search_shared-mode") let key=214;; - "has-search_static-mode") let key=215;; - "has-version_major_prefix-mode") let key=216;; - "has-version_micro_prefix-mode") let key=217;; - "has-version_minor_prefix-mode") let key=218;; - "has-version_nano_prefix-mode") let key=219;; + "build_sources_documentation") let key=16;; + "build_sources_headers") let key=17;; + "build_sources_headers_shared") let key=18;; + "build_sources_headers_static") let key=19;; + "build_sources_library") let key=20;; + "build_sources_library_shared") let key=21;; + "build_sources_library_static") let key=22;; + "build_sources_object") let key=23;; + "build_sources_object_shared") let key=24;; + "build_sources_object_static") let key=25;; + "build_sources_program") let key=26;; + "build_sources_program_shared") let key=27;; + "build_sources_program_static") let key=28;; + "build_sources_script") let key=29;; + "build_sources_setting") let key=30;; + "build_static") let key=31;; + "defines") let key=32;; + "defines_library") let key=33;; + "defines_library_shared") let key=34;; + "defines_library_static") let key=35;; + "defines_object") let key=36;; + "defines_object_shared") let key=37;; + "defines_object_static") let key=38;; + "defines_program") let key=39;; + "defines_program_shared") let key=40;; + "defines_program_static") let key=41;; + "defines_shared") let key=42;; + "defines_static") let key=43;; + "environment") let key=44;; + "flags") let key=45;; + "flags_library") let key=46;; + "flags_library_shared") let key=47;; + "flags_library_static") let key=48;; + "flags_object") let key=49;; + "flags_object_shared") let key=50;; + "flags_object_static") let key=51;; + "flags_program") let key=52;; + "flags_program_shared") let key=53;; + "flags_program_static") let key=54;; + "flags_shared") let key=55;; + "flags_static") let key=56;; + "has_path_standard") let key=57;; + "modes") let key=58;; + "modes_default") let key=59;; + "path_headers") let key=60;; + "path_language") let key=61;; + "path_library_script") let key=62;; + "path_library_shared") let key=63;; + "path_library_static") let key=64;; + "path_object_script") let key=65;; + "path_object_shared") let key=66;; + "path_object_static") let key=67;; + "path_program_script") let key=68;; + "path_program_shared") let key=69;; + "path_program_static") let key=70;; + "path_sources") let key=71;; + "path_sources_object") let key=72;; + "preserve_path_headers") let key=73;; + "process_post") let key=74;; + "process_pre") let key=75;; + "search_exclusive") let key=76;; + "search_shared") let key=77;; + "search_static") let key=78;; + "version_file") let key=79;; + "version_major") let key=80;; + "version_major_prefix") let key=81;; + "version_micro") let key=82;; + "version_micro_prefix") let key=83;; + "version_minor") let key=84;; + "version_minor_prefix") let key=85;; + "version_nano") let key=86;; + "version_nano_prefix") let key=87;; + "version_target") let key=88;; + + "build_compiler-mode") let key=89;; + "build_indexer-mode") let key=90;; + "build_indexer_arguments-mode") let key=91;; + "build_language-mode") let key=92;; + "build_libraries-mode") let key=93;; + "build_libraries_shared-mode") let key=94;; + "build_libraries_static-mode") let key=95;; + "build_name-mode") let key=96;; + "build_objects_library-mode") let key=97;; + "build_objects_library_shared-mode") let key=98;; + "build_objects_library_static-mode") let key=99;; + "build_objects_program-mode") let key=100;; + "build_objects_program_shared-mode") let key=101;; + "build_objects_program_static-mode") let key=102;; + "build_script-mode") let key=103;; + "build_shared-mode") let key=104;; + "build_sources_documentation-mode") let key=105;; + "build_sources_headers-mode") let key=106;; + "build_sources_headers_shared-mode") let key=107;; + "build_sources_headers_static-mode") let key=108;; + "build_sources_library-mode") let key=109;; + "build_sources_library_shared-mode") let key=110;; + "build_sources_library_static-mode") let key=111;; + "build_sources_object-mode") let key=112;; + "build_sources_object_shared-mode") let key=113;; + "build_sources_object_static-mode") let key=114;; + "build_sources_program-mode") let key=115;; + "build_sources_program_shared-mode") let key=116;; + "build_sources_program_static-mode") let key=117;; + "build_sources_script-mode") let key=118;; + "build_sources_setting-mode") let key=119;; + "build_static-mode") let key=120;; + "defines-mode") let key=121;; + "defines_library-mode") let key=122;; + "defines_library_shared-mode") let key=123;; + "defines_library_static-mode") let key=124;; + "defines_object-mode") let key=125;; + "defines_object_shared-mode") let key=126;; + "defines_object_static-mode") let key=127;; + "defines_program-mode") let key=128;; + "defines_program_shared-mode") let key=129;; + "defines_program_static-mode") let key=130;; + "defines_shared-mode") let key=131;; + "defines_static-mode") let key=132;; + "environment-mode") let key=133;; + "flags-mode") let key=134;; + "flags_library-mode") let key=135;; + "flags_library_shared-mode") let key=136;; + "flags_library_static-mode") let key=137;; + "flags_object-mode") let key=138;; + "flags_object_shared-mode") let key=139;; + "flags_object_static-mode") let key=140;; + "flags_program-mode") let key=141;; + "flags_program_shared-mode") let key=142;; + "flags_program_static-mode") let key=143;; + "flags_shared-mode") let key=144;; + "flags_static-mode") let key=145;; + "has_path_standard-mode") let key=146;; + "path_headers-mode") let key=147;; + "path_language-mode") let key=148;; + "path_library_script-mode") let key=149;; + "path_library_shared-mode") let key=150;; + "path_library_static-mode") let key=151;; + "path_object_script-mode") let key=152;; + "path_object_shared-mode") let key=153;; + "path_object_static-mode") let key=154;; + "path_program_script-mode") let key=155;; + "path_program_shared-mode") let key=156;; + "path_program_static-mode") let key=157;; + "path_sources-mode") let key=158;; + "path_sources_object-mode") let key=159;; + "preserve_path_headers-mode") let key=160;; + "process_post-mode") let key=161;; + "process_pre-mode") let key=162;; + "search_exclusive-mode") let key=163;; + "search_shared-mode") let key=164;; + "search_static-mode") let key=165;; + "version_file-mode") let key=166;; + "version_major-mode") let key=167;; + "version_major_prefix-mode") let key=168;; + "version_micro-mode") let key=169;; + "version_micro_prefix-mode") let key=170;; + "version_minor-mode") let key=171;; + "version_minor_prefix-mode") let key=172;; + "version_nano-mode") let key=173;; + "version_nano_prefix-mode") let key=174;; + "version_target-mode") let key=175;; + + "has-build_compiler") let key=176;; + "has-build_indexer") let key=177;; + "has-build_indexer_arguments") let key=178;; + "has-build_name") let key=179;; + "has-has_path_standard") let key=180;; + "has-path_library_script") let key=181;; + "has-path_library_shared") let key=182;; + "has-path_library_static") let key=183;; + "has-path_object_script") let key=184;; + "has-path_object_shared") let key=185;; + "has-path_object_static") let key=186;; + "has-path_program_script") let key=187;; + "has-path_program_shared") let key=188;; + "has-path_program_static") let key=189;; + "has-path_sources") let key=190;; + "has-path_sources_object") let key=191;; + "has-search_exclusive") let key=192;; + "has-search_shared") let key=193;; + "has-search_static") let key=194;; + "has-version_major_prefix") let key=195;; + "has-version_micro_prefix") let key=196;; + "has-version_minor_prefix") let key=197;; + "has-version_nano_prefix") let key=198;; + + "has-build_compiler-mode") let key=199;; + "has-build_indexer-mode") let key=200;; + "has-build_indexer_arguments-mode") let key=201;; + "has-build_name-mode") let key=202;; + "has-has_path_standard-mode") let key=203;; + "has-path_library_script-mode") let key=204;; + "has-path_library_shared-mode") let key=205;; + "has-path_library_static-mode") let key=206;; + "has-path_object_script-mode") let key=207;; + "has-path_object_shared-mode") let key=208;; + "has-path_object_static-mode") let key=209;; + "has-path_program_script-mode") let key=210;; + "has-path_program_shared-mode") let key=211;; + "has-path_program_static-mode") let key=212;; + "has-path_sources-mode") let key=213;; + "has-path_sources_object-mode") let key=214;; + "has-search_exclusive-mode") let key=215;; + "has-search_shared-mode") let key=216;; + "has-search_static-mode") let key=217;; + "has-version_major_prefix-mode") let key=218;; + "has-version_micro_prefix-mode") let key=219;; + "has-version_minor_prefix-mode") let key=220;; + "has-version_nano_prefix-mode") let key=221;; esac } @@ -812,7 +823,7 @@ bootstrap_load_settings() { done # Multi value Objects. - for i in build_indexer_arguments build_libraries build_libraries_shared build_libraries_static build_objects_library build_objects_library_shared build_objects_library_static build_objects_program build_objects_program_shared build_objects_program_static build_sources_headers build_sources_headers_shared build_sources_headers_static build_sources_library build_sources_library_shared build_sources_library_static build_sources_program build_sources_program_shared build_sources_program_static build_sources_script build_sources_setting defines defines_library defines_library_shared defines_library_static defines_object defines_object_shared defines_object_static defines_program defines_program_shared defines_program_static defines_shared defines_static environment flags flags_library flags_library_shared flags_library_static flags_object flags_object_shared flags_object_static flags_program flags_program_shared flags_program_static flags_shared flags_static ; do + for i in build_indexer_arguments build_libraries build_libraries_shared build_libraries_static build_objects_library build_objects_library_shared build_objects_library_static build_objects_program build_objects_program_shared build_objects_program_static build_sources_documentation build_sources_headers build_sources_headers_shared build_sources_headers_static build_sources_library build_sources_library_shared build_sources_library_static build_sources_program build_sources_program_shared build_sources_program_static build_sources_script build_sources_setting defines defines_library defines_library_shared defines_library_static defines_object defines_object_shared defines_object_static defines_program defines_program_shared defines_program_static defines_shared defines_static environment flags flags_library flags_library_shared flags_library_static flags_object flags_object_shared flags_object_static flags_program flags_program_shared flags_program_static flags_shared flags_static ; do bootstrap_id "$i" @@ -907,7 +918,7 @@ bootstrap_load_settings_mode() { done # Multi value Objects. - for i in build_indexer_arguments build_libraries build_libraries_shared build_libraries_static build_objects_library build_objects_library_shared build_objects_library_static build_objects_program build_objects_program_shared build_objects_program_static build_sources_headers build_sources_headers_shared build_sources_headers_static build_sources_library build_sources_library_shared build_sources_library_static build_sources_object_shared build_sources_object_static build_sources_program build_sources_program_shared build_sources_program_static build_sources_script build_sources_setting build_static defines defines_library defines_library_shared defines_library_static defines_object defines_object_shared defines_object_static defines_program defines_program_shared defines_program_static defines_shared defines_static environment flags flags_library flags_library_shared flags_library_static flags_object flags_object_shared flags_object_static flags_program flags_program_shared flags_program_static flags_shared flags_static ; do + for i in build_indexer_arguments build_libraries build_libraries_shared build_libraries_static build_objects_library build_objects_library_shared build_objects_library_static build_objects_program build_objects_program_shared build_objects_program_static build_sources_documentation build_sources_headers build_sources_headers_shared build_sources_headers_static build_sources_library build_sources_library_shared build_sources_library_static build_sources_object_shared build_sources_object_static build_sources_program build_sources_program_shared build_sources_program_static build_sources_script build_sources_setting build_static defines defines_library defines_library_shared defines_library_static defines_object defines_object_shared defines_object_static defines_program defines_program_shared defines_program_static defines_shared defines_static environment flags flags_library flags_library_shared flags_library_static flags_object flags_object_shared flags_object_static flags_program flags_program_shared flags_program_static flags_shared flags_static ; do bootstrap_id "${i}-mode" @@ -1160,6 +1171,9 @@ bootstrap_operation_build() { bootstrap_id "search_static" local search_static=${variables[$key]} + bootstrap_id "build_sources_documentation" + local sources_documentation=${variables[$key]} + bootstrap_id "build_sources_headers" local sources_headers=${variables[$key]} @@ -1249,6 +1263,8 @@ bootstrap_operation_build() { bootstrap_operation_build_prepare_settings + bootstrap_operation_build_prepare_documentation + bootstrap_operation_build_prepare_headers bootstrap_operation_build_prepare_remaining @@ -1285,6 +1301,22 @@ bootstrap_operation_build() { return 1 fi + if [[ $sources_documentation != "" ]] ; then + for i in $sources_documentation ; do + directory=$(dirname $i) + + if [[ $directory == "." ]] ; then + cp $verbose_common -R ${path_documentation}${i} ${path_build}documentation/ || failure=1 + else + mkdir $verbose_common -p ${path_build}documentation/${directory} || failure=1 + + if [[ $failure -eq 0 ]] ; then + cp $verbose_common -R ${path_documentation}${i} ${path_build}documentation/${directory}/ || failure=1 + fi + fi + done + fi + if [[ $sources_setting != "" ]] ; then for i in $sources_setting ; do directory=$(dirname $i) @@ -1879,6 +1911,17 @@ bootstrap_operation_build_prepare_defines() { fi } +bootstrap_operation_build_prepare_documentation() { + local key= + + bootstrap_id "build_sources_documentation-mode" + if [[ $sources_documentation == "" ]] ; then + sources_documentation=${variables[$key]} + else + sources_documentation="$sources_documentation ${variables[$key]}" + fi +} + bootstrap_operation_build_prepare_flags() { local key= @@ -2689,7 +2732,7 @@ bootstrap_operation_build_validate_sources() { for i in $sources_script ; do if [[ $i != "$(echo $i | sed -e 's|^//*||' -e 's|^\.\.//*||' -e 's|/*$||')" ]] ; then if [[ $verbosity != "quiet" ]] ; then - echo -e "${c_error}ERROR: Cannot Build, invalid sources_script path provided: '${i}'.${c_reset}" + echo -e "${c_error}ERROR: Cannot Build, invalid build_sources_script path provided: '${i}'.${c_reset}" fi let failure=1 @@ -2699,7 +2742,7 @@ bootstrap_operation_build_validate_sources() { for i in $sources_headers ; do if [[ $i != "$(echo $i | sed -e 's|^//*||' -e 's|^\.\.//*||' -e 's|/*$||')" ]] ; then if [[ $verbosity != "quiet" ]] ; then - echo -e "${c_error}ERROR: Cannot Build, invalid sources_headers path provided: '${i}'.${c_reset}" + echo -e "${c_error}ERROR: Cannot Build, invalid build_sources_headers path provided: '${i}'.${c_reset}" fi let failure=1 @@ -2709,7 +2752,7 @@ bootstrap_operation_build_validate_sources() { for i in $sources_library ; do if [[ $i != "$(echo $i | sed -e 's|^//*||' -e 's|^\.\.//*||' -e 's|/*$||')" ]] ; then if [[ $verbosity != "quiet" ]] ; then - echo -e "${c_error}ERROR: Cannot Build, invalid sources_library path provided: '${i}'.${c_reset}" + echo -e "${c_error}ERROR: Cannot Build, invalid build_sources_library path provided: '${i}'.${c_reset}" fi let failure=1 @@ -2719,7 +2762,7 @@ bootstrap_operation_build_validate_sources() { for i in $sources_library_object ; do if [[ $i != "$(echo $i | sed -e 's|^//*||' -e 's|^\.\.//*||' -e 's|/*$||')" ]] ; then if [[ $verbosity != "quiet" ]] ; then - echo -e "${c_error}ERROR: Cannot Build, invalid sources_library_object path provided: '${i}'.${c_reset}" + echo -e "${c_error}ERROR: Cannot Build, invalid build_sources_library_object path provided: '${i}'.${c_reset}" fi let failure=1 @@ -2729,7 +2772,7 @@ bootstrap_operation_build_validate_sources() { for i in $sources_program_object ; do if [[ $i != "$(echo $i | sed -e 's|^//*||' -e 's|^\.\.//*||' -e 's|/*$||')" ]] ; then if [[ $verbosity != "quiet" ]] ; then - echo -e "${c_error}ERROR: Cannot Build, invalid sources_program_object path provided: '${i}'.${c_reset}" + echo -e "${c_error}ERROR: Cannot Build, invalid build_sources_program_object path provided: '${i}'.${c_reset}" fi let failure=1 @@ -2739,7 +2782,17 @@ bootstrap_operation_build_validate_sources() { for i in $sources_program ; do if [[ $i != "$(echo $i | sed -e 's|^//*||' -e 's|^\.\.//*||' -e 's|/*$||')" ]] ; then if [[ $verbosity != "quiet" ]] ; then - echo -e "${c_error}ERROR: Cannot Build, invalid sources_program path provided: '${i}'.${c_reset}" + echo -e "${c_error}ERROR: Cannot Build, invalid build_sources_program path provided: '${i}'.${c_reset}" + fi + + let failure=1 + fi + done + + for i in $sources_documentation ; do + if [[ $i != "$(echo $i | sed -e 's|^//*||' -e 's|^\.\.//*||' -e 's|/*$||')" ]] ; then + if [[ $verbosity != "quiet" ]] ; then + echo -e "${c_error}ERROR: Cannot Build, invalid build_sources_documentation path provided: '${i}'.${c_reset}" fi let failure=1 @@ -2749,7 +2802,7 @@ bootstrap_operation_build_validate_sources() { for i in $sources_setting ; do if [[ $i != "$(echo $i | sed -e 's|^//*||' -e 's|^\.\.//*||' -e 's|/*$||')" ]] ; then if [[ $verbosity != "quiet" ]] ; then - echo -e "${c_error}ERROR: Cannot Build, invalid sources_setting path provided: '${i}'.${c_reset}" + echo -e "${c_error}ERROR: Cannot Build, invalid build_sources_setting path provided: '${i}'.${c_reset}" fi let failure=1 @@ -2850,6 +2903,7 @@ bootstrap_cleanup() { unset bootstrap_operation_build unset bootstrap_operation_build_prepare_defaults unset bootstrap_operation_build_prepare_defines + unset bootstrap_operation_build_prepare_documentation unset bootstrap_operation_build_prepare_flags unset bootstrap_operation_build_prepare_headers unset bootstrap_operation_build_prepare_libraries diff --git a/level_3/fake/c/common.c b/level_3/fake/c/common.c index 7565db1..1f6f0ca 100644 --- a/level_3/fake/c/common.c +++ b/level_3/fake/c/common.c @@ -27,6 +27,7 @@ extern "C" { const f_string_static_t fake_path_part_c_s = macro_f_string_static_t_initialize(FAKE_path_part_c_s, 0, FAKE_path_part_c_s_length); const f_string_static_t fake_path_part_cpp_s = macro_f_string_static_t_initialize(FAKE_path_part_cpp_s, 0, FAKE_path_part_cpp_s_length); const f_string_static_t fake_path_part_data_s = macro_f_string_static_t_initialize(FAKE_path_part_data_s, 0, FAKE_path_part_data_s_length); + const f_string_static_t fake_path_part_documentation_s = macro_f_string_static_t_initialize(FAKE_path_part_documentation_s, 0, FAKE_path_part_documentation_s_length); const f_string_static_t fake_path_part_documents_s = macro_f_string_static_t_initialize(FAKE_path_part_documents_s, 0, FAKE_path_part_documents_s_length); const f_string_static_t fake_path_part_includes_s = macro_f_string_static_t_initialize(FAKE_path_part_includes_s, 0, FAKE_path_part_includes_s_length); const f_string_static_t fake_path_part_libraries_s = macro_f_string_static_t_initialize(FAKE_path_part_libraries_s, 0, FAKE_path_part_libraries_s_length); diff --git a/level_3/fake/c/common.h b/level_3/fake/c/common.h index 32f311b..e2a652d 100644 --- a/level_3/fake/c/common.h +++ b/level_3/fake/c/common.h @@ -90,6 +90,7 @@ extern "C" { #define FAKE_path_part_c_s "c" F_path_separator_s #define FAKE_path_part_cpp_s "c++" F_path_separator_s #define FAKE_path_part_data_s "data" F_path_separator_s + #define FAKE_path_part_documentation_s "documentation" F_path_separator_s #define FAKE_path_part_documents_s "documents" F_path_separator_s #define FAKE_path_part_includes_s "includes" F_path_separator_s #define FAKE_path_part_libraries_s "libraries" F_path_separator_s @@ -109,6 +110,7 @@ extern "C" { #define FAKE_path_part_c_s_length 1 + F_path_separator_s_length #define FAKE_path_part_cpp_s_length 3 + F_path_separator_s_length #define FAKE_path_part_data_s_length 4 + F_path_separator_s_length + #define FAKE_path_part_documentation_s_length 13 + F_path_separator_s_length #define FAKE_path_part_documents_s_length 9 + F_path_separator_s_length #define FAKE_path_part_includes_s_length 8 + F_path_separator_s_length #define FAKE_path_part_libraries_s_length 9 + F_path_separator_s_length @@ -128,6 +130,7 @@ extern "C" { extern const f_string_static_t fake_path_part_c_s; extern const f_string_static_t fake_path_part_cpp_s; extern const f_string_static_t fake_path_part_data_s; + extern const f_string_static_t fake_path_part_documentation_s; extern const f_string_static_t fake_path_part_documents_s; extern const f_string_static_t fake_path_part_includes_s; extern const f_string_static_t fake_path_part_libraries_s; diff --git a/level_3/fake/c/private-build-load.c b/level_3/fake/c/private-build-load.c index bebdf35..bb69665 100644 --- a/level_3/fake/c/private-build-load.c +++ b/level_3/fake/c/private-build-load.c @@ -298,6 +298,7 @@ extern "C" { fake_build_setting_name_build_objects_program_static_s, fake_build_setting_name_build_script_s, fake_build_setting_name_build_shared_s, + fake_build_setting_name_build_sources_documentation_s, fake_build_setting_name_build_sources_headers_s, fake_build_setting_name_build_sources_headers_shared_s, fake_build_setting_name_build_sources_headers_static_s, @@ -389,6 +390,7 @@ extern "C" { &setting->build_objects_program_static, &build_script, &build_shared, + &setting->build_sources_documentation, &setting->build_sources_headers, &setting->build_sources_headers_shared, &setting->build_sources_headers_static, @@ -480,6 +482,7 @@ extern "C" { F_false, // setting->build_objects_program_stat F_false, // build_script F_false, // build_shared + F_false, // setting->build_sources_documentation F_false, // setting->build_sources_headers F_false, // setting->build_sources_headers_shar F_false, // setting->build_sources_headers_stat @@ -870,40 +873,40 @@ extern "C" { settings_matches[7], // build_name settings_matches[14], // build_script settings_matches[15], // build_shared - settings_matches[22], // build_sources_object - settings_matches[23], // build_sources_object_shared - settings_matches[24], // build_sources_object_static - settings_matches[30], // build_static - settings_matches[56], // has_path_standard - settings_matches[59], // path_headers - settings_matches[60], // path_language - settings_matches[61], // path_library_script - settings_matches[62], // path_library_shared - settings_matches[63], // path_library_static - settings_matches[64], // path_object_script - settings_matches[65], // path_object_shared - settings_matches[66], // path_object_static - settings_matches[67], // path_program_script - settings_matches[68], // path_program_shared - settings_matches[69], // path_program_static - settings_matches[70], // path_sources - settings_matches[71], // path_sources_object - settings_matches[72], // preserve_path_headers - settings_matches[73], // process_post - settings_matches[74], // process_pre - settings_matches[75], // search_exclusive - settings_matches[76], // search_shared - settings_matches[77], // search_static - settings_matches[78], // version_file - settings_matches[79], // version_major - settings_matches[80], // version_major_prefix - settings_matches[81], // version_micro - settings_matches[82], // version_micro_prefix - settings_matches[83], // version_minor - settings_matches[84], // version_minor_prefix - settings_matches[85], // version_nano - settings_matches[86], // version_nano_prefix - settings_matches[87], // version_target + settings_matches[23], // build_sources_object + settings_matches[24], // build_sources_object_shared + settings_matches[25], // build_sources_object_static + 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_object + settings_matches[73], // preserve_path_headers + settings_matches[74], // process_post + settings_matches[75], // process_pre + settings_matches[76], // search_exclusive + settings_matches[77], // search_shared + settings_matches[78], // search_static + settings_matches[79], // version_file + settings_matches[80], // version_major + settings_matches[81], // version_major_prefix + settings_matches[82], // version_micro + settings_matches[83], // version_micro_prefix + settings_matches[84], // version_minor + settings_matches[85], // version_minor_prefix + settings_matches[86], // version_nano + settings_matches[87], // version_nano_prefix + settings_matches[88], // version_target }; const f_string_static_t settings_single_string_default[] = { @@ -1497,6 +1500,7 @@ extern "C" { fake_build_stage_program_shared_s, fake_build_stage_program_static_s, fake_build_stage_skeleton_s, + fake_build_stage_sources_documentation_s, fake_build_stage_sources_headers_s, fake_build_stage_sources_script_s, fake_build_stage_sources_settings_s, @@ -1516,6 +1520,7 @@ extern "C" { &stage->file_program_shared, &stage->file_program_static, &stage->file_skeleton, + &stage->file_sources_documentation, &stage->file_sources_headers, &stage->file_sources_script, &stage->file_sources_settings, diff --git a/level_3/fake/c/private-build-skeleton.c b/level_3/fake/c/private-build-skeleton.c index bb2f62e..e3b60ca 100644 --- a/level_3/fake/c/private-build-skeleton.c +++ b/level_3/fake/c/private-build-skeleton.c @@ -31,6 +31,7 @@ extern "C" { const f_string_static_t *directorys[] = { &data->path_build, + &data->path_build_documentation, &data->path_build_documents, &data->path_build_includes, &data->path_build_libraries, @@ -56,7 +57,7 @@ extern "C" { bool created = F_false; - for (uint8_t i = 0; i < 18; ++i) { + for (uint8_t i = 0; i < 19; ++i) { if (!directorys[i]->used) continue; diff --git a/level_3/fake/c/private-build.c b/level_3/fake/c/private-build.c index f49438e..fe0679b 100644 --- a/level_3/fake/c/private-build.c +++ b/level_3/fake/c/private-build.c @@ -15,6 +15,7 @@ extern "C" { #endif #ifndef _di_fake_build_strings_ +const f_string_static_t fake_build_documentation_files_s = macro_f_string_static_t_initialize(FAKE_build_documentation_files_s, 0, FAKE_build_documentation_files_s_length); const f_string_static_t fake_build_header_files_s = macro_f_string_static_t_initialize(FAKE_build_header_files_s, 0, FAKE_build_header_files_s_length); const f_string_static_t fake_build_header_files_shared_s = macro_f_string_static_t_initialize(FAKE_build_header_files_shared_s, 0, FAKE_build_header_files_shared_s_length); const f_string_static_t fake_build_header_files_static_s = macro_f_string_static_t_initialize(FAKE_build_header_files_static_s, 0, FAKE_build_header_files_static_s_length); @@ -885,6 +886,8 @@ extern "C" { data->main->child = fake_build_execute_process_script(data, &data_build, data_build.setting.process_pre, stage.file_process_pre, &status); + fake_build_copy(data, mode, fake_build_documentation_files_s, data->path_data_documentation, data->path_build_documentation, data_build.setting.build_sources_documentation, stage.file_sources_documentation, 0, &status); + 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, &status); if (data_build.setting.build_language == fake_build_language_type_bash_e) { diff --git a/level_3/fake/c/private-build.h b/level_3/fake/c/private-build.h index b90f3e7..25eef13 100644 --- a/level_3/fake/c/private-build.h +++ b/level_3/fake/c/private-build.h @@ -13,18 +13,21 @@ extern "C" { #endif #ifndef _di_fake_build_strings_ + #define FAKE_build_documentation_files_s "documentation files" #define FAKE_build_header_files_s "header files" #define FAKE_build_header_files_shared_s "shared header files" #define FAKE_build_header_files_static_s "static header files" #define FAKE_build_scripts_s "scripts" #define FAKE_build_setting_files_s "setting files" + #define FAKE_build_documentation_files_s_length 19 #define FAKE_build_header_files_s_length 12 #define FAKE_build_header_files_shared_s_length 19 #define FAKE_build_header_files_static_s_length 19 #define FAKE_build_scripts_s_length 7 #define FAKE_build_setting_files_s_length 13 + extern const f_string_static_t fake_build_documentation_files_s; extern const f_string_static_t fake_build_header_files_s; extern const f_string_static_t fake_build_header_files_shared_s; extern const f_string_static_t fake_build_header_files_static_s; diff --git a/level_3/fake/c/private-common.c b/level_3/fake/c/private-common.c index ee1e225..c95b85d 100644 --- a/level_3/fake/c/private-common.c +++ b/level_3/fake/c/private-common.c @@ -28,6 +28,7 @@ extern "C" { const f_string_static_t fake_build_setting_name_build_objects_program_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_objects_program_static_s, 0, FAKE_build_setting_name_build_objects_program_static_s_length); const f_string_static_t fake_build_setting_name_build_script_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_script_s, 0, FAKE_build_setting_name_build_script_s_length); const f_string_static_t fake_build_setting_name_build_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_shared_s, 0, FAKE_build_setting_name_build_shared_s_length); + const f_string_static_t fake_build_setting_name_build_sources_documentation_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_documentation_s, 0, FAKE_build_setting_name_build_sources_documentation_s_length); const f_string_static_t fake_build_setting_name_build_sources_headers_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_headers_s, 0, FAKE_build_setting_name_build_sources_headers_s_length); const f_string_static_t fake_build_setting_name_build_sources_headers_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_headers_shared_s, 0, FAKE_build_setting_name_build_sources_headers_shared_s_length); const f_string_static_t fake_build_setting_name_build_sources_headers_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_headers_static_s, 0, FAKE_build_setting_name_build_sources_headers_static_s_length); @@ -118,6 +119,7 @@ extern "C" { const f_string_static_t fake_build_stage_program_static_s = macro_f_string_static_t_initialize(FAKE_build_stage_program_static_s, 0, FAKE_build_stage_program_static_s_length); const f_string_static_t fake_build_stage_separate_s = macro_f_string_static_t_initialize(FAKE_build_stage_separate_s, 0, FAKE_build_stage_separate_s_length); const f_string_static_t fake_build_stage_skeleton_s = macro_f_string_static_t_initialize(FAKE_build_stage_skeleton_s, 0, FAKE_build_stage_skeleton_s_length); + const f_string_static_t fake_build_stage_sources_documentation_s = macro_f_string_static_t_initialize(FAKE_build_stage_sources_documentation_s, 0, FAKE_build_stage_sources_documentation_s_length); const f_string_static_t fake_build_stage_sources_headers_s = macro_f_string_static_t_initialize(FAKE_build_stage_sources_headers_s, 0, FAKE_build_stage_sources_headers_s_length); const f_string_static_t fake_build_stage_sources_script_s = macro_f_string_static_t_initialize(FAKE_build_stage_sources_script_s, 0, FAKE_build_stage_sources_script_s_length); const f_string_static_t fake_build_stage_sources_settings_s = macro_f_string_static_t_initialize(FAKE_build_stage_sources_settings_s, 0, FAKE_build_stage_sources_settings_s_length); @@ -327,6 +329,7 @@ extern "C" { f_string_dynamic_resize(0, &data->settings); f_string_dynamic_resize(0, &data->path_build); + f_string_dynamic_resize(0, &data->path_build_documentation); f_string_dynamic_resize(0, &data->path_build_documents); f_string_dynamic_resize(0, &data->path_build_includes); f_string_dynamic_resize(0, &data->path_build_libraries); @@ -347,7 +350,7 @@ extern "C" { f_string_dynamic_resize(0, &data->path_data); f_string_dynamic_resize(0, &data->path_data_build); - + f_string_dynamic_resize(0, &data->path_data_documentation); f_string_dynamic_resize(0, &data->path_data_settings); f_string_dynamic_resize(0, &data->path_documents); diff --git a/level_3/fake/c/private-common.h b/level_3/fake/c/private-common.h index 1fdef6a..c83db28 100644 --- a/level_3/fake/c/private-common.h +++ b/level_3/fake/c/private-common.h @@ -29,6 +29,7 @@ extern "C" { * settings: The settings data. * * path_build: The build path. + * path_build_documentation: The build documentation path. * path_build_documents: The build documents path. * path_build_includes: The build includes path. * path_build_libraries: The build libraries path. @@ -46,9 +47,10 @@ extern "C" { * path_build_settings: The build settings path. * path_build_stage: The build stage path. * - * path_data: The data path. - * path_data_build: The data_build path. - * path_data_build_settings: The data_build_settings path. + * path_data: The data path. + * path_data_build: The build data path. + * path_data_documentation: The documentation data path. + * path_data_settings: The settings data path. * * path_documents: The documents path. * path_licenses: The licenses path. @@ -94,6 +96,7 @@ extern "C" { f_string_dynamic_t settings; f_string_dynamic_t path_build; + f_string_dynamic_t path_build_documentation; f_string_dynamic_t path_build_documents; f_string_dynamic_t path_build_includes; f_string_dynamic_t path_build_libraries; @@ -113,6 +116,7 @@ extern "C" { f_string_dynamic_t path_data; f_string_dynamic_t path_data_build; + f_string_dynamic_t path_data_documentation; f_string_dynamic_t path_data_settings; f_string_dynamic_t path_documents; @@ -194,6 +198,8 @@ extern "C" { 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, \ } @@ -263,6 +269,7 @@ extern "C" { * 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. @@ -366,6 +373,7 @@ extern "C" { f_string_dynamics_t build_objects_program; f_string_dynamics_t build_objects_program_shared; f_string_dynamics_t build_objects_program_static; + f_string_dynamics_t build_sources_documentation; f_string_dynamics_t build_sources_headers; f_string_dynamics_t build_sources_headers_shared; f_string_dynamics_t build_sources_headers_static; @@ -496,6 +504,7 @@ extern "C" { f_string_dynamics_t_initialize, \ f_string_dynamics_t_initialize, \ f_string_dynamics_t_initialize, \ + f_string_dynamics_t_initialize, \ } #define macro_fake_build_setting_t_delete_simple(setting) \ @@ -538,6 +547,7 @@ extern "C" { macro_f_string_dynamics_t_delete_simple(setting.build_objects_program) \ macro_f_string_dynamics_t_delete_simple(setting.build_objects_program_shared) \ macro_f_string_dynamics_t_delete_simple(setting.build_objects_program_static) \ + macro_f_string_dynamics_t_delete_simple(setting.build_sources_documentation) \ macro_f_string_dynamics_t_delete_simple(setting.build_sources_headers) \ macro_f_string_dynamics_t_delete_simple(setting.build_sources_headers_shared) \ macro_f_string_dynamics_t_delete_simple(setting.build_sources_headers_static) \ @@ -599,6 +609,7 @@ extern "C" { #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" @@ -694,6 +705,7 @@ extern "C" { #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 @@ -789,6 +801,7 @@ extern "C" { extern const f_string_static_t fake_build_setting_name_build_objects_program_static_s; extern const f_string_static_t fake_build_setting_name_build_script_s; extern const f_string_static_t fake_build_setting_name_build_shared_s; + extern const f_string_static_t fake_build_setting_name_build_sources_documentation_s; extern const f_string_static_t fake_build_setting_name_build_sources_headers_s; extern const f_string_static_t fake_build_setting_name_build_sources_headers_shared_s; extern const f_string_static_t fake_build_setting_name_build_sources_headers_static_s; @@ -862,7 +875,7 @@ extern "C" { extern const f_string_static_t fake_build_setting_name_version_nano_prefix_s; extern const f_string_static_t fake_build_setting_name_version_target_s; - #define fake_build_setting_total_d 88 + #define fake_build_setting_total_d 89 #endif // _di_fake_build_setting_t_ #ifndef _di_fake_build_stage_t_ @@ -880,6 +893,7 @@ extern "C" { f_string_dynamic_t file_program_shared; f_string_dynamic_t file_program_static; f_string_dynamic_t file_skeleton; + f_string_dynamic_t file_sources_documentation; f_string_dynamic_t file_sources_headers; f_string_dynamic_t file_sources_script; f_string_dynamic_t file_sources_settings; @@ -902,9 +916,10 @@ extern "C" { f_string_dynamic_t_initialize, \ f_string_dynamic_t_initialize, \ f_string_dynamic_t_initialize, \ + f_string_dynamic_t_initialize, \ } - #define fake_build_stage_total_d 16 + #define fake_build_stage_total_d 17 #define macro_fake_build_stage_t_delete_simple(stage) \ macro_f_string_dynamic_t_delete_simple(stage.file_library_script) \ @@ -920,47 +935,50 @@ extern "C" { macro_f_string_dynamic_t_delete_simple(stage.file_program_shared) \ macro_f_string_dynamic_t_delete_simple(stage.file_program_static) \ macro_f_string_dynamic_t_delete_simple(stage.file_skeleton) \ + macro_f_string_dynamic_t_delete_simple(stage.file_sources_documentation) \ macro_f_string_dynamic_t_delete_simple(stage.file_sources_headers) \ macro_f_string_dynamic_t_delete_simple(stage.file_sources_script) \ macro_f_string_dynamic_t_delete_simple(stage.file_sources_settings) - #define FAKE_build_stage_built_s ".built" - #define FAKE_build_stage_library_script_s "library_script" - #define FAKE_build_stage_library_shared_s "library_shared" - #define FAKE_build_stage_library_static_s "library_static" - #define FAKE_build_stage_object_script_s "object_script" - #define FAKE_build_stage_object_shared_s "object_shared" - #define FAKE_build_stage_object_static_s "object_static" - #define FAKE_build_stage_objects_static_s "objects_static" - #define FAKE_build_stage_process_post_s "process_post" - #define FAKE_build_stage_process_pre_s "process_pre" - #define FAKE_build_stage_program_script_s "program_script" - #define FAKE_build_stage_program_shared_s "program_shared" - #define FAKE_build_stage_program_static_s "program_static" - #define FAKE_build_stage_separate_s "-" - #define FAKE_build_stage_skeleton_s "skeleton" - #define FAKE_build_stage_sources_headers_s "sources_headers" - #define FAKE_build_stage_sources_script_s "sources_script" - #define FAKE_build_stage_sources_settings_s "sources_settings" - - #define FAKE_build_stage_built_s_length 6 - #define FAKE_build_stage_library_script_s_length 14 - #define FAKE_build_stage_library_shared_s_length 14 - #define FAKE_build_stage_library_static_s_length 14 - #define FAKE_build_stage_object_script_s_length 13 - #define FAKE_build_stage_object_shared_s_length 13 - #define FAKE_build_stage_object_static_s_length 13 - #define FAKE_build_stage_objects_static_s_length 14 - #define FAKE_build_stage_process_post_s_length 12 - #define FAKE_build_stage_process_pre_s_length 11 - #define FAKE_build_stage_program_script_s_length 14 - #define FAKE_build_stage_program_shared_s_length 14 - #define FAKE_build_stage_program_static_s_length 14 - #define FAKE_build_stage_separate_s_length 1 - #define FAKE_build_stage_skeleton_s_length 8 - #define FAKE_build_stage_sources_headers_s_length 15 - #define FAKE_build_stage_sources_script_s_length 14 - #define FAKE_build_stage_sources_settings_s_length 16 + #define FAKE_build_stage_built_s ".built" + #define FAKE_build_stage_library_script_s "library_script" + #define FAKE_build_stage_library_shared_s "library_shared" + #define FAKE_build_stage_library_static_s "library_static" + #define FAKE_build_stage_object_script_s "object_script" + #define FAKE_build_stage_object_shared_s "object_shared" + #define FAKE_build_stage_object_static_s "object_static" + #define FAKE_build_stage_objects_static_s "objects_static" + #define FAKE_build_stage_process_post_s "process_post" + #define FAKE_build_stage_process_pre_s "process_pre" + #define FAKE_build_stage_program_script_s "program_script" + #define FAKE_build_stage_program_shared_s "program_shared" + #define FAKE_build_stage_program_static_s "program_static" + #define FAKE_build_stage_separate_s "-" + #define FAKE_build_stage_skeleton_s "skeleton" + #define FAKE_build_stage_sources_documentation_s "sources_documentation" + #define FAKE_build_stage_sources_headers_s "sources_headers" + #define FAKE_build_stage_sources_script_s "sources_script" + #define FAKE_build_stage_sources_settings_s "sources_settings" + + #define FAKE_build_stage_built_s_length 6 + #define FAKE_build_stage_library_script_s_length 14 + #define FAKE_build_stage_library_shared_s_length 14 + #define FAKE_build_stage_library_static_s_length 14 + #define FAKE_build_stage_object_script_s_length 13 + #define FAKE_build_stage_object_shared_s_length 13 + #define FAKE_build_stage_object_static_s_length 13 + #define FAKE_build_stage_objects_static_s_length 14 + #define FAKE_build_stage_process_post_s_length 12 + #define FAKE_build_stage_process_pre_s_length 11 + #define FAKE_build_stage_program_script_s_length 14 + #define FAKE_build_stage_program_shared_s_length 14 + #define FAKE_build_stage_program_static_s_length 14 + #define FAKE_build_stage_separate_s_length 1 + #define FAKE_build_stage_skeleton_s_length 8 + #define FAKE_build_stage_sources_documentation_s_length 21 + #define FAKE_build_stage_sources_headers_s_length 15 + #define FAKE_build_stage_sources_script_s_length 14 + #define FAKE_build_stage_sources_settings_s_length 16 extern const f_string_static_t fake_build_stage_built_s; extern const f_string_static_t fake_build_stage_library_script_s; @@ -977,6 +995,7 @@ extern "C" { extern const f_string_static_t fake_build_stage_program_static_s; extern const f_string_static_t fake_build_stage_separate_s; extern const f_string_static_t fake_build_stage_skeleton_s; + extern const f_string_static_t fake_build_stage_sources_documentation_s; extern const f_string_static_t fake_build_stage_sources_headers_s; extern const f_string_static_t fake_build_stage_sources_script_s; extern const f_string_static_t fake_build_stage_sources_settings_s; diff --git a/level_3/fake/c/private-fake-path_generate.c b/level_3/fake/c/private-fake-path_generate.c index 486556e..d43801e 100644 --- a/level_3/fake/c/private-fake-path_generate.c +++ b/level_3/fake/c/private-fake-path_generate.c @@ -21,11 +21,12 @@ extern "C" { }; const uint8_t parameters_size[] = { - 7, - 2, + 8, + 3, }; f_string_dynamic_t *parameters_value_0[] = { + &data->path_build_documentation, &data->path_build_documents, &data->path_build_includes, &data->path_build_libraries, @@ -37,6 +38,7 @@ extern "C" { f_string_dynamic_t *parameters_value_1[] = { &data->path_data_build, + &data->path_data_documentation, &data->path_data_settings, }; @@ -64,6 +66,7 @@ extern "C" { { const f_string_static_t parameters_source[] = { + fake_path_part_documentation_s, fake_path_part_documents_s, fake_path_part_includes_s, fake_path_part_libraries_s, @@ -72,12 +75,14 @@ extern "C" { fake_path_part_settings_s, fake_path_part_stage_s, fake_path_part_build_s, + fake_path_part_documentation_s, fake_path_part_settings_s, fake_path_part_documents_s, fake_path_part_licenses_s, }; f_string_dynamic_t * const parameters_value[] = { + &data->path_build_documentation, &data->path_build_documents, &data->path_build_includes, &data->path_build_libraries, @@ -86,12 +91,13 @@ extern "C" { &data->path_build_settings, &data->path_build_stage, &data->path_data_build, + &data->path_data_documentation, &data->path_data_settings, &data->path_documents, &data->path_licenses, }; - for (i = 0; i < 11; ++i) { + for (i = 0; i < 13; ++i) { status = f_string_dynamic_append_nulless(parameters_source[i], parameters_value[i]); diff --git a/level_3/fake/c/private-make-operate.c b/level_3/fake/c/private-make-operate.c index a5e6bac..22a629c 100644 --- a/level_3/fake/c/private-make-operate.c +++ b/level_3/fake/c/private-make-operate.c @@ -950,6 +950,7 @@ extern "C" { fake_build_setting_name_build_libraries_s, fake_build_setting_name_build_libraries_shared_s, fake_build_setting_name_build_libraries_static_s, + fake_build_setting_name_build_sources_documentation_s, fake_build_setting_name_build_sources_headers_s, fake_build_setting_name_build_sources_headers_shared_s, fake_build_setting_name_build_sources_headers_static_s, @@ -988,6 +989,7 @@ extern "C" { data_make->setting_build.build_libraries, data_make->setting_build.build_libraries_shared, data_make->setting_build.build_libraries_static, + data_make->setting_build.build_sources_documentation, data_make->setting_build.build_sources_headers, data_make->setting_build.build_sources_headers_shared, data_make->setting_build.build_sources_headers_static, @@ -1026,6 +1028,7 @@ extern "C" { 0, // build_libraries 0, // build_libraries_shared 0, // build_libraries_static + 0, // build_sources_documentation 0, // build_sources_headers 0, // build_sources_headers_shared 0, // build_sources_headers_static @@ -1060,7 +1063,7 @@ extern "C" { 0, // modes_default }; - for (uint8_t i = 0; i < 35; ++i) { + for (uint8_t i = 0; i < 36; ++i) { status = fl_string_dynamic_partial_compare_string(dynamics_name[i].string, data_make->buffer, dynamics_name[i].used, range_name); diff --git a/level_3/fake/c/private-skeleton.c b/level_3/fake/c/private-skeleton.c index 501867f..0e827ba 100644 --- a/level_3/fake/c/private-skeleton.c +++ b/level_3/fake/c/private-skeleton.c @@ -54,6 +54,7 @@ extern "C" { &data->path_build, &data->path_data, &data->path_data_build, + &data->path_data_documentation, &data->path_data_settings, &data->path_documents, &data->path_licenses, @@ -76,7 +77,7 @@ extern "C" { &fake_path_part_specifications_s, }; - for (uint8_t i = 0; i < 23; ++i) { + for (uint8_t i = 0; i < 24; ++i) { status = fake_skeleton_operate_directory_create(data, *parameters_value[i]); diff --git a/level_3/fake/documents/settings.txt b/level_3/fake/documents/settings.txt index 52df0aa..b8818da 100644 --- a/level_3/fake/documents/settings.txt +++ b/level_3/fake/documents/settings.txt @@ -109,6 +109,11 @@ Settings Documentation: - code:"build_shared"\: When code:"yes", the build process will compile any source code for any supported language that supports shared library linking. + - code:"build_sources_documentation"\: + A collection of documentation files. + These are documentation files used by the project and are simply copied over to the build directory. + Unless a pre-process script (or in theory post-process script) is configured to alter these, they are not modified. + - code:"build_sources_headers"\: A collection of header files. May include a relative sub-path to each individual header (such as: code:"level_0/a.h level_0/b.h level_1/c.h"). diff --git a/level_3/fake/specifications/settings.txt b/level_3/fake/specifications/settings.txt index b6969e7..5afe3e9 100644 --- a/level_3/fake/specifications/settings.txt +++ b/level_3/fake/specifications/settings.txt @@ -35,6 +35,7 @@ Settings Specification: - code:"build_objects_program_static": Must only contain any number of valid object file names relative to the code:"path_object_static" path. - code:"build_script": Must only one of: code:"yes" or code:"no". - code:"build_shared": Must only one of: code:"yes" or code:"no". + - code:"build_sources_documentation": Must only contain any number of valid filenames. - code:"build_sources_headers": Must only contain any number of valid filenames. - code:"build_sources_headers_shared": Must only contain any number of valid filenames. - code:"build_sources_headers_static": Must only contain any number of valid filenames.