I am working on porting WebkitGTK to a PowerPC system, using a cross compiler and gcc 11.3.0. I have managed having JSC compiling just fine, but I get plenty of issues with WebCore compilation.
Below is the top part of the logs that fail.
[ 40%] Building CXX object Source/WebCore/CMakeFiles/WebCore.dir/__/__/WebCore/DerivedSources/unified-sources/UnifiedSource-3c72abbe-25.cpp.obj
In file included from /opt/code/webkitty/Source/WebCore/platform/graphics/filters/FilterFunction.h:28,
from /opt/code/webkitty/Source/WebCore/platform/graphics/filters/Filter.h:25,
from /opt/code/webkitty/Source/WebCore/platform/graphics/ConcreteImageBuffer.h:28,
from /opt/code/webkitty/Source/WebCore/platform/graphics/PlatformImageBuffer.h:28,
from /opt/code/webkitty/Source/WebCore/platform/graphics/ImageBuffer.cpp:33,
from /opt/code/webkitty/cross-build-mini/WebCore/DerivedSources/unified-sources/UnifiedSource-3c72abbe-25.cpp:6:
/opt/code/webkitty/Source/WebCore/platform/graphics/filters/FilterEffectGeometry.h:118:19: error: ‘EnumTraits’ is not a class template
118 | template<> struct EnumTraits<WebCore::FilterEffectGeometry::Flags> {
| ^~~~~~~~~~
/opt/code/webkitty/Source/WebCore/platform/graphics/filters/FilterEffectGeometry.h:118:68: error: explicit specialization of non-template ‘WebCore::WTF::EnumTraits’
118 | template<> struct EnumTraits<WebCore::FilterEffectGeometry::Flags> {
| ^
/opt/code/webkitty/Source/WebCore/platform/graphics/filters/FilterEffectGeometry.h:119:20: error: ‘EnumValues’ does not name a type
119 | using values = EnumValues<
| ^~~~~~~~~~
And this is the code of the failing part. The full file can be found at https://github.com/walkero-gr/webkitty/blob/amigaos_2.36.8/Source/WebCore/platform/graphics/filters/FilterEffectGeometry.h#L118
namespace WTF {
template<> struct EnumTraits<WebCore::FilterEffectGeometry::Flags> {
using values = EnumValues<
WebCore::FilterEffectGeometry::Flags,
WebCore::FilterEffectGeometry::Flags::HasX,
WebCore::FilterEffectGeometry::Flags::HasY,
WebCore::FilterEffectGeometry::Flags::HasWidth,
WebCore::FilterEffectGeometry::Flags::HasHeight
>;
};
} // namespace WTF
Any information or clue on what I should check next would be helpful.