I did not want to litter your release thread more.
So I was trying to “puncture first hole through” with a simple test in talking to Dylib.
error: cannot find library ‘libTestLibrary.dylib’ for Declare (looked for /Applications/Buoy/lib/stubs/arm64-apple-macos/libTestLibrary.dylib.tbd,
I did not know where to put the dylib. Then I got error which gave me hint to maybe put it in the lib/stubs.
Then I put it in the lib/stubs but I still get error as shown above. it seems to want tbd and not dylib ? i do not know what that is or how to make it, or where the dylib goes then).
I just noticed also that it has your own user hard coded in there somewhere:
error: cannot find library ‘libTestLibrary.dylib’ for Declare (looked for /Applications/Buoy/lib/stubs/arm64-apple-macos/libTestLibrary.dylib.tbd, /Applications/Buoy/lib/runtime/arm64-apple-macos/liblibTestLibrary.dylib.dylib, and /Users/gregolon/Work/Git/buoy/build/runtime/liblibTestLibrary.dylib.dylib)
Without having tested a lot then first impressions is that component format could maybe be just directory
with small Buoy stub then all the platform directories for the dylibs. So if someone wanted to use the component they would just put the component directory at same place as their project.
(is just idea from the little I know at this moment)
Haha yes we all know that. And it is impressive what you are showing here. Bad for XoJo that you are gone. Maximum know how. No question. Somehow I would try to hold you in the environment how ever I could assist that. But hey, now you present a new basic with llvm and more. That’s pretty interesting. I hope that it will be one day open sourced so I can have a look how you handled the comiler.
That does not work it creates even more strange path.
Only thing that works is to have the library actually be called libxxx, and call it by xxx (currently).
With that said I still got the first lib I made to test working and can update it but cannot make 2nd one, I have not pinpointed exactly why yet though. There is definitely some difficulty with the paths currently, I may have copied the first one also somewhere at first which is maybe why 2nd one wont work, we will see.
I personally hope he finds model where he can live on it. (closed or open source is not super important). If someone can live on a thing like this then it will thrive and not die out.
Clearly the search tree is not set up for just row dylibs placed with an app. It was working a month ago but that was before I started work on packages and I must’ve screwed with that somehow.
Yeah I found what I did. Originally when I was doing declares it was just for console apps and linking to “whatever you find next to the app” was just fine. When I did the packaging work, that got accidentally dropped. What I’ll do is add an option to the compiler that lets you specify libs to link.
it’s pretty simple actually. It’s a cross-platform compiler built around LLVM and lld consumed as libraries — no spawned clang / ld subprocess.
It does mean that I have to vendor LLVM though and that in of itself was a huge challenge. I’ve had a few run-ins with the different optimization modes (they’re all exposed BTW) where using one mode or another ends up generating a bad binary. I suspect that’s the reason that Xojo kept having to shift in the beginning… but I’m striving to keep all of the optimization levels available, to the best of my ability. we’ll see.
When I’ve had enough language development, I’ll take a stab at doing a debugger for VSCode in LLDB along with a debugger stub.