Подскажите какие компиляторы и утилиты нужны для своей сборки FF(2.0.0.11) из исходных кодов?
ОС: Windows

___________________
если кто собирал уже файрфокс под виндой, поделились опытом.
Заранее спасибо.

Unsiker

http://developer.mozilla.org/en/docs/Windows_Build_Prerequisites

http://developer.mozilla.org/en/docs/Windows_Build_Prerequisites

В этом документе они предлагают компиляцию MOZILLA_1_8_BRANCH. Тоесть весия 1.8
Как быть со свежими версиями типа 2.0.0.11 (исходник которой есть для свободного скачивания). Так же предлают Visual Studio 2003 and 2005 но версии какие то урезаные(безплатные). Можно ли компилировать на полных версиях? 

как быть с командой make, это же юниксовая команда .... откуда виндовс узнает что с ней делать ?????

Unsiker

Можно ли компилировать на полных версиях?

Внимательнее надо читать:
The Standard, Professional and Team System editions of Microsoft Visual C++ version 7.1 and 8 (Visual Studio 2003 and 2005) are complete solutions.

откуда виндовс узнает что с ней делать ?????

От  MozillaBuild.

Из прочтенной темы выяснилось что нужно:

1. Visual C++ (Microsoft Visual 2005 prof - подходит)
2. Windows Platform SDK
3. MASM (версия 8, но походу и 9 должна подойти)
4. MozillaBuild 1.2

Это все ... дальше можно идти за соурсами ????

Unsiker

Это всё.

Скачал firefox-2.0.0.9-source.tar.bz2, разпаковал, начал компиляцию
возникла ошибка, может кто подскажет что ей нехватило??? 

Выделить код

Код:

$ make -f client.mk build 
make[1]: Entering directory `/c/mozilla'
cd /c/mozilla
/c/mozilla/configure
creating cache ./config.cache
checking host system type... i686-pc-mingw32
checking target system type... i686-pc-mingw32
checking build system type... i686-pc-mingw32
checking for gawk... gawk
checking for nsinstall... /c/mozilla-build/moztools/bin/nsinstall
checking for gcc... cl
checking whether the C compiler (cl  ) works... yes
checking whether the C compiler (cl  ) is a cross-compiler... no
checking whether we are using GNU C... no
checking whether cl accepts -g... no
checking for c++... cl
checking whether the C++ compiler (cl  ) works... yes
checking whether the C++ compiler (cl  ) is a cross-compiler... no
checking whether we are using GNU C++... no
checking whether cl accepts -g... no
checking for ranlib... :
checking for ml... /c/Program Files/Microsoft Visual Studio 8/VC/BIN/ml
checking for ar... no
checking for ld... link
checking for strip... no
checking for windres... no
checking for midl... midl
checking for midl flags... need -no_robust
checking how to run the C preprocessor... cl
checking for mmintrin.h... no
checking how to run the C preprocessor... cl
checking how to run the C++ preprocessor... /lib/cpp
checking for a BSD compatible install... /bin/install -c
checking whether ln -s works... no
checking for perl5... no
checking for perl... /bin/perl
checking for minimum required perl version >= 5.004... 5.006001
checking for full perl installation... yes
checking for doxygen... :
checking for whoami... /c/WINDOWS/System32/whoami
checking for autoconf... /bin/autoconf
checking for unzip... /c/mozilla-build//info-zip/unzip
checking for zip... /c/mozilla-build//info-zip/zip
checking for makedepend... no
checking for xargs... /bin/xargs
checking for make... /local/bin/make
checking for X... no
checking that static assertion macros used in autoconf tests work... yes
checking for 64-bit OS... no
configure: error: --enable-application=APP is required
*** Fix above errors and then restart with               "make -f client.mk buil                    d"
make[1]: *** [configure] Error 1
make[1]: Leaving directory `/c/mozilla'
make: *** [/c/mozilla/Makefile] Error 2

Я так понимаю что оно не находит --enable-application=APP
но куда его вставить ????

Unsiker

http://developer.mozilla.org/en/docs/Configuring_Build_Options

Добавлено Wed Mar 19 15:20:19 2008 :

http://developer.mozilla.org/en/docs/Configuring_Build_Options

Совет данный новичку бесценный, действительно пошло, правда 3 раза перечитывал.

Был создан файл .mozconfig следующего содержания

Выделить код

Код:

