[OE-core] value of individual (override) settings of COMPATIBLE_MACHINE?

Robert P. J. Day rpjday at crashcourse.ca
Sun Feb 16 08:20:21 UTC 2020


  i remember wondering about this a looooong time ago, then forgot
about it, but in some of the poky linux-yocto kernel .bbappend files,
there are sets of individual COMPATIBLE_MACHINE settings:

  COMPATIBLE_MACHINE_genericx86 = "genericx86"
  COMPATIBLE_MACHINE_genericx86-64 = "genericx86-64"
  COMPATIBLE_MACHINE_edgerouter = "edgerouter"
  COMPATIBLE_MACHINE_beaglebone-yocto = "beaglebone-yocto"
  COMPATIBLE_MACHINE_mpc8315e-rdb = "mpc8315e-rdb"

given that, in the above, the override matches *exactly* the machine
name being assigned, how is this functionally different from simply:

  COMPATIBLE_MACHINE = "genericx86|edgerouter|beaglebone-yocto|mpc8315e-rdb"

as i read it, an override of the form

  COMPATIBLE_MACHINE_genericx86 = "genericx86"

says simply, "if this machine is a genericx86, then i am compatible
with a genericx86".

  am i missing some subtlety here? is there an actual difference?

rday

p.s.  while on the subject of COMPATIBLE_MACHINE, i remember noting
some time back the two aesthetic forms of assignments in use:

...
linux-yocto-rt_5.2.bb:COMPATIBLE_MACHINE = "(qemux86|qemux86-64|qemuarm|qemuarmv5|qemuarm64|qemuppc|qemumips)"
linux-yocto_5.2.bb:COMPATIBLE_MACHINE = "qemuarm|qemuarmv5|qemuarm64|qemux86|qemuppc|qemumips|qemumips64|qemux86-64|qemuriscv64"
linux-yocto-dev.bb:COMPATIBLE_MACHINE = "(qemuarm|qemux86|qemuppc|qemumips|qemumips64|qemux86-64|qemuriscv64)"
...

as in, some use parentheses, some not. just a coding style thing.



More information about the Openembedded-core mailing list