1.å¦ä½ç¼è¯chromeä¸çdepot
å¦ä½ç¼è¯chromeä¸çdepot
1ï¼ äºè§£ä»£ç ç»ç»ç»æã
Chrome sourceé常åºå¤§ï¼å¹¶ä¸å¨å ¶ä¸»ç®å½ä¸è¿å å«æå·¥å ·åç»ä»¶ï¼ä»»ä½ä¸ä¸ªå·¥å ·åç»ä»¶ä¹é带æå ¶æºä»£ç ãé¦å å¾çæè¿äºæºä»£ç çç»ç»ç»æï¼å¨http://src.chromium.org/svn/ä¸å å«å¦ä¸åç®å½ï¼releases,消源jquery编辑源码æ¾ç»åå¸è¿çchromeæºä»£ç çæ£å¼çæ¬ï¼trunkï¼å½åææ°çæºä»£ç ãç±äºreleasesä¸ç代ç æ¯è¾æ§ï¼è¿éå°±ä¸å说æäºï¼åªè¯´ætrunkçç»æãå¨trunkä¸é¢æ3个éè¦çç®å½ï¼depså å«äºchromeç¼è¯åè¿è¡æéè¦çå ¨é¨ç»ä»¶ç代ç ãsrcéé¢å å«çåæ¯chromeç主ç¨åºç代ç ï¼toolså å«çæ¯ä¸è½½åé ç½®ç¼è¯æéè¦ç第ä¸æ¹å·¥å ·çå缩å åæºä»£ç ï¼å ¶ä¸å°±æsvnåpythonè¿2个æ¯è¾éè¦çå·¥å ·ï¼åé¢å详ç»ä»ç»ãææ¶åè¿æ ·ä¸ä¸ªç®åçä»ç»ï¼å ä¸ºå ¶ç»ç»ç»ææ¯è¾è´è´£ï¼ä»¥ååä½è¡¥å æ§æ£ã
2ï¼å¦ä½ä¸è½½ååæ¥æºä»£ç ã
é¦å è°è°ä¸è½½ï¼
1ï¼æç®åçæ¹æ³æ¯ä»chromeå®ç½ä¸ç´æ¥ä¸è½½æºä»£ç å缩å ï¼å°åæ¯http://build.chromium.org/buildbot/archives/chromium_tarball.htmlã
2ï¼æè éç¨svnä»http://src.chromium.org/svn/trunk/srcè¿ä¸ªå°æ¹heckout,è¿è¦æ±ä½ å å¨æ¬å°å»ºä¸ä¸ªæºä»£ç ç主ç®å½ã
3ï¼å¦å¤ä¸ä¸ªåæ³åæ¯éç¨googleæä¾çä¸ä¸ªé¨ç½²å·¥å ·depot_toolsãè½ç¶è¿å ç§åæ³é½å¯ä¸è½½å®æ´çæºä»£ç ï¼ä½ç®åçæ åµæ¯ï¼chromeåºäºVisual Stdio è¿è¡ç¼è¯ï¼å¦æ顺å©å®æç¼è¯å·¥ä½ï¼èªç¶å°ä¸äºslnæ件ï¼è¾æ©çæºä»£ç ä¸å å«æç°æçslnåvcprojectæ件ï¼ä½åæ¥åäºä¿®æ¹ï¼è¿äºæ件被æå¼æï¼Googleèªå·±å¼åäºä¸ç§èæ¬å·¥å ·å«åGYP,è¿ä¸ªå·¥å ·éç¨pythonç¼åï¼GYPéç¨äºèªå®ä¹çä¸å¥è§åï¼ç¨äºçæåç§å·¥ç¨æ件ãèå ³é®çpythonåå å«äºdepot_toolsä¸ï¼å æ¤ä¸è®ºéç¨ä»ä¹æ¹æ³ä¸è½½ç代ç ï¼é½å¾ä¸è½½depot_toolsè¿ä¸ªå·¥å ·ï¼ä»¥è·å¾å¿ é¡»çå·¥ç¨æ件ã
depot_toolsä½äº http://src.chromium.org/svn/trunk/tools ä¸é¢ï¼å æ¬ä¸ä¸ªç®å½åä¸ä¸ªzipæ ¼å¼çå缩å ã
3ï¼å ³äºç¼è¯å¨
åé¢æå°Chromeéç¨Visual Stdio è¿è¡ç¼è¯ï¼æ ¹æ®http://dev.chromium.orgç说æï¼éè¿è¡å¦ä¸æä½æ£å¸¸ç¼è¯
a, å®è£ Visual Studio .
b, å®è£ Visual Studio Service Packe 1.
c, å®è£ Visual Studio Hotfix .
d, å¦ææ¯vistaç³»ç»ï¼è¿éå®è£ Visual Studio Service Packe 1 Update for Windows Vista.
e, å®è£ Windows SDKï¼å¦ææ¯Visual Studio åä¸éè¦è¿ä¸æ¥ã
f, é ç½®Windows SDKï¼ä½¿ SDKæ为é¦éå¼ååºï¼ä»¥è·å¾ä¸äºæ°åè½åç¹æ§ãåæ³æ¯å¨å¼å§->ç¨åº->Microsoft Windows SDK v6.1 > Visual Studio Registration > Windows SDK Configuration Toolï¼éæ©make currentæé®ãä¹å¯ä»¥å¨VSéé¢æå¨é ç½®includeålibaryè·¯å¾ï¼æææ¯ä¸æ ·çã
äºï¼å¦ä½é 置工ç¨æ件
1ï¼å¦ææ¯éç¨depot_toolsï¼é£ä¹ä»ä»£ç ä¸è½½å°çæslnæ件ä¼èªå¨å®æãå ¶æ¥éª¤æ¯
ï¼1ï¼ä¸è½½depot_toolså°æ¬å°åå¨ï¼å设ä½äºd:/depot_tools.
ï¼2ï¼å°d:/depot_toolsæ·»å å°ç³»ç»ç¯å¢åéä¸ã
ï¼3ï¼å建ä¸ä¸ªæºä»£ç æ ¹ç®å½ï¼å设为 d:/chrome,ç®å½ä¸å¾å å«ç©ºæ ¼ã
ï¼4ï¼å¨å½ä»¤è¡ä¸åæ¢å½åç®å½å°d:/chromeã
ï¼5ï¼æ§è¡å½ä»¤ gclient config http://src.chromium.org/svn/trunk/src ,该å½ä»¤ä¼é¦å ä¸è½½svnåpythonåå«å°d:/depot_tools/svn_binåd:/depot_tools/python_binã
ï¼6ï¼æ§è¡å½ä»¤ gclient sync è¿ä¸ªå½ä»¤ä¼è°ç¨svnåæ¥æºä»£ç ãè¿ä¸ªè¿ç¨ä¼æ¯è¾æ¼«é¿ãå ¨é¨å®æä¹åå ¨é¨æºä»£ç å°±ä¿åå¨d:/chromeéé¢ãæªç¼è¯ç代ç 大约æ4个Gå·¦å³ï¼è¿ç¨å°åå漫é¿ãè¿æ ·è·å¾çæºä»£ç å·²ç»å å«ææçå·¥ç¨æ件ï¼å¯ç´æ¥æå¼ã
éç¹è¯´æä¸ä¸gclientï¼å®å®é ä¸æ¯ä¸ä¸ªæ¹å¤çæ件ï¼å®ä¸»è¦åäºå¦ä¸ä¸äºäºæ ï¼é¦å 设置ç¯å¢åéï¼å¦ä»£ç æ ¹ç®å½ï¼å·¥å ·æ ¹ç®å½çãå ¶æ¬¡è°ç¨win_tools.batä»æå¡å¨ä¸è½½svnåpythonãæåè°ç¨python.exe对Chrome.gypè¿è¡è§£æçæææå·¥ç¨æ件ã
å¦å¤éè¦è¯´æçæ¯ï¼gclient syncçè¿ç¨é常漫é¿ï¼æ ¹æ®å½ä»¤è¡çæ示æ¥çæ»å ±éè¦åæ¥ä¸ªé¡¹ç®ï¼ä¸æ¯å·¥ç¨ï¼ï¼æé´å¯è½ä¼å 为ä¸äºåå 导è´é误èéåºè¿ä¸ªè¿ç¨ï¼éè¦ç»§ç»è°ç¨syncãæ¯å¦ç½ç»åºç°æ ésvnä¼å¤æ¬¡è¿å ¥sleepç¶æç¶åéè¯ï¼å¦æå¤æ¬¡å¤±è´¥å°±ä¼æ¥ééåºï¼è¿æçæ åµæ¯æäºåç®å½çå±æ§é®é¢æ æ³åæ¥ï¼å¯æ ¹æ®æ示è¿è¡æä½ãè¿æ个ç®åæ°åºç°çé®é¢ï¼ä¸é¢2个ç®å½âsrc/webkit/data/layout_tests/LayoutTestsâåâsrc/third_party/WebKit/LayoutTestsâçæºä»£ç æ¯ä»src.webkit.orgç¾åºæ¥çï¼ä½æ¯è¿ä¸ªç½ç«ç®ååå¨é®é¢æ æ³ç¾åºä»£ç ï¼ éè¦å±è½æè¿2个ç®å½ï¼ç±äºéé¢æ¯æµè¯ä»£ç ï¼å³ä½¿ä¸¢å¼ä¹ä¸ä¼å½±åæ´ä¸ªå·¥ç¨çç¼è¯ï¼æ¹æ³æ¯æå¼trunkä¸é¢ç.gclientæ件ï¼åéé¢æ·»å å¦ä¸å 容
"custom_deps" : {
"src/webkit/data/layout_tests/LayoutTests":None,
"src/third_party/WebKit/LayoutTests":None,
},
è¿æ ·svnå°±è½å®æ代ç çåæ¥äºãæågclientä¼è°ç¨depot_tools/python_bin/python.exe 对 src/build/gyp_
chromiumè¿è¡å¤çï¼è¿æ ·å°±å¾å°äºææçslnåvcprojectæ件ã
2ï¼å¦ææ¯ä¸è½½ç代ç å缩å æè checkoutç代ç ï¼ä»£ç ç®å½éé¢æ²¡æslnæ件ï¼è¿ä¸ªæ¶åéè¦è°ç¨å½ä»¤è¡è¿å ¥æºä»£ç æ ¹ç®å½ï¼ç¶åæ§è¡å½ä»¤ gclient runhooks --forceï¼å½ä»¤æ§è¡åä¼ç´æ¥å¯¹Chrome.gypè¿è¡è§£æ,çæslnæ件ã
å¨å®é ä¸è½½è¿ç¨ä¸ï¼æå¼å§çæ¶åæç¨TortoiseSVNä»http://src.chromium.org/svn/trunk/src checkoutæºä»£ç ï¼ä½æ¯å¾å°ç代ç åªæå ç¾å ï¼æ§è¡gclient runhooks --forceå½ä»¤åä¹æ²¡ææ¾å°slnæ件ï¼å ·ä½åå æªç¥ï¼ä¸å»ºè®®ä½¿ç¨æ¤æ¹å¼ãèç´æ¥ä¸è½½ä»£ç å缩å çæ¹å¼æ²¡æå°è¯è¿ï¼ä¸ç¥éæ¯å¦å¯è¡ãå æ¤æ稳妥çæ¹æ³è¿æ¯ä½¿ç¨depot_toolsæ¥é¨ç½²åå¤çæºä»£ç ã
ä¸ ç¼è¯å·¥ç¨
å¯å¨Visual Studio æå¼ src/chrome/browser/chrome.sln,æè æå¼src/build/all.sln,å¦ææå¼çæ¯chrome.slnéé¢å å«ä¸ªå·¥ç¨ï¼èall.slnåå å«ä¸ªå·¥ç¨ï¼ä¸äºå¹´çç¼è¯è¯´ææå°æå·¦å³çå·¥ç¨ï¼å¯è§chromeç代ç åå¨æ¯è¾å¤§ã对æ´ä¸ªè§£å³æ¹æ¡è¿è¡ç¼è¯ï¼æå¼éè¦2个å°æ¶æè½å®æç¼è¯ï¼è§ç¡¬ä»¶ç¯å¢èå®ï¼å åè¶å¤§è¶å¿«ï¼æ¨è4G以ä¸å åï¼é ·ç¿2æ ¸æè 4æ ¸ãç¼è¯å®æ以åæ®è¯´ä¼å ç¨Gç空é´ãç¼è¯åçæ件ä½äº d:/chorme/chrome/debug ç®å½æè d:/chorme/chrome/releaseç®å½ä¸ã