File: build_win_tcl.html

package info (click to toggle)
db4.8 4.8.30-2
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 112,668 kB
  • ctags: 53,848
  • sloc: ansic: 177,324; java: 66,060; tcl: 61,580; cs: 27,778; cpp: 24,761; sh: 15,649; perl: 14,013; xml: 8,309; makefile: 2,303; awk: 1,749; sql: 390; python: 26; php: 22; asm: 14
file content (197 lines) | stat: -rw-r--r-- 9,087 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Building the Tcl API</title>
    <link rel="stylesheet" href="gettingStarted.css" type="text/css" />
    <meta name="generator" content="DocBook XSL Stylesheets V1.73.2" />
    <link rel="start" href="index.html" title="Berkeley DB Programmer's Reference Guide" />
    <link rel="up" href="build_win.html" title="Chapter 28.  Building Berkeley DB for Windows" />
    <link rel="prev" href="build_win_csharp.html" title="Building the C# API" />
    <link rel="next" href="win_build_dist_dll.html" title="Distributing DLLs" />
  </head>
  <body>
    <div class="navheader">
      <table width="100%" summary="Navigation header">
        <tr>
          <th colspan="3" align="center">Building the Tcl API</th>
        </tr>
        <tr>
          <td width="20%" align="left"><a accesskey="p" href="build_win_csharp.html">Prev</a> </td>
          <th width="60%" align="center">Chapter 28. 
		Building Berkeley DB for Windows
        </th>
          <td width="20%" align="right"> <a accesskey="n" href="win_build_dist_dll.html">Next</a></td>
        </tr>
      </table>
      <hr />
    </div>
    <div class="sect1" lang="en" xml:lang="en">
      <div class="titlepage">
        <div>
          <div>
            <h2 class="title" style="clear: both"><a id="build_win_tcl"></a>Building the Tcl API</h2>
          </div>
        </div>
      </div>
      <div class="toc">
        <dl>
          <dt>
            <span class="sect2">
              <a href="build_win_tcl.html#id1632455">Building Tcl with Visual C++ .NET or above</a>
            </span>
          </dt>
          <dt>
            <span class="sect2">
              <a href="build_win_tcl.html#id1632356">Building Tcl with Visual C++ 6.0</a>
            </span>
          </dt>
        </dl>
      </div>
      <p>Tcl support is not built automatically.  See
<a class="xref" href="tcl.html#tcl_intro" title="Loading Berkeley DB with Tcl">Loading Berkeley DB with Tcl</a> for
information on sites from which you can download Tcl and which Tcl
versions are compatible with Berkeley DB.  These notes assume that Tcl is
installed as <code class="filename">d:\tcl</code>, but you can change that if you want.</p>
      <p>The Tcl library must be built as the same build type as the Berkeley DB
library (both Release or both Debug).  We found that the binary
release of Tcl can be used with the Release configuration of Berkeley DB,
but you will need to build Tcl from sources for the Debug
configuration.  Before building Tcl, you will need to modify its
makefile to make sure that you are building a debug version, including
thread support.  This is because the set of DLLs linked into the Tcl
executable must match the corresponding set of DLLs used by Berkeley DB.</p>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="id1632455"></a>Building Tcl with Visual C++ .NET or above</h3>
            </div>
          </div>
        </div>
        <div class="orderedlist">
          <ol type="1">
            <li>Set the include directories.  Choose <span class="emphasis"><em>Tools -&gt; Options
-&gt; Projects -&gt; VC++ Directories</em></span>.  Under the "Show
directories for" pull-down, select "Include files".  Add the full
pathname for <code class="filename">d:\tcl\include</code>, then click OK.  This is the
directory that contains <code class="filename">tcl.h</code>.</li>
            <li>Set the library files directory.  Choose <span class="emphasis"><em>Tools -&gt;
Options -&gt; Projects -&gt; VC++ Directories</em></span>.  Under the "Show
directories for" pull-down, select "Library files".  Add the full
pathname for the <code class="filename">d:\tcl\lib</code> directory, then click OK.
This is the directory needed to find
<code class="filename">tcl84g.lib</code> (or whatever the
library is named in your distribution).</li>
            <li>Set the build type to Release or Debug in the drop-down on the
