Win32 port diff files

Поиск
Список
Период
Сортировка
От Jan Wieck
Тема Win32 port diff files
Дата
Msg-id 3E2C725C.1EF083B9@Yahoo.com
обсуждение исходный текст
Список pgsql-patches

--
#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me.                                  #
#================================================== JanWieck@Yahoo.com #
How to compile this Win32 port

1) Requirements and 1-time settings:

1.1) Visual C++

    You need VC++ 6.0 on ServicePack 5.

1.2) Tools

    The project uses some unix tools which are part of the cygwin
    distribution. You need to have

    - bison
    - flex
    - sed
    - touch

    in your path. This path must also be added to the VC++ options.

        Tools->Options
        Directories Tab - Executable Files

    The bison.simple must be in \usr\share\bison on
    the same drive where you will put the PostgreSQL sources.

1.1) Tcl

    The port builds the Tcl client library for Windows. Therefore, the
    headers and libs for Tcl are required. I used ActiveState Tcl
    version 8.3.4.1.

    The Tcl installations lib and include directories must be added to
    the VC++ options.

    Tools-Options
        Directories Tab - Library Files and Include Files



2) The build process

2.1) Work on Unix

    Extract a postgresql-7.2.1.tar.gz distribution. Cd into the
    postgresql-7.2.1 directory and apply the two patches with the
    command:

        patch -p1 -Els <....path_to_patch_file

2.2) Convert CR to CRLF

    I used zip/unzip while copying the sourcetree onto a mounted
    windows share ... MS VC++ is really picky about line-endings.

2.3) Build on Windows

    - cd to "src\win32_support"
    - execute "pre_build.bat"
    - open "src\postgres.dsw" in MS VC++
    - change to "FileView"
    - set "all files" as active project
    - select "Build->Clean" to remove prebuilt files from the
      distribution.
    - select "Build->Compile"

    The result is build into a directory Debug_Install or Release_Install
    at the same level of src (depending on the build type).

3) Using the database

3.1) Set environment variables:

    PGHOME=<the above ..._Install directory>
    PGDATA=%PGHOME%\data
    PGLIB=%PGHOME%\lib
    PGHOST=localhost
    PATH=%PGHOME%\bin

3.2) Initialize DB and start postmaster

    In a command prompt run "initdb" and "postmaster"

3.3) Congrats

    If you got this far, you have a running native Win32 port of
    PostgreSQL v7.2.1.



4) Notes

    Unfortunately the cygwin bash does not like our regression test
    script for Windows. We used a MKS korn shell at PeerDirect. With
    that the regression test passes all 78 tests.

    The bki file used during initdb has been built on Linux and is
    not updated/built on Windows. Same for the fmgrtab.c and
    fmgroids.h files.

    The postgres.def file is not built.




Вложения

В списке pgsql-patches по дате отправления:

Предыдущее
От: Neil Conway
Дата:
Сообщение: fix PQcmdTuples() for MOVE/FETCH
Следующее
От: Peter Eisentraut
Дата:
Сообщение: Re: targetlist functions part 1 (was [HACKERS] targetlist