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

[TRACKER] C++ modules related issues #39196

Open
21 of 31 tasks
Xrayez opened this issue May 31, 2020 · 6 comments
Open
21 of 31 tasks

[TRACKER] C++ modules related issues #39196

Xrayez opened this issue May 31, 2020 · 6 comments

Comments

@Xrayez
Copy link
Contributor

Xrayez commented May 31, 2020

Godot version:
3.2, 4.0

Issue description:
There are some existing issues related to module dependencies which may cause run-time and compile-time errors, or need better user-friendly interface to ensure that certain modules cannot be disabled, or whether the usage of modules may reveal hidden built-in bugs (which can be either workaround on the module level or fixed on the core level, so these are not necessarily the responsibility of module authors, but which nonetheless worth to link).

Bugs

Tasks

Preview Give feedback
  1. bug crash topic:buildsystem topic:navigation
    AndreaCatania
  2. archived bug topic:physics
  3. bug documentation topic:editor topic:physics
    akien-mga reduz
  4. bug platform:windows topic:buildsystem topic:thirdparty
    JFonS akien-mga
  5. documentation enhancement topic:buildsystem
    akien-mga
  6. bug topic:buildsystem
  7. bug platform:ios topic:buildsystem
  8. bug confirmed crash topic:audio topic:editor topic:gdextension topic:porting
  9. bug topic:editor
  10. bug confirmed topic:dotnet
  11. discussion documentation topic:core
  12. bug confirmed topic:thirdparty
  13. bug topic:editor topic:multiplayer topic:network
  14. archived bug crash topic:network
  15. bug platform:linuxbsd topic:buildsystem
    akien-mga
  16. bug topic:buildsystem
  17. bug platform:linuxbsd topic:buildsystem
  18. bug topic:import
  19. bug topic:buildsystem topic:physics
    AndreaCatania hpvb
  20. bug confirmed topic:buildsystem
  21. bug confirmed topic:buildsystem
  22. bug platform:ios topic:buildsystem
    hpvb
  23. bug topic:buildsystem
  24. bug topic:buildsystem topic:gdscript
  25. bug confirmed topic:buildsystem topic:gui
    Faless akien-mga
  26. bug topic:rendering
    JFonS
  27. bug platform:linuxbsd topic:buildsystem topic:thirdparty
    akien-mga
  28. bug topic:buildsystem
    akien-mga lawnjelly

Documentation

Tasks

Preview Give feedback
  1. bug documentation platform:windows topic:buildsystem
  2. bug confirmed documentation topic:buildsystem
  3. documentation topic:buildsystem topic:core

Proposals

Some issues remain in Limbo due to indecision regarding the philosophical principles of module development (what's deemed as a module now should be core, for instance see attempted fixes #32272), so it may not worth fixing some of the bugs at the moment (raising awareness for contributors).


List of modules which cannot be disabled without...

... compile-time errors

with target=debug tools=yes:
with platform=windows tools=yes bits=32:

... run-time errors

with target=debug tools=yes:
@madmiraal
Copy link
Contributor

I would add #38759.

@Xrayez
Copy link
Contributor Author

Xrayez commented Jun 1, 2020

Created a script to generate a random modules configuration to "fuzzy test" compiling Godot that way, if you want to burn your CPU cycles. 🙂

@Anutrix
Copy link
Contributor

Anutrix commented Aug 3, 2020

#28949 closed.

@jxo
Copy link

jxo commented Nov 24, 2020

@Xrayez modules may should be designed with dynamic loading, modules should be attached with dependency infos. Modules can be loaded or unloaded at runtime?More complicated but better to extend godot by user.

@Xrayez
Copy link
Contributor Author

Xrayez commented Nov 24, 2020

@jxo what you describe is more or less handled by GDNative. But there are certainly usability/portability/compatibility issues with using it. For this, you can refer to proposals regarding GDNative.

You can also refer to godotengine/godot-proposals#565 for comparison between modules and GDNative approaches, and how they solve different use cases.

@Calinou
Copy link
Member

Calinou commented Nov 24, 2020

@jxo See also What is GDNative? in the documentation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: No status
Development

No branches or pull requests

5 participants