How do i identify the library, is it just all the files in the 'src' folder?
!
I usually look for a version called libWhatever.dll (.dynlib, .so) on 'whatever's website, or see if it turns up in a package manager, or google search something like 'whatever' + dynamic library and see what turns up. SO if it's CURL for example, I would search for libcurl, sometimes it doesn't follow that pattern, for example 'HIDAPI' (as opposed to libHID) or 'GIFLib'.
This hilights something: have to download the libraries for all platforms you want your thing to work on
Correct, binary version of libWhatever library that you want to wrap for each and every platform that you want to support should go into 'Code' folder in your extension builder project, each in their own subfolders labeled by platform+architecture. Then the appropriate one gets loaded by the engine or is included with a standalone build that uses it. Some libraries have dependencies on other libraries too, so those can be included to ensure they're available at runtime.
If it's a library that you're certain will be available as part of the OS (like for example curl on macOS and most Linux) then you don't need to include a the binary, it will (hopefully ) find and load that library from the normal OS libraries.
On macOS or Linux there's 'DLOpen' which we could actually wrap with FFI and then script the loading of libraries!
The FluidSynth wrapper supports all three desktop OS and Android, it also includes dependency libraries for things like reading .ogg files and Glib (FluidSynth creates its own threads).
I agree that its a good idea to start with a small simple library that's going to be useful to you to keep your motivation up.