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

Disabled modules shouldn't call pkg-config if they are set to be non-builtin #32265

Open
Tracked by #39196
Calinou opened this issue Sep 23, 2019 · 4 comments
Open
Tracked by #39196

Comments

@Calinou
Copy link
Member

Calinou commented Sep 23, 2019

Godot version: Git 72d87cf

OS/device including version: Fedora 30

Issue description: Someone reported on IRC that non-builtin dependency checking is done even if the module that requires them is disabled. This causes a build failure if the dependency in question isn't installed on the system.

For instance, builtin_libtheora=no will always call pkg-config, even if module_theora_enabled=no is also passed to the SCons command line:

# Sound and video libraries
# Keep the order as it triggers chained dependencies (ogg needed by others, etc.)
if not env['builtin_libtheora']:
env['builtin_libogg'] = False # Needed to link against system libtheora
env['builtin_libvorbis'] = False # Needed to link against system libtheora
env.ParseConfig('pkg-config theora theoradec --cflags --libs')

Steps to reproduce: Build Godot with scons platform=x11 builtin_libtheora=no module_theora_enabled=no.

@akien-mga
Copy link
Member

builtin_*=no should only be used if you want to link against the system provided version. If you don't want to use theora, the module_theora_enabled=no flag should be used.

This could be made more robust but would require substantial changes, and a proper dependency checking system à la configure.

@Calinou
Copy link
Member Author

Calinou commented Sep 23, 2019

@akien-mga What about replacing if not env['builtin_libtheora']: with if env['module_theora_enabled'] and not env['builtin_libtheora']: (and doing the same for other modules with non-builtin dependency options)?

@KoBeWi
Copy link
Member

KoBeWi commented Sep 10, 2020

Can anyone still reproduce this bug in Godot 3.2.3 rc6 or any later release?

@akien-mga
Copy link
Member

It's likely still valid yes.

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