error: 'TAPI' is not defined, evaluates to 0 [-Werror,-Wundef] while building on macos

While building from lode on macOS, I got an error while run make:

Build log:

[LOC] sccomp
[AIN] activexbinarytable
In file included from /Users/nemo/lode/dev/core/pyuno/source/module/pyuno_dlopenwrapper.c:22:
In file included from /Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/Headers/Python.h:139:/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/Headers/pythonrun.h:142:5: error: 'TAPI' is not defined, evaluates to 0 [-Werror,-Wundef]
#if TAPI
    ^
1 error generated.
[AIN] activex
/Users/nemo/lode/dev/core/solenv/gbuild/LinkTarget.mk:239: recipe for target 
'/Users/nemo/lode/dev/core/workdir/CObject/pyuno/source/module/pyuno_dlopenwrapper.o' failed
make[1]: *** [/Users/nemo/lode/dev/core/workdir/CObject/pyuno/source/module/pyuno_dlopenwrapper.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: *** wait: No child processes.  Stop.
Makefile:282: recipe for target 'build' failed
make: *** [build] Error 2

Full log.

Everything is fine, I ran all the commands in the docs except a warning while running ./autogen.sh:

* WARNING : no suitable nasm (Netwide Assembler) found for internal libjpeg-turbo

Full log.

In general, for build and coding questions you’re better off to get help in the IRC channel or on the mailing list.

Essentially, add --disable-werror to autogen.input in your core directory.

Which is ill-advised if one wants to also develop and not just build (I’d guess there’s no reason to only build within lode but not develop anything) because it may hide actual coding or setup errors that could throw back later at you.

The problem is probably in Xcode 11.4.1 Python.h. sudo edit /Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/Headers/Python.h and find #if TAPI. Replace that with #ifdef TAPI. Should compile then.