X11 -- X Window tools (Install whole X11 category)
Ухъ... как же не хочется ЭТО качать... :( попробую без него, может получится
Попробую в ближайшее время скомпилить... может получится как-нибудь упростить процесс сборки. Уж очень не хочется в cygwin ковыряться... я вобще его воспринимаю как "необходимое зло" ибо лишние зависимости при сборке это очень и очень плохо. В этом плане меня порадовали исходники Miranda IM - там просто проект для VS, не требующий никакого дополнительного ПО.
Всё!!! DotNetEmbed под NET 2.0 покорён! Удалось получить 100% рабочий код.
Надеюсь, у вас найдется время для написания небольшой статейки по этому поводу ;)
Сходил посмотрел что там по ссылке... во 2м пункте указано что нужна Platform SDK.... вы ее устанавливали? По-идее, при наличии полной версии VisualStudio 2005 (не Express), необходимости в PSDK быть не должно (точно так же как и не должно быть необходимости в VC++ 2003 Toolkit при наличии нормальной VS2003 и правильно прописанных путей и переменных окружения).
Да, еще вопрос, FF собирается со статической линковкой или с динамической (с динамической большинство исполняемых файлов в каталоге bin имеют размер 64k)?
Если не трудно, выложите, plz. пошаговое описание действий по сборке FF со ссылками.
Вобще-то должен... но там таааааак коряво все сделано.. (хотя сам по себе у меня он скомпилился, но вот проект на его основе создать... это было нечто.. 4 часа мучился :))
У меня есть упрощенный вариант wxEmbed. Вроде компилился нормально.. если интересует - могу сбросить на e-mail.. там гибрид из wxEmbed и wxMozilla старого (т.к. новую версию я нашел только в исполнении на Python)
softmax, еще вариант попробовать скомпилить сырцы FF, говорят для них Static Build работает (лично не пробовал, только слухи... у меня исходник v1.5 валяется, всё руки не доходят чтобы скомпилить).
Если у вас есть время, попробуйте, может чего хорошего получится.
И еще.. кажись без исходников той же libIDL, которая ну явно собрана с флагом MultiThreaded DLL, вряд ли получится сделать полностью статический билд, не зависящий от библиотек рантайма, которые поставляются с 2005й студией.
Я не уверен что у меня в ближайшие дни будет время собрать FF из исходников, поэтому предлагаю вам сделать это раньше меня :) и поделиться впечатлениями. Если будут проблемы и с этим, тогда "будем посмотреть" что можно еще придумать.
Как я уже говорил, я тоже заинтересован в сборке всего этого хозяйства под 2005ю студию, поэтому постараюсь помочь чем могу...
Да.. попробуйте в мэйл-листах гугловских распросить людей, как они с этой проблемой борются, ... у меня тут где-то адреса пары форумов были в архи
…Unghost
Спасибо :)
Странно как-то... configure вызывается у меня с параметрами --disable-shared --enable-static, а на размер исполняемого файла того же xpidl.exe это никак не повлияло. Даже не знаю что и делать... может параемтры из .mozconfig считываются но не используются?
Может у кого-нибудь получалось собрать Мозиллу 2005й студией? Поделитесь опытом plz.
Собственно, вопрос в продолжение дискуссии с этого же форума
http://forum.mozilla.ru/viewtopic.php?pid=103974#p103974
Нужна помощь/туториал/объяснение на словах по использованию .mozconfig для сборки с помощью компилятора от Microsoft под Windows. Куда этот файл сбрасывать надо и как сделать так чтобы он при сбоке использовался?
Код батника для сборки приведен ниже
[code]@ECHO OFF
SET MOZ_DRIVE=F:
SET MOZ_TOOLS=%MOZ_DRIVE%\moztools
cd %MOZ_TOOLS%\windows\
install.bat
cd \
SET PATH=C:\Program Files\Microsoft Visual Studio 8\Common7\Tools\Bin;C:\Program Files\Microsoft Visual Studio 8\VC\bin;%MOZ_DRIVE%\moztools\bin;C:\Program Files\Microsoft.NET\SDK\v1.1\Bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\wbem;G:\cygwin\bin;C:\Program Files\Microsoft Visual Studio 8\Common7\IDE;C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322;C:\masm32\BIN;C:\Perl\bin
SET LIB=C:\Program Files\Microsoft.NET\SDK\v1.1\Lib;C:\Program Files\Microsoft Visual Studio 8\VC\lib;C:\Program Files\Microsoft
У меня тут еще вопросик образовался, вы часом не знаете, как пользоваться .mozconfig-файлом, в какую папку его ложить и что в батнике дописывать чтобы он использовался?
В нем как бы должны настройки сборки описываться, но что-то не получается у меня с ним собрать.
Файлик следующего содержания
. $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
Хммм.. у меня та же ошибка выскакивает.
В общем-то проблему удалось локализировать.
в moztools libIDL и glib упорно требуют msvcr80.dll ... решил проблему, скормив им библиотеки из папки C:\Program Files\Microsoft Visual Studio 8\VC\redist\x86\Microsoft.VC80.CRT, после чего начала проявляться та же ошибка что и у вас. Складывается такое впечатление что библиотеки эти откомпилированы с Code Generation = MultiThreaded DLL и компиляция Мозиллы тоже происходит с этим же флагом (принудительная установка аргументов --disable-shard --enable-final в client.mk при каждом вызове configure не дала результатов, как и в случае с VC7.1) По идее статическая линковка должна решить эти проблемы.
Или еще вариант, попытаться найти чего нехватает libIDL и остальным ДЛЛкам из moztools и скормить им то что им нужно. Очень похоже что они скомпилированы с использованием Managed Extensions и им нехватает каких-то Assemblies, которые должны валяться рядом с ними в одной папке
OK, я тогда тоже сегодня попытаюсь скачать всё что нужно для компиляции с VS2005 и посмотрим что получится... все равно пора бы уже перевести мой компонентик на 2005ю
Да, еще одно.. что-то я не могу на mozilla'овском сайте найти те библиотеки libIDL и glib для 8й версии компилятора... вы пользуетесь теми что для 7.1 или где-то можно взять и для 8й?
...
Вопрос снят :)
Мммм... а если попробовать поиграться с флагами для SHARED/STATIC build? Я уже не помню.. где-то в makefile'ах было... Я тогда пытался сделать полностью статическую сборку и у меня не получилось... как-то оно по умолчанию собиралось всё с Multithreaded DLL.
Еще возможно что инструменты для сборки или библиотеки из пункта "Скачать glib и libIDL для VC++ v7.1" коряво работают с 8й версией компилятора... Уточните plz, вы все-таки с помошью 2005й студии пытаетесь собрать или с помощью тех инструментов, которые указаны выше?
Крайне рекомендую пользоваться туториалом в Wiki. Только что перепроверил у себя - работает.
На счет wrapper'а... я тут немного перековырял сырцы примера и wxMozilla, сделал немного попроще... вроде работает.
Будет желание - пишите на e-mail, попробуем разобраться с вашей проблемой
Ещё не понятна последовательность запуска:
из moztools необходимо запустить install.bat - но переменную MOZ_TOOLS устанавливается ПОТОМ при вызове build.bat
Где логика?
Логика в том что писал я универсальный батник чтобы без проблем компилилось ;) собственно, свою функцию он выполняет (для VS2003). На счет 2005й... ухъ.. там столько всего в новом компиляторе наворочено, что я не могу сказать точно на счет того, удастся ли скомпилить им... на днях попробую, может получится... я пока пользуюсь сборкой созданной с VC++ ToolKit 2003
Кстати, я тоже заинтересован во wrapper'е для .NET, если все удастся - просьба поделиться :)
Ыыы.. и еще одно, там вроде неплохой ActiveX был для Mozilla'овского бро
Да так и назови "Сборка Mozilla 1.8 с помощью компилятора от Microsoft под Windows"
Так поисковики будут лучше индексировать :)
ДЛЯ СБОРКИ НУЖНА Visual Studio .NET 2003
Скачать исходник Мозиллы
http://ftp.mozilla.org/pub/mozilla.org/mozilla/releases/mozilla1.8b1/source/mozilla-source-1.8b1.tar.bz2
Распаковать в C:\
Скачать инструменты для компиляции с помощью MS VisualStudio .NET 2003 (VC++ v7.1)
http://ftp.mozilla.org/pub/mozilla.org/mozilla/source/wintools-dotnet.zip
распаковать в C:\ переименовав папку buildtools в moztools
Скачать glib и libIDL для VC++ v7.1
http://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/vc71-glib-1.2.10-bin.zip
http://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/vc71-libIDL-0.6.8-bin.zip
Распаковать в C:\
Скачать и установить cygwin (достаточно пакетов, предлагаемых в установке по умолчанию. При установке убедитесть что пакеты make, tar, zip также будут установлены)
Скачать и установить ActivePerl в C:\Perl
Скачать и установить Platform SDK (на данный момент последняя версия MS PSDK for Win2003 sp1)
Скачать и установить MS Visual C++ ToolKit 2003 (не обя
Как бы там ни было, примеры заработали, и моя проблема почти решена. У меня получилось перевести окно броузера в примере в режим редактирования, что изначально и было целью :) осталось только разобраться, как сохранять внесенные изменения. Жаль, конечно, что прийдется таскать за собой кучу библиотек (не мозилловских), но это меньшее из зол.
Как-нибудб на досуге попробую качнуть исходник FF и постараюсь прикрутить его библиотеки к примеру.
Если есть необходимость, могу выложить куда-нибудь полное описание действий по сборке Mozilla-1.8b1, в помощь остальным страждущим.
У меня получилось собрать пример wxEmbed, но оказалось что Мозилла библиотеки подгружает динамически (MultiThreaded DLL), сам файл mozilla.exe весит всего 64 КБ, что только подтверждает мои догадки, а мне нужно чтобы подгружала статически (MultiThreaded), дабы убрать зависимости при переносе на другую машину.
В файле mozilla/mozilla/.mozconfig есть строки
... или .mozconfig у меня при сборке не использовался... или... одно из двух...
Не подскажете, какие переменные среды нужно установить перед сборкой для обеспечения статической линковки библиотек?
Я не знаю как... но оно собралось %)
Правда пришлось сделать ему NO_MFC (неприятно, конечно, но что ж тут поделаешь) и MOZ_NO_ACTIVEX_SUPPORT (а то ATL из PlatformSDK оно неадекватно воспринимает).
Не знаю, получалось ли у кого-нибудь собрать Мозиллу не имея предустановленно VisualStudio (используя только бесплатный VC++ ToolKit 2003 и PSDK), но ИМХО это невозможно (т.к. в ATL-заголовках PSDK указаны библиотеки, которые в самой PSDK имеются только для 64-битных процессоров)
А еще я пришел к выводу, что не стОит слушать всяких умных дядек из-за бугра, т.к. их мануалы все-равно не работают (почти правильный мануал нашел здесь на mozilla.ru - по сборке FF и TB из сырцов)... немного пришлось позаморачиваться, но эффект есть. :)
Всем спасибо за помощь со сборкой. Но я думаю что это еще не конец :)
На счет nmake - нашел в одной из мурзилок в сети...
На счет gmake - муторно ему от этого мэйкфайла
На счет cygwin - скушал вроде мэйкфайл... сейчас бьюсь с зависимостями :)
Вот пошаговое описание действий:
- скачал сырцы Мозиллы, распаковал в C:/mozilla
- скачал тулзы для компиляции в VS.NET 2003, распаковал, по ходу переименовав папку buildtools в c:/mozilla/moztools
- скачал cygwin, заинсталил в c:/mozilla/cygwin
- скачал ActivePerl, заинсталил в c:/mozilla/perl
- скачал библиотеки для MS VC++ 2003
http://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/vc71-glib-1.2.10-bin.zip
http://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/vc71-libIDL-0.6.8-bin.zip
- написал такой батник для настроек переменных среды
ENV.BAT
[code]@ECHO OFF
set HOME=c:\mozilla
set MOZ_BITS=32
set MOZ_TOOLS=%HOME%\moztools
set OS_TARGET=WINNT
set WINOS=%OS_TARGET%
set _MSC_VER=1310
cd %MOZ_TOOLS%\windows
call install.bat
cd %HOME%
set GLIB_PREFIX=C:\mozilla\win32build\vc71
set LIBIDL_PREFIX=C:\mozilla\win32build\vc71
SET PATH=C:\mozilla\win32build\vc71;%PATH%
SET PATH=C:\mozilla\win32build\vc71\bin;%PATH%
SET PATH=C:\Program Files\Mic
Скажите пожалуйста, а есть ли возможность собрать Mozilla без использования cygwin? Не хотелось бы иметь зависимость от cygwin1.dll
ЗЫ: А есть ли в природе готовые файлы проекта для сборки в VisualStudio.NET ?
Уже качнул... ;) вечером сяду разбирать сырцы и попробую скомпилить.
Там они еще предлагали тулзы для компиляции wintools-dotnet.zip. Я так полагаю, что это для VS.NET, еще не смотрел.
Скачал ActiveX - да, вроде работает. Только там надо еще разобраться как ЭТО вставить в приложение на wxWidgets (тогда о кросс-платфоренности прийдется забыть). И еще как перевести его в режим редактирования... думаю в Google Groups найду.
Черт... видимо, с таким раскладом, вся моя работа подпадает под описание derivative work. Надо тогда думать как сделать так чтобы мой компонент поставлялся без исходного кода Mozilla, в противном случае прийдется делать его OpenSource, что неприемлемо :(
Есть здесь люди, которые могут толково объяснить, в каких случаях производные библиотеки-компоненты-программы, использующие код Mozilla должны распостраняться с исходным кодом? Macromedia, на сколько я помню, выпустила какой-то продукт на основе Mozilla'овского движка, но он не OpenSource.
Ага, значит, теоретически после получения исходника Мозиллы у меня есть шанс еще и рабочий пример получить... ладно...
Хотя вот кусок кода, который во всех примерах... в SDK ни одного упоминания о NS_IWEBBROWSER_IID нету (наверное только в сырцах найти можно)... ну хоть об этом-то они могли позаботиться?
nsresult rv;
mWebBrowser = do_CreateInstance(NS_IWEBBROWSER_IID, &rv);
if (!mWebBrowser || NS_FAILED(rv)) return NS_ERROR_FAILURE;