2.3.Building and Installing on Windows Systems (Borland Compiler)
Prev | Chapter2.Building and Installing pgtcl-ng | Next

## 2.3.Building and Installing on Windows Systems (Borland Compiler)

本節では､ Borland道具を使って､Window系上に pgtcl-ng を如何に作り上げるか､を説明する｡ Window系上への構築は､ユニクス系程には自動化されてない､ 自身で構築するより､代りに､二進数配布を取込むことを推奨する｡ 二進数配布を得たら､搭載する為に､配布内の説明書に従われたい｡ 搭載は､一般に単に DLL ファイル群の複写を含む｡ もし､自身のpgtcl-ng機械語翻訳を望むなら､この節を読まれたい｡ This section describes how to build and install pgtcl-ng on Windows systems using Borland tools. Building on Windows systems is less automated than on Unix-like systems, and you are advised to fetch a binary release instead of building it yourself. If you get a binary release, follow the instructions in the release to install it. Installation generally just involves copying DLL file(s). If you want to compile your own pgtcl-ng, read the following sections.

### 註意 Note

pgtclng-1.8.0版開始からは､Windowsでは､専ら､MinGW道具類のみ使用している｡ Borland機械語翻訳譜は最早､試験してない｡ 更なる情報は､ Section2.2, “Building and Installing on Windows (MinGW tools)” を参照されたい｡ Starting with pgtclng-1.8.0, only the MinGW toolset is being used to build pgtcl-ng for Windows. Building with the Borland compiler is no longer being tested. Refer to Section2.2, “Building and Installing on Windows (MinGW tools)” for more information.

PostgreSQL-9.0.x　の libpq はBorland機械語翻訳譜では翻訳しない､ 且つ､現在の処､どの改善譜も利用できない｡ The PostgreSQL-9.0.x libpq does not compile with the Borland compiler, and no patches are currently available.

### 2.3.1.Prerequisites for Windows Systems (Borland Compiler)

これは､Borland道具を使用してWindows上に pgtcl-ng を構築する予備要求である｡ 註意すべきは､それぞれの製品の特定の版が記述される｡より新しい版は多分動く､古い版は､惧らく 動く｡ ここに列挙した版が試験された｡ Here are the prerequisites for building pgtcl-ng on Windows using Borland tools. Note that specific versions of each product are mentioned. Newer versions will probably work, and older versions are less likely to work. The versions listed here have been tested.

Windows上にBorland道具により pgtcl-ng を構築するには､以下が必要: To build pgtcl-ng on Windows with Borland tools, you need:

- ActiveState 外部函数と冒頭ファイルを伴うActiveTcl Tcl/Tk 8.5.8版｡
  ActiveState ActiveTcl Tcl/Tk version 8.5.8, installed with libraries and header files.

- Tcl 8.5.x版 源譜頒布かそれ以上の版､未開封｡ これは､Tclの種々の版で動くスタブ対応版Pgtcl-ngを作るときだけ､必要｡ スタブ対応Pgtcl-ngが､不要又は望まない場合､Tcl 源譜は必要ない｡ Tcl 8.5.x source release or higher, unpacked. This is only needed if you are building a stubs-enabled version of Pgtcl-ng, which will work with multiple versions of Tcl. If you do not need or want a stubs-enabled Pgtcl-ng, you will not need the Tcl source code.

- Borland C++ Builder Command Line Tools (BCC32 5.5.1), installed and configured.

- PostgreSQL 8.4.ｘ版源譜配布､未開封｡ ( Pgtcl-ng は予め､PostgreSQL配布7.4.1版に戻り作成した､そして､ 今猶再試行は可能である｡但し､ 註意すべきは､もし､貴兄が最新版PostgreSQL配布で作成すると､ 結果を古い版のPostreSQLデータベースに接続して使用することが可能である ) PostgreSQL 8.4.x source release, unpacked. (Pgtcl-ng was previously built with PostgreSQL releases going back to 7.4.1, and it may still be possible to do so. But note that if you build with the latest PostgreSQL release, you will be able to use the result to connect to older versions of PostreSQL databases.)

### 2.3.2.Building and Installing - Windows Systems (Borland Compiler)

下記の説明書に従って､貴兄は､最初に PostgreSQL libpq 積込み可能外部函数を作成する｡ 次に､pgtcl-ng 積込み可能外部函数を作り､それをActiveState Tcl 外部函数に連結する｡ Following the instructions below, you will first build the the PostgreSQL `libpq` loadable library. Then you will build the pgtcl-ng loadable library `libpgtcl`, and link it with ActiveState Tcl libraries.

### Note

PostgreSQLの幾つかの版では､ Borland 翻訳譜を使ってlibpqを作成する為に､ 源譜に､変更や部分修正を適用する必要がある｡ 試験された配布品に於ける変更は､ 修正/仔ディレクトリ内の､ pgtcl-ng 源譜配布 (1.6.0 版又はそれ以降) に見付けられた｡ この説明書内の指示を続ける前に､ ディレクトリ内の README を参照し､関連する変更を適用されたい｡ For some versions of PostgreSQL, changes or patches need to be applied to the source in order to build libpq using the Borland compiler. Changes or patches for tested releases can be found in the pgtcl-ng source release (1.6.0 or higher) in the `patches/` subdirectory. Refer to the `README` file in that directory, and apply the relevant changes, before continuing with the instructions in this document.

以下が､Windows上に pgtcl-ng を作成する段階である｡貴兄は､多くは､文字入力卓画面 で操作することになる｡(催促符は下に示す様に `C:\>` であるが､貴兄の催促符は種々であろう｡) Here are the steps to build pgtcl-ng on Windows. You will be working mostly in a Command Prompt window. (The prompt is shown below as `C:\>` but your prompt will vary.)

以下の段階では､貴兄のBorland翻訳譜はc:\apps\bcc, ActiveState に装着され､ Tclは､c:\apps\tclに､PostgreSQL源譜は､c:\src\pgsqlに開梱され､ pgtcl-ngはc:\src\pgtclに開梱され､ Tcl 源譜配布は(もし必要なら)c:\src\tclに開梱されている｡ 貴兄の実際の搭載に合致する様､下記に示す経路名を調整されたい｡ The steps below assume your Borland compiler is installed at `c:\apps\bcc`, ActiveState Tcl is installed at `c:\apps\tcl`, your PostgreSQL source is unpacked at `c:\src\pgsql`, pgtcl-ng is unpacked at `c:\src\pgtcl`, and the Tcl source release (if needed) is unpacked at `c:\src\tcl`. Adjust the pathnames shown below to match your actual installation.

1. もし､Tcl スタブを伴って機械語翻訳するのであれば､ Borland-作成stub外部函数を得る為に､Tcl源譜から一個の基本単位を機械語翻訳する 必要がある｡下記項目 (A) に従われたい｡ もし､Tcl スタブなしに機械語翻訳するのであれば､ Tcl の為のBorland移入外部函数が必要である｡｡下記項目 (B) に従われたい｡ 　　 If you are building with Tcl stubs, you will need to compile one module from the Tcl source in order to get a Borland-built stubs library. Follow item (A) below. If you are not building with Tcl stubs, you need a Borland import library for Tcl. Follow item (B) below.

   1. もし､Tcl スタブを伴って機械語翻訳するのであればこの段に従われたい｡ Pgtcl-ng.に連結する為に､ Borland Cで二進符作成された､ Tcl stubs外部函数(Tcl 8.5.xにはtclstub85.lib) の版が必要である｡ (下記の､ 代りの段階内で使われる coff2omf 変換譜は､ ActiveTclによって供給される tclstub85.lib 外部函数上では､動かないので｡) Follow this step if you are building with Tcl stubs. You need a version of the Tcl stubs library (`tclstub85.lib` for Tcl 8.5.x) that was built with Borland C in order to link to Pgtcl-ng. (This is because the coff2omf converter used in the alternate step below does not work on the tclstub85.lib library supplied with ActiveTcl.)

      Tcl源譜ディレクトリ内のc:\src\tcl\win を校正して､ 記号符号 TOOLS32 が貴兄のBorlandディレクトリを指す様に､変更する､ 譬えば､TOOLS32=c:\apps\bcc とする｡今や､スタブ外部函数を生成する｡ In the Tcl source directory `c:\src\tcl\win`, edit the file `makefile.bc` and change the symbol TOOLS32 to point to your Borland directory, for example TOOLS32=c:\apps\bcc. Now build the stubs library:

          C:\> cd c:\src\tcl\win
          C:\> mkdir ..\Release
          C:\> make -f makefile.bc ..\Release\tclstub85.lib

      出来上がるファイル名 ..\Release\tclstub85.lib は､ Active-Tcl スタブ外部函数や､Tcl外部函数ディレクトリ内に複写されたもの､ と衝突しない様､名前を変更すべきである｡ The resulting file `..\Release\tclstub85.lib` should be renamed so it does not conflict with the Active-Tcl stubs library, and copied into the Tcl library directory:

          C:\> copy ..\Release\tclstub85.lib c:\apps\tcl\lib\tclstub85bcc.lib

   2. Tcl スタブを伴わずに生成する場合は､上記段階の代わりに､本段階を進まれたい｡ ActiveState Tcl 連結外部函数から､ Tcl-8.4.xについてはtcl84.lib ､ Tcl-8.5.xについては tcl85.lib と呼ばれる Borland 移入外部函数を作成されたい ｡ Follow this step instead of the previous step if you are not building with Tcl stubs. Create a Borland import library from the ActiveState Tcl link library, which is called `tcl84.lib` for Tcl-8.4.x and `tcl85.lib` for Tcl-8.5.x. Use the appropriate filenames.

          C:\> cd c:\apps\tcl\lib
          C:\> coff2omf tcl85.lib tcl85omf.lib

