Firefox + qt4 – это вам не черти что

Народу, оказывается, интересно, как собрать Firefox с qt4. Ну что ж, расскажем. На самом деле все до безобразия просто.

Дисклаймер: я ни за что не ручаюсь. Если у вас что-то поломается, перекроют воду, отключат газ, заставят использовать Федору - мой мануал тут не при чем. Кроме того, путь которым я собираю Firefox с qt-интерфейсом, далек от совершенства и может привести к депрессии, комплексу неполноценности, длительным нарушениям работы желудка и прочим неприятным эффектам. Дерево периодически ломается, часть модулей перестает собираться и их нужно отключать (в mozconfig например). В общем, это вам не надо.

  1. Исходное положение:
    1. Установленная qt4 (для убутноидов и рпмщиков - не забудьте devel-пакеты)
    2. Mercurial, ибо исходники надо будет брать.
    3. gcc, make и прочая, прочая, прочая (у нас, гентушников, все необходимое есть и так, для всех остальных в конце статьи будет линк)
    4. Несколько гигабайт свободного места в разделе, в котором будет проходит компиляция.
  2. Забираем исходники из mozilla-central: hg clone http://hg.mozilla.org/mozilla-central
  3. В папке mozilla-central создаем файл mozconfig:
    mk_add_options MOZ_CO_PROJECT=browser,xulrunner
    
    ac_add_options --enable-application=browser
    
    ac_add_options --enable-default-toolkit=cairo-qt
    ac_add_options --enable-debug="-g3"
    ac_add_options --disable-optimize
    ac_add_options --enable-tests
    
    ac_add_options --disable-installer
    ac_add_options --disable-crashreporter
    ac_add_options --disable-javaxpcom
    ac_add_options --disable-printing
    ac_add_options --disable-embedding-tests
    ac_add_options --disable-elf-dynstr-gc
    
    mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../obj-qt
    mk_add_options MOZ_MAKE_FLAGS=-j4
  4. Делаем make -f client.mk build. Все, белка наша. Лиса в смысле.
  5. Не забываем периодически обновляем дерево исходников (hg pull && hg update).
  6. Убедитесь, что $QTDIR указывает в папку с qt4. У меня эта переменная смотрела в qt3, поэтому на этапе компиляции вылезали разные ошибки (использовался moc от qt3).
  7. Пруфпики:
    Восстановление после сбоя, настройки и эбаут

    Восстановление после сбоя, настройки и эбаут

    Физкульт-привет почтенному LXj

    Физкульт-привет почтенному LXj

    Куда ж без ACID3

    Куда ж без ACID3

  8. По материалам https://wiki.mozilla.org/User:Pjohnsen/MozillaQtBuild. Тут есть названия пакетов, которые нужны для Ubuntu.
Запись опубликована в рубрике Разное, Функциональность с тэгами , . Создать закладку наpermalink. Оставить комментарийили trackback:Trackback URL.

6 комментариев

  1. sauron
    Опубликован 19 марта 2009 в 2:53 | Прямая ссылка

    Нда, когда я последний раз это щупал, выглядело оно также страшно((( Но оно уже перестало виснуть, надеюсь?

  2. Alexander
    Опубликован 19 марта 2009 в 11:32 | Прямая ссылка

    Если не трудно, куда у Вас смотрит QTDIR? У меня Qt-4.5 – разбросано по всей системе, не так как Qt-3 (/usr/qt/3/)

  3. Alexander
    Опубликован 20 марта 2009 в 15:15 | Прямая ссылка

    Мдя, собралось. Страшненько и очень-очень сыро. Но радует, что движение есть.
    2 solshark – спасибо за наводку ;)

  4. Sauron
    Опубликован 20 марта 2009 в 23:46 | Прямая ссылка

    Погонял сборку от Silvy, собсна оно работает! То, что я летом качал, висло через 10 секунд. А это даже на сайты ходит. Но вот выглядет страшно. Неужели там так много гуя?

один trackback

  1. [...] год назад я рассказывал о том, как собрать Firefox c qt4. Прошла уйма времени, захотелось проверить как [...]

Оставить комментарий

Ваш e-mail никогда не будет опубликован или передан третьим лицам.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>