ARMmbed / cmsis-core-k64f

CMSIS Core Implementation for Freescale K64F MCUs
Other
3 stars 5 forks source link

Circular dependencies with cmsis-core #6

Closed markus-becker-tridonic-com closed 8 years ago

markus-becker-tridonic-com commented 8 years ago

Is it intentional that cmsis-core-k64f depends on cmsis-core? This creates a dependency loop, which makes it hard to make yotta use forked modules without forking the complete dependency tree.

At the moment the dependencies are:

\_ cmsis-core
  \_ cmsis-core-freescale
    \_ cmsis-core-k64f
       \_ cmsis-core

Shouldn't be it:

\_ cmsis-core
  \_ cmsis-core-freescale
    \_ cmsis-core-k64f

Then I could reversely depend in my application's module.json

      "cmsis-core-k64": "other-github-repo/cmsis-core-k64#master",
      "cmsis-core-freescale": "other-github-repo/cmsis-core-freescale#master",

without having to touch cmsis-core or rewriting each and every module.json of the various modules.

0xc0170 commented 8 years ago

@markus-becker-tridonic-com Have you tried to remove that dependency and build this module ? It should fail, as there are dependencies on cmsis-core.

Cmsis-core defines target dependencies, you need to fork it anyway.

markus-becker-tridonic-com commented 8 years ago

Haven't tried to build it yet. So yes, most likely it will fail.

If cmsis-core needs to be forked as well, it really gets hard to add additional targets from the outside of ARM that are part of a family that is already present and mix it with modules from yotta. Any suggestions?

0xc0170 commented 8 years ago

If cmsis-core needs to be forked as well, it really gets hard to add additional targets from the outside of ARM that are part of a family that is already present and mix it with modules from yotta. Any suggestions?

Can you elaborate? mainly: "the outside of ARM that are part of a family"

markus-becker-tridonic-com commented 8 years ago

Currently, there is ST429 in yotta. We are working on a different F4, which we would like to upstream, but during development, we need to reference them in module.json without touching each and every module from the bottom of the dependency tree to the top.

rainierwolfcastle commented 8 years ago

ARM Internal Ref: IOTSFW-1019

autopulated commented 8 years ago

Closing this as there's no way to remove the circular dependency with the current design for CMSIS.