summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZhenqiang Chen <zhenqiang.chen@linaro.org>2013-11-19 06:44:02 (GMT)
committerZhenqiang Chen <zhenqiang.chen@linaro.org>2013-11-19 06:44:02 (GMT)
commit2f94f99dd875ea38982376254f59bc51f3754982 (patch)
tree3b96caab878508f12db41ff0ebf2643900f085c0
parentb9adbff8e1fe816a1c8bab8accc4c47cd5ac9118 (diff)
cc/gcc: Add Fortran support for Baremetal build
Signed-off-by: Zhenqiang Chen <zhenqiang.chen@linaro.org> [yann.morin.1998@free.fr: fix damage due to mailer] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Message-Id: <CACgzC7D5HCVS-qX=ydcQphNFH=VGgJzTdZWQWaLKAv-CdE8crA@mail.gmail.com> Patchwork-Id: 292703
-rw-r--r--config/cc.in4
-rw-r--r--scripts/build/cc/gcc.sh10
2 files changed, 12 insertions, 2 deletions
diff --git a/config/cc.in b/config/cc.in
index ff69727..dd4c52b 100644
--- a/config/cc.in
+++ b/config/cc.in
@@ -46,8 +46,6 @@ config CC_LANG_CXX
Only select this if you know that your specific version of the
compiler supports this language.
-if ! BARE_METAL
-
config CC_LANG_FORTRAN
bool
prompt "Fortran"
@@ -58,6 +56,8 @@ config CC_LANG_FORTRAN
Only select this if you know that your specific version of the
compiler supports this language.
+if ! BARE_METAL
+
config CC_LANG_JAVA
bool
prompt "Java"
diff --git a/scripts/build/cc/gcc.sh b/scripts/build/cc/gcc.sh
index 0824def..9042dc0 100644
--- a/scripts/build/cc/gcc.sh
+++ b/scripts/build/cc/gcc.sh
@@ -164,6 +164,7 @@ do_cc_core_pass_2() {
# lang_list : the list of languages to build : string : (empty)
# build_libgcc : build libgcc or not : bool : no
# build_libstdcxx : build libstdc++ or not : bool : no
+# build_libgfortran : build libgfortran or not : bool : no
# build_staticlinked : build statically linked or not : bool : no
# build_manuals : whether to build manuals or not : bool : no
# cflags : cflags to use : string : (empty)
@@ -173,6 +174,7 @@ do_cc_core_backend() {
local mode
local build_libgcc=no
local build_libstdcxx=no
+ local build_libgfortran=no
local build_staticlinked=no
local build_manuals=no
local host
@@ -457,6 +459,12 @@ do_cc_core_backend() {
core_targets+=( target-libstdc++-v3 )
fi
+ if [ "${build_libgfortran}" = "yes" \
+ -a "${CT_CC_LANG_FORTRAN}" = "y" \
+ ]; then
+ core_targets+=( target-libgfortran )
+ fi
+
CT_DoLog EXTRA "Building gcc"
CT_DoExecLog ALL make ${JOBSFLAGS} "${core_targets[@]/#/all-}"
@@ -521,6 +529,7 @@ do_cc_for_build() {
build_final_opts+=( "mode=baremetal" )
build_final_opts+=( "build_libgcc=yes" )
build_final_opts+=( "build_libstdcxx=yes" )
+ build_final_opts+=( "build_libgfortran=yes" )
if [ "${CT_STATIC_TOOLCHAIN}" = "y" ]; then
build_final_opts+=( "build_staticlinked=yes" )
fi
@@ -557,6 +566,7 @@ do_cc_for_host() {
final_opts+=( "mode=baremetal" )
final_opts+=( "build_libgcc=yes" )
final_opts+=( "build_libstdcxx=yes" )
+ final_opts+=( "build_libgfortran=yes" )
if [ "${CT_STATIC_TOOLCHAIN}" = "y" ]; then
final_opts+=( "build_staticlinked=yes" )
fi