popov.link/_posts/2012-01-30-getting-source-code-of-chromium.md
2024-02-14 03:53:22 +04:00

19 KiB
Raw Blame History

description title layout
Изучение исходных кодов Chromium: подготовка системы и установка необходимых программных компонентов. Руководство для начинающих разработчиков. Получите инструкции по установке Microsoft Visual Studio, Cygwin, Python и других инструментов. Действительно на январь-февраль 2012 года. Получение исходного кода "Chromium Projects" post

Перенос оригинальной статьи 2012 года из моего старого блога (зеркало).

Добрый день, уважаемые читатели!

В последние дни выдалось свободное время, и я решил изучить исходные коды "The Chromium Projects". Чтобы посмотреть исходники, оказалось недостаточным просто скачать архив с исходным кодом и начать работать с ним в "Visual Studio 2010". Я был крайне опечален отсутствием нормальной русской документации для начинающих, поэтому восполню пробел и переведу всю инструкцию по получению исходных кодов.

P.S. Chromium является быстроразвивающимся Open Sources проектом. Данная инструкция актуальна на январь-февраль 2012 года.

Для начала немного введения. Весь процесс от подготовки системы, до работы с исходными кодами я условно разделю на четыре пункта, это:

  • Подготовка операционной системы, установка стандартных программных комплектов разработчика;
  • Установка и настройка программы "Cygwin";
  • Установка и настройка пакета "depot_tools";
  • Получение и подготовка для работы исходных кодов "Chromium";

Подготовка начального набора программ

Ниже приведу список и краткое описание программного обеспечения, которое требуется установить перед работой с исходными кодами:

  • "Microsoft Visual Studio 2010" — Среда разработки, требуется для работы с исходным кодом. Имеется возможность использовать Microsoft Visual Studio 2008 и Microsoft Visual C++ Express 2010'го и 2008'го годов соответственно. Бесплатные Express версии продуктов можно взять на официальном сайте Microsoft.

  • "Microsoft Windows SDK" — Пакет для предоставления заголовочных файлов, библиотек, компиляторов и пр. для разработчиков программного обеспечения под операционную систему Windows. Требуется для успешной сборки и компиляции проекта под Windows систему. Бесплатно можно скачать с официальной страницы.

  • "Microsoft DirectX SDK" — Пакет с библиотеками мультимедийной подсистемы DirectX. Требуется для успешной сборки и компиляции проекта. Бесплатно доступен на официальном сайте.

  • "Python 2.x" — Высокоуровневый язык программирования. Требуется для начальной подготовки исходных кодов. Установка не обязательная, но желательная. Про третью версию Python официальной информации нет, у меня установлены обе версии для опытов и "Path" системы направлен на вторую версию. Установку Python коротко разберу ниже. Python бесплатно можно взять на официальном сайте.

  • "Cygwin" — Unix-подобная среда и интерфейс командной строки для систем Microsoft Windows. Требуется для работы с исходными кодами, их подготовки, обновлением и проверки на ошибки. Сам инструмент бесплатно доступен на официальной странице. Его установку я распишу в следующих пунктах.

  • "TortoiseSVN" — Клиент Subversion под систему Windows. Установка не обязательная, но желательная. Требуется для более простого обновления пакета "depot_tools" из официального репозитория SVN от корпорации Google. Бесплатно доступен на официальной странице.

Над установкой Microsoft Visual Studio, Microsoft Windows SDK и Microsoft DirectX SDK я подробно останавливаться не буду. Установка данных программных комплектов проста, и особой сложности вызывать не должна. В случае возникновения каких-либо проблем, имеются огромные сообщества разработчиков, которые помогут с установкой.

На установке пакета Python'а я остановлюсь поподробнее:

Во-первых, путь установки Python'а не должен содержать русскоязычный текст, это может вызвать много ошибок.

Во-вторых, после установки основного пакета, не забудьте добавить имя каталога в список путей, по которому операционная система ищет исполняемые файлы. Чтобы это сделать, требуется:

  1. Запустите "Панель Управления" и выберите пиктограмму "Система";
  2. Выберите "Дополнительные настройки системы";
  3. Перейдите во вкладку "Дополнительно" и щёлкните на кнопке "Переменные среды";
  4. В содержимом окна "Системные переменные" найдите строку "Path";
  5. Добавьте туда путь до вашего каталога Python.

В моём случае этот путь выглядел так: C:\Program Files (x86)\Python2. Пути каталогов должны разделяться знаком ;, по этому не забудьте перед последним записанным каталогом дописать ; (без кавычек);

Чтобы проверить работоспособность языка Python в Вашей системе сразу после установки, откройте командную строку Windows и введите команду:

python --version

На экране должно появиться сообщение с версией Python, которая используется в Вашей системе по-умолчанию.

Теперь подготовим каталоги. Каталог исходных кодов в моём случае располагается на диске C:\, потому что желательно не использовать пробелы в пути адреса до исходных кодов и мой пользователь в операционной системе состоит из русскоязычных символов.

На диске C:\ я создал каталог OpenSource, в нём я создал каталог ChromiumProjects, в котором появилось два подкаталога depot_tools и trunk. Т.е. система каталогов выглядит так:

  • C:\OpenSource\ChromiumProjects\depot_tools — Пакет для работы с исходным кодом;
  • C:\OpenSource\ChromiumProjects\trunk — Место хранения исходных кодов;

