GnuTLS SSL Module Under Windows.ru
From the makers of InspIRCd.
Contents |
Компиляция GnuTLS SSL-модуля в Windows
Получение установочного дистрибутива
Получение, установка и использование уже готового, собранного под Windows, дистрибутива GnuTLS представляется самым оптимальным, в данном случае, выбором, так как ручная сборка GnuTLS из исходников весьма проблематична, бо требует внимания к слишком большому количеству внешних компонентов (иными словами - зависимости...). Готовую сборку GnuTLS под Windows можно найти тут:
http://josefsson.org/gnutls4win/
Установка GnuTLS
Процесс установки не так сложен, как может показаться на первый взгляд: просто следуем всем указаниям, отвечаем на вопросы и т. д. По ходу установки, нам предложат выбрать компоненты, среди которых будет значиться 'Source code'. Установка оного - не критична, ее можно пропустить. А можно и установить - это уж как вам угодно.
Установили? Отлично. Теперь нам нужно сгенерировать библиотеки, совместимые с VC++ окружением, ибо оригинальные GnuTLS lib-файлы, поставляемые с установщиком, совместимы лишь с cygwin/mingw окружением. А InspIRCd нужны как-раз таки .lib-файлы, совместимые с VC++.
Итак, запустите Visual Studio command prompt (для MSVS 2003 это: Пуск->Все программы->Microsoft Visual Studio .NET 2003->Visual Studio .NET Tools->Visual Studio .NET 2003 Command Prompt, для 2005 это: Пуск->Все программы->Microsoft Visual Studio 2005->Visual Studio Tools->Visual Studio 2005 Command Prompt)
(надеюсь, работа с командной строкой (!) в Windows (!!) вас не пугает? Если пугает, рекомендую скачать уже готовую сборку InspIRCd для windows с собранным заранее gnutls-модулем :p)
Перейдите в папку bin, которая находится в основной директории, куда вы установили GnuTLS, например:
cd "C:\Program Files\GnuTLS-1.7.8\bin"
Тут мы и сгенерируем наши .lib-файлы для использования в VC++ окружении. Для этого нам понадобится тулза (программа) LIB, поставляемая с Visual C++, с помощью которой мы и будем генерировать необходимые .lib-файлы, используя столь любезно заранее предоставленный .def-шаблон.
Для GnuTLS версии 1.7.х команда будет выглядеть так:
C:\Program Files\GnuTLS-1.7.8\bin>lib /def:libgnutls-13.def /nologo /machine:x86
Для GnuTLS версии 2.2.х команда будет выглядеть так:
C:\Program Files\GnuTLS-2.2.0\bin>lib /def:libgnutls-26.def /nologo /machine:x86
(уверен, вы уловили суть :p)
В общем, если нам повезет, то мы увидим нечто вроде:
Creating library libgnutls-13.lib and object libgnutls-13.exp
Отлично! Теперь осталось лишь скопировать нужные нам файлы в некоторые директории, которые находятся там, куда вы установили VC++ компилятор. Скопируйте сгенерированный lib-файл в папку VC\lib (например: C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\lib ИЛИ C:\Program Files\Microsoft Visual Studio 8\VC\lib), а так же, скопируйте все файлы из GnuTLS-1.7.8\include в VC\include.
Сборка GnuTLS модуля для InspIRСd
Ну и все, теперь вы можете собрать данный модуль вместе с InspIRCd. Просто скопируйте m_ssl_gnutls.cpp из src\modules\extra в папку (это в коневой директории с исходниками) в src\modules и пересоберите IRCd. Как вариант, вы можеет просто переконфигурировать опции сборки IRCd и воспользоваться командой nmake -f modules.mak.
Если вам повезет, gnutls-модуль успешно скомпилируется и вы не менее успешно сможете загрузить его для использования с InsIRCd.

















