[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