Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 7d7a800

Browse files
committed
deploy: 70ca258
1 parent aebab14 commit 7d7a800

19 files changed

+360
-65
lines changed

.doctrees/environment.pickle

34.1 KB
Binary file not shown.
4.93 KB
Binary file not shown.
-18 Bytes
Binary file not shown.
-42 Bytes
Binary file not shown.

.doctrees/user_api/toolchain.doctree

52.6 KB
Binary file not shown.
26.3 KB
Binary file not shown.

_sources/user_api/environment.rst.txt

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,7 @@ Environment
55
env.h
66
-----
77

8-
.. doxygenfunction:: is_init
9-
10-
.. doxygenfunction:: get_project_root_dir
11-
12-
.. doxygenfunction:: get_project_build_dir
8+
.. doxygenclass:: buildcc::Project
139

1410
logging.h
1511
---------

_sources/user_api/toolchain.rst.txt

Lines changed: 61 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,25 +8,79 @@ toolchain.h
88

99
.. doxygentypedef:: BaseToolchain
1010

11+
toolchain_find.h
12+
-----------------
13+
14+
.. doxygenclass:: buildcc::ToolchainFind
15+
16+
.. doxygenstruct:: buildcc::ToolchainFindConfig
17+
1118
toolchain_verify.h
1219
------------------
1320

1421
.. doxygenclass:: buildcc::ToolchainVerify
1522

16-
.. doxygenstruct:: buildcc::VerifyToolchainConfig
23+
.. doxygenstruct:: buildcc::ToolchainVerifyConfig
1724

18-
.. doxygenstruct:: buildcc::VerifiedToolchain
25+
.. doxygenstruct:: buildcc::ToolchainCompilerInfo
1926

20-
Example
21-
--------
27+
Example for Default Toolchain
28+
------------------------------
2229

2330
.. code-block:: cpp
2431
:linenos:
2532
26-
BaseToolchain custom_toolchain(ToolchainId::Custom, "custom_new_toolchain", "asm_compiler", "c_compiler", "cpp_compiler", "archiver", "linker");
33+
BaseToolchain arm_gcc(ToolchainId::Gcc, "arm-none-eabi-gcc", "arm-none-eabi-as", "arm-none-eabi-gcc", "arm-none-eabi-g++", "arm-none-eabi-ar", "arm-none-eabi-ld");
34+
35+
// Toolchain::Find is only used to return a list of paths where the ToolchainExecutables are found
36+
// NOTE: All ToolchainExecutables must be found in a single directory for it to be present in the list
37+
{
38+
ToolchainFindConfig find_config;
39+
// Modify it here if needed
40+
auto found_toolchains = arm_gcc.Find(find_config);
41+
}
42+
43+
// Runs Toolchain::Find
44+
// Selects first found toolchain (update ToolchainVerifyConfig if you want to select a different toolchain for verification)
45+
// Runs a pre-added ToolchainId::GCC verification function
46+
// If Verification Fails: Terminates the program
47+
// Else: Updates the arm_gcc ToolchainExecutables to the full path
48+
// i.e `arm-none-eabi-gcc` becomes `{host_absolute_path}/arm-none-eabi-gcc{host_executable_extension}`
49+
{
50+
ToolchainVerifyConfig verify_config;
51+
// Modify it here if needed
52+
arm_gcc.Verify(verify_config);
53+
}
54+
55+
Example for Custom Toolchain
56+
----------------------------
57+
58+
.. code-block:: cpp
59+
:linenos:
2760
28-
std::vector<VerifiedToolchain> verified_toolchains = custom_toolchain.Verify();
29-
env::assert_fatal(!verified_toolchains.empty(), "Toolchain not found");
61+
BaseToolchain custom_toolchain(ToolchainId::Custom, "custom_new_toolchain", "assembler", "c_compiler", "cpp_compiler", "archiver", "linker");
62+
63+
// Toolchain::Find similar to previous example
64+
65+
// Find all the relevant toolchains on your host system
66+
// Selects the first found toolchain
67+
// Runs a verification function on the selected toolchain depending on the `ToolchainId`
68+
Toolchain::AddVerificationFunc(ToolchainId::Custom,
69+
[](const ToolchainExecutables & executables) -> std::optional<ToolchainCompilerInfo> {
70+
// Use executables to get compiler_version and target_arch
71+
if (success) {
72+
ToolchainCompilerInfo info;
73+
info.compiler_version = "compiler_version";
74+
info.target_arch = "target_arch";
75+
return info;
76+
} else {
77+
return {};
78+
}
79+
}, "custom_verification_func")
80+
81+
ToolchainVerifyConfig verify_config;
82+
verify_config.verification_identifier = "custom_verification_func";
83+
custom_toolchain.Verify(verify_config);
3084
3185
Specialized Toolchain
3286
=====================

