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 -> Options
-> Projects -> 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 ->
Options -> Projects -> 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 -> Linker -> Input -> 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 -> Options
-> 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 ->
Options -> 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 -> 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 -> 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 -> Settings -> 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>
|