Полезная информация

Mozilla Россия — свежие версии программ Mozilla, а также масса полезной информации по каждому продукту.
 

Сборка Firefox и Thunderbird из CVS c использованием бесплатного компилятора от MS (Visual C++ .NET 2003)

Системные требования

Вам понадобится:

  • ОС Windows XP или 2000
  • Достаточно места на диске (по меньшей мере 3 ГБ свободного места)
  • Хороший и быстрый коннект с Интернетом.

Установка ПО

  • Загрузите с этой страницы и установите Microsoft .NET Framework Version 1.1 Redistributable Package
  • Загрузите с этой страницы и установите .NET Framework SDK Version 1.1 (Примечание: При установке этого пакета установка SDK Samples необязательна).
  • Откройте страницуWindows® Server 2003 SP1 Platform SDK Web Install и скачайте1) онлайновый инсталлятор PSDK-x86.exe (ссылка на него внизу этой страницы). Запустите его. При инсталляции выберите следующие опции:

В разделе Microsoft Windows Core SDK — Tools, Build Environment, Redistributable Components
В разделе Microsoft Web Workshop SDK — Build Environment

При онлайновой установке из Интернета это примерно 180 Мб трафика.

  • Загрузите с этой страницы и установите Visual C++ Toolkit 2003
  • Загрузите и распакуйте на диск C: (так чтобы dll-файлы расположились в C:\vc71\bin) следующие файлы: ftp://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/vc71-glib-1.2.10-bin.zip и ftp://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/vc71-libIDL-0.6.8-bin.zip
  • Загрузите с этой страницы и установите masm32v8. Для этого распакуйте файл INSTALL.EXE из zip-архива и запустите его. Для установки выберите диск C:. Когда появится командная строка, нажмите любую клавишу и подождите окончания установки. Когда закончится установка в режиме командной строки, вы вернетесь в инсталлятор. В нем нажмите OK для завершения установки.
  • Загрузите установщик Cygwin. Запустите его. В качестве места хранения скачанных пакетов установите C:\Installs\cygwin, в качестве пути установки пакетов установите C:\cygwin. В поле Install for выберите — All Users, в поле Default Text File Type — Unix. Затем найдите работающее зеркало откуда можно скачать пакеты, например ftp://mirrors.kernel.org/ Нажмите один раз на кнопку чтобы перейти в режим View All. Выберите следующие пакеты (последние версии), если они еще не выбраны. Затем нажмите далее, чтобы начать их установку:
ash -- UNIX-like command line interpreter shell
cvs -- get the source with this (or another way, it's not really needed)
diffutils -- file comparison utility
fileutils
findutils
gawk -- pattern matching language (Devel category)
grep -- text search tool
libiconv -- Character conversion library
make -- dependency analyzer for software builds (Devel category)
patch -- used to apply a patch to enable building of Firefox due to errors in profile migration
perl -- Larry Wall's Practical Extracting & Report Language (Interpreters category)
sed -- a search and replace language
sh-utils
textutils
unzip -- zip file extraction (Archive category)
zip

  • Загрузите и установите Netscape wintools. Распакуйте где-нибудь этот файл, откройте командную строку, введите SET MOZ_TOOLS=C:\moztools, затем запустите install.bat из каталога buildtools\windows
  • Скопируйте файл lib.exe из каталога “C:\Program Files\Microsoft Platform SDK\Bin\win64\” в каталог “C:\Program Files\Microsoft Visual C++ Toolkit 2003\bin\lib.exe”

Загрузка исходных текстов

Создайте каталог E:\mozilla. В нем создайте файл cvs_pull.bat со следующим содержимым:

@echo off
set PATH=C:\cygwin\bin;%path%
set HOME=e:\mozilla
set CVSROOT=:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot
cvs login
cvs co mozilla/browser/config mozilla/client.mk
cd e:\mozilla\mozilla\
make -f client.mk checkout MOZ_CO_PROJECT=browser

Если вы хотите скачать исходный текст Thunderbird, то замените
make -f client.mk checkout MOZ_CO_PROJECT=browser
на
make -f client.mk checkout MOZ_CO_PROJECT=mail
Если хотите скачать исходники и Firefox и Thunderbird, то замените эту строку на
make -f client.mk checkout MOZ_CO_PROJECT=browser,mail
Запустите этот файл. При запросе пароля введите anonymous (не обращайте внимание на ошибку что .cvspass не существует). Подождите окончания загрузки исходных кодов браузера.

Конфигурация сборки

Создайте файл конфигурации сборки .mozconfig и поместите его в каталог E:\mozilla\mozilla. В него вставьте следующие строки2):

Для сборки Firefox:

. $topsrcdir/browser/config/mozconfig
export BUILD_OFFICIAL=1
export MOZILLA_OFFICIAL=1
mk_add_options BUILD_OFFICIAL=1
mk_add_options MOZILLA_OFFICIAL=1
ac_add_options --disable-shared
ac_add_options --enable-static
ac_add_options --disable-activex
ac_add_options --disable-activex-scripting
ac_add_options --disable-debug
ac_add_options --disable-tests
ac_add_options --disable-logging 
ac_add_options --enable-svg
ac_add_options --enable-canvas

