aboutsummaryrefslogtreecommitdiffstats
path: root/README
diff options
context:
space:
mode:
Diffstat (limited to 'README')
-rw-r--r--README31
1 files changed, 27 insertions, 4 deletions
diff --git a/README b/README
index 6d5e8f9a5..0a9dfae21 100644
--- a/README
+++ b/README
@@ -4,6 +4,9 @@ GHDL is free software. See the file COPYING for copying permission.
The manuals, and some of the runtime libraries, are under different
terms; see the individual source files for details.
+### Creating a source tar. ###
+##############################
+
GHDL requires GCC to be compiled. The exact version of GCC is defined in
./translate/gcc/dist.sh, in the GCCVERSION= line. Do not try to change the
version, this may not compile or create a buggy compiler.
@@ -19,6 +22,9 @@ $ ./dist.sh sources
# This generates a ghdl-VERSION.tar.bz2 file.
+### Compiling for development. ###
+###################################
+
These steps can make GHDL development hard. You can avoid to compile GCC
everytime. To do this, edit ortho/gcc/Makefile and set two variables:
AGCC_GCCSRC_DIR is the GCC sources directory, while AGCC_GCCOBJ_DIR is where
@@ -27,17 +33,34 @@ the GHDL back-end (ghdl1) in ./translate:
$ make BE=gcc
the GHDL driver in ./translate/ghdldrv:
$ make ghdl_gcc
-the GHDL run-time (GRT) in ./translate/grt:
+the VHDL libraries:
+ $ cd translate/ghdldrv
+ $ make install.all
+and the GHDL run-time (GRT) in ./translate/grt:
$ make
To use this GRT, you must create two links in translate/lib:
$ ln -s ../grt/grt.lst .
$ ln -s ../grt/libgrt.a .
-You should also compile the VHDL libraries:
- $ cd translate/ghdldrv
- $ make install.all
Once this is done, you can use the ghdl_gcc from translate/ghdldrv.
+### Compiling and using the debug back-end. ###
+################################################
+
+Debugging GHDL outputs can be very difficuly with the GCC back-end, since you
+don't see the high level code generated by GHDL. To help debugging the
+translator, I have written a debug back-end. This back-end is used instead of
+the GCC back-end and displays pseudo-code (as well as declarations). This
+pseudo-code can be then compiled with a reader.
+To compile it, go to ./translate:
+ $ make BE=debug
+This creates a ghdl1-debug. Then go to ./ortho/oread and compile the reader:
+ $ make BE=gcc
+You can now use this chain by adding the '--post' option to the ghdl driver:
+ $ ghdl_gcc -a --post my_file.vhdl
+This creates an intermediate file my_file.on, which is then compiled by
+ oread-gcc.
+
Tristan.