diff options
Diffstat (limited to 'README')
-rw-r--r-- | README | 31 |
1 files changed, 27 insertions, 4 deletions
@@ -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. |