Инструменты для компиляции с помощью Visual C++ 2005,
находятся в каталоге src/tools/msvc. При компиляции,
убедитесь, что в системном пути PATH нет инструментов из набора
MinGW или Cygwin.
Также убедитесь, что в системном пути есть все необходмые инструменты,
требуемые Visual C++, которые обычно находятся в каталоге
Visual Studio Command Prompt и что
команды из этого каталога запускаются. Все команды на выполнение компиляции
должны запускаться из каталога src\tools\msvc.
Перед компиляцией, измените config.pl, указав в нём
необходимые опции настройки, включая пути к используемым библиотекам.
Если вам необходимо установить какие-либо другие переменные окружения,
создайте файл с именем buildenv.pl и поместите
в него требуемые команды. Например, чтобы добавить путь к bison, которого нет
в PATH, создайте в файл содержащий:
$ENV{PATH}=$ENV{PATH} . ';c:\some\where\bison\bin';
PostgreSQL будет компилироваться, как Professional (любой редакции), так и
Express версией Visual Studio 2005. Для сборки
полного пакета также требуются нижеперечисленные дополнительные продукты.
Используйте файл config.pl, чтобы указать каталоги
доступных библиотек.
- ActiveState Perl
ActiveState Perl требуется для запуска скриптов генерирующих процесс
компиляции. MinGW или Cygwin Perl работать не будут. ActiveState Perl
также должен быть в PATH. Вы можете скачать этот пакет с
http://www.activestate.com (Обратите внимание:
требуется версия 5.8, Standard Distribution успешно работает.)
- ActiveState TCL
Требуется для компиляции PL/TCL (Обратите
внимание: требуется версия 8.4, Standard Distribution успешно работает).
- Bison и
Flex
Для компиляции из CVS требуются Bison и Flex, но они не нужны, при компиляции
из архива подготовленного выпуска. Заметьте, что будут работать только
http://gnuwin32.sourceforge.net.
- Diff
Diff требуется для запуска регрессионных тестов и может быть скачен с
http://gnuwin32.sourceforge.net.
- Gettext
Gettext требуется для сборки поддержки NLS и может быть скачен с
http://gnuwin32.sourceforge.net. Обратите внимание,
что необходимы бинарные пакеты и все файлы, необходимые для их
работы, а также файлы для разработки.
- Microsoft Platform SDK
Рекомендуется обновиться до последней доступной версии
Microsoft Platform SDK, доступной для
скачивания с http://www.microsoft.com/downloads/.
- MIT Kerberos
Требуется для поддержки авторизации Kerberos. MIT Kerberos
можно скачать с
http://web.mit.edu/Kerberos/dist/index.html.
- libxml2 и
libxslt
Требуется для поддержки XML. Бинарные пакеты могут быть
скачены с
http://zlatkovic.com/pub/libxml, а исходники с
http://xmlsoft.org. Обратите внимание, что
libxml2 требует iconv, который доступен для скачивания с того
же сайта.
- openssl
Требуется для поддержки SSL. Бинарные пакеты могут быть
скачены с
http://www.slproweb.com/products/Win32OpenSSL.html,
а исходники с http://www.openssl.org.
- ossp-uuid
Требуется для поддержки UUID-OSSP (только для contrib).
Исходники могут быть скачены с
http://www.ossp.org/pkg/lib/uuid/.
- Python
Требуется для компиляции PL/Python.
Бинарные пакеты могут быть скачены с
http://www.python.org.
- zlib
Требуется для поддержки сжатия в pg_dump
и pg_restore. Бинарные пакеты могут быть
скачены с http://www.zlib.net.
Для компиляции всего PostgreSQL, с настройкам выпуска (по умолчанию),
запустите команду:
build
Для компиляции всего PostgreSQL, с настройками включающими отладочные
возможности, запустите команду:
build DEBUG
Для компиляции одного проекта, например psql, запустите команды:
build psql
build DEBUG psql
Чтобы именить настройки компиляции по умолчанию на отладочные, поместите
в buildenv.pl следующую строку:
$ENV{CONFIG}="Debug";
Также возможна компиляция из самой оболочки Visual Studio. В этом случае
вам нужно запустить:
perl mkvcbuild.pl
с командой строки и затем открыть в Visual Studio сгенерированный
pgsql.sln (в корневом каталоге дерева исходных текстов).
В большинстве случаев, отслеживать изменённые файлы будет автоматическая
система отслеживания зависимостей в Visual Studio. Но, если изменений
было слишком много, вам может понадобится очистка установки. Чтобы её
выполнить, просто запустите команду clean.bat,
которая автоматически очистит все сгенерированные файлы. Вы также можете
запустить эту команду с параметром dist, в этом
случае это будет подобно make distclean и удалит
также и файлы, созданные flex/bison.
По умолчанию, все файлы сохраняются в подкаталогах debug
или release. Чтобы установить эти файлы, используя
стандартные средства, а также сгенерировать файлы, требуемые для
инициализации и использования база данных, запустите команду:
perl install.pl c:\destination\directory
Чтобы запустить регрессионные тесты, убедитесь сперва, что вы выполнили
компиляцию всех требуемых частей. Также, убедитесь, что все DLL требуемые
для загрузке всех частей СУБД (такие как DLL для процедурных языков Perl
и Python) находятся в системном пути. Если их там нет, укажите пути к ним
в файле buildenv.pl. Чтобы запустить тесты, запустите
одну из следующих команд из каталога src\tools\msvc:
vcregress check
vcregress installcheck
vcregress plcheck
vcregress contribcheck
Чтобы изменить используемый планировщик выполнения тестов (по умолчанию
параллельный), добавьте желаемый планировщик в командную строку:
vcregress check serial
Больше информации о регрессионных тестов можно получить в
Chapter 29.
Компиляция документации PostgreSQL в HTML формат требует некоторых инструментов
и файлов. Создайте корневой каталог для всех этих файлов и сохраните их в
подкаталоги как перечислено ниже.
Измените файл buildenv.pl и добавьте переменную,
указывающую местоположение вышеуказанного корневого каталога, например:
$ENV{DOCROOT}='c:\docbook';
Чтобы скомпилировать документаци, запустите команду
builddoc.bat. Обратите внимание, что эта команда
фактически запустит компиляцию дважды для генерации индексов. Сгенерированные
HTML файлы будут в каталоге doc\src\sgml.