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

Общайтесь со знакомыми и друзьями в нашем сообществе в Facebook.

№129-11-2016 03:22:48

BeA_BeB
Участник
 
Группа: Members
Зарегистрирован: 29-11-2016
Сообщений: 21
UA: Chrome 54.0

Сборка Firefox под Windows.

Доброй ночи.
Заинтересовал проект Cyberfox, но мне всё-таки хотелось бы самому сделать что-то аналогичное и лично для себя с более жесткими оптимизациями под железо.
Что имеем:
Windows 10 x64.
CPU: i7 3630QM
16 GB озу
Visual Studio 2015
Intel C++ Compiler 17

1) Как скомпилировать Cyberfox под Windows? Именно компилятором Intel C++ Compiler 17, а не компилятором от Visual Studio.

2) Как скомпилировать Firefox под Windows с помощью Intel Compiler?


Сам же Firefox компилируется  с помощью Visual Studio 2015, но компиляется завершается с ошибкой:

скрытый текст
http://data3.floomby.com/files/share/29_11_2016/4/dCVsyY0cEC40nGBXHZPQ.jpg

Вот мой конфиг:
ac_add_options --target=x86_64-pc-mingw32
ac_add_options --host=x86_64-pc-mingw32

#Enable wanted features
#ac_add_options --enable-optimize="/favor:INTEL64"

Как использовать несколько опций оптимизаций?
на /Ox ругается:

скрытый текст
http://data3.floomby.com/files/share/29_11_2016/2/KYnw7dXDEMxp63qpRTrA.jpg

Хотя, как я понял судя по выводу:
скрытый текст
http://data3.floomby.com/files/share/29_11_2016/3/BNudgx3Nh061eSzyxDVYPg.jpg

/favor:INTEL64 уже содержит /Gw... или по стандарту содержится...


Я перепробовал все параметры компилятора Visual Studio 2015, связанные с оптимизацией - билдится только с этой ac_add_options --enable-optimize="/favor:INTEL64"

Отредактировано BeA_BeB (29-11-2016 08:14:38)

Отсутствует

 

№229-11-2016 06:05:00

FMRUser
Участник
 
Группа: Members
Зарегистрирован: 01-03-2014
Сообщений: 726
UA: Firefox 50.0
Веб-сайт

Re: Сборка Firefox под Windows.

BeA_BeB пишет:

Как использовать несколько опций оптимизаций?
на /Ox ругается

Так вроде:
ac_add_options --enable-optimize="-Ox"
..т.е:
ac_add_options --enable-optimize="-Ox -favor:INTEL64 -Gw"

Отсутствует

 

№329-11-2016 07:01:45

BeA_BeB
Участник
 
Группа: Members
Зарегистрирован: 29-11-2016
Сообщений: 21
UA: Chrome 54.0

Re: Сборка Firefox под Windows.

FMRUser пишет:

BeA_BeB пишет: Как использовать несколько опций оптимизаций?на /Ox ругаетсяТак вроде:ac_add_options --enable-optimize="-Ox"..т.е:ac_add_options --enable-optimize="-Ox -favor:INTEL64 -Gw"

Почему через - ?
Если на офф. сайте слэши https://msdn.microsoft.com/ru-ru/library/fwkeyyhe.aspx

Добавлено 29-11-2016 07:02:57
Ааа... mingw же, да-да, верно, тогда через -

Отредактировано BeA_BeB (29-11-2016 07:02:57)

Отсутствует

 

№429-11-2016 16:58:01

BeA_BeB
Участник
 
Группа: Members
Зарегистрирован: 29-11-2016
Сообщений: 21
UA: Chrome 54.0

Re: Сборка Firefox под Windows.

FMRUser пишет:

BeA_BeB пишет:

Как использовать несколько опций оптимизаций?
на /Ox ругается

Так вроде:
ac_add_options --enable-optimize="-Ox"
..т.е:
ac_add_options --enable-optimize="-Ox -favor:INTEL64 -Gw"

1:55.43 js\src\ctypes\libffi> ********************************************************
1:55.43 js\src\ctypes\libffi> * WARNING: Don't know the best CFLAGS for this system  *
1:55.43 js\src\ctypes\libffi> * Use ./configure CFLAGS=... to specify your own flags *
1:55.43 js\src\ctypes\libffi> * (otherwise, a default of CFLAGS=-O3 will be used)    *
1:55.43 js\src\ctypes\libffi> ********************************************************

