Thanks for the replies, they were helpful.
Indeed, it does seem based on the links provided that OS-specific ports of OpenSSL have Configuration files with entries for riscv. The git master branch for OpenSSL currently makes no mention of riscv, though--and I assumed that there was no support.
However, I realized that my use case is more nuanced than I originally thought.
I'm attempting to compile for an embedded environment, where in fact there will not be OS support at all, but a lightweight "kernel" with some system and virtual memory setup, similar to the riscv-tests environments. I'm using the RISC-V newlib toolchain as a result, and based on some examples I've seen for the proxy-kernel and riscv-tests, I'm compiling with -nostdlib.
The compile seems to be successful, but of course, there are linker errors for references to syscalls that have not been implemented. The riscv-tests directory has implementations of a few critical syscalls, but not all that OpenSSL makes use of.
So this brings me to my main point: when compiling for constrained environments, what's considered best practice for compiling relatively complex software like OpenSSL? To maybe make things easier, I don't actually need *all* of OpenSSL, just the crypto, even more specifically, RSA encrypt/decrypt.
Is it typical to grab open-source implementations from a distro of all the needed syscalls to make things easy? This seems like it could be non-trivial, depending on how complicated the application is.
If you have any insights, or if it makes more sense for me to open a new thread for this, it would be much appreciated.
--Kristin