Google Android рдХреЗ рд▓рд┐рдП рд╕реВрдВрдЧ рдореЙрдбреНрдпреВрд▓рд░ рдЕрд╕реЗрдВрдмрд▓реА рд╕рд┐рд╕реНрдЯрдо рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддрд╛ рд╣реИ

Google рдПрдХ рдмрд┐рд▓реНрдб рд╕рд┐рд╕реНрдЯрдо рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реИ рд╕реВрдВрдЧ, рдореЗрдХ рдпреВрдЯрд┐рд▓рд┐рдЯреА рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдПрдВрдбреНрд░реЙрдЗрдб рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЗ рд▓рд┐рдП рдкреБрд░рд╛рдиреА рдмрд┐рд▓реНрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╕реВрдВрдЧ рд╕рд░рд▓ рдШреЛрд╖рдгрд╛рддреНрдордХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реИ рд╡рд┐рд╡рд░рдг рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЕрд╕реЗрдВрдмрд▓ рдХрд░рдиреЗ рдХреЗ рдирд┐рдпрдо, рджрд┐рдпрд╛ рдЧрдпрд╛ рдПрдХреНрд╕рдЯреЗрдВрд╢рди ".bp" (рдмреНрд▓реВрдкреНрд░рд┐рдВрдЯ) рд╡рд╛рд▓реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВред рдлрд╝рд╛рдЗрд▓ рд╕реНрд╡рд░реВрдк JSON рдХреЗ рдХрд░реАрдм рд╣реИ рдФрд░, рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ рддреЛ, рдЕрд╕реЗрдВрдмрд▓реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдФрд░ рд╢рдмреНрджрд╛рд░реНрде рдХреЛ рджреЛрд╣рд░рд╛рддрд╛ рд╣реИ Bazel. рдХреЛрдб Go рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ Apache 2.0 рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЗ рддрд╣рдд рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рд╕реВрдВрдЧ рдмрд┐рд▓реНрдб рдлрд╝рд╛рдЗрд▓реЗрдВ рд╕рд╢рд░реНрдд рдмрдпрд╛рдиреЛрдВ рдФрд░ рд╢рд╛рдЦрд╛ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдирд┐рд░реНрдорд╛рдг рдХреЗ рджреМрд░рд╛рди рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕рдВрд░рдЪрдирд╛, рдореЙрдбреНрдпреВрд▓ рдФрд░ рдирд┐рд░реНрднрд░рддрд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреА рд╣реИрдВред рдмрдирд╛рдИ рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдорд╛рд╕реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдкреИрдХреЗрдЬреЛрдВ рдореЗрдВ рд╕рдореВрд╣реАрдХреГрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрдмрдВрдзрд┐рдд рдирд┐рд░реНрднрд░рддрд╛ рд╡рд╛рд▓реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдПрдХ рд╕рдВрдЧреНрд░рд╣ рд╣реИред рдЪрд░реЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ. рдЪрд░ рдФрд░ рдЧреБрдг рд╕рдЦреНрддреА рд╕реЗ рдЯрд╛рдЗрдк рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ (рдЪрд░ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЛ рдкрд╣рд▓реЗ рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдкрд░ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдЪреБрдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЧреБрдгреЛрдВ рдХреЗ рд▓рд┐рдП рдореЙрдбреНрдпреВрд▓ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕реНрдерд┐рд░ рд░реВрдк рд╕реЗ рдЪреБрдирд╛ рдЬрд╛рддрд╛ рд╣реИ)ред рдЕрд╕реЗрдВрдмрд▓реА рд▓реЙрдЬрд┐рдХ рдХреЗ рдЬрдЯрд┐рд▓ рддрддреНрд╡реЛрдВ рдХреЛ рд╣реИрдВрдбрд▓рд░ рдореЗрдВ рд▓реЗ рдЬрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓рд┐рдЦрд╛ рд╣реБрдЖ рдЧреЛ рднрд╛рд╖рд╛ рдореЗрдВ.

рдЬрд▓реНрдж рд╣реА рдПрдХ рдмрдбрд╝реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝ рдЧрдпрд╛ рдЦрд╛рдХрд╛, рдЬрд┐рд╕рдХреЗ рднреАрддрд░ рдПрдХ рдореЗрдЯрд╛-рдЕрд╕реЗрдВрдмрд▓реА рд╕рд┐рд╕реНрдЯрдо рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдЬреЛ рдПрдВрдбреНрд░реЙрдЗрдб рд╕реЗ рдЬреБрдбрд╝рд╛ рдирд╣реАрдВ рд╣реИ, рдЬреЛ рдШреЛрд╖рдгрд╛рддреНрдордХ рдореЙрдбреНрдпреВрд▓ рд╡рд┐рд╡рд░рдг рд╡рд╛рд▓реА рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЕрд╕реЗрдВрдмрд▓реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ рдирд┐рдВрдЬрд╛ (рдореЗрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди), рдЙрди рдЖрджреЗрд╢реЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рдирд┐рд░реНрдорд╛рдг рдФрд░ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд▓рд┐рдП рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдмрд┐рд▓реНрдб рд▓реЙрдЬрд┐рдХ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрдЯрд┐рд▓ рдирд┐рдпрдореЛрдВ рдпрд╛ рдбреЛрдореЗрди-рд╡рд┐рд╢рд┐рд╖реНрдЯ рднрд╛рд╖рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдмреНрд▓реВрдкреНрд░рд┐рдВрдЯ рдЧреЛ рднрд╛рд╖рд╛ рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ-рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реИрдВрдбрд▓рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ (рд╕реЛрдВрдЧ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдПрдВрдбреНрд░реЙрдЗрдб рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рд╣реИрдВрдбрд▓рд░ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реИ)ред

рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдПрдВрдбреНрд░реЙрдЗрдб рдЬреИрд╕реА рдмрдбрд╝реА рдФрд░ рд╡рд┐рд╖рдо рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЙрдЪреНрдЪ рд╕реНрддрд░реАрдп рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдореЗрдВ рдХреЛрдб рдореЗрдВ рдЕрд╕реЗрдВрдмрд▓реА рд▓реЙрдЬрд┐рдХ рдХреЗ рдЬрдЯрд┐рд▓ рддрддреНрд╡реЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рд╕рд░рд▓ рдШреЛрд╖рдгрд╛рддреНрдордХ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрд╕реЗрдВрдмрд▓реА рд╕рдВрдЧрдарди рдФрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕рдВрд░рдЪрдирд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдмрдирд╛рдП рд░рдЦрддрд╛ рд╣реИред . рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реВрдВрдЧ рдореЗрдВ, рдХрдВрдкрд╛рдЗрд▓рд░ рдлрд╝реНрд▓реИрдЧ рдХрд╛ рдЪрдпрди рд╣реИрдВрдбрд▓рд░ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ llvm.go, рдФрд░ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╣реИрдВрдбрд▓рд░ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ art.go, рд▓реЗрдХрд┐рди рдХреЛрдб рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд▓рд┐рдВрдХ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░реНрдп ".bp" рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рд╕реАрд╕реА_рд▓рд╛рдЗрдмреНрд░реЗрд░реА {
...
srcs: ["рдЬреЗрдиреЗрд░рд┐рдХ.cpp"],
рдореЗрд╣рд░рд╛рдм: {
рд╣рд╛рде: {
рд╕реНрд░реЛрдд: ["arm.cpp"],
},
x86: {
рд╕реНрд░реЛрдд: ["x86.cpp"],
},
},
}

рд╕реНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