[yocto] gcc enable-languages

Dat Tran dtran11 at gmail.com
Fri Jun 14 10:53:55 PDT 2013


Paul Eggleton <paul.eggleton at ...> writes:

> 
> On Friday 14 June 2013 04:04:07 Dat Tran wrote:
> > Anyone know of any clues that will help us? Thanks.
> > 
> > Edward Vidal <vidal.develone <at> ...> writes:
> > > Dat Tran <dtran11 at gmail.com> wrote 
> > > > Hello,
> > > > 
> > > > I want to add support for FORTRAN in my image.
> > > > On target gcc -v shows --enable-languages=c,c++
> > > > This needs to --enable-languages=c,c++,fortran.based on my host 
system.
> > > > How does the variable FORTRAN in
> > > 
> > > /home/vidal/POKY/build032813_panda/poky/meta/recipes-devtools/gcc/gcc-
> > > configure-common.inc get set?  Can this be done in the local.conf 
file?
> > > 
> > > > Does the FORTRAN ?= ",f77" this need to be FORTRAN ?= ",fortran" 
since
> > > > we are building gcc4.7?
> 
> I have no direct knowledge of how to enable language support, but if you 
look 
> at meta/recipes-devtools/gcc/gcc-4.7.inc you'll see it sets FORTRAN = "", 
> which means setting it with = in local.conf won't work (since local.conf 
> parsing comes before recipes) nor will the FORTRAN ?= setting in 
meta/recipes-
> devtools/gcc/gcc-configure-common.inc. 
> 
> I'd suggest bbappending the appropriate gcc recipe and set FORTRAN there 
> (which one depends on where you want to compile fortran code; gcc-cross 
would 
> be the right one for building a recipe for fortran software to run on the 
> target). You may need to set other variables in the bbappend as well, I'm 
not 
> entirely sure.
> 
> An example of a layer that does something similar would be the meta-ada 
layer:
> 
> https://github.com/Lucretia/meta-ada
> 
> Cheers,
> Paul
> 


Paul, thanks for your suggestions. I think you are right in that there are 
more settings we need to set. Here is what I had done with no success:


diff --git a/meta/recipes-devtools/gcc/gcc-4.7.inc b/meta/recipes-
devtools/gcc/gcc-4.7.inc
index 1a3e09b..3c48232 100644
--- a/meta/recipes-devtools/gcc/gcc-4.7.inc
+++ b/meta/recipes-devtools/gcc/gcc-4.7.inc
@@ -82,7 +82,7 @@ S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/gcc-${PV}"
 B = "${WORKDIR}/gcc-${PV}/build.${HOST_SYS}.${TARGET_SYS}"
 
 # Language Overrides
-FORTRAN = ""
+FORTRAN = ",fortran"
 JAVA = ""
 
 EXTRA_OECONF_BASE = " --enable-lto \
diff --git a/meta/recipes-devtools/gcc/gcc-configure-common.inc 
b/meta/recipes-devtools/gcc/gcc-configure-common.inc
index 4eb59fd..48dd606 100644
--- a/meta/recipes-devtools/gcc/gcc-configure-common.inc
+++ b/meta/recipes-devtools/gcc/gcc-configure-common.inc
@@ -10,7 +10,7 @@ JAVA_armeb ?= ""
 JAVA_mipsel ?= ""
 JAVA_sh3 ?= ""
 # gcc 3.x expects 'f77', 4.0 expects 'f95', 4.1 and 4.2 expect 'fortran'
-FORTRAN ?= ",f77"
+FORTRAN = ",fortran"
 LANGUAGES ?= "c,c++${FORTRAN}${JAVA}"
 # disable --enable-target-optspace for powerpc SPE
 # at -Os libgcc.so.1 creates references into
diff --git a/meta/recipes-devtools/gcc/gcc-configure-runtime.inc 
b/meta/recipes-devtools/gcc/gcc-configure-runtime.inc
index d40383c..4c641f2 100644
--- a/meta/recipes-devtools/gcc/gcc-configure-runtime.inc
+++ b/meta/recipes-devtools/gcc/gcc-configure-runtime.inc
@@ -7,7 +7,7 @@ EXTRA_OECONF_PATHS = " \
     --with-sysroot=${STAGING_DIR_TARGET} \
     --with-build-sysroot=${STAGING_DIR_TARGET}"
 
-RUNTIMETARGET = "libssp libstdc++-v3"
+RUNTIMETARGET = "libgfortran libssp libstdc++-v3"
 RUNTIMETARGET_append_powerpc = " libgomp"
 RUNTIMETARGET_append_powerpc64 = " libgomp"
 #  ?





More information about the yocto mailing list