[OE-core] what means COMPATIBLE_MACHINE_armv4 = "(!.*armv4).*" ???

Robert P. J. Day rpjday at crashcourse.ca
Mon Feb 27 15:05:36 UTC 2017


  ok, last question about COMPATIBLE_MACHINE, i promise. i
notice in
meta-oe/recipes-support/mongodb/mongodb_git.bb the snippet:

  #std::current_exception is undefined for arm < v6
  COMPATIBLE_MACHINE_armv4 = "(!.*armv4).*"
  COMPATIBLE_MACHINE_armv5 = "(!.*armv5).*"
  COMPATIBLE_MACHINE_mips64 = "(!.*mips64).*"
  COMPATIBLE_MACHINE_powerpc = "(!.*ppc).*"

consider just the first assignment:

  COMPATIBLE_MACHINE_armv4 = "(!.*armv4).*"

which i interpret as, "if the machine override 'armv4' is in play,
then the list of compatible machines are all those which do *not*
contain the string 'armv4'. isn't that just a way of saying, "no
variation of armv4 is compatible"?

  this just looks weird, what am i missing? oh, and given the
behaviour of re.match(), could not one write that same line
equivalently as:

  COMPATIBLE_MACHINE_armv4 = "(!.*armv4)"

  i suspect i'm just confused about what's happening here.

rday

-- 

========================================================================
Robert P. J. Day                                 Ottawa, Ontario, CANADA
                        http://crashcourse.ca

Twitter:                                       http://twitter.com/rpjday
LinkedIn:                               http://ca.linkedin.com/in/rpjday
========================================================================




More information about the Openembedded-core mailing list