. $topsrcdir/browser/config/mozconfig
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/ff-opt-static
ac_add_options --enable-optimize
ac_add_options --disable-debug
ac_add_options --enable-static
ac_add_options --disable-shared
ac_add_options --disable-libxul
ac_add_options --disable-tests

После команды make -f client.mk build начала компиляция )))

Добавлено Wed Mar 19 15:28:42 2008 :
:mad:  Не успела до компилировать как выскочило сообщение что
error.JPG

Unsiker

Скопируйте файл xpt_link.exe.manifest из objdir/xpcom/typelib/xpt/tools в objdir/dist/bin
И перезапустите компиляцию

Скопируйте файл xpt_link.exe.manifest из objdir/xpcom/typelib/xpt/tools в objdir/dist/bin
И перезапустите компиляцию

objdir у меня нету такой директории, зато есть ff-opt-static, где я это все и сделал, потому что в первой компиляции у меня возникла ошибка
error2.JPG

Unsiker

Но компиляция завершилась успешно потом?

Да, компиляция прошла успешно .... 220 МБ исходников разраслось в 787 МБ, при этом были созданы екзешники в каталоге *****\ff-opt-static\dist\bin которые требуют рантайм библиотек
error3.JPG

Добавлено Wed Mar 19 18:29:03 2008 :
Подскажите какие файлы и каталоги нужны для работы ФФ а то там 52 000 файлов после компиляции ...

Unsiker

Ему нужен firefox.exe.manifest.

Запускной файл ФФ у меня в двух каталогах:
C:\Compiledmozilla\ff-opt-static\dist\bin
C:\Compiledmozilla\ff-opt-static\browser\app
-----------------
В оба засунул firefox.exe.manifest (взял тот который стал после компиляции)
Но ФФ тоже не сдался все ругался на недостаток каких то библиотек. Библиотеки я нашол и доставил ему firefox.exe.manifest присутствует в обоих папках. Но ошибка так и осталась.
Вот что выдает
error3.JPG
а после нажатия кнопки ок:
error4.JPG

Вот что пишут на офе:

To make a Windows installer, make the "installer" target in the above directory:

    * Firefox: $ make -C objdir/browser/installer installer

Долго поигрался с командой, так как забыл что это юниксовый вариант а там регистр имеет очень большое значение. Вобщем команда 
make -C /c/mozilla/ff-opt-static/browser/installer installer
Прошла удачно.

После этого в каталоге C:\mozilla\ff-opt-static\dist\install\sea создало установочный файл firefox-2.0.0.9.en-US.win32.installer.exe (5.56 МБ (5,836,649 байт))  при запуске которого система вызывала ту же ошибку что раньше (Rintime Library и ошибка приложения).

Подскажите пожалуйста, как избавится от этих ошибок?

Немного по .mozconfig
Оказывается что ФФ очень умный браузер (в чем собственно я и не сомневался)
Так вот если в адресной строке браузера набрать about:buildconfig, то можно просмотреть
флаги которые использовались при сборке.
Вот что выдал мой ФФ (2.0.0.11)

Выделить код

Код:

Build tools
Compiler 	Version 	Compiler flags
$(CYGWIN_WRAPPER) cl 	12.00.8804 	-TC -nologo -W3 -Gy -Fd$(PDBFILE)
$(CYGWIN_WRAPPER) cl 	12.00.8804 	-TP -nologo -W3 -Gy -Fd$(PDBFILE)
Выделить код

Код:

Configure arguments
--enable-application=browser --enable-update-channel=release --enable-official-branding --enable-optimize --disable-debug --disable-tests --enable-static --disable-shared --enable-svg --enable-canvas --enable-update-packaging

Если ето будет собирать то смотрите как это делали разработчики )))
зачем выдумывать велосипед )))

когда делаю в SeaMonkey: about:buildconfig

Build platform
target
i686-pc-mingw32

Build tools
Compiler     Version     Compiler flags
cl     14.00.50727.762     -TC -nologo -W3 -Gy -Fd$(PDBFILE)
cl     14.00.50727.762     -GR- -TP -nologo -Zc:wchar_t- -W3 -Gy -Fd$(PDBFILE)

Configure arguments
--enable-application=suite --enable-update-channel=nightly --enable-update-packaging --disable-debug --enable-optimize --enable-jemalloc

Заинтересовала надпись: i686-pc-mingw32
Эта надпись говорить о том, что использовалась не Visual Studio, а mingw32. Интересует документация по созданию среды для компиляции SeaMonkey под этим компилятором.

NT Man
http://developer.mozilla.org/en/docs/Co … With_Mingw