chapel-lang / chapel

a Productive Parallel Programming Language
https://chapel-lang.org
Other
1.77k stars 417 forks source link

Check how we are getting `-L` and `-l` flags from GASNet #23362

Open bradcray opened 12 months ago

bradcray commented 12 months ago

In reviewing https://github.com/chapel-lang/chapel/pull/23321#discussion_r1323191915, @mppf noted that it ought to be possible for us to more precisely sort flags related to GASNet linkage into those that point to our bundled libraries vs. those that GASNet provides to point to system libraries:

the ideal way to solve it would be for chpl_gasnet.get_link_args() to properly divide the -L / -l args between bundled and system. In particular, that's supposed to return a 2-tuple of lists; so that the bundled ones end up in CHPL_TARGET_BUNDLED_LINK_ARGS but the system ones end up in CHPL_TARGET_SYSTEM_LINK_ARGS.

This sounds like a good idea, but wasn't one I was able to explore before the release, so I'm filing this issue as a future work item (where that future could be immediately if someone else has cycles to pick it up).

mppf commented 12 months ago

Another way to solve this would be to rename all of the bundled 3rd party libraries we build e.g. from libjemalloc.a to libchpl_jemalloc.a. See also https://github.com/chapel-lang/chapel/issues/18955#issuecomment-1718428923 .

bradcray commented 11 months ago

Even if we were to do that, presumably we should still be sorting the GASNet flags into the right categories as long as that distinction exists in our variables and scripts, right?

mppf commented 11 months ago

Yes, but we could perhaps forget about making the distinction & simplify some of this stuff, if we went with the renaming strategy.