Hi,
FYI: I have followed
these steps in building Webkit JavascriptCore on Win32 (VC2005):
<1>Install
Microsoft Visual Studio 2005 and Team Suite Service Pack 1, Cygwin and related
packages, QuickTime SDK;
<2>
Got the source from nightly build
http://nightly.webkit.org/files/WebKit-SVN-source.tar.bz2.
<3>
Down loaded all the related support packages WebKitSupportLibrary.zip
<4>
Set two environment variables: WEBKITOUTPUTDIR and WEBKITLIBRARIESDIR.
<5>Taken
care of other settings/options in VC2005 like (Project->options->Vcproject
Settings)
<6>
I tried building JavaScriptCore.sln in VC2005 present in (D:\cygwin\home\WebKit\JavaScriptCore\JavaScriptCore.vcproj)
Compilation is successful for most of CPP files except for
NumberConstructor.cpp, RegExpObject.cpp, and StringPrototype.cpp. Please check
and help me out to resolve this problem.
***********************************************************************************************************************************************************************************************
------
Build started: Project: WTF,
Configuration: Debug_Internal Win32 ------
Performing
Pre-Build Event...
Compiling...
MainThreadWin.cpp
Assertions.cpp
CollatorDefault.cpp
CollatorICU.cpp
FastMalloc.cpp
HashTable.cpp
MainThread.cpp
OwnPtrWin.cpp
RefCountedLeakCounter.cpp
TCSystemAlloc.cpp
ThreadingWin.cpp
UTF8.cpp
Generating Code...
Creating
library...
HashTable.obj :
warning LNK4221: no public symbols found; archive member will be inaccessible
CollatorDefault.obj
: warning LNK4221: no public symbols found; archive member will be inaccessible
Performing
Post-Build Event...
Project : warning
PRJ0018 : The following environment variables were not found:
$(PRODUCTION)
Build log was
saved at
"file://D:\cygwin\home\WebKit\WebKitBuild\obj\WTF\Debug_Internal\BuildLog.htm"
WTF - 0 error(s),
2 warning(s)
------ Build
started: Project: JavaScriptCore, Configuration: Debug_Internal Win32 ------
Performing
Pre-Build Event...
Compiling...
ArgList.cpp
Arguments.cpp
ArrayConstructor.cpp
ArrayPrototype.cpp
BooleanConstructor.cpp
BooleanObject.cpp
BooleanPrototype.cpp
CallData.cpp
collector.cpp
CommonIdentifiers.cpp
ConstructData.cpp
DateConstructor.cpp
DateInstance.cpp
DateMath.cpp
DatePrototype.cpp
dtoa.cpp
Error.cpp
ErrorConstructor.cpp
ErrorInstance.cpp
ErrorPrototype.cpp
Generating Code...
Compiling...
ExecState.cpp
FunctionConstructor.cpp
FunctionPrototype.cpp
GetterSetter.cpp
GlobalEvalFunction.cpp
identifier.cpp
IndexToNameMap.cpp
InitializeThreading.cpp
InternalFunction.cpp
interpreter.cpp
JSActivation.cpp
JSArray.cpp
JSCell.cpp
JSFunction.cpp
JSGlobalData.cpp
JSGlobalObject.cpp
JSGlobalObjectFunctions.cpp
JSImmediate.cpp
JSLock.cpp
JSNotAnObject.cpp
Generating Code...
Compiling...
JSNumberCell.cpp
JSObject.cpp
JSStaticScopeObject.cpp
JSString.cpp
JSValue.cpp
JSVariableObject.cpp
JSWrapperObject.cpp
LabelStack.cpp
lookup.cpp
MathObject.cpp
NativeErrorConstructor.cpp
NativeErrorPrototype.cpp
NumberConstructor.cpp
(The function lexicalGlobalObject() returns a
pointer to JSGlobalObject and the definition is present in KJS namespace. But
still I get these errors)
..\..\kjs\NumberConstructor.cpp(83)
: error C2027: use of undefined type 'KJS::JSGlobalObject'
d:\cygwin\home\webkit\javascriptcore\kjs\JSGlobalData.h(47) : see declaration
of 'KJS::JSGlobalObject'
..\..\kjs\NumberConstructor.cpp(83)
: error C2227: left of
'->numberPrototype' must point to class/struct/union/generic
type
NumberObject.cpp
NumberPrototype.cpp
ObjectConstructor.cpp
ObjectPrototype.cpp
operations.cpp
PropertyMap.cpp
PropertyNameArray.cpp
Generating Code...
Compiling...
PropertySlot.cpp
PrototypeFunction.cpp
regexp.cpp
RegExpConstructor.cpp
RegExpObject.cpp
..\..\kjs\RegExpObject.cpp(61)
: error C2065: 'getStaticValueSlot' : undeclared identifier
..\..\kjs\RegExpObject.cpp(61)
: error C2275: 'KJS::RegExpObject' : illegal use of this type as an expression
..\..\kjs\RegExpObject.cpp(61)
: error C2275: 'KJS::JSObject' : illegal use of this type as an expression
..\..\kjs\RegExpObject.cpp(85)
: error C2065: 'lookupPut' : undeclared identifier
..\..\kjs\RegExpObject.cpp(85)
: error C2275: 'KJS::RegExpObject' : illegal use of this type as an expression
..\..\kjs\RegExpObject.cpp(85)
: error C2275: 'KJS::JSObject' : illegal use of this type as an expression
RegExpPrototype.cpp
ScopeChain.cpp
StringConstructor.cpp
StringObject.cpp
StringPrototype.cpp
..\..\kjs\StringPrototype.cpp(126)
: error C2065: 'getStaticFunctionSlot' : undeclared identifier
..\..\kjs\StringPrototype.cpp(126)
: error C2275: 'KJS::StringObject' : illegal use of this type as an expression
..\..\kjs\StringPrototype.cpp(220)
: error C2027: use of undefined type 'KJS::JSGlobalObject'
d:\cygwin\home\webkit\javascriptcore\kjs\JSGlobalData.h(47)
: see declaration of 'KJS::JSGlobalObject'
(The function lexicalGlobalObject() returns a
pointer to JSGlobalObject and the definition is present in KJS namespace. But
still I get these errors)
..\..\kjs\StringPrototype.cpp(220)
: error C2227: left of
'->regExpConstructor' must point to class/struct/union/generic
type
..\..\kjs\StringPrototype.cpp(408)
: error C2027: use of undefined type 'KJS::JSGlobalObject'
d:\cygwin\home\webkit\javascriptcore\kjs\JSGlobalData.h(47) : see declaration
of 'KJS::JSGlobalObject'
..\..\kjs\StringPrototype.cpp(408)
: error C2227: left of
'->regExpConstructor' must
point to class/struct/union/generic type
..\..\kjs\StringPrototype.cpp(458)
: error C2027: use of undefined type 'KJS::JSGlobalObject'
d:\cygwin\home\webkit\javascriptcore\kjs\JSGlobalData.h(47) : see declaration
of 'KJS::JSGlobalObject'
..\..\kjs\StringPrototype.cpp(458)
: error C2227: left of '->regExpConstructor' must point to
class/struct/union/generic type
ustring.cpp
pcre_compile.cpp
pcre_exec.cpp
pcre_tables.cpp
pcre_ucp_searchfuncs.cpp
pcre_xclass.cpp
JSBase.cpp
JSCallbackConstructor.cpp
JSCallbackFunction.cpp
JSCallbackObject.cpp
Generating Code...
Compiling...
JSClassRef.cpp
JSContextRef.cpp
JSObjectRef.cpp
JSStringRef.cpp
JSStringRefBSTR.cpp
JSStringRefCF.cpp
JSValueRef.cpp
HeavyProfile.cpp
Profile.cpp
ProfileGenerator.cpp
ProfileNode.cpp
Profiler.cpp
TreeProfile.cpp
CodeGenerator.cpp
lexer.cpp
nodes.cpp
nodes2string.cpp
Parser.cpp
CodeBlock.cpp
ExceptionHelpers.cpp
Generating Code...
Compiling...
JSPropertyNameIterator.cpp
Machine.cpp
Opcode.cpp
RegisterFile.cpp
debugger.cpp
DebuggerCallFrame.cpp
Generating Code...
Project : warning
PRJ0018 : The following environment variables were not found:
$(PRODUCTION)
Build log was
saved at "file://D:\cygwin\home\WebKit\WebKitBuild\obj\JavaScriptCore\Debug_Internal\BuildLog.htm"
JavaScriptCore -
17 error(s), 0 warning(s)
------ Skipped
Build: Project: FindSafari ------
------ Build
started: Project: jsc, Configuration: Debug_Internal Win32 ------
Performing
Pre-Build Event...
Project : error
PRJ0002 : Error result 1 returned from 'C:\WINDOWS\system32\cmd.exe'.
Build log was
saved at
"file://D:\cygwin\home\WebKit\WebKitBuild\obj\jsc\Debug_Internal\BuildLog.htm"
jsc - 1 error(s),
0 warning(s)
------ Build
started: Project: JavaScriptCoreGenerated, Configuration: Release Win32 ------
Performing
Makefile project actions
xcopy
/y/d/e/i "..\..\..\WebKitLibraries\win\tools"
"D:\cygwin\home\WebKit\WebKitLibraries\tools"
0 File(s) copied
touch
"D:\cygwin\home\WebKit\WebKitBuild\buildfailed"
bash
build-generated-files.sh "D:\cygwin\home\WebKit\WebKitBuild"
"D:\cygwin\home\WebKit\WebKitLibraries"
build-generated-files.sh:
../../../WebKitTools/Scripts/num-cpus: /usr/bin/perl: bad interpreter: No such
file or directory
/home/WebKit/JAVASC~2/kjs/create_hash_table
/home/WebKit/JAVASC~2/kjs/ArrayPrototype.cpp -i > ArrayPrototype.lut.h
/home/WebKit/JAVASC~2/pcre/dftables
chartables.c
/home/WebKit/JAVASC~2/kjs/create_hash_table
/home/WebKit/JAVASC~2/kjs/DatePrototype.cpp -i > DatePrototype.lut.h
bison -d -p kjsyy
/home/WebKit/JAVASC~2/kjs/grammar.y -o grammar.cpp > bison_out.txt
2>&1
/home/WebKit/JAVASC~2/kjs/create_hash_table
/home/WebKit/JAVASC~2/kjs/keywords.table > lexer.lut.h
/home/WebKit/JAVASC~2/kjs/create_hash_table
/home/WebKit/JAVASC~2/kjs/MathObject.cpp -i > MathObject.lut.h
/home/WebKit/JAVASC~2/kjs/create_hash_table
/home/WebKit/JAVASC~2/kjs/NumberConstructor.cpp -i > NumberConstructor.lut.h
/home/WebKit/JAVASC~2/kjs/create_hash_table
/home/WebKit/JAVASC~2/kjs/RegExpConstructor.cpp -i > RegExpConstructor.lut.h
/home/WebKit/JAVASC~2/kjs/create_hash_table
/home/WebKit/JAVASC~2/kjs/RegExpObject.cpp -i > RegExpObject.lut.h
/home/WebKit/JAVASC~2/kjs/create_hash_table
/home/WebKit/JAVASC~2/kjs/StringPrototype.cpp -i > StringPrototype.lut.h
make:
/home/WebKit/JAVASC~2/pcre/dftables: Command not found
/home/WebKit/JAVASC~2/kjs/create_hash_table:
not found
NMAKE : fatal
error U1077: 'D:\cygwin\bin\bash.EXE' : return code '0x1'
Stop.
Project : error
PRJ0019: A tool returned an error code from "Performing Makefile project
actions"
Build log was
saved at
"file://D:\cygwin\home\WebKit\WebKitBuild\obj\JavaScriptCoreGenerated\Release\BuildLog.htm"
JavaScriptCoreGenerated
- 2 error(s), 0 warning(s)
========== Build:
1 succeeded, 3 failed, 0 up-to-date, 1 skipped ==========
Thanks &
Regards
Nanda Kumar P
**********************************************************************************************************************************************************************************************
This e-mail and attachments contain confidential information from HUAWEI,
which is intended only for the person or entity whose address is listed above.
Any use of the information contained herein in any way (including, but not
limited to, total or partial disclosure, reproduction, or dissemination) by
persons other than the intended recipient's) is prohibited. If you receive this
e-mail in error, please notify the sender by phone or email immediately and
delete it!