Using custom libraries in an embedded or unsupported environment

What is a standard or good approach for using custom libraries in an environment which supports minimum features of the stdlib and doesn't allow downloading or loading the crates, as those are unsupported in that environment?

I tried to add all the code (including the dependencies) of the library inside substrate's ink environment so it doesn't require external calls or the code to be built out of them. This way I was able to directly call all methods of the library, but adding all the dependencies in that way is one heck of a tedious task and not the best approach either.

What is the correct or a good way of doing this? Any thoughts are appreciated.