Open yrashk opened 9 months ago
With regard to fixing gnat.xml .. you could raise an issue at https://github.com/AdaCore/gprconfig_kb (or even a PR!)
I’ve never thought about building a bundle -- are you sure you want encapsulated libraries? Wouldn’t that mean risking having multiple copies of the same Ada units? I’d understood it "only" required adjusting the dynamic library headers to use @rpath
, and it looks as though GCC 13.2 does a pretty good job of that???
Dear Simon,
I apologize if this issue is misdirected (I am new in Ada), I would be happy to hear an advice on where to direct this most appropriately.
I've been trying to build an encapsulated library on aarch64 macos (M1) and got
After some research, I ended up amending
gnat.xml
to contain<target name="^aarch64-.*darwin.*$" />
in the section that pertains to encapsulated support (as other targets for Darwin are listed), and that enabled gprbuild to proceed.Question: Do you think this should get upstreamed (what's the best way to do this)?
Continuing, I was trying to build a macOS bundle (as opposed to a shared library). In a non-encapsulated library, I can, for example, change
Shared_Library_Minimum_Switches
to use-bundle
/-bundle-loader
(or shrink the list to nothing to allow forLinker_Options
do this).However, when I switched
Library_Standalone
toencapsulated
, I got gprbuild add-shared -static-libgcc
to GCC invocation. If I manually remove them and re-execute the line, everything works. ChangingLibrary_Encapsulated_Options
to()
alleviates this problem. This shows how involved support for bundles can be. Do you think there is any way to simplify this whole setup?Thank you!