Author Topic: How to pass -Wl,--rpath=$ORIGIN/blabla/ to the linker  (Read 11313 times)

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 13413
    • Travis build status
How to pass -Wl,--rpath=$ORIGIN/blabla/ to the linker
« on: May 28, 2013, 07:02:30 pm »
Is this currently possible?
From what I've tried I can conclude that it isn't, because CB tries to replace the $ORIGIN with the value of the env var ORIGIN.
Can I disable this just for this case?
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

Offline Alpha

  • Developer
  • Lives here!
  • *****
  • Posts: 1513
Re: How to pass -Wl,--rpath=$ORIGIN/blabla/ to the linker
« Reply #1 on: May 28, 2013, 07:26:41 pm »
Try -Wl,--rpath=$$ORIGIN/blabla/.  I think that worked for me last time (but I am not sure if it currently works).

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 13413
    • Travis build status
Re: How to pass -Wl,--rpath=$ORIGIN/blabla/ to the linker
« Reply #2 on: May 28, 2013, 07:28:43 pm »
No, it doesn't work. At least in rev 8888.
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

Offline Jenna

  • Administrator
  • Lives here!
  • *****
  • Posts: 7255
Re: How to pass -Wl,--rpath=$ORIGIN/blabla/ to the linker
« Reply #3 on: May 28, 2013, 07:48:37 pm »
Did you read this: http://forums.codeblocks.org/index.php/topic,16466.msg112453.html#msg112453
and my answer ?

Code
-Wl,--rpath=\\$$$ORIGIN/blabla/

Could you try if this works ?

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 13413
    • Travis build status
Re: How to pass -Wl,--rpath=$ORIGIN/blabla/ to the linker
« Reply #4 on: May 28, 2013, 07:54:34 pm »
OK, so double '\' + tripple '$' is the only string that works :)
Can we make it better?
Anyone care to explain why all those characters are needed?
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

Offline Jenna

  • Administrator
  • Lives here!
  • *****
  • Posts: 7255
Re: How to pass -Wl,--rpath=$ORIGIN/blabla/ to the linker
« Reply #5 on: May 29, 2013, 06:16:48 am »
This gives a little description:
http://stackoverflow.com/questions/230364/how-to-get-rpath-with-origin-to-work-on-codeblocks-gcc

It has to do with macro-replacement and shell escaping.

And as one of the posters there wrote:
Quote from: http://stackoverflow.com/questions/230364/how-to-get-rpath-with-origin-to-work-on-codeblocks-gcc
Whoever decided to make the token $ORIGIN is an evil bastard who deserves a special place in programmer hell.

That we need to triple the $-sign might be a change in our code.