Сборка по https://developer.mozilla.org/ru/docs/Simple_Firefox_build

Любые варианты не подходят:
ac_add_options --enable-optimize=-favor:INTEL64
ac_add_options --enable-optimize=/favor:INTEL64
ac_add_options --enable-optimize="-favor:INTEL64"
ac_add_options --enable-optimize="/favor:INTEL64"

Отредактировано BeA_BeB (29-11-2016 17:22:22)

Отсутствует

 

№529-11-2016 17:29:53

BeA_BeB
Участник
 
Группа: Members
Зарегистрирован: 29-11-2016
Сообщений: 21
UA: Chrome 54.0

Re: Сборка Firefox под Windows.

Походу зашло:
0:20.76 checking whether the C compiler (cl.EXE -Ox -favor:INTEL64 -Gw ) works... yes
0:20.76 checking whether the C compiler (cl.EXE -Ox -favor:INTEL64 -Gw ) is a cross-compiler... no

Конфиг:

скрытый текст
ac_add_options --target=x86_64-pc-mingw32
ac_add_options --host=x86_64-pc-mingw32

#Enable wanted features
ac_add_options --enable-optimize
export CFLAGS="-Ox -favor:INTEL64 -Gw"
export CXXFLAGS="-Ox -favor:INTEL64 -Gw"

Неизвестно, учтены ли данные параметры и почему не принимает параметры для ac_add_options --enable-optimize , хотя в документации написано, что именно сюда нужно засунуть параметры компилятора.


Но в любом случае все вопросы в первом посте актуальны.

Также интересует информация о различных параметрах в .mozconfig. Где о них читать?
В качестве выключения различного функционала браузера.

Отредактировано BeA_BeB (29-11-2016 18:39:27)

Отсутствует

 

№629-11-2016 19:38:49

FMRUser
Участник
 
Группа: Members
Зарегистрирован: 01-03-2014
Сообщений: 726
UA: Firefox 50.0
Веб-сайт

Re: Сборка Firefox под Windows.

BeA_BeB пишет:

Также интересует информация о различных параметрах в .mozconfig. Где о них читать?

Вывод справки: ./mach help Вывод используемых, доступных и устаревших флагов с описанием: ./configure --help

В нагрузку:
https://developer.mozilla.org/ru/docs/Developer_Guide/Инструкции_по_сборке

Отсутствует

 

№729-11-2016 20:41:20

BeA_BeB
Участник
 
Группа: Members
Зарегистрирован: 29-11-2016
Сообщений: 21
UA: Chrome 54.0

Re: Сборка Firefox под Windows.

Всё равно не понятно почему не принимает флаги.
Я даже отсюда конфиг выдернул: http://fbuild.com/, всё равно не жуёт.
Пробовал билдить разные версии фаера - тоже самое.

Отсутствует

 

№829-11-2016 21:21:46

FMRUser
Участник
 
Группа: Members
Зарегистрирован: 01-03-2014
Сообщений: 726
UA: Firefox 50.0
Веб-сайт

Re: Сборка Firefox под Windows.

BeA_BeB
Если не компилируется с флагами "начальной конфигурации" - искать нужно проблему в конфигурации ОС.
Проверить не отключена ли например "Служба помощника по совместимости программ", запретить создание кэша эскизов, отключить файл подкачки - перезагрузить. Возможно установлено недостаточно компонентов VS2015, т.е отсутствуют необходимые. Так же нужно учесть, что не все флаги могут быть совместимы между собой - поэтому сперва лучше пробовать минимальную конфигурацию постепенно наращивая ее до необходимой.

Отредактировано FMRUser (29-11-2016 21:22:43)

Отсутствует

 

№929-11-2016 21:22:29

BeA_BeB
Участник
 
Группа: Members
Зарегистрирован: 29-11-2016
Сообщений: 21
UA: Chrome 54.0

Re: Сборка Firefox под Windows.

Благодарю, попробую VS переустановить с Community на Enterprise.
Флаги комбинировались, присваивались по одному - результат один: флаги не принимаются.

Отредактировано BeA_BeB (29-11-2016 21:26:34)

