From 5f22989f027c2a60c10527dcd0aaee0505adaad3 Mon Sep 17 00:00:00 2001 From: Patrick Lehmann Date: Sat, 4 Mar 2017 22:24:19 +0100 Subject: Added how to download GHDL sources. --- doc/building/Building.rst | 22 ++++--- doc/getting/Releases.rst | 158 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 170 insertions(+), 10 deletions(-) diff --git a/doc/building/Building.rst b/doc/building/Building.rst index 16d087342..a8d0e6908 100644 --- a/doc/building/Building.rst +++ b/doc/building/Building.rst @@ -21,26 +21,28 @@ page for further details. The installation directory is referred to as ``GHDLRoo .. rubric:: Available back-ends GHDL currently supports three supported different back-ends (code generators): -* `mcode` (built-in), -* `GCC `_, and -* `LLVM `_ . + +* mcode - built-in x86(or x86_64) code generator, +* `GCC - Gnu Compiler Collection `_, and +* `LLVM - Low-Level Virtual Machine `_ . Here is a short comparison, so that you can choose the one you want to use: +----------------------------+----------------------------------------------------------------------------+---------------------------------------------------------+ | Back-end | Pros | Cons | +============================+============================================================================+=========================================================+ -| :ref:`mcode ` | * Very easy to build | * ``x86_64``/``i386`` only | -| | * Very quick analysis | * Simulation is slower | +| :ref:`mcode ` | * Very easy to build | * Simulation is slower | +| | * Very quick analysis | * x86_64/i386 only | | | * Can handle very large designs | | +----------------------------+----------------------------------------------------------------------------+---------------------------------------------------------+ -| :ref:`GCC ` | * Generated code is faster (particularly with ``-O`` or ``-O2``) | * Analysis can take time (particularly for large units) | -| | * Generated code can be debugged (with ``-g``) | * Build is more complex | -| | * Ported to many platforms (``x86``, ``x86_64``, ``powerpc``, ``sparc``) | * Code coverage collection (``gcov``) is unique to GCC | -+----------------------------+----------------------------------------------------------------------------+---------------------------------------------------------+ -| :ref:`LLVM ` | * Same as GCC | | +| :ref:`LLVM ` | * Generated code is faster | * Build is more complex | +| | * Generated code can be debugged (with ``-g``) | | | | * Easier to build than GCC | | +----------------------------+----------------------------------------------------------------------------+---------------------------------------------------------+ +| :ref:`GCC ` | * Generated code is faster (particularly with ``-O`` or ``-O2``) | * Build is even more complex | +| | * Generated code can be debugged (with ``-g``) | * Analysis can take time (particularly for large units) | +| | * Ported to many platforms (x86, x86_64, PowerPC, SPARC) | * Code coverage collection (``gcov``) is unique to GCC | ++----------------------------+----------------------------------------------------------------------------+---------------------------------------------------------+ .. toctree:: :hidden: diff --git a/doc/getting/Releases.rst b/doc/getting/Releases.rst index 60b44591b..f23fc0f80 100644 --- a/doc/getting/Releases.rst +++ b/doc/getting/Releases.rst @@ -3,6 +3,164 @@ Releases ######## +.. contents:: Contents of this Page + :local: + +.. _RELEASE:packages: + +Downloading pre-build packages +****************************** + +.. |Ubu1204-llvm38| image:: https://img.shields.io/github/downloads/tgingold/ghdl/2017-03-01/ghdl-0.34-dev-llvm-3.8-2017-03-01-ubu1204.tgz.svg + :target: https://github.com/tgingold/ghdl/releases/download/2017-03-01/ghdl-0.34-dev-llvm-3.8-2017-03-01-ubu1204.tgz + :alt: ghdl-0.34-dev-llvm-3.5-2017-03-01-ubu1404.tgz +.. |Ubu1404-llvm35| image:: https://img.shields.io/github/downloads/tgingold/ghdl/2017-03-01/ghdl-0.34-dev-llvm-3.5-2017-03-01-ubu1404.tgz.svg + :target: https://github.com/tgingold/ghdl/releases/download/2017-03-01/ghdl-0.34-dev-llvm-3.5-2017-03-01-ubu1404.tgz + :alt: ghdl-0.34-dev-llvm-3.5-2017-03-01-ubu1404.tgz +.. |Fed-llvm| image:: https://img.shields.io/github/downloads/tgingold/ghdl/2017-03-01/ghdl-0.34-dev-llvm-2017-03-01-fed.tgz.svg + :target: https://github.com/tgingold/ghdl/releases/download/2017-03-01/ghdl-0.34-dev-llvm-2017-03-01-fed.tgz + :alt: ghdl-0.34-dev-llvm-2017-03-01-fed.tgz +.. |Fed-mcode| image:: https://img.shields.io/github/downloads/tgingold/ghdl/2017-03-01/ghdl-0.34-dev-mcode-2017-03-01-fed.tgz.svg + :target: https://github.com/tgingold/ghdl/releases/download/2017-03-01/ghdl-0.34-dev-mcode-2017-03-01-fed.tgz + :alt: ghdl-0.34-dev-mcode-2017-03-01-fed.tgz +.. |Win32-mcode| image:: https://img.shields.io/github/downloads/tgingold/ghdl/2017-03-01/ghdl-0.34-dev-mcode-2017-03-01-win32.tgz.svg + :target: https://github.com/tgingold/ghdl/releases/download/2017-03-01/ghdl-0.34-dev-mcode-2017-03-01-win32.tgz + :alt: ghdl-0.34-dev-mcode-2017-03-01-win32.tgz + ++--------------+----------+-----------+--------------------+ +| OS | Backend | Filesize | Downloads | ++==============+==========+===========+====================+ +| Ubuntu 12.04 | LLVM 3.8 | 13.8 MiB | |Ubu1204-llvm38| | ++--------------+----------+-----------+--------------------+ +| Ubuntu 14.04 | LLVM 3.5 | 11.9 MiB | |Ubu1404-llvm35| | ++--------------+----------+-----------+--------------------+ +| Fedora | LLVM | 6.58 MiB | |Fed-llvm| | ++--------------+----------+-----------+--------------------+ +| Fedora | mcode | 2.75 MiB | |Fed-mcode| | ++--------------+----------+-----------+--------------------+ +| Windows x86 | mcode | 5.25 MiB | |Win32-mcode| | ++--------------+----------+-----------+--------------------+ + + + +.. _RELEASE:Sources: + +Downloading Source Files +************************ + +.. _RELEASE:Sources:Zip: + +Downloading from GitHub +======================= + +GHDL can be downloaded as a zip-file from GitHub. See the following table, to +choose your desired git branch. + +.. |zip-master| image:: /_static/icons/ZIP.png + :scale: 40 + :target: https://github.com/tgingold/ghdl/archive/master.zip + :alt: Source Code from GitHub - 'master' branch. +.. |zip-release| image:: /_static/icons/ZIP.png + :scale: 40 + :target: https://github.com/tgingold/ghdl/archive/release.zip + :alt: Source Code from GitHub - 'release' branch. + ++----------+------------------------+ +| Branch | Download Link | ++==========+========================+ +| master | zip-file |zip-master| | ++----------+------------------------+ +| release | zip-file |zip-release| | ++----------+------------------------+ + + +.. _RELEASE:Sources:GitClone: + +Downloading via ``git clone`` +============================= + +GHDL can be downloaded (cloned) with ``git clone`` from GitHub. GitHub offers +the transfer protocols HTTPS and SSH. You should use SSH if you have a GitHub +account and have already uploaded an OpenSSH public key to GitHub, otherwise +use HTTPS if you have no account or you want to use login credentials. + +The created folder :file:`\\ghdl` is used as :file:`` in +later instructions or on other pages in this documentation. + ++----------+----------------------------------------+ +| Protocol | GitHub Repository URL | ++==========+========================================+ +| HTTPS | https://github.com/tgingold/ghdl.git | ++----------+----------------------------------------+ +| SSH | ssh://git@github.com:tgingold/ghdl.git | ++----------+----------------------------------------+ + + +On Linux +-------- + +Command line instructions to clone GHDL onto a Linux machine with HTTPS +protocol: + +.. code-block:: Bash + + cd GitRoot + git clone "https://github.com/tgingold/ghdl.git" ghdl + cd ghdl + git remote rename origin github + +Command line instructions to clone GHDL onto a Linux machine machine with SSH +protocol: + +.. code-block:: Bash + + cd GitRoot + git clone "ssh://git@github.com:tgingold/ghdl.git" ghdl + cd ghdl + git remote rename origin github + + +On OS X +------- + +Please see the Linux instructions. + + +On Windows +---------- + +.. NOTE:: + + All Windows command line instructions are intended for :program:`Windows PowerShell`, + if not marked otherwise. So executing the following instructions in Windows + Command Prompt (:program:`cmd.exe`) won't function or result in errors! See + the :ref:`Requirements section ` on where to + download or update PowerShell. + +Command line instructions to clone GHDL onto a Windows machine with HTTPS +protocol: + +.. code-block:: PowerShell + + cd GitRoot + git clone "https://github.com/tgingold/ghdl.git" ghdl + cd ghdl + git remote rename origin github + +Command line instructions to clone GHDL onto a Windows machine with SSH +protocol: + +.. code-block:: PowerShell + + cd GitRoot + git clone "ssh://git@github.com:tgingold/ghdl.git" ghdl + cd ghdl + git remote rename origin github + + + +--------------------------------------------------------------------- + .. TODO:: - Naming: -- cgit v1.2.3