.. _Build Configurations:

Build Configurations
====================

.. rst-class:: lead

  In order to provide advanced functionality (like hyperlinks, autocomplete, design and class hierarchy, error signaling, etc.) DVT analyzes the source code files in your project. This analysis process is called **build** and it is performed by the **DVT internal builder** (also referred to as **internal builder** or **DVT builder** or **DVT parser**). For convenience, **build** is synonym with **code compilation** or **code analysis**.

The internal builder performs an initial **full build** of your project (a **full build** can also be triggered on demand). As you change sources, DVT performs an **incremental build (incremental compilation)**, that is it analyzes only the changes. Unless the **build automatically** preference is turned off, an incremental build is performed as soon as you save or as soon as DVT detects some idle time after you changed the code.

DVT includes standard compliant code parsers. During the build process it creates an internal representation of the code. This representation is called the internal DVT **dictionary**, **index**, **database** or **model**. This model is partially serialized on the disk, so that subsequent tool invocations don't require a full build. See :ref:`Build Persistence` for more details.

In order to build, the internal builder uses the arguments that you specify in the :ref:`current build<Multiple .build Files>` file. A **build file** is one of the **<name>.build** files located in the **.dvt** folder of your project.

**Blue bullet** decorations indicate if a file is compiled, for example in the Navigator View.

.. list-table::
   :header-rows: 0
   :widths: 30 70

   * - .. figure:: ../../images/dvt-top-file-indication.png
        :align: center

     -  This is a compiled file.
   * - .. figure:: ../../images/dvt-irrelevant-file-indication.png
        :align: center

     -  This file is not compiled.


.. toctree:: 

   non-top-files.rst
   default-build.rst
   auto-config.rst
   simulator-log-config.rst
   emulating-compiler-invocations.rst
   multiple-build-files.rst
   compatibility-modes.rst
   paths.rst
   strings.rst
   comments.rst
   environment-variables.rst
   including-other-argument-files.rst
   reusing_configuration_files.rst
   build-persistence.rst
   dvt-auto-linked.rst
   run-a-script-before-build.rst
   all-build-directives.rst
   e-language-test-files.rst
   e-language-specman_path.rst
   ovm-or-uvm-library-compilation.rst
   xilinx-libraries-compilation.rst
   altera-libraries-compilation.rst
   questa-libraries-compilation.rst
   use-of-external-programs.rst
