Хотел собрать Firefox из исходников, но меня остановил их большой размер.
Почему исходный код  Firefox весит 34 Мб, тогда как бинарный файл (версия Firefox для Linux) - 8 Мб?
Обычно сжатый архив с исходным кодом (tar.bz2) сравним по размеру с бинарником, или я не прав?

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

Исходники ядра весят 40 метров. А само ядро около 1,2 метра.

Neivell пишет

...
Почему исходный код  Firefox весит 34 Мб, тогда как бинарный файл (версия Firefox для Linux) - 8 Мб?
...

Наверное, из-за мультиплатформенности. Не все исходники принимают участие в сборке под конкретную платформу.

[b пишет

Anton[/b] ]Наверное, из-за мультиплатформенности...

А можно ли найти исходный код Firefox только для Linux (чтобы меньше скачивать)?

Neivell пишет

А можно ли найти исходный код Firefox только для Linux (чтобы меньше скачивать)?

Тебя устроит 30 метров, а не 34? Причем тут мультиплатформенность. Там основное это движок, а он везде одинаковый.

LattyF пишет

...Причем тут мультиплатформенность. Там основное это движок, а он везде одинаковый.

Движок одинаковый, а взаимодействует с каждой конкретной ОС и собирается под неё по-разному.

Anton пишет

Движок одинаковый, а взаимодействует с каждой конкретной ОС и собирается под неё по-разному.

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

Ссылку дашь на описание того, что хотя бы 15% кода фокса занимает кросплатформенность?

Кстати, кто-нибудь знает сколько на самом деле весят исходники движка Gecko?

LattyF пишет

...Он ведь не поддерживает ни одну фишку, специфичную для платформы.
...

Разве ?

...
Ссылку дашь на описание того, что хотя бы 15% кода фокса занимает кросплатформенность?

Я не могу, не знаю такой ссылки. Давай ты.

Anton пишет
LattyF пишет

...Он ведь не поддерживает ни одну фишку, специфичную для платформы.
...

Разве ?

А какую? ;)

Могу дать ссылку на то, что в коде NVIDIA драйверов кросплатформенность занимает 5%. Нужно?

А какую? wink

Банально интерфейс разный :) И ещё куча всего.

LattyF пишет
Anton пишет
LattyF пишет

...Он ведь не поддерживает ни одну фишку, специфичную для платформы.
...

Разве ?

А какую? ;)
...

Что, неужели пользуется одной только stdlib ?

...
Могу дать ссылку на то, что в коде NVIDIA драйверов кросплатформенность занимает 5%. Нужно?

А зачем ? Давай ссылку на информацию, сколько кросплатформенность занимает в коде фокса.

Viper пишет

Банально интерфейс разный :) И ещё куча всего.

Интрефейс разный? Каким местом? ;) Он везде на GTK.

Вообщем это спор не к чему не приведет. Вердикт прост: даже если кросплатформенность занимает 99% исходников, причем под линукс фокс весит 500 килобайт, а под винду 33,5 МБ, то вытянуть исходники не удастся. По крайней мере без ручной правки, что разведет геморой не на один день.

Нет, если конечно, поставить самоцелью скачать не 34 метра, а 500 килобайт, и скомпилить из этого фокса, то флаг в руки. Завидую… Столько свободного времени…

Anton пишет

А зачем? Давай ссылку на информацию, сколько кросплатформенность занимает в коде фокса.

Я что-то тон не понял? Кто начал про то, что в фоксе дофига кросплатформенности и её можно не качать? Может я? Что за детский сад развел. Ты еще скажи "я первый спросил" ;)

LattyF пишет

Я что-то тон не понял?...

Сам задает и сам [как бы ?] не понимает

LattyF пишет

...Кто начал про то, что в фоксе дофига кросплатформенности и её можно не качать? Может я?...

А и правда, кто ?

LattyF пишет

...Ты еще скажи "я первый спросил" ;)

Считай, что сказал.

Anton пишет

Наверное, из-за мультиплатформенности.

Занавес…

LattyF пишет

...
Занавес…

Рановато.
1.

LattyF пишет
Anton пишет

Наверное, из-за мультиплатформенности.

...

сравни:

LattyF пишет

...
Я что-то тон не понял? Кто начал про то, что в фоксе дофига кросплатформенности и её можно не качать? Может я? Что за детский сад развел. Ты еще скажи "я первый спросил" ;)

2.

LattyF пишет

...
Могу дать ссылку на то, что в коде NVIDIA драйверов кросплатформенность занимает 5%. Нужно?

Причём тут NVIDIA ?

Всё… отдаю тему в твои лапы ;) Че хочешь, то и думай. Че хочешь, то и пиши. На пустом месте я флуд разводить не буду. Ни ты, ни я не уверены из-за чего исходники такие пухлые. Постить сюда я больше не буду.

В последнем посте, в аргументе под номером 2, ты нагло исказил смысл в цитате. Имелось в виду, что её там как раз нет, и надо качать всё. На что и было явно указано. Каждый понимает так как ему удобнее…

LattyF, не знаю как движок, а реализация XUL разная для *nix и Win. Для никсов используется GTK, а в Win они написали свою оболочку под WinAPI. Если есть исходники, можно сравнить.

Кстати, интерфейс действительно отличается, например "Настройки" в Windows версии находятся в пункте меню "Инструменты", а в никсовом варианте в меню "Правка". Может и еще есть различия, но это явно указывает на разный XUL код для фейсов разных платформ (может и частично разный). Но не думаю, что интерфейс существенно влияет на вес сырцов.

Другое дело, что нельзя выудить из кода нужный кусок под нужную платформу, да и раздутость вероятно еще и из-за того, что после форка от Mozilla остался код не подчищен.

А по теме...
Если имеются исходники постарше (при условии что они не патченные под дистрибутив), то обновить их можно так, как сказано тут.

Azathoth пишет

Другое дело, что нельзя выудить из кода нужный кусок под нужную платформу, да и раздутость вероятно еще и из-за того, что после форка от Mozilla остался код не подчищен.

Да я согласен, что он несколько разный (не в разы). И сразу сказал, что кусок вытянуть не получиться. А даже если получится, то потом замучаешься компилить. И все в таком духе :)