Cargo: рдбрд┐рдлрд╝реЙрд▓реНрдЯ `--рд▓рдХреНрд╖реНрдп` рд╕реЗрдЯ рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдЬреЛрдбрд╝реЗрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 30 рдЬрдире░ 2016  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: rust-lang/cargo

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдкрдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдЖрдк рд╣рдореЗрд╢рд╛ cargo build --target=thumbv6m-none-eabi рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдВрдХрд▓рди рдХреЛ рдкрд╛рд░ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдЖрдкрдХреЛ рдЕрдкрдиреА рдХрд╛рд░реНрдЧреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдореВрд▓реНрдп рдпреБрдЧреНрдо рдЬреЛрдбрд╝рдиреЗ рджреЗрдЧреА:

# .cargo/config
[target]
default = "thumbv6m-none-eabi"

рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдЖрдк рдмрд╕ рдлреЛрди рдХрд░рдиреЗ рджреЗрдЧрд╛ cargo build рдХреЗ рд▓рд┐рдП рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕рдВрдХрд▓рди рдкрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП thumbv6m-none-eabi ред рдпрд╣ cargo doc рддрдХ рднреА рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рд╣реЛрдЧрд╛ред

рдореВрд▓ рд░реВрдк рд╕реЗ рдпрд╣рд╛рдВ рд░рд┐рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдлреА рдЙрдЪрд┐рдд рд▓рдЧрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВ рдХрд╣ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ Cargo.toml рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕рдВрднрд╡рддрдГ рдкреНрд░рддрд┐-рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЪреАрдЬрд╝ рд╣реИ _if_ рдЗрд╕рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдмрд╛рдд рд╣реИред

рд╕рднреА 3 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдлреА рдЙрдЪрд┐рдд рд▓рдЧрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВ рдХрд╣ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ Cargo.toml рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕рдВрднрд╡рддрдГ рдкреНрд░рддрд┐-рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЪреАрдЬрд╝ рд╣реИ _if_ рдЗрд╕рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдмрд╛рдд рд╣реИред

рдЗрд╕реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗрдЯрд┐рдВрдЧ рдмрдирд╛рдиреЗ рдХрд╛ рдПрдХ рдирдХрд╛рд░рд╛рддреНрдордХ рдкрд╣рд▓реВ рдпрд╣ рд╣реИ рдХрд┐ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯрд┐рдВрдЧ рдХреЛ рд╣рдореЗрд╢рд╛ рдЕрдирджреЗрдЦрд╛ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЙрджрд╛рд╣рд░рдг: рдпрджрд┐ рдореЗрд░рд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ P рдХреНрд░реЗрдЯ D рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ D рдиреЗ T рдХреЛ рдЕрдкрдиреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд▓рдХреНрд╖реНрдп рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЗрдЯ рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдЙрд╕ рд╕реЗрдЯрд┐рдВрдЧ рдХреЛ _рд╣рдореЗрд╢рд╛_ рдЕрдирджреЗрдЦрд╛ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ D рд╣рдореЗрд╢рд╛ рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ P рдХреЗ рд▓рд┐рдП рдЪреБрдиреЗ рдЧрдП рд▓рдХреНрд╖реНрдп рдХреЗ рд▓рд┐рдП рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

.cargo/config рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдлрд╛рдпрджрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдпрджрд┐ рдореИрдВ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдХрдИ рдХреНрд░реЗрдЯ рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рддреЛ рдореЗрд░реЗ рдкрд╛рд╕ рдЗрд╕ рддрд░рд╣ рдХрд╛ рдПрдХ рд╕реЗрдЯрдЕрдк рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:

$ tree .
my-RTOS-project
тФЬтФАтФА .cargo
тФВ┬а┬а тФФтФАтФА config
тФЬтФАтФА allocator
тФВ┬а┬а тФФтФАтФА (...)
тФЬтФАтФА hal
тФВ┬а┬а тФФтФАтФА (...)
тФЬтФАтФА RusTOS
тФВ   тФФтФАтФА (...)
тФФтФАтФА scheduler
    тФФтФАтФА (...)

рдФрд░ рдореИрдВ рдПрдХ рдХреНрд░реЗрдЯ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕реЗ рджреВрд╕рд░реЗ рдореЗрдВ рдХреВрдж рд╕рдХрддрд╛ рд╣реВрдВ рдФрд░ cargo test рдЪрд▓рд╛ рд╕рдХрддрд╛ рд╣реВрдВред рдХрд┐рд╕реА рдмрд┐рдВрджреБ рдкрд░ рдореИрдВ .cargo/config рдореЗрдВ рдПрдХ рдкрдВрдХреНрддрд┐ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдФрд░ рдПрдХ рдЕрд▓рдЧ рд▓рдХреНрд╖реНрдп рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдмрдХреНрд╕реЗ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рд╢реБрд░реВ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

рдЖрд╣ рд╣рд╛рдБ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ! рдпрд╣ рдХреБрдЫ рд╣рдж рддрдХ https://github.com/rust-lang/cargo/issues/2122 рдХреЗ рджрд╛рдпрд░реЗ рдореЗрдВ рдЖрддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ _ should't_ рдПрдХ рдирдХрд╛рд░рд╛рддреНрдордХ рдкрд╣рд▓реВ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд╣рд╛рдВ рдЕрднреА рднреА рдХреБрдЫ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд╛ рдХрд╛рдо рдХрд░рдирд╛ рдмрд╛рдХреА рд╣реИред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

oblique picture oblique  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

jtgeibel picture jtgeibel  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

shepmaster picture shepmaster  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

ehuss picture ehuss  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

rodoufu picture rodoufu  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