gcc: fix Fortran support

This commit fixes the Fortran support in the gcc package by making
sure that the runtime Fortran library is properly installed to the
target.

It also takes this opportunity to slightly reword the Config.in option
help text, to no longer mention gcc < 4.2 since they are no longer
supported in Buildroot, and to have a more meaningful explanation.

Finally, it fixes the gcc-final.mk code to use the correct
BR2_INSTALL_FORTRAN option rather than the non-existing
BR2_GCC_CROSS_FORTRAN option, to decide whether Fortran support should
be enabled or not in the cross-compiler.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
This commit is contained in:
Thomas Petazzoni 2013-09-02 18:06:30 +02:00 committed by Peter Korsgaard
parent 2babed4a50
commit 69a534b2aa
2 changed files with 9 additions and 5 deletions

View File

@ -119,13 +119,13 @@ config BR2_INSTALL_OBJC
Build/install Objective-C compiler and runtime? Build/install Objective-C compiler and runtime?
config BR2_INSTALL_FORTRAN config BR2_INSTALL_FORTRAN
bool "Build/install Fortran compiler and runtime?" bool "Enable Fortran support"
depends on !BR2_avr32 depends on !BR2_avr32
select BR2_PACKAGE_LIBMPFR select BR2_PACKAGE_LIBMPFR
help help
Build/install Fortran compiler and runtime? Enable the support for the Fortran language in the
Note that it is highly recommended NOT to use gfortran cross-compiler, and install the Fortran runtime to the
from gcc older than 4.2.0 target.
config BR2_GCC_ENABLE_TLS config BR2_GCC_ENABLE_TLS
bool "Enable compiler tls support" if BR2_TOOLCHAIN_BUILDROOT_UCLIBC bool "Enable compiler tls support" if BR2_TOOLCHAIN_BUILDROOT_UCLIBC

View File

@ -34,7 +34,7 @@ HOST_GCC_FINAL_PRE_CONFIGURE_HOOKS += HOST_GCC_FINAL_CONFIGURE_SYMLINK
# Languages supported by the cross-compiler # Languages supported by the cross-compiler
GCC_FINAL_CROSS_LANGUAGES-y = c GCC_FINAL_CROSS_LANGUAGES-y = c
GCC_FINAL_CROSS_LANGUAGES-$(BR2_INSTALL_LIBSTDCPP) += c++ GCC_FINAL_CROSS_LANGUAGES-$(BR2_INSTALL_LIBSTDCPP) += c++
GCC_FINAL_CROSS_LANGUAGES-$(BR2_GCC_CROSS_FORTRAN) += fortran GCC_FINAL_CROSS_LANGUAGES-$(BR2_INSTALL_FORTRAN) += fortran
GCC_FINAL_CROSS_LANGUAGES-$(BR2_GCC_CROSS_OBJC) += objc GCC_FINAL_CROSS_LANGUAGES-$(BR2_GCC_CROSS_OBJC) += objc
GCC_FINAL_CROSS_LANGUAGES = $(subst $(space),$(comma),$(GCC_FINAL_CROSS_LANGUAGES-y)) GCC_FINAL_CROSS_LANGUAGES = $(subst $(space),$(comma),$(GCC_FINAL_CROSS_LANGUAGES-y))
@ -116,6 +116,10 @@ ifeq ($(BR2_GCC_ENABLE_OPENMP),y)
HOST_GCC_FINAL_USR_LIBS += libgomp HOST_GCC_FINAL_USR_LIBS += libgomp
endif endif
ifeq ($(BR2_INSTALL_FORTRAN),y)
HOST_GCC_FINAL_USR_LIBS += libgfortran
endif
ifneq ($(HOST_GCC_FINAL_USR_LIBS),) ifneq ($(HOST_GCC_FINAL_USR_LIBS),)
define HOST_GCC_FINAL_INSTALL_USR_LIBS define HOST_GCC_FINAL_INSTALL_USR_LIBS
mkdir -p $(TARGET_DIR)/usr/lib mkdir -p $(TARGET_DIR)/usr/lib