2. libpq 梱包可能外部函数 blibpq.dll を作成する｡ 　 Build the libpq loadable library, `blibpq.dll`.

   1. c:\src\pgsql\src\include 内で､ファイルpg_config.h.win32をpg_config.h に複写し上書きする､ この様に｡ In `c:\src\pgsql\src\include`, copy the file `pg_config.h.win32` to `pg_config.h`, overwriting the existing file, as shown.

          C:\>  cd c:\src\pgsql\src\include
          C:\>  copy pg_config.h.win32 pg_config.h

   2. PostgreSQL 8.2.0 版以降を使うなら､保有ディレクトリー内に pg_config_os.h ファイルを要す｡ 次の様に､これを port\win32.h ファイルから複写する｡ If you are running PostgreSQL 8.2.0 or higher, you need a `pg_config_os.h` file in the include directory. Copy this from the file `port\win32.h` as shown.

          C:\>  cd c:\src\pgsql\src\include
          C:\>  copy port\win32.h pg_config_os.h

   3. c:\src\pgsql\src\interfaces\libpq 内のディレクトリで､ file bcc32.mak を以下の様に校正する: 　　 In the directory `c:\src\pgsql\src\interfaces\libpq`, edit the file `bcc32.mak` as follows:

      1. 注釈行を削除し､且つ､BCB を貴兄のBorland搭載ディレクトリを指す様定義する｡ (但し､適切な PATH を伴う翻訳譜ではこれは不要である､ 資源の機械語翻訳譜 BRC32 については必要である) Uncomment the line and define `BCB` to point to your Borland installation directory. (Although this isn't needed to compile programs with a proper `PATH`, it is needed for the resource compiler BRC32.)

      2. 実行時外部函数 への連結命令を確認する｡ cw32mt を捜し､外部函数名を確認する｡ もし､それが､ cw32mti.lib であると､静的版 cw32mt.lib に変更する｡ これは､必要であり､さもないと､ fprintf を使う応用譜が崩壊する｡ PostgreSQL-8.2.4 版以降は､既に､これを変更させているらしい｡ Check the link command run-time library. Search the file for `cw32mt` and check the library name. If it is `cw32mti.lib`, change it to the static version `cw32mt.lib`. This is necessary or applications using `fprintf` will crash. PostgreSQL-8.2.4 and higher already seem to have this change.

   4. libpq 外部函数を生成する: Build the libpq library:

          C:\>  cd c:\src\pgsql\src\interfaces\libpq
          C:\>  make -N -f bcc32.mak

      これで､積込み可能な外部函数 file blibpq.dll ができる､そして､ src\interfaces\libpq\Release ディレクトリ内に外部函数blibpqdll.libを移入する｡ これは､次の段階で必要である｡ 　 This will create the loadable library file `blibpq.dll`, and an import library `blibpqdll.lib`, in the `src\interfaces\libpq\Release` directory. You need these for the next step.

3. 梱包可能な外部函数pgtclを作成する｡ 未開封 pgtcl 源譜配布にディレクトリを変更する｡譬えば: Build the pgtcl loadable library, `libpgtcl.dll`. Change directory to the unpacked pgtcl source distribution. For example:

       C:\>  cd c:\src\pgtcl

   ファイル bcc32.mak を次の様に校正する: Edit the file `bcc32.mak` as follows:

   1. 貴兄のBorland装着ディレクトリの頂を指す様､BORLAND を､定義する Define `BORLAND` to point to the top of your Borland installation directory.

   2. 貴兄のTcl装着ディレクトリの頂を指す様､TCL を､定義する Define `TCL` to point to the top of your Tcl installation directory.

   3. POSTGRESQL が 未開封PostgreSQL 配布内部の､最高水準ディレクトリの src を指す様定義する､ そこは､既に､libpq を作成している｡譬えば: POSTGRESQL=C:\src\pgsql\src とする｡ 　 Define `POSTGRESQL` to point to the top-level source directory `src` inside your unpacked PostgreSQL distribution, where you have already built libpq. For example: `POSTGRESQL=C:\src\pgsql\src`

   4. Makefile と関連命令内の TCLLIB 定義を確認する｡ もし､Tcl stubを伴って生成している場合､上記で生成したTcl stub 外部函数を使う､ 且つ､ USE_TCL_STUBS 定義をそのまま分離する｡ もし､Tcl stubを伴わず生成している場合､代りに､上で生成した OMF 移入外部函数 (譬えば､tcl85omf.lib)を使い､且つ､ USE_TCL_STUBS 符号を注釈化する｡ Check the TCLLIB definition in the Makefile and the associated comments. If you are building with Tcl stubs, use the Tcl stub library you built above (for example, `tclstub85bcc.lib`) and leave the USE_TCL_STUBS definition as is. If you are not building with Tcl stubs, use the OMF import library you build above instead (for example, `tcl85omf.lib`) and comment out the USE_TCL_STUBS symbol.

   準備できたので､libpgtcl を作成する: 　 Now build libpgtcl:

       C:\>  make -f bcc32.mak

   これで､ファイルlibpgtcl.dll を生成する｡ 　 This will create the file `libpgtcl.dll`.

Windows上でpgtclを使う為には､作成した二つのファイルが必要である: c:\src\pgsql\src\interfaces\libpq\release\blibpq.dll と､ c:\src\pgtcl\libpgtcl.dll ｡ これらを応用譜から使うことに就いての情報は､ Chapter3, Loading pgtcl into an Application を参照されたい｡ Makefile は､使うべく選択するであろう装着目標を含む： 　 To use pgtcl on Windows, you will need the two files you built: `c:\src\pgsql\src\interfaces\libpq\release\blibpq.dll`, and `c:\src\pgtcl\libpgtcl.dll` Refer to Chapter3, Loading pgtcl into an Application for information about using these from your application. The Makefile contains an installation target you may choose to use:

    C:\>  make -f bcc32.mak install

これは､二つの外部函数ファイルと､特に記述譜を積んだ修正梱包を､ 貴兄のtcl外部函数ディレクトリー内の新しい梱包ディレクトリーに､ 装着する｡ 更なる情報は､ Section3.1, “Using the Tcl Package Command” を参照されたい｡ This will install the two library files and a specially modified package loading script into a new package directory in your Tcl library directory. See Section3.1, “Using the Tcl Package Command” for more information.

Prev | Up | Next
2.2.Building and Installing on Windows (MinGW tools) | Home | 2.4.Building and Installing on MacOS 10