{"doc_urls":["index.html#rules-foreigncc","index.html#overview","index.html#setup","index.html#rules","cmake.html#cmake","cmake.html#building-cmake-projects","cmake.html#cmake","configure_make.html#configure_make","make.html#make","ninja.html#ninja","flatten.html#rules-foreign-cc","flatten.html#boost_build","flatten.html#cmake","flatten.html#cmake_tool","flatten.html#configure_make","flatten.html#make","flatten.html#make_tool","flatten.html#native_tool_toolchain","flatten.html#ninja","flatten.html#ninja_tool","flatten.html#foreignccartifactinfo","flatten.html#foreignccdepsinfo","flatten.html#toolinfo","flatten.html#rules_foreign_cc_dependencies"],"index":{"documentStore":{"docInfo":{"0":{"body":13,"breadcrumbs":4,"title":2},"1":{"body":40,"breadcrumbs":3,"title":1},"10":{"body":13,"breadcrumbs":7,"title":3},"11":{"body":359,"breadcrumbs":5,"title":1},"12":{"body":514,"breadcrumbs":5,"title":1},"13":{"body":30,"breadcrumbs":5,"title":1},"14":{"body":599,"breadcrumbs":5,"title":1},"15":{"body":393,"breadcrumbs":5,"title":1},"16":{"body":30,"breadcrumbs":5,"title":1},"17":{"body":82,"breadcrumbs":5,"title":1},"18":{"body":387,"breadcrumbs":5,"title":1},"19":{"body":28,"breadcrumbs":5,"title":1},"2":{"body":54,"breadcrumbs":3,"title":1},"20":{"body":58,"breadcrumbs":5,"title":1},"21":{"body":13,"breadcrumbs":5,"title":1},"22":{"body":56,"breadcrumbs":5,"title":1},"23":{"body":119,"breadcrumbs":5,"title":1},"3":{"body":11,"breadcrumbs":3,"title":1},"4":{"body":0,"breadcrumbs":4,"title":1},"5":{"body":280,"breadcrumbs":6,"title":3},"6":{"body":514,"breadcrumbs":4,"title":1},"7":{"body":608,"breadcrumbs":4,"title":1},"8":{"body":401,"breadcrumbs":4,"title":1},"9":{"body":394,"breadcrumbs":4,"title":1}},"docs":{"0":{"body":"Rules for building C/C++ projects using foreign build systems (non Bazel) inside Bazel projects.","breadcrumbs":"Rules ForeignCc » Rules ForeignCc","id":"0","title":"Rules ForeignCc"},"1":{"body":"Rules ForeignCc is designed to help users build projects that are not built by Bazel and also not fully under their control (ie: large and mature open source software). These rules provide a mechanism to build these external projects within Bazel's sandbox environment using a variety of C/C++ build systems to be later consumed by other rules as though they were normal cc rules.","breadcrumbs":"Rules ForeignCc » Overview","id":"1","title":"Overview"},"10":{"body":"boost_build cmake cmake_tool configure_make ForeignCcArtifactInfo ForeignCcDepsInfo make make_tool native_tool_toolchain ninja ninja_tool rules_foreign_cc_dependencies ToolInfo","breadcrumbs":"Rules ForeignCc » Full API » Rules Foreign CC","id":"10","title":"Rules Foreign CC"},"11":{"body":"boost_build(name,additional_inputs,additional_tools,alwayslink,bootstrap_options,data,defines,deps,env,lib_name,lib_source,linkopts,out_bin_dir,out_binaries,out_headers_only,out_include_dir,out_interface_libs,out_lib_dir,out_shared_libs,out_static_libs,postfix_script,tools_deps,user_options)RuleforbuildingBoost.Invokesbootstrap.shandthenb2install.ATTRIBUTESNameDescriptionTypeMandatoryDefaultnameAuniquenameforthistarget.Namerequiredadditional_inputsOptionaladditionalinputstobedeclaredasneededfortheshellscriptaction.Notusedbytheshellscriptpartincc_external_rule_impl.Listoflabelsoptional[]additional_toolsOptionaladditionaltoolsneededforthebuilding.Notusedbytheshellscriptpartincc_external_rule_impl.Listoflabelsoptional[]alwayslinkOptional.iftrue,linkalltheobjectfilesfromthestaticlibrary,eveniftheyarenotused.BooleanoptionalFalsebootstrap_optionsanyadditionalflagstopasstobootstrap.shListofstringsoptional[]dataFilesneededbythisruleatruntime.Maylistfileorruletargets.Generallyallowsanytarget.Listoflabelsoptional[]definesOptionalcompilationdefinitionstobepassedtothedependenciesofthislibrary.TheyareNOTpassedtothecompiler,youshouldduplicatethemintheconfigurationoptions.Listofstringsoptional[]d