Отсутствует

 

№1029-11-2016 21:30:44

FMRUser
Участник
 
Группа: Members
Зарегистрирован: 01-03-2014
Сообщений: 726
UA: Firefox 50.0
Веб-сайт

Re: Сборка Firefox под Windows.

BeA_BeB
Выберите полную установку, если не знаете, что нужно (правда места займет не мало). Не нужно оставлять выбор по умолчанию. Если память не изменяет в выборе по умолчанию отсутствует, что то требуемое и разумеется присутствует масса ненужного.

Так пробуйте:

Выделить код

Код:

# Директория
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/firefox_x64
# For x64
ac_add_options --target=x86_64-pc-mingw32
ac_add_options --host=x86_64-pc-mingw32
# Канал обновления и Иконка
ac_add_options --enable-official-branding
ac_add_options --enable-release

Лучше комьюнити попробуйте переустановить не удаляя. Запустить тот же установик и изменить набор компонентов, а то может случиться так, что переустанавливать придется и ОС.

Отредактировано FMRUser (29-11-2016 21:41:25)

Отсутствует

 

№1129-11-2016 21:43:29

BeA_BeB
Участник
 
Группа: Members
Зарегистрирован: 29-11-2016
Сообщений: 21
UA: Chrome 54.0

Re: Сборка Firefox под Windows.

FMRUser пишет:

BeA_BeBВыберите полную установку, если не знаете, что нужно (правда места займет не мало). Не нужно оставлять выбор по умолчанию. Если память не изменяет в выборе по умолчанию отсутствует, что то требуемое и разумеется присутствует масса ненужного.

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

Добавлено 29-11-2016 21:49:53

FMRUser пишет:

Запустить тот же установик и изменить набор компонентов, а то может случиться так, что переустанавливать придется и ОС.

На гитхабе есть проект, если не ошибаюсь, то от мс - по удалению VS, если что-то пошло не так.
Хотя, я софт устанавливаю с отслеживанием, так что подобные ситуации сводятся к минимуму.

Отредактировано BeA_BeB (29-11-2016 21:49:53)

Отсутствует

 

№1229-11-2016 22:17:11

FMRUser
Участник
 
Группа: Members
Зарегистрирован: 01-03-2014
Сообщений: 726
UA: Firefox 50.0
Веб-сайт

Re: Сборка Firefox под Windows.

BeA_BeB пишет:

На гитхабе есть проект

Можно ссылку? Может и пригодится когда.

BeA_BeB пишет:

по какой причине не принимаются опции - непонятно.

Иногда с новыми версиями из набора флагов начинают отваливаться масса работающих при удалении других например. Почему - лучше и не думать, а подбирать заново, что конечно занимает массу времени.
Если правильно понимаю, интересует в основном флаг оптимизации? Я например давно с ac_add_options --enable-optimize уже не эксперементирую, т.к. ни чего толкового этим все равно не добивался. Понял, что гораздо действенней править исходники.

Отсутствует

 

№1329-11-2016 22:23:04

BeA_BeB
Участник
 
Группа: Members
Зарегистрирован: 29-11-2016
Сообщений: 21
UA: Chrome 54.0

Re: Сборка Firefox под Windows.

FMRUser пишет:

Можно ссылку? Может и пригодится когда.

https://github.com/Microsoft/VisualStudioUninstaller/releases

Отсутствует

 

№1429-11-2016 22:27:39

FMRUser
Участник
 
Группа: Members
Зарегистрирован: 01-03-2014
Сообщений: 726
UA: Firefox 50.0
Веб-сайт

Re: Сборка Firefox под Windows.

BeA_BeB
Спасибо. Возьму в коллекцию.

Отсутствует

 

№1529-11-2016 22:36:16

BeA_BeB
Участник
 
Группа: Members
Зарегистрирован: 29-11-2016
Сообщений: 21
UA: Chrome 54.0

Re: Сборка Firefox под Windows.

Переустановил я явно зря, это ничего не даст по факту. Проблема в чем-то другом.

скрытый текст
http://data3.floomby.com/files/share/29_11_2016/20/PnmCZnnObkCVKpkgixtovQ.jpg

Добавлено 29-11-2016 22:51:40

FMRUser пишет:

