Release WebKit build fails at link time with the following error:
Undefined symbols for architecture x86_64:
"JSC::Structure::putWillGrowOutOfLineStorage()", referenced from:
JSC::JSObject::putDirectWithoutTransition(JSC::VM&, JSC::PropertyName, JSC::JSValue, unsigned int) in libJavaScriptCoreJava.a(MapConstructor.o)
JSC::JSObject::putDirectWithoutTransition(JSC::VM&, JSC::PropertyName, JSC::JSValue, unsigned int) in libJavaScriptCoreJava.a(SetConstructor.o)
JSC::JSObject::putDirectWithoutTransition(JSC::VM&, JSC::PropertyName, JSC::JSValue, unsigned int) in libJavaScriptCoreJava.a(WeakMapConstructor.o)
JSC::JSObject::putDirectWithoutTransition(JSC::VM&, JSC::PropertyName, JSC::JSValue, unsigned int) in libJavaScriptCoreJava.a(MapIteratorConstructor.o)
JSC::JSObject::putDirectWithoutTransition(JSC::VM&, JSC::PropertyName, JSC::JSValue, unsigned int) in libJavaScriptCoreJava.a(SetIteratorConstructor.o)
JSC::JSObject::putDirectWithoutTransition(JSC::VM&, JSC::PropertyName, JSC::JSValue, unsigned int) in libJavaScriptCoreJava.a(ArgumentsIteratorConstructor.o)
bool JSC::JSObject::putDirectInternal<(JSC::JSObject::PutMode)1>(JSC::VM&, JSC::PropertyName, JSC::JSValue, unsigned int, JSC::PutPropertySlot&, JSC::JSCell*) in libJavaScriptCoreJava.a(JSPromiseFunctions.o)
...
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [../lib/libjfxwebkit.dylib] Error 1
This happens because the JSC::Structure::putWillGrowOutOfLineStorage() is declared in the Structure.h but defined in the StructureInlines.h as inline.
Unfortunately, the cpp files listed in the error message lacks the recommended #include "JSCInlines.h"