6. Disabled PLATFORM(QT) - WebKit porting to Mona OS
After walking through JavaScriptCore and jsc.cpp, it seems that we should disable PLATFORM(QT) and remove QT related file from Makfile.
Let's start again.
../../../Source/JavaScriptCore/wtf/unicode/icu/UnicodeIcu.h:27:27: error: unicode/uchar.h: No such file or directory ../../../Source/JavaScriptCore/wtf/unicode/icu/UnicodeIcu.h:28:29: error: unicode/uscript.h: No such file or directory ../../../Source/JavaScriptCore/wtf/unicode/icu/UnicodeIcu.h:29:29: error: unicode/ustring.h: No such file or directory ../../../Source/JavaScriptCore/wtf/unicode/icu/UnicodeIcu.h:30:27: error: unicode/utf16.h: No such file or directory
Since we can't use QTUnicode, we need ICU installed.
Donwloaded icu4c-4_8_1-src.tgz and added it to the INCLUDE path of JavaScriptCore. For now we don't build ICU.
home/taro/mona/core/icu/source/common/unicode/ptypes.h:25:30: error: unicode/platform.h: No such file or directory
* Note: autoconf creates platform.h from platform.h.in at configure time.
./configure on icu/source.
from ../../../Source/JavaScriptCore/yarr/YarrInterpreter.cpp:27: ../../../Source/JavaScriptCore/wtf/FastMalloc.h:265: error: expected type-specifier ../../../Source/JavaScriptCore/wtf/FastMalloc.h:265: error: expected `)'
They defined operator new/delete using FastMalloc, and it uses throw. But we have no exception support.
Defined -DUSE_SYSTEM_MALLOC.
../../../Source/JavaScriptCore/wtf/ThreadSpecific.h:260:2: error: #error ThreadSpecific is not implemented for this platform.
Defined -DENABLE_SINGLE_THREADED=1.
../../../Source/JavaScriptCore/wtf/unicode/icu/CollatorICU.cpp:36:26: error: unicode/ucol.h: No such file or directory
Added -I /home/taro/mona/core/icu/source/i18n/.
libjscore.a without QT was built. The next thing is jsc. Applied to Makefile.jsc the same CFLAGS added on Makefile.
make -f Makefile.jsc shows following link errors.
Excpet for WTF::OSAllocator, rest of them are ICU functions. I see where this is going :D
WTF::OSAllocator::commit(void*, unsigned int, bool, bool)' WTF::OSAllocator::commit(void*, unsigned int, bool, bool)' follow WTF::OSAllocator::decommit(void*, unsigned int)' WTF::OSAllocator::releaseDecommitted(void*, unsigned int)' WTF::OSAllocator::reserveAndCommit(unsigned int, WTF::OSAllocator::Usage, bool, bool, bool)' WTF::OSAllocator::reserveUncommitted(unsigned int, WTF::OSAllocator::Usage, bool, bool, bool)' _u_charDirection_48' _u_charDirection_48' follow _u_charType_48' _u_charType_48' follow _u_foldCase_48' _u_foldCase_48' follow _u_memcasecmp_48' _u_strFoldCase_48' _u_strToLower_48' _u_strToUpper_48' _u_tolower_48' _u_toupper_48' _ucol_close_48' _ucol_getAttribute_48' _ucol_getLocaleByType_48' _ucol_open_48' _ucol_setAttribute_48' _ucol_strcoll_48'