aboutsummaryrefslogtreecommitdiffstats
path: root/doc/oldmds
diff options
context:
space:
mode:
Diffstat (limited to 'doc/oldmds')
-rw-r--r--doc/oldmds/BUILD.txt140
-rw-r--r--doc/oldmds/STYLE90
-rw-r--r--doc/oldmds/gcc/INSTALL21
-rw-r--r--doc/oldmds/gcc/README51
-rw-r--r--doc/oldmds/mcode-README47
5 files changed, 0 insertions, 349 deletions
diff --git a/doc/oldmds/BUILD.txt b/doc/oldmds/BUILD.txt
deleted file mode 100644
index 27029b757..000000000
--- a/doc/oldmds/BUILD.txt
+++ /dev/null
@@ -1,140 +0,0 @@
-Build GHDL (Long instructions)
-******************************
-
-GHDL supports many backend (code generator), so you first must choose
-the backend you want to use. There are currently 3 supported backends:
-
-* gcc
-* mcode (this is an internal code generator for x86_64 and i386)
-* llvm (experimental)
-
-Here is a short comparaison:
-
-* gcc:
-+ generated code is faster (particularly with -O or -O2)
-+ generated code can be debugged (with -g)
-+ the output is an executable
-+ ported to many platforms (x86, x86_64, powerpc, sparc)
-- analyze can takes time (particularly for big units)
-- build is more complex
-
-* mcode
-+ very easy to build
-- but x86_64/i386 only
-+ very quick analysis time
-+ can analyze very big designs
-- simulation is slower
-- no executable created
-
-* llvm
-+ same advantages of gcc (good generated code, debuggable)
-+ easier to build than gcc
-
-As GHDL is written in Ada, you need to use the GNU Ada compiler (GNAT).
-I recommend to use GNAT GPL from http://libre.adacore.com (free).
-GHDL was tested with GNAT GPL 2014. Any later version should work.
-The only other dependency is zlib (On ubuntu/debian, install zlib1g-dev).
-
-On UNIX and MinGW systems, you also need standard utilities like sh,
-cmp or make. On MSYS2 packages msys/diffutils and msys/make must be
-installed.
-
-In these instructions, the configure script is executed in the source
-directory; but you can execute in a different directory too, like
-this:
-$ mkdir ghdl-objs
-$ cd ghdl-objs
-$ ../path/to/ghdl/configure ...
-
-Building with mcode backend
-***************************
-
-This is as simple as:
-$ ./configure --prefix=PREFIX
- where PREFIX is the directory for installation
-$ make
- This builds the ghdl_mcode executable, which can be used as is.
-$ make install
- To install within PREFIX
-
-Building with the gcc backend
-*****************************
-
-You need to download and untar the sources of
-gcc version 4.9.x, 5.x, 6.x or 7.x
-
-First configure ghdl, specify gcc source dir and prefix.
-(replace /usr/local by your prefix directory):
-$ ./configure --with-gcc=/path/to/gcc/source/dir --prefix=/usr/local
-
-Then invoke make to copy ghdl sources in the source dir:
-$ make copy-sources
-
-There are some dependencies for building gcc (gmp, mpfr and mpc). If you have
-not them installed on your system, you can either build them manually or use
-the 'download_prerequisite' script provided in gcc source tree (recommended).
-
-$ cd /path/to/gcc/source/dir
-$ ./contrib/download_prerequisites
-
-Then configure gcc. The list of --disable configure options could be
-adjusted for your needs. GHDL don't require all these optional
-libraries and disabling them speed-up the build. Note the prefix
-directory must be the same as the one used to configure ghdl.
-If you have manually built gmp/mpfr/mpc (without using the script
-in contrib) and if you have installed them in a non-standard
-directory, you may need to add --with-gmp=GMP_INSTALL_DIR.
-If your system gcc was configured with --enable-default-pie (check if
-that option appears in the output of gcc -v), you should also add it.
-
-$ mkdir gcc-objs; cd gcc-objs
-$ ../gcc-4.9.3/configure --prefix=/usr/local --enable-languages=c,vhdl \
- --disable-bootstrap --disable-lto --disable-multilib \
- --disable-libssp --disable-libgomp --disable-libquadmath
-$ make -j2
-
-Install gcc:
-$ make install
-or if you don't want to install makeinfo:
-$ make install MAKEINFO=true
-
-Build and install vhdl libraries:
-$ cd /path/to/ghdl/source/dir
-$ make ghdllib
-$ make install
-
-Building with the llvm backend
-******************************
-
-You need to build and install llvm. The supported versions are 3.5
-till 5.x, but only debugging is only supported with llvm 3.5
-(Usually llvm also depends on libedit).
-
-First configure ghdl with '--with-llvm-config'
-$ ./configure --with-llvm-config
-
-If llvm-config is not in your path, you can specify it:
-$ ./configure --with-llvm-config=LLVM_INSTALL/bin/llvm-config
-
-If you want to have stack backtraces on errors (like assert failure or
-index of out bounds), you need to configure and build libbacktrace from gcc
-(you don't need to configure gcc), and add to configure:
- --with-backtrace-lib=/path-to-gcc-build/libbacktrace/.libs/libbacktrace.a
-
-Then build with 'make' and install with 'make install'.
-
-Notes for developpers
-*********************
-
-Developping with the gcc backend:
-Once gcc (with ghdl) has been built once, it is possible to work on ghdl
-sources tree without copying them in gcc tree. Commands are:
-$ make ghdl1-gcc # To build the compiler
-$ make ghdl_gcc # To build the driver
-$ make libs.vhdl.local_gcc # To compile the vhdl libraries
-$ make grt-all # To build the ghdl runtime
-
-In src/ortho/gcc, create a Makefile.conf file that sets the following
-variables:
-AGCC_GCCSRC_DIR=/path/to/gcc/sources
-AGCC_GCCOBJ_DIR=/path/to/gcc/build
diff --git a/doc/oldmds/STYLE b/doc/oldmds/STYLE
deleted file mode 100644
index c7acb2756..000000000
--- a/doc/oldmds/STYLE
+++ /dev/null
@@ -1,90 +0,0 @@
-GHDL coding style
-*****************
-
-Ada subset: use only a simple (VHDL like) subset of Ada: no tasking, no
-controlled types... VHDL users should easily understand that subset.
-Allowed Ada93 features: the standard library, child packages.
-Use assertions.
-
-We try to follow the 'GNU Coding Standards' when possible: comments before
-declarations, two spaces at end of sentences, finish sentences with a dot.
-But: 3 spaces for indentation.
-
-No trailing spaces, not TAB (HT).
-
-Subprograms must have a comment before to describe it, like:
- -- Analyze the concurrent statements of PARENT.
- procedure Sem_Concurrent_Statement_Chain (Parent : Iir);
-The line before the comment must be a blank line (unless this is the first
-declaration). Don't repeat the comment before the subprogram body.
-
-* For subprograms:
-1) Declare on one line when possible:
- function Translate_Static_Aggregate (Aggr : Iir) return O_Cnode
-
-2) If not possible, put the return on the next line:
- function Translate_Static_String (Str_Type : Iir; Str_Ident : Name_Id)
- return O_Cnode
-
-3) If not possible, put parameters and return on the next line:
- function Create_String_Literal_Var_Inner
- (Str : Iir; Element_Type : Iir; Str_Type : O_Tnode) return Var_Type
-
-4) If not possible, return on the next line:
- function Translate_Shortcut_Operator
- (Imp : Iir_Implicit_Function_Declaration; Left, Right : Iir)
- return O_Enode
-
-5) If not possible, one parameter per line, just after subprogram name:
- procedure Translate_Static_Aggregate_1 (List : in out O_Array_Aggr_List;
- Aggr : Iir;
- Info : Iir;
- El_Type : Iir)
-6) If not possible, add a return after subprogram name:
- function Translate_Predefined_TF_Array_Element
- (Op : Predefined_Boolean_Logical;
- Left, Right : Iir;
- Res_Type : Iir;
- Loc : Iir)
- return O_Enode
-
-7) If not possible, ask yourself what is wrong! Shorten a name.
-
-* Rule for the 'is': one a new line only if the declarative part is not empty:
- procedure Translate_Assign (Target : Mnode; Expr : Iir; Target_Type : Iir)
- is
- Val : O_Enode;
- begin
-vs
- function Translate_Static_Range_Dir (Expr : Iir) return O_Cnode is
- begin
-
-If the parametere line is too long with the 'is', put in on a separate line:
- procedure Predeclare_Scope_Type
- (Scope : in out Var_Scope_Type; Name : O_Ident) is
-
-* Generic instantiation: put the generic actual part on a new line:
- procedure Free is new Ada.Unchecked_Deallocation
- (Action_List, Action_List_Acc);
-
-* For if/then statement:
-1) 'then' on the same line:
- if Get_Expr_Staticness (Decl) = Locally then
-
-2) If not possible, 'then' is alone on its line aligned with the 'if':
- if Expr = Null_Iir
- or else Get_Kind (Expr) = Iir_Kind_Overflow_Literal
- then
-
-3) For a multiline condition, 'or else' and 'and then' should start lines.
-
-* 'Local' variable declaration:
-Do not initialize variables, constants must be declared before variables:
- is
- N_Info : constant Iir := Get_Sub_Aggregate_Info (Info);
- Assoc : Iir;
- Sub : Iir;
- begin
-If the initialization expression has a side effect (such as allocation), do
-not use a constant.
-
diff --git a/doc/oldmds/gcc/INSTALL b/doc/oldmds/gcc/INSTALL
deleted file mode 100644
index b341317b5..000000000
--- a/doc/oldmds/gcc/INSTALL
+++ /dev/null
@@ -1,21 +0,0 @@
-Install file for the binary distribution of GHDL.
-
-GHDL is Copyright 2002 - 2015 Tristan Gingold.
-GHDL is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2 of the License, or
-(at your option) any later version.
-
-The binary are installed in /usr/local directory. You cannot change this
-default location, unless you set links.
-
-You must be root to install this distribution.
-
-To install ghdl:
-$ su
-# tar -C / -jxvf @TARFILE@.tar.bz2
-
-Note: you must also have a C compiler and zlib installed.
-
-Tristan Gingold.
-
diff --git a/doc/oldmds/gcc/README b/doc/oldmds/gcc/README
deleted file mode 100644
index c58e0f923..000000000
--- a/doc/oldmds/gcc/README
+++ /dev/null
@@ -1,51 +0,0 @@
-This is the README from the source distribution of GHDL.
-
-To get the binary distribution or more information, go to:
- https://github.com/tgingold/ghdl
-
-Copyright:
-**********
-GHDL is copyright (c) 2002 - 2015 Tristan Gingold.
-See the GHDL manual for more details.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA.
-
-
-Building GHDL from sources:
-***************************
-
-See BUILD.txt
-
-Please report bugs and issues on https://github.com/tgingold/ghdl/issues
-
-If you cannot compile, please report the gcc version, GNAT version and gcc
-source version.
-
-* Note for ppc64 (and AIX ?) platform:
-The object file format contains an identifier for the source language. Because
-gcc doesn't know about the VHDL, gcc crashes very early. This could be fixed
-with a very simple change in gcc/config/rs6000/rs6000.c,
-function rs6000_output_function_epilogue (as of gcc 4.8):
- else if (! strcmp (language_string, "GNU Objective-C"))
- i = 14;
- else
-- gcc_unreachable ();
-+ i = 0;
- fprintf (file, "%d,", i);
-
- /* 8 single bit fields: global linkage (not set for C extern linkage,
-
-Tristan Gingold.
diff --git a/doc/oldmds/mcode-README b/doc/oldmds/mcode-README
deleted file mode 100644
index 1e591b0b5..000000000
--- a/doc/oldmds/mcode-README
+++ /dev/null
@@ -1,47 +0,0 @@
-This is the README from the source distribution of GHDL.
-
-To get the binary distribution or more information, go to http://ghdl.free.fr
-
-Copyright:
-**********
-GHDL is copyright (c) 2002, 2003, 2004, 2005 Tristan Gingold.
-See the GHDL manual for more details.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA.
-
-
-Building GHDL from sources for Windows:
-***************************************
-
-Note: this was tested with Windows XP SP2 familly edition.
-
-Note: If you want to create the installer, GHDL should be built on a
-FAT partition. NSIS rounds files date to be FAT compliant (seconds are always
-even) and because GHDL stores dates, the files date must not be modified.
-
-Required:
-* the Ada95 GNAT compiler (GNAT GPL 2005 is known to work).
-* NSIS to create the installer.
-
-Unzip,
-edit winbuild to use correct path for makensis,
-run winbuild.
-
-The installer is in the windows directory.
-
-Send bugs and comments on https://github.com/tgingold/ghdl
-
-Tristan Gingold.