Languages

Menu
Sites
Language
Absolute path in Command line configuration

Hi,

I create multiple libraries projects using Tizen IDE. I need to run some scripts that build these libraries automatically so I used the option. "Generate Command Line Configuration". This works fine on my machine but I noticed that the generated of command line configuration contains some full paths instead of relative paths.

The make file is ok but bc_build_info.xml include the two following lines:

<CompileOption>    -I"/Users/myuser/Documents/Dev/tizen/zlib" -O3 -g -Wall -fmessage-length=0      </CompileOption>
<LinkOption>-L"/Users/myuser/Documents/Dev/tizen/zlib/lib" -shared  </LinkOption>

I checked in the project settings. For example the link option C++ Build -> settings -> libraries -> libraries search path (-L) shows "${workspace_loc:/${ProjName}/lib}" which is a relative path.

At this point I'm confused. It's almost like the IDE is resolving the relative path to the full path before creating the command line configuration.

Obviously this will not work as we won't be able to run the build script from other people's machine or the build bot.

Any idea or suggestions on how to solve this issue?

Thanks,

Stefano

 

Responses

4 Replies
Pushpa G

Hi,

bc_build_info.xml is the information file to build application packages containing bitcode files.

I assume all the include path and library path is preserved at the packages.(/inc, /lib)

So when the package root path is received,  preserved path is added rather and using the path in the xml file.

You can use same way I mentioned above.

The reason you don't use the path in the xml is below
1. bitcode doesn't need include path, so it can be removed.
2. Comparing platform library path and user library path is I think heuristic which is not safe for all situations.

Stefano Zanetti

Hi Pushpa,

Thanks for your reply.

Just to clarify I also have more complex libraries that have multiple includes for other projects within the same solution. So there are multiple includes outside the /inc folder.

I'm not sure I'm understanding what you are saying. Are you saying that the paths in bc_buid_info.xml should not affect my build even if the are absolute paths as far as all the bitcode needed by my project (i.e. other libraries.so files) is within /inc and /lib folders which are added by the make file? 

Bogon Kim

Yes, you are right.

Because bc_build_info.xml file is only updated when LLVM-Bitcode(ARM) architecture is selected which create the bitcode files.

 

Stefano Zanetti

I found another problem that affect the make file on projects that include an external source directory.

For example I have the following

Tizen project:

/Users/username/myproject/tizen/libpng/

Source Input:

/Users/username/myproject/packages/libpng/

In my Tizen project I create a linked folder to the source

source = ${PARENT-2-PROJECT_LOC}/packages/libpng

Within Tizen IDE this solution load and build on different machines fine. But when I generate a command line build it resolve to full path breaking the build bot and the command line build scripts.

Is this a bug or there are some configuration parameters I can use to keep a relative path in the command line makeflie?

Thanks