GCC Backend on GNU/Linux with GCC/GNAT¶
Hint
There are some dependencies for building GCC (gmp
, mpfr
and mpc
). If you have not installed them on your system, you can either build them manually or use the download_prerequisites
script provided in the GCC source tree (recommended): cd /path/to/gcc/source/dir && ./contrib/download_prerequisites
.
- First configure GHDL, specify GCC source directory and installation prefix (like
/usr/local
or/opt/ghdl
). - Next, invoke
make copy-sources
to copy GHDL sources in the source directory. - Then, configure GCC. The list of
--disable
configure options can be adjusted to your needs. GHDL does not require all these optional libraries and disabling them will speed up the build. - Now, build and install GCC with
make
. - Last, build and install GHDL libraries.
Example:
$ cd <ghdl>
$ mkdir build
$ cd build
$ ../configure --with-gcc=/path/to/gcc/source/dir --prefix=/usr/local
$ make copy-sources
$ mkdir gcc-objs; cd gcc-objs
$ /path/to/gcc/source/dir/configure --prefix=/usr/local --enable-languages=c,vhdl \
--disable-bootstrap --disable-lto --disable-multilib --disable-libssp \
--disable-libgomp --disable-libquadmath
$ make -j2 && make install
$ cd /path/to/ghdl/source/dir
$ make ghdllib
$ make install
Hint
Note that the prefix directory to configure gcc
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
.
Hint
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.
Hint
If you don’t want to install makeinfo
, do make install MAKEINFO=true
instead.