Если правильно понимаю, интересует в основном флаг оптимизации?

флагИ

FMRUser пишет:

Понял, что гораздо действенней править исходники.

?

Не представляю даже, что в столь огромном проекте можно править.
Могу сказать кратко, ICC должен придать существенный прирост производительности (особенно с компиляцией под железо), VS - маловероятно.

Отредактировано BeA_BeB (29-11-2016 22:54:43)

Отсутствует

 

№1629-11-2016 23:07:18

FMRUser
Участник
 
Группа: Members
Зарегистрирован: 01-03-2014
Сообщений: 726
UA: Firefox 50.0
Веб-сайт

Re: Сборка Firefox под Windows.

BeA_BeB пишет:

Не представляю даже, что в столь огромном проекте можно править.

Поначалу тоже не представлял, что со "всем этим" сделать можно. Но потом изменил работу кэш отключением некоторых запросов в файлах протокола, поэтапно отключил сбор информации (телеметрия) и убрал в особо значимых на мой взгляд вещах остаточную её нагрузку. Убрал некоторые неприемлимые оптимизации (таймауты), изменил некоторые настройки по умолчанию и добавил новые. Снял некоторые ограничения.., не смогу всего перечислить, главное выбрать цель требуемого, исследовать и думать - мне бы опыта и знаний побольше, но в основном пока справляюсь и получаю желаемое.)

Отредактировано FMRUser (29-11-2016 23:08:26)

Отсутствует

 

№1729-11-2016 23:10:39

BeA_BeB
Участник
 
Группа: Members
Зарегистрирован: 29-11-2016
Сообщений: 21
UA: Chrome 54.0

Re: Сборка Firefox под Windows.

FMRUser,
так все же это делается параметрами компиляции (опциями), а не конкретными правками кода.

Добавлено 29-11-2016 23:16:19

FMRUser пишет:

Иногда с новыми версиями из набора флагов начинают отваливаться масса работающих при удалении других например. Почему - лучше и не думать, а подбирать заново, что конечно занимает массу времени.

Так проблема в том, что даже предложенный в мане -O2 не работает.

Отредактировано BeA_BeB (29-11-2016 23:16:19)

Отсутствует

 

№1829-11-2016 23:20:14

FMRUser
Участник
 
Группа: Members
Зарегистрирован: 01-03-2014
Сообщений: 726
UA: Firefox 50.0
Веб-сайт

Re: Сборка Firefox под Windows.

BeA_BeB пишет:

так все же это делается параметрами компиляции (опциями), а не конкретными правками кода.

Увы.

BeA_BeB пишет:

Так проблема в том, что даже предложенный в мане -O2 не работает.

Это действительно странно, у меня ac_add_options --enable-optimize="-O2" рабочий.

Отсутствует

 

№1929-11-2016 23:56:12

BeA_BeB
Участник
 
Группа: Members
Зарегистрирован: 29-11-2016
Сообщений: 21
UA: Chrome 54.0

Re: Сборка Firefox под Windows.

Последовательность действий:
start-shell-msvc2015-x64.bat
скачиваю https://archive.mozilla.org/pub/firefox/releases/50.0.1/source/ File    firefox-50.0.1.source.tar.xz    186M    28-Nov-2016 17:30
cd c:/
распаковываю в созданную папку исходники из архива  firefox-50.0.1.source.tar.xz
cd firefox-50.0.1
touch .mozconfig
с содержимым
# For x64
ac_add_options --target=x86_64-pc-mingw32
ac_add_options --host=x86_64-pc-mingw32
# Канал обновления и Иконка
ac_add_options --enable-official-branding
ac_add_options --enable-release

и после ./mach build во время
1:12.06 js\src> creating ./config.data
1:12.06 js\src> Creating config.status

выдаёт такой подарок

2:14.33 js\src\ctypes\libffi> ********************************************************
2:14.33 js\src\ctypes\libffi> * WARNING: Don't know the best CFLAGS for this system  *
2:14.33 js\src\ctypes\libffi> * Use ./configure CFLAGS=... to specify your own flags *
2:14.33 js\src\ctypes\libffi> * (otherwise, a default of CFLAGS=-O3 will be used)    *
2:14.33 js\src\ctypes\libffi> ********************************************************

