Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add more build options to get a separate lib, and the official release of 1.0 #170

Open
beef9999 opened this issue Aug 9, 2023 · 4 comments

Comments

@beef9999
Copy link
Collaborator

beef9999 commented Aug 9, 2023

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_TESTING to PHOTON_BUILD_TESTING option, 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
@lihuiba
Copy link
Collaborator

lihuiba commented Aug 10, 2023

Why the separation?

@beef9999 beef9999 changed the title Libs separation, and the official release of 1.0 Add more build options to a separate lib, and the official release of 1.0 Aug 12, 2023
@beef9999 beef9999 changed the title Add more build options to a separate lib, and the official release of 1.0 Add more build options to get a separate lib, and the official release of 1.0 Aug 12, 2023
@lihuiba
Copy link
Collaborator

lihuiba commented Aug 14, 2023

I would suggest that:

  1. 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.
  2. 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.

@beef9999 beef9999 added Done Done and removed WIP labels Aug 28, 2023
@medvednikov
Copy link

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.

@lihuiba lihuiba added WIP and removed Done Done labels Oct 9, 2023
@lihuiba
Copy link
Collaborator

lihuiba commented Oct 9, 2023

@beef9999 @Coldwings Let's split the goal and achieve the sub-goals gradually.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants