From 3f5cd97cc29039f8f153541808ca85938c00eef4 Mon Sep 17 00:00:00 2001
From: Patrick Lehmann <Patrick.Lehmann@tu-dresden.de>
Date: Sat, 4 Mar 2017 20:36:18 +0100
Subject: Restructured build section. Created smaller files. Created (hidden)
 sub-ToCs. Added out-dated build instructions for Windows GNAT GPL flow from
 private README.md.

---
 doc/building/Directories.rst | 59 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 59 insertions(+)
 create mode 100644 doc/building/Directories.rst

(limited to 'doc/building/Directories.rst')

diff --git a/doc/building/Directories.rst b/doc/building/Directories.rst
new file mode 100644
index 000000000..e7b054a7d
--- /dev/null
+++ b/doc/building/Directories.rst
@@ -0,0 +1,59 @@
+.. _BUILD:dir_structure:
+
+Directory Structure
+###################
+
+* :samp:`src`: sources of GHDL, all of them in Ada.
+
+* :samp:`libraries`: mostly third party libraries such as, `ieee`, `mentor`,
+  `std`, `synopsys` and `vital`. Except 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 can
+    not 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 :samp:`libraries/vendor`.
+    See Vendor Primitives <VendorPrimitives.html> for information on how to
+    use them.
+	
+* :samp:`dist`: scripts and auxiliar files to build GHDL in different
+  environments:
+  
+  * :samp:`gcc`: header and configuration files to build GHDL with GCC (all the
+    platforms).
+  * :samp:`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/>`_.
+  
+  * :samp:`windows`:
+    
+    * :samp:`mcode`:
+    * :samp:`appveyor`: 
+  	
+* :samp:`doc`: `Markdown` and `reStructuredText` sources and auxiliary files to
+  build the documentation with `Sphinx <http://www.sphinx-doc.org>`_. Indeed,
+  `Read the docs <http://readthedocs.org>`_ (RTD) is used to automatically build
+  and deploy this site and/or PDF you are reading.
+
+* :samp:`testsuite`: see section :ref:`test_suites`.
+
+* `.yml` configuration files for CI environments (:samp:`readthedocs`,
+  :samp:`travis` and :samp:`appveyor`) and `ignore` files for source control
+  management tools (:samp:`git` and :samp:`.hg`).
+
+* Files for building GHDL: :samp:`configure` and :samp:`Makefile.in`.
+
+* Auxiliar files for development: :samp:`.gdbinit` and :samp:`ghdl.gpr.in`
+  (GNAT project file).
+
+* Text files: :samp:`COPYING.md`, :samp:`NEWS.md` and :samp:`README.md`.
+
+
+.. TODO::
+
+	- [@1138-4EB|@Paebbels] Replace link to VendorPrimitives, when the file is translated from md to rst.
+	
+	- [@Paebbels] Add brief description of how the content in dist/windows is ordered. From :ghdlsharp:`279`:
+		- The content in dist/appveyor is for the AppVeyor flow. AppVeyor is a continuous integration service like Travis-CI, but is offers a Windows Server 2012 R2 machine. The AppVeyor flow has more scripts than the Travis-CI flow, so we put them into a separate directory.
+		- The code in dist/windows/mcode is special code needed to build mcode in windows. mcode is supported on Linux (32/64-bit) and Windows (32-bit).
-- 
cgit v1.2.3