Если в конфиг добавить ac_add_options --enable-optimize="-O2" , то результата тоже не будет никакого.

Но, если я добавлю в конфиг

CFLAGS=-O3
CPPFLAGS=-O3

то видно, что параметр добавлен во время компиляции, но CPPFLAGS не работает:
http://data3.floomby.com/files/share/29_11_2016/22/qgv0tgVuPUSTVdLNAQJlQ.jpg

Отредактировано BeA_BeB (30-11-2016 00:16:55)

Отсутствует

 

№2030-11-2016 00:11:11

FMRUser
Участник
 
Группа: Members
Зарегистрирован: 01-03-2014
Сообщений: 726
UA: Firefox 50.0
Веб-сайт

Re: Сборка Firefox под Windows.

BeA_BeB пишет:

Use ./configure CFLAGS=... to specify your own flags *

Может так:
CFLAGS="-O2"
..отчего такие разности, OC и железо у нас вроде примерно одинаковые. :|

Отсутствует

 

№2130-11-2016 00:17:18

BeA_BeB
Участник
 
Группа: Members
Зарегистрирован: 29-11-2016
Сообщений: 21
UA: Chrome 54.0

Re: Сборка Firefox под Windows.

FMRUser пишет:

BeA_BeB пишет: Use ./configure CFLAGS=... to specify your own flags *Может так:CFLAGS="-O2"..отчего такие разности, OC и железо у нас вроде примерно одинаковые.

Обновил пост.
Верно, CFLAGS.

Отсутствует

 

№2230-11-2016 00:26:37

FMRUser
Участник
 
Группа: Members
Зарегистрирован: 01-03-2014
Сообщений: 726
UA: Firefox 50.0
Веб-сайт

Re: Сборка Firefox под Windows.

Тут еще, что то..

скрытый текст

Выделить код

Код:

  --with-nspr-cflags=FLAGS
                          Pass FLAGS to CC when building code that uses NSPR.
                          Use this when there's no accurate nspr-config
                          script available.  This is the case when building
                          SpiderMonkey as part of the Mozilla tree: the
                          top-level configure script computes NSPR flags
                          that accomodate the quirks of that environment."
ac_help="$ac_help
  --with-nspr-libs=LIBS   Pass LIBS to LD when linking code that uses NSPR.
                          See --with-nspr-cflags for more details."
ac_help="$ac_help
  --enable-nspr-build     Build NSPR from source tree"
ac_help="$ac_help
  --with-system-nspr      Use an NSPR that is already built and installed.
                          Use the 'nspr-config' script in the current path,
                          or look for the script in the directories given with
                          --with-nspr-exec-prefix or --with-nspr-prefix.
                          (Those flags are only checked if you specify
                          --with-system-nspr.)"
ac_help="$ac_help
  --enable-posix-nspr-emulation
                          Enable emulation of NSPR for POSIX systems"
ac_help="$ac_help
  --with-nspr-prefix=PFX  Prefix where NSPR is installed"
ac_help="$ac_help
  --with-nspr-exec-prefix=PFX
                          Exec prefix where NSPR is installed"

Отсутствует

 

№2330-11-2016 00:31:20

BeA_BeB
Участник
 
Группа: Members
Зарегистрирован: 29-11-2016
Сообщений: 21
UA: Chrome 54.0

Re: Сборка Firefox под Windows.

Разве это для фокса?
Ибо не понял как это использовать.

Отредактировано BeA_BeB (30-11-2016 00:34:26)

Отсутствует

 

№2430-11-2016 00:34:34

FMRUser
Участник
 
Группа: Members
Зарегистрирован: 01-03-2014
Сообщений: 726
UA: Firefox 50.0
Веб-сайт

Re: Сборка Firefox под Windows.

BeA_BeB
Однако и CFLAGS= тут быть не должно.

Отсутствует

 

№2530-11-2016 00:35:39

BeA_BeB
Участник
 
Группа: Members
Зарегистрирован: 29-11-2016
Сообщений: 21
UA: Chrome 54.0

Re: Сборка Firefox под Windows.

FMRUser пишет:

BeA_BeBОднако и CFLAGS= тут быть не должно.

Понятное дело, но в чем причина - неизвестно, хотя всё из коробки.

Отсутствует

 

Board footer

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