PhotonLibOS
PhotonLibOS copied to clipboard
Add more build options to get a separate lib, and the official release of 1.0
TODO:
~~Separate Photon lib to thread, net, rpc ... libs.~~
- Add more build options, for example, get thread lib alone
- Add a build option for C++ standard. Photon now hardcoded C++14. Users with C++17 might fail because of
std::string_view - Rename
BUILD_TESTINGtoPHOTON_BUILD_TESTINGoption, in case of being overwrite by parent project - Hide symbols, for example, aio and curl . Expose libc and libc++ only
- Support changing submodule URL in option, for example, a gitee repo instead of the github repo
- Publish the official 1.0 release
Why the separation?
I would suggest that:
- We provide build options to allow for output as static or dynamic lib, whether build individual modules, whether link the modules together, whether link dependencies, and whether hide the symbols of the dependencies.
- We release official pre-built binary libphoton.so that links together all dependencies (e.g. libcurl, libaio, etc.) statically, and hide their symbols inside libphoton.so to avoid potential conflicts with other libs.
I would suggest that:
We provide build options to allow for output as static or dynamic lib, whether build individual modules, whether link the modules together, whether link dependencies, and whether hide the symbols of the dependencies.
We release official pre-built binary libphoton.so that links together all dependencies (e.g. libcurl, libaio, etc.) statically, and hide their symbols inside libphoton.so to avoid potential conflicts with other libs.
These would be great indeed.
@beef9999 @Coldwings Let's split the goal and achieve the sub-goals gradually.