VisualStudio Build Notes


Last Update: November 6 2003
Author: Blas Rodriguez Somoza blas@puertareal.com

0.-Introduction

There are two VisualStudio builds, msvc6 and msvc7. The msvc6 build is currently the official build environment for Firebird in a win32 environment.

Under the directory where you placed the Firebird sources you will see the following directories

After you have built Firebird the following temporary directories will be created.

1.-TODO

2.-Pre-requisites

To prepare the standard msvc6 build of FB you need to:

If you intend to modify the dsql parser file (parse.y) you will need a parser generator, bison or byacc (Berkeley yacc) and the sed utility. At this time byacc 1.9 is the official parser generator, although in the future it will be switched to bison. The tested versions of byacc are 1.9 or newer and for bison 1.28 or newer.

If you intend to prepare an installable build, you will also need innosetup and the sed utility.

To download the utilities use the following links

2.-Installing the utilities

2.1.-Visual Studio

  1. Install VisualStudio 6/7
  2. If you use VisualStudio 6, before building Firebird and its tools, you need to apply some patches from the following site
    http://www.dinkumware.com/vc_fixes.html

2.2.-Sed and bison

2.3.-Inno setup

4.- Building

4.1.-Standard build

  1. Open a command line window.
  2. Go to the firebird2 builds\win32 directory.
  3. Run the following batch files in order (your version of VisualStudio is detected automatically)
    1. prepare.bat [FIREBIRD] where FIREBIRD is equivalent to the root location of your running Firebird server e.g. C:\Program Files\Firebird.
    2. make_boot.bat
    3. make_all.bat [DEBUG] [CLEAN]
    4. make_examples.bat [DEBUG] [CLEAN] (this is only needed if you want to build the examples)

4.2.-Parser rebuild

Remember, you will need sed and bison or yacc in the path to rebuild the parser

If you change parser.cpp or parser.sed you will need to rebuild parser.cpp, to do so use parser.bat

4.3.-Installer build

Remember, you need sed and innosetup in the path to build the installer