2003-07-04 14:40:38 +02:00
<!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 / >
2006-05-27 20:07:27 +02:00
Last Update: May 27 2006< br >
2003-07-04 14:40:38 +02:00
Author: Blas Rodriguez Somoza < a href = "" > blas@puertareal.com< / a > < br >
< h3 > 0.-Introduction< / h3 >
< blockquote >
2006-05-27 20:07:27 +02:00
< p > There are two VisualStudio builds, msvc6 and msvc7. The msvc7 build is the official build of FB in win32.< / p >
2003-07-11 12:01:16 +02:00
< p > Under the directory where you put Firebird2 sources you will see the following directories< / p >
2003-07-05 16:48:35 +02:00
< 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 >
2003-07-11 12:01:16 +02:00
< li > .....< / li >
2003-07-05 16:48:35 +02:00
< / ul >
< li > doc< / li >
< ul >
< li > sql.extensions< / li >
< / ul >
< li > src< / li >
< ul >
< li > ....< / li >
< / ul >
2003-07-11 12:01:16 +02:00
< li > lang_helpers< / li >
< ul >
< li > ....< / li >
< / ul >
< li > examples< / li >
< ul >
< li > ....< / li >
< / ul >
2003-07-05 16:48:35 +02:00
< / 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 >
2003-07-04 14:40:38 +02:00
< / blockquote >
< h3 > 1.-TODO< / h3 >
< blockquote >
< / blockquote >
< h3 > 2.-Prerrequisites< / h3 >
< blockquote >
2006-05-27 20:07:27 +02:00
< p > To prepare the standard msvc build of FB you need:< / p >
2003-07-04 14:40:38 +02:00
< ul >
< li > Microsoft VisualStudio 6 or 7.< / li >
2003-07-10 17:36:59 +02:00
< li > sed unix utility< / li >
2003-07-04 14:40:38 +02:00
< / ul >
2003-07-10 17:36:59 +02:00
< p > If you intend to prepare an installable build, you will need innosetup.< / p >
2003-07-04 14:40:38 +02:00
< p > To download the utilities use the following links< / p >
< ul >
2003-07-07 13:42:49 +02:00
< li > My Inno setup extensions 3.0.6.2 < a href = "http://www.wintax.nl/isx/" > http://www.wintax.nl/isx/< / a > < / li >
2006-05-27 20:07:27 +02:00
< li > Sed < a href = "http://gnuwin32.sourceforge.net/" > http://gnuwin32.sourceforge.net/< / a > < / li >
2003-07-04 14:40:38 +02:00
< / 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 >
2006-05-27 20:07:27 +02:00
< h4 > 2.2.-Sed< / h4 >
2003-07-04 14:40:38 +02:00
< 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 >
2003-07-11 12:01:16 +02:00
< li > Go to the firebird2\builds\win32 directory.< / li >
2003-07-05 04:35:41 +02:00
< li > Run the following batches in order (your version of VisualStudio is detected automatically)< / li >
2003-07-04 14:40:38 +02:00
< ol >
2006-05-27 20:07:27 +02:00
< li > make_icu.bat [DEBUG] [CLEAN]< / li >
< li > make_boot.bat [DEBUG] [CLEAN]< / li >
2003-07-05 04:35:41 +02:00
< li > make_all.bat [DEBUG] [CLEAN]< / li >
2003-07-04 14:40:38 +02:00
< / ol >
< / ol >
< ul >
2006-05-27 20:07:27 +02:00
< p > After the build finish, an output directory with the binaries is created below your firebird2 directory.< / p >
2003-07-04 14:40:38 +02:00
< 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 >
2006-05-27 20:07:27 +02:00
< p > If you change parser.y you will need to rebuild parser.cpp, to do so use parse.bat< / p >
2003-07-16 21:40:47 +02:00
< 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 >
2003-07-04 21:21:21 +02:00
< p > Remember, you need sed and innosetup in the path to build the installer< / p >
2003-07-07 13:34:09 +02:00
< ul >
2003-07-04 21:21:21 +02:00
< li > Open a command line window.< / li >
2003-07-11 12:01:16 +02:00
< li > Go to the firebird2\builds\install\arch-specific\win32 directory.< / li >
2003-07-04 21:21:21 +02:00
< li > The batch to build the installer is< br >
2003-07-05 04:35:41 +02:00
BuildExecutableInstall.bat [DEBUG] [CS]< br >
Where DEBUG means if the build is a debug one or not and CS means classic server installer.< / li >
2003-07-07 13:34:09 +02:00
< 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 >
2003-07-11 12:59:01 +02:00
< 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 >
2006-05-27 20:07:27 +02:00
< 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 >
2003-07-11 12:59:01 +02:00
< 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 >
2003-07-04 14:40:38 +02:00
< / blockquote >
< / BODY >
< / HTML >