8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-23 15:23:02 +01:00
firebird-mirror/builds/posix/prefix.mingw.README.html
2003-04-08 10:41:52 +00:00

87 lines
3.2 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>MINGW Notes</H2>
<hr/>
Date: April 8 2003<br>
Author: Blas Rodriguez Somoza <a href="">blas@puertareal.com</a><br>
<h3>0.-Introduction</h3>
<p>The 1.5 beta 4 is the first available MSYS/MINGW build.<p>
<p>The only difference between the msvc build and the mingw build, is that the later one does not support the ms SEH exception handling. This is an important difference because some exceptions will not be catched and thus FB will abort, the sources using this exception handling are jrd/blob_filter.cpp, jrd/exe.cpp and jrd/fun.epp.</p>
<p>This port is maintained by Blas Rodriguez Somoza and Dmitry Sibiriakov.</p>
<h3>1.-TODO</h3>
<ul>
<li>Add rc files to the build of fbserver, fb_inet_server and ibguard (with windres).</li>
<li>Support for ms SEH, now _try is a no-op.</li>
<li>Installer definition</li>
</ul>
<h3>2.-INSTALLING MSYS and MINGW</h3>
<p>The following packages from http://www.mingw.org are needed</p>
<p>MSYS
<ul>
<li>MSYS-1.0.8.exe</li>
<li>msysDTK-1.0.1.exe</li>
</ul>
</p>
<p>MinGW
<ul>
<li>MinGW-2.0.0-3.exe</li>
<li>MinGW_win32api-2.1.tar.gz</li>
<li>mingw-runtime-2.3.tar.gz</li>
<li>bison-1.875.0-2003.02.10-1.exe</li>
</ul>
</p>
<p>STEPS
<ol>
<li>Install minGW first and then the other mingw 3 packages</li>
<li>Install MSYS</li>
<li>Install msysDTK</li>
</ol>
</p>
<h3>3.- PATCHES TO BUILD FILES</h3>
<ul>
<li>The lib_fb_udf target in Make.in.extlib cannot be built yet. Remove it from
dependencies list for 'all'.</li>
</ul>
<h3>4.- BUILD PROCESS</h3>
<ol>
<li>Start msys with the icon.</li>
<li>Go to the firebird2 root directory. For instance, if your root is d:\cvs\firebird you must do cd /d/cvs/firebird2.</li>
<li>Start configure with the switches to get super/classic and production/development build, for instance:<br>
autogen.sh --enable-superserver<br>
The valid switches for autogen are<br>
--enable-superserver Select superserver build, default classic build.<br>
--enable-debug Select debug build, default production build.<br>
</li>
<li>Make the build. For instance if you want to get compiler messages isolated from make log<br> make > make.log 2>comp.log</li>
<li>Depending on your configuration, you can get an error in the v5_examples target. This error is related with a failure in the lock mechanism. If you get this error you can finish the build using the make again. This error can be also avoided removing the v5_examples target from the builds/posix/Makefile.in.firebird, before you use the autogen.sh.</li>
<li>After the build finish, the firebird directory with the binaries is created as gen/firebird.</li>
</ol>
<p>BUILD NOTE:</p>
<p>There is a bug in mingw (3.2) related with msvc format for 64bit integers. When the I64 format is used, the compiler throws warnings of two types:</p>
<p>warning: [...] format, different type arg (arg 3)<br>
or<br>
warning: unknown conversion type character `I' in format<br>
warning: too many arguments for format</p>
</BODY>
</HTML>