mirror of
https://github.com/FirebirdSQL/firebird.git
synced 2025-01-22 21:23:04 +01:00
Update
This commit is contained in:
parent
b01b2ebbde
commit
ffb32e701b
@ -12,51 +12,50 @@
|
||||
<H2>MINGW Notes</H2>
|
||||
<hr/>
|
||||
First version: Mar 6 2003<br>
|
||||
Last Update: Jul 21 2004<br>
|
||||
Last Update: Dec 27 2005<br>
|
||||
Author: Blas Rodriguez Somoza <a href="">blas@puertareal.com</a><br>
|
||||
|
||||
<h3>0.-Introduction</h3>
|
||||
<p>The MSYS/MINGW build was started with 1.5 beta 4.<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 means that 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>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 means that 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>Support for ms SEH (superserver).</li>
|
||||
<li>Executable size problem. The executables are too great.</li>
|
||||
<li>DLL entrypoint definition. The fbclient.dll have a lot of unneeded entrypoints.</li>
|
||||
<li>Executable size problem. The executables are too great.
|
||||
(Partially solved by stripping symbols in production build.)</li>
|
||||
</ul>
|
||||
|
||||
<h3>2.-INSTALLING MSYS and MINGW</h3>
|
||||
|
||||
<p>The following packages from http://www.mingw.org are needed</p>
|
||||
<p>The following packages from <a href="http://www.mingw.org">http://www.mingw.org</a> are needed</p>
|
||||
<p>MinGW
|
||||
<ul>
|
||||
<li>MinGW-3.1.0-1.exe</li>
|
||||
<li>bison-1.875.0-2003.02.10-1.exe</li>
|
||||
<li>MinGW 3.1.0 at least.</li>
|
||||
<li>binutils 2.15 is required (included in MinGW 4). Binutils 2.13 from
|
||||
MinGW 3.1 produce invalid DLL export table, thus making dynamic load of
|
||||
fbclinet.dll impossible.
|
||||
<li>bison-2.0-MSYS. You may omit this package if you are not going to alter
|
||||
*.y files.</li>
|
||||
</ul>
|
||||
</p>
|
||||
<p>MSYS
|
||||
<ul>
|
||||
<li>MSYS-1.0.10.exe</li>
|
||||
<li>msysDTK-1.0.1.exe</li>
|
||||
<li>MSYS</li>
|
||||
<li>msysDTK</li>
|
||||
</ul>
|
||||
<p>If you intend to build an executable installer you will also need to download InnoSetup from <a href="http://www.jrsoftware.org/isdl.php">http://www.jrsoftware.org/isdl.php</a></p>
|
||||
<p>If you intend to build an executable installer you will also need to download InnoSetup from <a href="http://www.jrsoftware.org/isdl.php">http://www.jrsoftware.org</a></p>
|
||||
<ul>
|
||||
<li><a href="http://files.jrsoftware.org/ispack/ispackl-4.2.1.exe">InnoSetup QuickStart Pack 4.2.1 </a
|
||||
<li>InnoSetup</li>
|
||||
<li>InnoSetup QuickStart Pack</li>
|
||||
</ul>
|
||||
</p>
|
||||
<p>STEPS TO INSTALL
|
||||
<ol>
|
||||
<li>run MinGW-3.1.0-1.exe. You must select the installation directory (default to c:\MINGW)</li>
|
||||
<li>run bison-1.875.0-2003.02.10-1.exe. You must give the program the mingw installation directory </li>
|
||||
<li>run MSYS-1.0.10.exe. First you must select your installation directory (default to c:\msys\1.0), then, in a command window, you must awswer some questions:<br><br>
|
||||
Do you wish to continue with the post install? [yn] ANSWER y<br>
|
||||
Do you have mingw installed? [yn] ANSWER y<br>
|
||||
Where is your mingw installation? ANSWER your mingw directory using slashes (as in unix) no backslashes (as in windows)<br><br>
|
||||
</li>
|
||||
<li>run msysDTK-1.0.1.exe. You must the msys installation directory as the installation directory for msysDTK (default to c:\msys\1.0).</li>
|
||||
<li>run ispack-4.2.1.exe if you want to make a executable installer</li>
|
||||
<li>Install MinGW, MSYS and msysDTK using appropriate instructions for each package.</li>
|
||||
<li>Optionally install Bison.</li>
|
||||
<li>Install InnoSetup and InnoSetup QuickStart Pack if you want to make a executable installer</li>
|
||||
</ol>
|
||||
</p>
|
||||
|
||||
@ -70,14 +69,16 @@ 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>
|
||||
You can run ./configure --help to see full list of switches.
|
||||
</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>If you didn't install Bison, perform 'touch src/dsql/parse.cpp' command.</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>After the build finish, the firebird directory with the binaries is created as gen/firebird.</li>
|
||||
</ol>
|
||||
|
||||
<p>You can use 'make clean' to delete files created during build process when you don't need them anymore. 'make clean_all' will do even more clean. :)</p>
|
||||
<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>There is a bug in MinGW GCC (<=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>
|
||||
@ -87,8 +88,8 @@ warning: too many arguments for format</p>
|
||||
<p>To create an installable build you need to execute the InnoSetup script.</p>
|
||||
<ol>
|
||||
<li>Open firebird2/builds/install/arch-specific/mingw/super/FirebirdInstall_15.iss with InnoSetup.</li>
|
||||
<li>Run the script with F9 or Run->Run</li>
|
||||
<li>Close Innosetup</li>
|
||||
<li>Run the script with F9 or Run->Run</li>
|
||||
<li>Close InnoSetup</li>
|
||||
</ol>
|
||||
<p>A executable installer will be in firebird2/builds/install/arch-specific/mingw/super/</p>
|
||||
<p>To install the build, simply run the resulting exe.</p>
|
||||
@ -101,6 +102,6 @@ warning: too many arguments for format</p>
|
||||
<p>Some permission problems, most probably related with the CVS client, has been reported. If the autogen gives a permission related error, like<br><br>
|
||||
autom4te: cannot open configure: Permission denied<br><br>
|
||||
execute in the same directory:<br><br>
|
||||
>chmod -R +uw *</p>
|
||||
>chmod -R +uw *</p>
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
Loading…
Reference in New Issue
Block a user