Skip to content

Commit

Permalink
Fix shared library $ORIGIN escape for non-gmake actions.
Browse files Browse the repository at this point in the history
  • Loading branch information
tritao committed Sep 19, 2024
1 parent 9a70afe commit e8ecd26
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 1 deletion.
1 change: 1 addition & 0 deletions modules/gmake/tests/cpp/test_make_linking.lua
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@

function suite.setup()
_TARGET_OS = "linux"
_ACTION = "gmake"
wks, prj = test.createWorkspace()
end

Expand Down
1 change: 1 addition & 0 deletions modules/gmake2/tests/test_gmake2_linking.lua
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@

function suite.setup()
_OS = "linux"
_ACTION = "gmake2"
wks, prj = test.createWorkspace()
end

Expand Down
7 changes: 6 additions & 1 deletion src/tools/gcc.lua
Original file line number Diff line number Diff line change
Expand Up @@ -412,7 +412,12 @@
rpath = "@loader_path/" .. rpath
elseif (cfg.system == p.LINUX) then
rpath = iif(rpath == ".", "", "/" .. rpath)
rpath = "$$ORIGIN" .. rpath
local origin = "$ORIGIN"
-- need to escape the $ for make if using gmake actions
if string.startswith(_ACTION, "gmake") then
origin = "$" .. origin
end
rpath = origin .. rpath
end

if mode == "linker" then
Expand Down

0 comments on commit e8ecd26

Please sign in to comment.