Open
Description
Tested versions
- introduced by pr: SCons: Add
CPPEXTPATH
for external includes #104893
System information
PopOS 22.04
Issue description
We use both godot and godot-nir-static repos as submodules within our project. After updating to godot 4.5 to see if it fixes some other bugs for us, we noticed that we can no longer compile godot against our godot-nir-static submodule. After bisecting, I narrowed down exactly which file is the culprit: https://github.com/godotengine/godot/pull/104893/files#diff-bb9fd10753b454a0f1381aa36772df32332f7279095791eede1928a4b29db9ed
Changing CPPEXTPATH back to CPPPATH path in this SCsub fixes it.
Steps to reproduce
Build godot and godot-nir-static from source. godot-nir-static can be found here: https://github.com/godotengine/godot-nir-static.
See that it errors with:
In file included from drivers/d3d12/rendering_device_driver_d3d12.cpp:42:
In file included from /home/tcroc/dev/BlockyBallOT/submodules/godot-nir-static/godot-mesa/src/compiler/spirv/nir_spirv.h:28:
In file included from /home/tcroc/dev/BlockyBallOT/submodules/godot-nir-static/godot-mesa/src/compiler/nir/nir.h:44:
In file included from /home/tcroc/dev/BlockyBallOT/submodules/godot-nir-static/godot-mesa/src/compiler/nir_types.h:36:
In file included from /home/tcroc/dev/BlockyBallOT/submodules/godot-nir-static/godot-mesa/src/compiler/glsl_types.h:42:
In file included from /home/tcroc/dev/BlockyBallOT/submodules/godot-nir-static/godot-mesa/src/util/glheader.h:72:
/home/tcroc/dev/BlockyBallOT/submodules/godot-nir-static/godot-mesa/include/GLES3/gl3.h:383:15: error: expected ')'
383 | typedef void (GL_APIENTRYP PFNGLACTIVETEXTUREPROC) (GLenum texture);
| ^
/home/tcroc/dev/BlockyBallOT/submodules/godot-nir-static/godot-mesa/include/GLES3/gl3.h:40:33: note: expanded from macro 'GL_APIENTRYP'
Y* 40 | #define GL_APIENTRYP GL_APIENTRnode_dock.cpp
| ^
/home/tcroc/dev/BlockyBallOT/submodules/godot-nir-static/godot-mesa/include/GLES3/gl3.h:383:14: note: to match this '('
383 | typedef void (GL_APIENTRYP PFNGLACTIVETEXTUREPROC) (GLenum texture);
| ^
/home/tcroc/dev/BlockyBallOT/submodules/godot-nir-static/godot-mesa/include/GLES3/gl3.h:384:15: error: expected ')'
384 | typedef void (GL_APIENTRYP PFNGLATTACHSHADERPROC) (GLuint program, GLuint shader);
| ^
/home/tcroc/dev/BlockyBallOT/submodules/godot-nir-static/godot-mesa/include/GLES3/gl3.h:40:33: note: expanded from macro 'GL_APIENTRYP'
40 | #define GL_APIENTRYP GL_APIENTRY*
| ^
/home/tcroc/dev/BlockyBallOT/submodules/godot-nir-static/godot-mesa/include/GLES3/gl3.h:384:14: note: to match this '('
384 | typedef void (GL_APIENTRYP PFNGLATTACHSHADERPROC) (GLuint program, GLuint shader);
| ^
/home/tcroc/dev/BlockyBallOT/submodules/godot-nir-static/godot-mesa/include/GLES3/gl3.h:384:15: error: typedef redefinition with different types ('void (GLuint, GLuint)' (aka 'void (unsigned int, unsigned int)') vs 'void (GLenum)' (aka 'void (unsigned int)'))
384 | typedef void (GL_APIENTRYP PFNGLATTACHSHADERPROC) (GLuint program, GLuint shader);
| ^
/home/tcroc/dev/BlockyBallOT/submodules/godot-nir-static/godot-mesa/include/GLES3/gl3.h:40:22: note: expanded from macro 'GL_APIENTRYP'
40 | #define GL_APIENTRYP GL_APIENTRY*
| ^
/home/tcroc/dev/BlockyBallOT/submodules/godot-nir-static/godot-mesa/src/util/glheader.h:59:21: note: expanded from macro 'GL_APIENTRY'
59 | #define GL_APIENTRY GLAPIENTRY
| ^
/home/tcroc/dev/BlockyBallOT/submodules/godot-nir-static/godot-mesa/include/GLES3/gl3.h:383:15: note: previous definition is here
383 | typedef void (GL_APIENTRYP PFNGLACTIVETEXTUREPROC) (GLenum texture);
| ^
/home/tcroc/dev/BlockyBallOT/submodules/godot-nir-static/godot-mesa/include/GLES3/gl3.h:40:22: note: expanded from macro 'GL_APIENTRYP'
40 | #define GL_APIENTRYP GL_APIENTRY*
| ^
/home/tcroc/dev/BlockyBallOT/submodules/godot-nir-static/godot-mesa/src/util/glheader.h:59:21: note: expanded from macro 'GL_APIENTRY'
59 | #define GL_APIENTRY GLAPIENTRY
| ^
Then change CPPEXTPATH to CPPPATH and see that it compiles successfully.
Minimal reproduction project (MRP)
NA
Metadata
Metadata
Assignees
Type
Projects
Status
Very Bad