tool bar.</li>
            <li>
              <p>
        To build, right-click on db_tcl and select Build.  This builds the Tcl
        support library for Berkeley DB, placing the result into one of the
        following Berkeley DB subdirectories, depending upon the
        configuration that you chose:
    </p>
              <table class="simplelist" border="0" summary="Simple list">
                <tr>
                  <td>
                    <code class="filename">build_windows\Win32\Debug\libdb_tcl48d.dll</code>
                  </td>
                </tr>
                <tr>
                  <td>
                    <code class="filename">build_windows\Win32\Release\libdb_tcl48.dll</code>
                  </td>
                </tr>
              </table>
            </li>
          </ol>
        </div>
        <p>If you use a version different from Tcl 8.4.x you will
need to change the name of the Tcl library used in the build (for
example, <code class="filename">tcl84g.lib</code>) to the
appropriate name.  To do this, right click on <span class="emphasis"><em>db_tcl</em></span>, go to
<span class="emphasis"><em>Properties -&gt; Linker -&gt; Input -&gt; Additional
dependencies</em></span> and change
<code class="filename">tcl84g.lib</code> to match the Tcl
version you are using.</p>
      </div>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="id1632356"></a>Building Tcl with Visual C++ 6.0</h3>
            </div>
          </div>
        </div>
        <div class="orderedlist">
          <ol type="1">
            <li>Set the include directories.  Choose <span class="emphasis"><em>Tools -&gt; Options
-&gt; Directories</em></span>.  Under the "Show directories for" pull-down,
select "Include files".  Add the full pathname for
<code class="filename">d:\tcl\include</code>, then click OK.  This is the directory that
contains <code class="filename">tcl.h</code>.</li>
            <li>Set the library files directory.  Choose <span class="emphasis"><em>Tools -&gt;
Options -&gt; Directories</em></span>.  Under the "Show directories for"
pull-down, select "Library files".  Add the full pathname for the
<code class="filename">d:\tcl\lib</code> directory, then click OK.  This is the directory
needed to find <code class="filename">tcl84g.lib</code> (or
whatever the library is named in your distribution).</li>
            <li>Go to <span class="emphasis"><em>Build -&gt; Set Active Configuration</em></span> and select
either the Debug or Release version of the db_tcl project.  Then press
OK.</li>
            <li>
              <p>
        To build, select <span class="emphasis"><em>Build -&gt; Build
            libdb_tcl48.dll</em></span>.  This builds the Tcl support
        library for Berkeley DB, placing the result into one of the
        following Berkeley DB subdirectories, depending upon the
        configuration that you chose:
    </p>
              <table class="simplelist" border="0" summary="Simple list">
                <tr>
                  <td>
                    <code class="filename">build_windows\Win32\Debug\libdb_tcl48d.dll</code>
                  </td>
                </tr>
                <tr>
                  <td>
                    <code class="filename">build_windows\Win32\Release\libdb_tcl48.dll</code>
                  </td>
                </tr>
              </table>
            </li>
          </ol>
        </div>
        <p>If you use a version different from Tcl 8.4.x you will
need to change the name of the Tcl library used in the build (for
example, <code class="filename">tcl84g.lib</code>) to the
appropriate name.  To do this, choose
<span class="emphasis"><em>Project -&gt; Settings -&gt; db_tcl</em></span>
and change the Tcl library listed in the Object/Library modules
<code class="filename">tcl84g.lib</code> to match the Tcl version
you are using.</p>
      </div>
    </div>
    <div class="navfooter">
      <hr />
      <table width="100%" summary="Navigation footer">
        <tr>
          <td width="40%" align="left"><a accesskey="p" href="build_win_csharp.html">Prev</a> </td>
          <td width="20%" align="center">
            <a accesskey="u" href="build_win.html">Up</a>
          </td>
          <td width="40%" align="right"> <a accesskey="n" href="win_build_dist_dll.html">Next</a></td>
        </tr>
        <tr>
          <td width="40%" align="left" valign="top">Building the C# API </td>
          <td width="20%" align="center">
            <a accesskey="h" href="index.html">Home</a>
          </td>
          <td width="40%" align="right" valign="top"> Distributing DLLs</td>
        </tr>
      </table>
    </div>
  </body>
</html>