Для сборки Thunderbird:

. $topsrcdir/mail/config/mozconfig
export BUILD_OFFICIAL=1
export MOZILLA_OFFICIAL=1
mk_add_options BUILD_OFFICIAL=1
mk_add_options MOZILLA_OFFICIAL=1
ac_add_options --disable-shared
ac_add_options --enable-static
ac_add_options --disable-activex
ac_add_options --disable-activex-scripting
ac_add_options --disable-debug
ac_add_options --disable-tests
ac_add_options --disable-logging 

Если хотите чтобы сборка получилась оптимизированной добавьте в него одну из следующих строк3) (более подробно эти опции обьяснены здесь). Будьте внимательны с параметром -GA, т. к. он нужен только для опимизации .EXE файлов, но не .DLL:

##
## CPU Optimization
## Для PentiumPro/Pentium2/Pentium3
ac_add_options --enable-optimize="-O2 -GA -G6"
## Для Pentium4/Athlon (оптимизация под процессоры с набором инструкций SSE)
ac_add_options --enable-optimize="-O2 -GA -G7 -arch:SSE"
## Для Pentium4/Athlon (оптимизация под процессоры с набором инструкций SSE2)
ac_add_options --enable-optimize="-O2 -GA -G7 -arch:SSE2"

Если хотите собрать русифицированный Firefox добавьте в файл эту строку:

ac_add_options --enable-ui-locale=ru

Сборка

Создайте файл для установки переменных и сборки build.bat со следующим содержимым. Сохраните его в каталоге E:\Mozilla

@ECHO OFF
SET PATH=C:\vc71\bin;C:\Program Files\Microsoft Visual C++ Toolkit 2003\bin;C:\Program   Files\Microsoft Platform SDK\Bin;C:\Program Files\Microsoft.NET\SDK\v1.1\Bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\wbem;C:\moztools\bin;C:\cygwin\bin;C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\IDE;C:\Program Files\Microsoft Platform SDK\Bin\win64;C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322;C:\masm32\BIN
SET LIB=C:\Program Files\Microsoft Visual C++ Toolkit 2003\lib;C:\Program Files\Microsoft Platform SDK\Lib;C:\Program Files\Microsoft.NET\SDK\v1.1\Lib;C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\lib;C:\masm32\LIB;C:\Program Files\Microsoft Platform SDK\Lib\IA64
SET INCLUDE=C:\Program Files\Microsoft Visual C++ Toolkit 2003\include;C:\Program Files\Microsoft Platform SDK\include;C:\Program Files\Microsoft.NET\SDK\v1.1\include;C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include;C:\Program Files\Microsoft Platform SDK\include\Win64\crt;C:\masm32\INCLUDE;C:\Program Files\Microsoft Platform SDK\include\atl
SET GLIB_PREFIX=C:\vc71
SET LIBIDL_PREFIX=C:\vc71
SET MOZ_TOOLS=C:\moztools
SET CVSROOT=:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot
SET HOME=E:\mozilla
SET CVS_RSH=ssh
SET MOZILLA_OFFICIAL=1
SET BUILD_OFFICIAL=1
SET NO_MFC=1
ECHO Installation environment variables set!
@ECHO ON
cd .\mozilla
make -f client.mk build

Обратите внимание: каталоги, содержащие glib и libidl для VC71, должны быть объявлены в PATH раньше каталогов MOZTOOLS!

Запустите файл build.bat и ждите окончания сборки. После окончания сборки Firefox или Thunderbird можно найти в каталоге E:\mozilla\mozilla\dist\bin. Переместите его куда-нибудь и запустите firefox.exe или thunderbird.exe.

Возможно вы захотите избавиться от лишних файлов и каталогов образовавшихся при сборке. Я для этого создал небольшой shell-script (запускать из под Cygwin)

cd /cygdrive/e/mozilla/mozilla/dist/bin
rm bloaturls.txt
rm mangle*
rm regxpcom* 
rm -r res/samples
rm -r res/throbber
rm shlibsign*
rm winEmbed.exe
rm xpcshell*
rm xpidl*
rm xpt_dump*
rm xpt_link*
rm res/arrow.gif
rm res/arrowd.gif
rm res/boatcycle.html
rm res/cmessage.txt
rm -r res/html
rm res/loading-image.gif
rm -r res/rdf
rm res/viewer.properties
rm res/viewsource.css
rm chrome/app-chrome.manifest
rm chrome/chromelist.txt
rm chrome/embed-sample.jar   
1) Plantform SDK необходимо для сборки с поддержкой SVG, которая теперь включена по умолчанию
2) См. что нужно добавить, если нужно собрать SVG для FF 1.0.x
3) Еще один вариант — использовать ключ -Oxs вместо -O2, который дает еще большую оптимизацию по скорости и размеру исполняемого файла
 
  general/build_msvc2003/firefox_thunderbird_msvc_.net_2003.txt · Последние изменения: 2006/05/05 03:28
 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2011 Mozilla Russia
Язык отображения форума: [Русский] [English]