# HG changeset patch # User Edouard Tisserant # Date 1374815069 -32400 # Node ID 0eb9f8af479f79c31a5bafc9229a6320b5aced8c # Parent 74afc7e86d00de7f9764dbcca1e9e0c00993b881 Added 'dlopen_prefix' class attributes to targets, in order to handle dlopen of shared object passed to runtime as extra file, and then in PWD (was working with windows only) diff -r 74afc7e86d00 -r 0eb9f8af479f canfestival/canfestival.py --- a/canfestival/canfestival.py Fri Jul 19 15:04:47 2013 +0900 +++ b/canfestival/canfestival.py Fri Jul 26 14:04:29 2013 +0900 @@ -463,7 +463,8 @@ if can_driver not in can_drivers : can_driver = can_drivers[0] can_drv_ext = self.GetCTRoot().GetBuilder().extension - can_driver_name = "libcanfestival_" + can_driver + can_drv_ext + can_drv_prefix = self.GetCTRoot().GetBuilder().dlopen_prefix + can_driver_name = can_drv_prefix + "libcanfestival_" + can_driver + can_drv_ext else: can_driver_name = "" diff -r 74afc7e86d00 -r 0eb9f8af479f targets/Linux/__init__.py --- a/targets/Linux/__init__.py Fri Jul 19 15:04:47 2013 +0900 +++ b/targets/Linux/__init__.py Fri Jul 26 14:04:29 2013 +0900 @@ -1,6 +1,7 @@ from ..toolchain_gcc import toolchain_gcc class Linux_target(toolchain_gcc): + dlopen_prefix = "./" extension = ".so" def getBuilderCFLAGS(self): return toolchain_gcc.getBuilderCFLAGS(self) + ["-fPIC"] diff -r 74afc7e86d00 -r 0eb9f8af479f targets/Win32/__init__.py --- a/targets/Win32/__init__.py Fri Jul 19 15:04:47 2013 +0900 +++ b/targets/Win32/__init__.py Fri Jul 26 14:04:29 2013 +0900 @@ -1,6 +1,7 @@ from ..toolchain_gcc import toolchain_gcc class Win32_target(toolchain_gcc): + dlopen_prefix = "" extension = ".dll" def getBuilderLDFLAGS(self): return toolchain_gcc.getBuilderLDFLAGS(self) + ["-shared", "-lwinmm"] diff -r 74afc7e86d00 -r 0eb9f8af479f targets/Xenomai/__init__.py --- a/targets/Xenomai/__init__.py Fri Jul 19 15:04:47 2013 +0900 +++ b/targets/Xenomai/__init__.py Fri Jul 26 14:04:29 2013 +0900 @@ -1,6 +1,7 @@ from ..toolchain_gcc import toolchain_gcc class Xenomai_target(toolchain_gcc): + dlopen_prefix = "./" extension = ".so" def getXenoConfig(self, flagsname): """ Get xeno-config from target parameters """