_sources/user_api/toolchain_utils.rst.txt

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,12 @@ toolchain_config.h
1818

1919
.. doxygenstruct:: buildcc::ToolchainConfig
2020

21-
toolchain.h
22-
--------------
21+
toolchain_id.h
22+
---------------
2323

2424
.. doxygenenum:: buildcc::ToolchainId
2525

26-
.. doxygenstruct:: buildcc::ToolchainBinaries
26+
toolchain_executables.h
27+
-----------------------
28+
29+
.. doxygenstruct:: buildcc::ToolchainExecutables

genindex.html

Lines changed: 54 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -340,18 +340,12 @@ <h2>B</h2>
340340
<li><a href="user_api/environment.html#_CPPv4N7buildcc3env19get_os_envvar_delimEv">buildcc::env::get_os_envvar_delim (C++ function)</a>
341341
</li>
342342
<li><a href="user_api/environment.html#_CPPv4N7buildcc3env27get_os_executable_extensionEv">buildcc::env::get_os_executable_extension (C++ function)</a>
343-
</li>
344-
<li><a href="user_api/environment.html#_CPPv4N7buildcc3env21get_project_build_dirEv">buildcc::env::get_project_build_dir (C++ function)</a>
345-
</li>
346-
<li><a href="user_api/environment.html#_CPPv4N7buildcc3env20get_project_root_dirEv">buildcc::env::get_project_root_dir (C++ function)</a>
347343
</li>
348344
<li><a href="user_api/environment.html#_CPPv4N7buildcc3env14get_task_stateEv">buildcc::env::get_task_state (C++ function)</a>
349345
</li>
350346
<li><a href="user_api/environment.html#_CPPv4N7buildcc3env8is_clangEv">buildcc::env::is_clang (C++ function)</a>
351347
</li>
352348
<li><a href="user_api/environment.html#_CPPv4N7buildcc3env6is_gccEv">buildcc::env::is_gcc (C++ function)</a>
353-
</li>
354-
<li><a href="user_api/environment.html#_CPPv4N7buildcc3env7is_initEv">buildcc::env::is_init (C++ function)</a>
355349
</li>
356350
<li><a href="user_api/environment.html#_CPPv4N7buildcc3env8is_linuxEv">buildcc::env::is_linux (C++ function)</a>
357351
</li>
@@ -567,8 +561,6 @@ <h2>B</h2>
567561
</li>
568562
<li><a href="user_api/target.html#_CPPv4NK7buildcc8internal12TargetGetter8GetStateEv">buildcc::internal::TargetGetter::GetState (C++ function)</a>
569563
</li>
570-
</ul></td>
571-
<td style="width: 33%; vertical-align: top;"><ul>
572564
<li><a href="user_api/target.html#_CPPv4NK7buildcc8internal12TargetGetter13GetTargetPathEv">buildcc::internal::TargetGetter::GetTargetPath (C++ function)</a>
573565
</li>
574566
<li><a href="user_api/target.html#_CPPv4N7buildcc8internal12TargetGetter11GetTaskflowEv">buildcc::internal::TargetGetter::GetTaskflow (C++ function)</a>
@@ -597,6 +589,8 @@ <h2>B</h2>
597589
</li>
598590
<li><a href="user_api/target.html#_CPPv4NK7buildcc8internal16TargetInfoGetter19GetLinkDependenciesEv">buildcc::internal::TargetInfoGetter::GetLinkDependencies (C++ function)</a>
599591
</li>
592+
</ul></td>
593+
<td style="width: 33%; vertical-align: top;"><ul>
600594
<li><a href="user_api/target.html#_CPPv4NK7buildcc8internal16TargetInfoGetter11GetPchFilesEv">buildcc::internal::TargetInfoGetter::GetPchFiles (C++ function)</a>
601595
</li>
602596
<li><a href="user_api/target.html#_CPPv4NK7buildcc8internal16TargetInfoGetter14GetSourceFilesEv">buildcc::internal::TargetInfoGetter::GetSourceFiles (C++ function)</a>
@@ -656,6 +650,18 @@ <h2>B</h2>
656650
<li><a href="user_api/supported_plugins.html#_CPPv4N7buildcc6plugin20ClangCompileCommands20ClangCompileCommandsERK20ClangCompileCommands">buildcc::plugin::ClangCompileCommands::ClangCompileCommands (C++ function)</a>, <a href="user_api/supported_plugins.html#_CPPv4N7buildcc6plugin20ClangCompileCommands20ClangCompileCommandsERRNSt6vectorIPK10BaseTargetEE">[1]</a>
657651
</li>
658652
<li><a href="user_api/supported_plugins.html#_CPPv4N7buildcc6plugin20ClangCompileCommands8GenerateEv">buildcc::plugin::ClangCompileCommands::Generate (C++ function)</a>
653+
</li>
654+
<li><a href="user_api/environment.html#_CPPv4N7buildcc7ProjectE">buildcc::Project (C++ class)</a>
655+
</li>
656+
<li><a href="user_api/environment.html#_CPPv4N7buildcc7Project6DeinitEv">buildcc::Project::Deinit (C++ function)</a>
657+
</li>
658+
<li><a href="user_api/environment.html#_CPPv4N7buildcc7Project11GetBuildDirEv">buildcc::Project::GetBuildDir (C++ function)</a>
659+
</li>
660+
<li><a href="user_api/environment.html#_CPPv4N7buildcc7Project10GetRootDirEv">buildcc::Project::GetRootDir (C++ function)</a>
661+
</li>
662+
<li><a href="user_api/environment.html#_CPPv4N7buildcc7Project4InitERKN2fs4pathERKN2fs4pathE">buildcc::Project::Init (C++ function)</a>
663+
</li>
664+
<li><a href="user_api/environment.html#_CPPv4N7buildcc7Project6IsInitEv">buildcc::Project::IsInit (C++ function)</a>
659665
</li>
660666
<li><a href="user_api/register.html#_CPPv4N7buildcc8RegisterE">buildcc::Register (C++ class)</a>
661667
</li>
@@ -826,6 +832,16 @@ <h2>B</h2>
826832
<li><a href="user_api/toolchain.html#_CPPv4N7buildcc14Toolchain_msvcE">buildcc::Toolchain_msvc (C++ class)</a>
827833
</li>
828834
<li><a href="user_api/toolchain.html#_CPPv4N7buildcc14Toolchain_msvc14Toolchain_msvcERK14Toolchain_msvc">buildcc::Toolchain_msvc::Toolchain_msvc (C++ function)</a>, <a href="user_api/toolchain.html#_CPPv4N7buildcc14Toolchain_msvc14Toolchain_msvcEv">[1]</a>
835+
</li>
836+
<li><a href="user_api/toolchain.html#_CPPv4N7buildcc21ToolchainCompilerInfoE">buildcc::ToolchainCompilerInfo (C++ struct)</a>
837+
</li>
838+
<li><a href="user_api/toolchain.html#_CPPv4N7buildcc21ToolchainCompilerInfo16compiler_versionE">buildcc::ToolchainCompilerInfo::compiler_version (C++ member)</a>
839+
</li>
840+
<li><a href="user_api/toolchain.html#_CPPv4N7buildcc21ToolchainCompilerInfo4pathE">buildcc::ToolchainCompilerInfo::path (C++ member)</a>
841+
</li>
842+
<li><a href="user_api/toolchain.html#_CPPv4N7buildcc21ToolchainCompilerInfo11target_archE">buildcc::ToolchainCompilerInfo::target_arch (C++ member)</a>
843+
</li>
844+
<li><a href="user_api/toolchain.html#_CPPv4NK7buildcc21ToolchainCompilerInfo8ToStringEv">buildcc::ToolchainCompilerInfo::ToString (C++ function)</a>
829845
</li>
830846
<li><a href="user_api/toolchain_utils.html#_CPPv4N7buildcc15ToolchainConfigE">buildcc::ToolchainConfig (C++ struct)</a>
831847
</li>
@@ -858,6 +874,32 @@ <h2>B</h2>
858874
<li><a href="user_api/toolchain_utils.html#_CPPv4N7buildcc15ToolchainConfig13valid_cpp_extE">buildcc::ToolchainConfig::valid_cpp_ext (C++ member)</a>
859875
</li>
860876
<li><a href="user_api/toolchain_utils.html#_CPPv4N7buildcc15ToolchainConfig16valid_header_extE">buildcc::ToolchainConfig::valid_header_ext (C++ member)</a>
877+
</li>
878+
<li><a href="user_api/toolchain_utils.html#_CPPv4N7buildcc20ToolchainExecutablesE">buildcc::ToolchainExecutables (C++ struct)</a>
879+
</li>
880+
<li><a href="user_api/toolchain_utils.html#_CPPv4N7buildcc20ToolchainExecutables8archiverE">buildcc::ToolchainExecutables::archiver (C++ member)</a>
881+
</li>
882+
<li><a href="user_api/toolchain_utils.html#_CPPv4N7buildcc20ToolchainExecutables9assemblerE">buildcc::ToolchainExecutables::assembler (C++ member)</a>
883+
</li>
884+
<li><a href="user_api/toolchain_utils.html#_CPPv4N7buildcc20ToolchainExecutables10c_compilerE">buildcc::ToolchainExecutables::c_compiler (C++ member)</a>
885+
</li>
886+
<li><a href="user_api/toolchain_utils.html#_CPPv4N7buildcc20ToolchainExecutables12cpp_compilerE">buildcc::ToolchainExecutables::cpp_compiler (C++ member)</a>
887+
</li>
888+
<li><a href="user_api/toolchain_utils.html#_CPPv4N7buildcc20ToolchainExecutables6linkerE">buildcc::ToolchainExecutables::linker (C++ member)</a>
889+
</li>
890+
<li><a href="user_api/toolchain_utils.html#_CPPv4N7buildcc20ToolchainExecutables20ToolchainExecutablesENSt11string_viewENSt11string_viewENSt11string_viewENSt11string_viewENSt11string_viewE">buildcc::ToolchainExecutables::ToolchainExecutables (C++ function)</a>, <a href="user_api/toolchain_utils.html#_CPPv4N7buildcc20ToolchainExecutables20ToolchainExecutablesEv">[1]</a>
891+
</li>
892+
<li><a href="user_api/toolchain.html#_CPPv4I0EN7buildcc13ToolchainFindE">buildcc::ToolchainFind (C++ class)</a>
893+
</li>
894+
<li><a href="user_api/toolchain.html#_CPPv4NK7buildcc13ToolchainFind4FindERK19ToolchainFindConfig">buildcc::ToolchainFind::Find (C++ function)</a>
895+
</li>
896+
<li><a href="user_api/toolchain.html#_CPPv4N7buildcc19ToolchainFindConfigE">buildcc::ToolchainFindConfig (C++ struct)</a>
897+
</li>
898+
<li><a href="user_api/toolchain.html#_CPPv4N7buildcc19ToolchainFindConfig21absolute_search_pathsE">buildcc::ToolchainFindConfig::absolute_search_paths (C++ member)</a>
899+
</li>
900+
<li><a href="user_api/toolchain.html#_CPPv4N7buildcc19ToolchainFindConfig8env_varsE">buildcc::ToolchainFindConfig::env_vars (C++ member)</a>
901+
</li>
902+
<li><a href="user_api/toolchain.html#_CPPv4N7buildcc19ToolchainFindConfig19ToolchainFindConfigERKNSt13unordered_setINSt6stringEEERK16fs_unordered_set">buildcc::ToolchainFindConfig::ToolchainFindConfig (C++ function)</a>
861903
</li>
862904
<li><a href="user_api/toolchain_utils.html#_CPPv4N7buildcc11ToolchainIdE">buildcc::ToolchainId (C++ enum)</a>
863905
</li>
@@ -880,6 +922,10 @@ <h2>B</h2>
880922
<li><a href="user_api/toolchain.html#_CPPv4N7buildcc15ToolchainVerify15ToolchainVerifyEv">buildcc::ToolchainVerify::ToolchainVerify (C++ function)</a>
881923
</li>
882924
<li><a href="user_api/toolchain.html#_CPPv4N7buildcc15ToolchainVerify6VerifyERK21ToolchainVerifyConfig">buildcc::ToolchainVerify::Verify (C++ function)</a>
925+
</li>
926+
<li><a href="user_api/toolchain.html#_CPPv4N7buildcc21ToolchainVerifyConfigE">buildcc::ToolchainVerifyConfig (C++ struct)</a>
927+
</li>
928+
<li><a href="user_api/toolchain.html#_CPPv4N7buildcc21ToolchainVerifyConfig23verification_identifierE">buildcc::ToolchainVerifyConfig::verification_identifier (C++ member)</a>
883929
</li>
884930
</ul></td>
885931
</tr></table>

0 commit comments

Comments
 (0)