wxWidgets / Phoenix

wxPython's Project Phoenix. A new implementation of wxPython, better, stronger, faster than he was before.
http://wxpython.org/
2.33k stars 516 forks source link

fix siplib build on Windows #2610

Closed DietmarSchwertberger closed 2 months ago

DietmarSchwertberger commented 2 months ago

When trying to build 4.2.2 with Python 3.12 on Windows 64 bit, I got an error when siplib was linked. The symbol sipSetBool was missing.

The generated sip\siplib\setup.py has these lines, but the file content is not used when building with waf:

if sys.platform == 'win32':
    module_src.append('bool.cpp')

This PR adds bool.cpp also to wscript.

swt2c commented 2 months ago

bool.cpp was removed in sip 6.8.5. Is there some reason you can't use sip 6.8.5?

DietmarSchwertberger commented 2 months ago

Thanks. This was not intentional. I thought build.py would check for correct prerequisites?

swt2c commented 2 months ago

Thanks. This was not intentional. I thought build.py would check for correct prerequisites?

It does for some things that it depends on (like doxygen and waf) but not for python dependencies, unfortunately as those kind of need to be installed outside of its purview. We could probably do something like that if we add a pyproject.toml, but that would mostly work for the but I'm not sure about using build.py directly.