Difference between revisions of "Building Software from an External Source"

From KoanSoftware Wiki
Jump to: navigation, search
Line 8: Line 8:
  
 
  INHERIT += "externalsrc"
 
  INHERIT += "externalsrc"
  EXTERNALSRC_pn-myrecipe = "path-to-your-source-tree"
+
  EXTERNALSRC_pn-myrecipe = "path-to-your-source-tree" # change only myrecipe with your name
  
 
Source : http://www.yoctoproject.org/docs/current/ref-manual/ref-manual.html#ref-classes-externalsrc
 
Source : http://www.yoctoproject.org/docs/current/ref-manual/ref-manual.html#ref-classes-externalsrc
 +
  
 
Alternatively if it's more permanent, use the externalsrc class - you can inherit this in the original recipe or a bbappend:
 
Alternatively if it's more permanent, use the externalsrc class - you can inherit this in the original recipe or a bbappend:

Revision as of 12:56, 9 November 2017

Building Software from an External Source using Yocto Project / Openembedded

By default, the OpenEmbedded build system uses the Build Directory when building source code. The build process involves fetching the source files, unpacking them, and then patching them if necessary before the build takes place.

Situations exist where you might want to build software from source files that are external to and thus outside of the OpenEmbedded build system. For example, suppose you have a project that includes a new BSP with a heavily customized kernel. And, you want to minimize exposing the build system to the development team so that they can focus on their project and maintain everyone's workflow as much as possible. In this case, you want a kernel source directory on the development machine where the development occurs. You want the recipe's SRC_URI variable to point to the external directory and use it as is, not copy it.

To build from software that comes from an external source, all you need to do is inherit the externalsrc class and then set the EXTERNALSRC variable to point to your external source code. Here are the statements to put in your local.conf file:

INHERIT += "externalsrc"
EXTERNALSRC_pn-myrecipe = "path-to-your-source-tree"  # change only myrecipe with your name

Source : http://www.yoctoproject.org/docs/current/ref-manual/ref-manual.html#ref-classes-externalsrc


Alternatively if it's more permanent, use the externalsrc class - you can inherit this in the original recipe or a bbappend:

 inherit externalsrc
 EXTERNALSRC = "/path/to/sources"