Module dependencies

Technical questions regarding the XTC tools and programming with XMOS.
User avatar
Folknology
XCore Legend
Posts: 1274
Joined: Thu Dec 10, 2009 10:20 pm

Module dependencies

Post by Folknology »

Regarding the module_build_info files e.g.

Code: Select all

MODULE_XCC_FLAGS = $(XCC_FLAGS) -Os

VERSION = 3.1.3

DEPENDENT_MODULES = lib_xassert(>=2.0.0) lib_logging(>=2.0.0)
I tried to tie dependencies to a specific version like this :

Code: Select all

MODULE_XCC_FLAGS = $(XCC_FLAGS) -Os

VERSION = 3.1.3

DEPENDENT_MODULES = lib_xassert(==2.0.1) lib_logging(==2.0.0)
Or this :

Code: Select all

MODULE_XCC_FLAGS = $(XCC_FLAGS) -Os

VERSION = 3.1.3

DEPENDENT_MODULES = lib_xassert(2.0.1) lib_logging(2.0.0)
without success.

I haven't seen this stuff documented anywhere so wondered if anyone new how to constrain modules to a specific version?

regards
Al


srinie
XCore Addict
Posts: 158
Joined: Thu Mar 20, 2014 8:04 am

Post by srinie »

My guess is `==` is not supported, but having `<X.x.y` achieves the trick - can you try this?
User avatar
Folknology
XCore Legend
Posts: 1274
Joined: Thu Dec 10, 2009 10:20 pm

Post by Folknology »

Hi srinie

I have also tried "=" BTW which I also think is not supported.

Just tried your suggestion (thank you) `<2.0.2` and '<=2.0.1' however, neither appear to be supported. I get some rather odd errors:

for those two I get:

Code: Select all

Checking build modules
bash: =2.0.1: No such file or directory
xmake[1]: *** [check_version_lib_xassert] Error 1
xmake: *** [check_module_deps] Error 2
for '==2.0.1' and '=2.0.1' I get:

Code: Select all

Checking build modules
ERROR: Required version of lib_xassert is 0.0.1 and actual version is 2.0.1
xmake[1]: *** [check_version_lib_xassert] Error 1
xmake: *** [check_module_deps] Error 2
Clearly these are parsing errors of the dependency line causing weird outputs

Anyone at Xmos care to comment, I could really do with a solution to this, it's pretty critical for us here.?

regards
Al
jerryXCORE
Experienced Member
Posts: 65
Joined: Tue Apr 30, 2013 10:41 pm

Post by jerryXCORE »

Don't know which xTimeComposer version you used, one of my experiences:

Version specification works in xTimeComposer 14.x.x, but is NOT supported in xTimeComposer 13.x.x.
User avatar
Folknology
XCore Legend
Posts: 1274
Joined: Thu Dec 10, 2009 10:20 pm

Post by Folknology »

Hi Jerry

I am using 14.1.2 tools:

Code: Select all

xcc --version
Community_14.1.2 (build 17961, Dec-04-2015)
Compiler version: 14.1.1
Copyright (C) XMOS Limited 2008-2015. All Rights Reserved.
Maybe I am not specifying it correctly (likely human error) in the dependency line, what format do I use to express a specific version of module only? (The ones I tried above would not work as I mentioned).

regards
Al
User avatar
Ross
XCore Expert
Posts: 966
Joined: Thu Dec 10, 2009 9:20 pm
Location: Bristol, UK

Post by Ross »

USED_MODULES in place of DEPENDANT_MODULES?
User avatar
Folknology
XCore Legend
Posts: 1274
Joined: Thu Dec 10, 2009 10:20 pm

Post by Folknology »

Ross wrote:USED_MODULES in place of DEPENDANT_MODULES?
Thanks Ross, I just tried your suggestion, but unfortunately USED_MODULES appears to be almost identical to DEPENDANT_MODULES i.e. it only appears to accepts: lib_y(>=x.x.x) and weirds out for any others

regards
Al