2. Where should I start from? - WebKit porting to Mona OS

Okay, let's check the output.

As someone said, I think it's better to start from building JavaScriptCore for some reasons.

  1. JavaScriptCore is much smaller than WebCore.
  2. Since JavaScriptCore is just JavaScript language engine, it has fewer dependencies to other libraries.

Start Point

Modified JavaScriptCore/Makefile to use Mingw.

CC            = /usr/bin/i586-mingw32msvc-gcc
CXX           = /usr/bin/i586-mingw32msvc-g++

Removed following unsupported options.

  • -fPic
  • -pthread

Let's "make".
A weird error.

../../../Source/JavaScriptCore/wtf/Vector.h: In member function ‘void WTF::Vector<T, inlineCapacity>::reserveCapacity(size_t) [with T = JSC::Yarr::ByteCompiler::ParenthesesStackEntry, unsigned int inlineCapacity = 0u]’:
../../../Source/JavaScriptCore/wtf/Vector.h:887: Warning: visibility attribute not supported in this configuration; ignored
TypeOperations::move(oldBuffer, oldEnd, begin());
m_buffer.deallocateBuffer(oldBuffer); // <--- Here!

Can I ignore it?. I'm not sure.
But just ignore for now. Removed -Werror option (Dangerous).

Threads

The next error is on Threads.

{standard input}: Assembler messages:
{standard input}:265: Error: suffix or operands invalid for `cmpxchg'
make: *** [obj/release/MainThreadQt.o] Error 1

As the file name is suggested, we should write our own thread related code.