欢迎来到天天文库
浏览记录
ID:13864820
大小:40.00 KB
页数:3页
时间:2018-07-24
《webkit在win32下的编译规则(七)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、webkit在win32下的编译规则(七)分类: 浏览器 makefile 浏览器2011-03-2209:29 1034人阅读 评论(0) 收藏 举报首先看$(JS_DOM_HEADERS),这些文件都是以JS开头的,对其做处理的是如下规则:JS%.h:%.idl$(JS_BINDINGS_SCRIPTS) $(callgenerator_script,$(JS_BINDINGS_SCRIPTS))$(IDL_COMMON_ARGS)--defines"$(FEATURE_DEFINES)$
2、(ADDITIONAL_IDL_DEFINES)LANGUAGE_JAVASCRIPT"--generatorJS$<这条规则要处理大约450个文件,所以在编译WebCoreGenerated这个工程时大部分都是类似的输出,这条规则的command展开后的形式如下:perl-I/cygdrive/d/tools/cygwin/home/xufan/WebKit/WebCore/bindings/scripts//cygdrive/d/tools/cygwin/home/xufan/WebKit/W
3、ebCore/bindings/scripts/generate-bindings.pl--includedom--includehtml--includecss--includepage--includenotifications--includexml--includesvg--write-dependencies--outputDir.--defines"ENABLE_3D_CANVASENABLE_3D_RENDERINGENABLE_CHANNEL_MESSAGINGENABLE_DAT
4、ABASEENABLE_DATAGRIDENABLE_DATALISTENABLE_DIRECTORY_UPLOADENABLE_DOM_STORAGEENABLE_EVENTSOURCEENABLE_FILTERSENABLE_ICONDATABASEENABLE_JAVASCRIPT_DEBUGGERENABLE_NOTIFICATIONSENABLE_OFFLINE_WEB_APPLICATIONSENABLE_SHARED_WORKERSENABLE_SVGENABLE_SVG_ANIMA
5、TIONENABLE_SVG_AS_IMAGEENABLE_SVG_FONTSENABLE_SVG_FOREIGN_OBJECTENABLE_SVG_USEENABLE_WEB_SOCKETSENABLE_WORKERSENABLE_XPATHENABLE_XSLT LANGUAGE_JAVASCRIPT"--generatorJS/cygdrive/d/tools/cygwin/home/xufan/WebKit/Source/WebCore/page/DOMWindow.idlcommand主
6、要是调用d:/tools/cygwin/home/xufan/WebKit/WebCore/bindings/scripts/generate-bindings.pl这个perl脚本对IDL文件做处理,即根据IDL文件生成h和cpp文件,例如DOMWindow.idl就生成了D:/tools/cygwin/home/xufan/WebKit/WebKitBuild/Debug_Cairo_CFLite/obj/WebCore/DerivedSources/JSDOMWindow.cpp和D:/to
7、ols/cygwin/home/xufan/WebKit/WebKitBuild/Debug_Cairo_CFLite/obj/WebCore/DerivedSources/JSDOMWindow.h这两个文件。DOMWindow.idl里面定义了window对象的方法,属性和事件等,对此感兴趣的可以看看DOMWindow.idl,JSDOMWindow.cpp和JSDOMWindow.h这3个文件,看这几个文件比看html参考手册有用。generate-bindings.pl的实现细节后面会专门
8、进行介绍,个人感觉用antlr等工具处理应该更方便点。在这里需要特别说明的是DOMWindow.idl等IDL文件并不是微软COM技术里面的IDL文件格式,而是IDL文件的一个变种WebIDL(http://www.w3.org/TR/WebIDL/)。IDL有很多形式,可以参考http://en.wikipedia.org/wiki/Interface_description_language里面的描述,例如XPIDL,MicrosoftInterfaceDefinitionLa
此文档下载收益归作者所有