aboutsummaryrefslogtreecommitdiffstats
path: root/doc/getting/Directories.rst
diff options
context:
space:
mode:
Diffstat (limited to 'doc/getting/Directories.rst')
-rw-r--r--doc/getting/Directories.rst50
1 files changed, 50 insertions, 0 deletions
diff --git a/doc/getting/Directories.rst b/doc/getting/Directories.rst
new file mode 100644
index 000000000..2d5b575d8
--- /dev/null
+++ b/doc/getting/Directories.rst
@@ -0,0 +1,50 @@
+.. _BUILD:dir_structure:
+
+Directory structure
+###################
+
+* ``src``: sources of GHDL, all of them in Ada.
+
+* ``libraries``: mostly third party libraries such as, `ieee`, `mentor`,
+ `std`, `synopsys` and `vital`. Except for a few shell and `Python` scripts, all
+ the content is written in VHDL.
+
+ * Vendors like Altera, Lattice and Xilinx have their own simulation libraries,
+ especially for FPGA primitives, soft and hard macros. These libraries cannot
+ be shipped with GHDL, but we offer prepared compile scripts to
+ pre-compile the vendor libraries, if the vendor tool is present on the
+ computer. These are located in ``libraries/vendor``.
+ See :ref:`GETTING:PrecompVendor` for information on how to
+ use them.
+
+* ``dist``: scripts and auxiliary files to build GHDL in different
+ environments:
+
+ * ``gcc``: header and configuration files to build GHDL with GCC (all
+ platforms).
+ * ``linux``: build and test script written in shell, and other auxiliary
+ files used to i) launch docker containers and ii) automate multiple builds
+ in `Travis CI <https://travis-ci.org/>`_.
+
+ * ``windows``:
+
+ * ``mcode``:
+ * ``appveyor``:
+
+* ``doc``: `Markdown` and `reStructuredText` sources and auxiliary files to
+ build the documentation with `Sphinx <http://www.sphinx-doc.org>`_. In fact,
+ `Read the Docs <http://readthedocs.org>`_ (RTD) is used to automatically build
+ and deploy this site and/or PDF you are reading.
+
+* ``testsuite``: files used for testing.
+
+* `.yml` configuration files for CI environments (``readthedocs``,
+ ``travis``, and ``appveyor``) and `ignore` files for source control
+ management tools (``git`` and ``.hg``).
+
+* Files for building GHDL: ``configure`` and ``Makefile.in``.
+
+* Auxiliary files for development: ``.gdbinit`` and ``ghdl.gpr.in``
+ (GNAT project file).
+
+* Text files: ``COPYING.md``, ``NEWS.md``, and ``README.md``.