mirror of
https://github.com/FirebirdSQL/firebird.git
synced 2025-01-22 17:23:03 +01:00
140 lines
4.3 KiB
HTML
140 lines
4.3 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
|
<HTML>
|
|
<HEAD>
|
|
<TITLE> New Document </TITLE>
|
|
<META NAME="Generator" CONTENT="EditPlus">
|
|
<META NAME="Author" CONTENT="">
|
|
<META NAME="Keywords" CONTENT="">
|
|
<META NAME="Description" CONTENT="">
|
|
</HEAD>
|
|
|
|
<BODY>
|
|
<H2>VisualStudio build Notes</H2>
|
|
<hr/>
|
|
Last Update: May 27 2006<br>
|
|
Author: Blas Rodriguez Somoza <a href="">blas@puertareal.com</a><br>
|
|
|
|
<h3>0.-Introduction</h3>
|
|
<blockquote>
|
|
|
|
<p>There are two VisualStudio builds, msvc6 and msvc7. The msvc7 build is the official build of FB in win32.</p>
|
|
<p>Under the directory where you put Firebird2 sources you will see the following directories</p>
|
|
<ul>
|
|
<li>builds</li>
|
|
<ul>
|
|
<li>mac_os_x (Mac os X build scripts)</li>
|
|
<li>posix (Posix build scripts)</li>
|
|
<li>win32 (Msvc build scripts)</li>
|
|
<li>.....</li>
|
|
</ul>
|
|
<li>doc</li>
|
|
<ul>
|
|
<li>sql.extensions</li>
|
|
</ul>
|
|
<li>src</li>
|
|
<ul>
|
|
<li>....</li>
|
|
</ul>
|
|
<li>lang_helpers</li>
|
|
<ul>
|
|
<li>....</li>
|
|
</ul>
|
|
<li>examples</li>
|
|
<ul>
|
|
<li>....</li>
|
|
</ul>
|
|
</ul>
|
|
<p>After you build Firebird you also will see the following temporary directories</p>
|
|
<ul>
|
|
<li>gen (cpp files generated from epp, exe and fdb's.)</li>
|
|
<li>temp (compiler temporary)</li>
|
|
<li>output (build output)</li>
|
|
</ul>
|
|
</blockquote>
|
|
<h3>1.-TODO</h3>
|
|
<blockquote>
|
|
|
|
</blockquote>
|
|
<h3>2.-Prerrequisites</h3>
|
|
<blockquote>
|
|
|
|
<p>To prepare the standard msvc build of FB you need:</p>
|
|
<ul>
|
|
<li>Microsoft VisualStudio 6 or 7.</li>
|
|
<li>sed unix utility</li>
|
|
</ul>
|
|
|
|
<p>If you intend to prepare an installable build, you will need innosetup.</p>
|
|
<p>To download the utilities use the following links</p>
|
|
<ul>
|
|
<li>My Inno setup extensions 3.0.6.2 <a href="http://www.wintax.nl/isx/">http://www.wintax.nl/isx/</a></li>
|
|
<li>Sed <a href="http://gnuwin32.sourceforge.net/">http://gnuwin32.sourceforge.net/</a></li>
|
|
</ul>
|
|
|
|
</blockquote>
|
|
<h3>2.-Installing the utilities</h3>
|
|
<blockquote>
|
|
|
|
<h4>2.1.-Visual Studio</h4>
|
|
<ol>
|
|
<li>Install VisualStudio 6/7</li>
|
|
<li>If you use VisualStudio 6, before building Firebird and its tools, you need to apply some patches from the following site<br>
|
|
<a href="http://www.dinkumware.com/vc_fixes.html">http://www.dinkumware.com/vc_fixes.html</a>
|
|
</li>
|
|
</ol>
|
|
|
|
<h4>2.2.-Sed</h4>
|
|
|
|
<h4>2.3.-Inno setup</h4>
|
|
|
|
</blockquote>
|
|
<h3>4.- Building</h3>
|
|
<blockquote>
|
|
|
|
<h4>4.1.-Standard build</h4>
|
|
<ol>
|
|
<li>Open a command line window.</li>
|
|
<li>Go to the firebird2\builds\win32 directory.</li>
|
|
<li>Run the following batches in order (your version of VisualStudio is detected automatically)</li>
|
|
<ol>
|
|
<li>make_icu.bat [DEBUG] [CLEAN]</li>
|
|
<li>make_boot.bat [DEBUG] [CLEAN]</li>
|
|
<li>make_all.bat [DEBUG] [CLEAN]</li>
|
|
</ol>
|
|
</ol>
|
|
<ul>
|
|
<p>After the build finish, an output directory with the binaries is created below your firebird2 directory.</p>
|
|
<li>To make a clean build from scratch after making changes to the code use the clean_all.bat script</li>
|
|
</ul>
|
|
<h4>4.2.-Parser rebuild</h4>
|
|
<p>If you change parser.y you will need to rebuild parser.cpp, to do so use parse.bat</p>
|
|
<h4>4.3.-Examples build</h4>
|
|
<p>The examples build prepare two databases that will be needed to compile the examples in a distribution. If you intend to prepare a distribution then run the examples batch before:</p>
|
|
<ol>
|
|
<li>make_examples.bat</li>
|
|
</ol>
|
|
<h4>4.4.-Installer build</h4>
|
|
<p>Remember, you need sed and innosetup in the path to build the installer</p>
|
|
<ul>
|
|
<li>Open a command line window.</li>
|
|
<li>Go to the firebird2\builds\install\arch-specific\win32 directory.</li>
|
|
<li>The batch to build the installer is<br>
|
|
BuildExecutableInstall.bat [DEBUG] [CS]<br>
|
|
Where DEBUG means if the build is a debug one or not and CS means classic server installer.</li>
|
|
<li>After you start the batch, you will get a InnoSetup window. To build the install exe select the option compile, and a new exe will appear in builds/win32/install_image
|
|
</ul>
|
|
<h4>4.4.-Building samples</h4>
|
|
<p>After the standard build is finished, an output directory with the same structure as the installed FB directory is created.</p>
|
|
<p>If you want to build the examples just cd to firebird2\output\examples\build_win32 and run run_all.bat</p>
|
|
<p>Run_all.bat calls four other bats to make the example sets. Any example set can be build independently with its make_XXX script.</p>
|
|
<p>The example sets are:</p>
|
|
<ul>
|
|
<li>api (API Interface)</li>
|
|
<li>dyn (embedded dynamic SQL)</li>
|
|
<li>stat (embedded static SQL)</li>
|
|
<li>udf (User defined functions)</li>
|
|
</ul>
|
|
</blockquote>
|
|
</BODY>
|
|
</HTML>
|