В случае использование других каталогов в вашей системе, используйте собственные пути, подставляя их в мои примеры.

Так же крайне рекомендуется отключить индексирование системы в данных каталогах, потому что это вызовет фатальные ошибки работы пакета "depot_tools". Чтобы это сделать, откройте "Панель управления", выберите пиктограмму "Параметры индексирования", нажмите на кнопку "Изменить" и снимите галочку с каталога, содержащий утилиту "depot_tools".

Первоначальную установку и настройку системы можно считать оконченной. Переходим к следующему шагу.

Установка программы "Cygwin"

Первым делом получите установочный файл последней версии по этой ссылке. Установочный файл во время установки скачивает необходимые пакеты из интернета. Когда запустите файл, следуйте инструкциям. После выбор зеркала пакетов, Вам покажут список доступных пакетов с зеркала. Требуется найти и отметить для установки следующие пакеты:

  • apache;
  • bc;
  • bison;
  • curl;
  • diffutils;
  • e2fsprogs;
  • emacs;
  • flex;
  • gcc;
  • gperf;
  • keychain;
  • make;
  • nano;
  • openssh;
  • patch;
  • perl;
  • perl-libwin32;
  • python;
  • rebase;
  • rsync;
  • ruby;
  • subversion;
  • unzip;
  • vim;
  • zip;

Имена пакетов должны полностью совпадать. Воспользуйтесь поиском по пакетам, включённым в саму программу установки. Это должно сильно облегчить задачу.

Актуальный список пакетов, требующихся для установки, Вы всегда можете найти в официальном скрипте установки, в поле required_packages.

После установки приложения, требуется внести путь до папки с исполняемыми файлами в переменную "Path". Сделать это можно в точности, как после установки пакета Python'а, описанного чуть выше в данной статье. Только в отличии от Python'а, требуется указать путь до папки bin, находящейся в корневом каталоге приложения "Cygwin". В моём случае этот путь выглядел так: C:\Program Files (x86)\Cygwin\bin.

После установки и проверки приложения "Cygwin", можно переходить к следующему шагу, настройке и установки пакета "depot_tools".

Установка пакета "depot_tools"

  1. Перейдите в каталог, который Вы определили для хранения пакета "depot_tools";
  2. Находясь в папке, нажмите правую кнопку мыши в любом свободном месте и контекстном меню выберите пункт "SVN Checkout";
  3. В пути URL репозитория, указывайте путь: http://src.chromium.org/svn/trunk/tools/depot_tools;

Если проблем не возникнет, пойдёт установка последней ревизии данного пакета. По окончанию скачивания пакета, путь до исполняемых файлов пакета следует указать в переменной "Path", по аналогии с программой "Cygwin" и пакетом "Python". В моём случае, путь выглядел так: C:\OpenSource\ChromiumProjects\depot_tools.

Если всё прошло успешно, можно перейти к заключительной части статьи, получения и подготовка исходных кодов браузера "Chromium".

Получение и подготовка исходных кодов

Перейдите по данной ссылке и скачайте архив с исходными кодами. Вы получите архив с именем "chromium.rXXXXX.tgz", где XXXXX — номер стабильной последней версии.

Распакуйте из архива папку src в наш каталог trunk. Процесс займёт продолжительное время, потому что объём исходных кодов ~4 Гб. По окончанию распаковки, откройте терминал "Cygwin".

В открытом терминале теперь необходимо пройти в каталог src, который получится после распаковки исходных кодов. Переход по каталогам в терминале осуществляется программой cd. Чтобы попасть на диск C:\, требуется в терминале набрать команду:

cd "C:/"

Чтобы вернуться на каталог выше, требуется набрать команду:

cd ..

В Unix-терминалах для работы с каталогами используется обратная косая черта. По этому, чтобы перейти в требуемый каталог, на моём примере, команда будет выглядеть так:

cd "C:/OpenSource/ChromiumProjects/trunk/src"

Теперь, когда мы в требуемой папке, надо применить команду для первоначальной настройки исходных кодов. Для этого ведите команду:

gclient sync --force

После выполнения данной команды, требуется подготовить исходные коды для работы с "Visual Studio 2010". Для этого вводим команду:

gclient runhooks --force

По окончанию выполнения данной команды, мы получаем готовые к работе исходные коды. Чтобы начать с ними работу, откройте Вашу "Visual Studio", выберите "Открыть проект" и откройте файл chrome.sln, который находится в папке chrome, находящейся в папке исходных кодов. В моём случае, полный путь до файла выглядит так: C:\OpenSource\ChromiumProjects\trunk\src\chrome\chrome.sln.

На этом работу можно считать законченной.

Обновление

Чтобы обновить пакет "depot_tools", требуется зайти в каталог, содержащий данный пакет, щёлкнуть правой кнопкой мыши и в контекстном меню выбрать "SVN Update". "TortoiseSVN" обновит данные каталога до последней ревизии пакета.

Для обновления исходных кодов "Chromium", требуется открыть терминал "Cygwin", перейти в каталог с исходными кодами и ввести команду:

gclient sync

Заключение

Спасибо, что прочитали и большое спасибо, если воспользовались моей инструкцией. Я всегда рад Вашим комментариям с вопросами, уточнениями и предложениями.

Полезные ссылки