рдЧреБрдЧрд▓рд▓реЗ рдПрдиреНрдбреНрд░реЛрдЗрдбрдХрд╛ рд▓рд╛рдЧрд┐ рд╕реБрдЩ рдореЛрдбреНрдпреБрд▓рд░ рдПрд╕реЗрдореНрдмрд▓реА рдкреНрд░рдгрд╛рд▓реА рд╡рд┐рдХрд╛рд╕ рдЧрд░реЗрдХреЛ рдЫ

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

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

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

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

cc_library {
...
srcs: ["generic.cpp"],
рдЖрд░реНрдХ: {
рд╣рд╛рдд: {
srcs: ["arm.cpp"],
},
x86: {
srcs: ["x86.cpp"],
},
},
}

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди