Skip to content

Commit

Permalink
Fixed bug with linkgroups only working on Premake projects
Browse files Browse the repository at this point in the history
  • Loading branch information
samsinsane committed Feb 8, 2020
1 parent a640f86 commit f8a88c3
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 5 deletions.
10 changes: 5 additions & 5 deletions src/tools/gcc.lua
Original file line number Diff line number Diff line change
Expand Up @@ -467,11 +467,6 @@
end
end

if not nogroups and #result > 1 and (cfg.linkgroups == p.ON) then
table.insert(result, 1, "-Wl,--start-group")
table.insert(result, "-Wl,--end-group")
end

-- The "-l" flag is fine for system libraries
local links = config.getlinks(cfg, "system", "fullpath")
local static_syslibs = {"-Wl,-Bstatic"}
Expand Down Expand Up @@ -511,6 +506,11 @@
end
move(shared_syslibs, result)

if not nogroups and #result > 1 and (cfg.linkgroups == p.ON) then
table.insert(result, 1, "-Wl,--start-group")
table.insert(result, "-Wl,--end-group")
end

return result
end

Expand Down
18 changes: 18 additions & 0 deletions tests/tools/test_gcc.lua
Original file line number Diff line number Diff line change
Expand Up @@ -504,6 +504,24 @@
end


--
-- Test that sibling and external links are grouped when required
--

function suite.linkgroups_onSiblingAndExternalLibrary()
links { "MyProject2", "ExternalProj" }
linkgroups "On"

test.createproject(wks)
system "Linux"
kind "StaticLib"
targetdir "lib"

prepare()
test.isequal({ "-Wl,--start-group", "lib/libMyProject2.a", "-lExternalProj", "-Wl,--end-group" }, gcc.getlinks(cfg))
end


--
-- When linking object files, leave off the "-l".
--
Expand Down

0 comments on commit f8a88c3

Please sign in to comment.