Discussion:
Support for Flang and ARM HPC compiler
(too old to reply)
p***@foss.arm.com
2017-08-30 11:43:58 UTC
Permalink
Raw Message
Hello all,

This patch is a part of the cross-project set of patches
that soon will be sent to all of the relevant GNU Autotools
components: gnulib, autoconf, automake and libtool.

The purpose of this is to add awareness of the new LLVM Fortran
compiler (Flang) along with LLVM-derived ARM HPC Compilers.

These new compilers are recognized by their executable binary
names: flang, armflang, armclang, armclang++

Without those patches 'configure' script generates wrong set
of command-line flags.

Best regards,
Paul Osmialowski
p***@foss.arm.com
2017-08-30 11:43:59 UTC
Permalink
Raw Message
From: Paul Osmialowski <***@arm.com>

Signed-off-by: Paul Osmialowski <***@arm.com>
---
build-aux/config.rpath | 3 +++
m4/std-gnu11.m4 | 5 ++++-
2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/build-aux/config.rpath b/build-aux/config.rpath
index af3c41559..4e0419c9c 100755
--- a/build-aux/config.rpath
+++ b/build-aux/config.rpath
@@ -79,6 +79,9 @@ else
nagfor*)
wl='-Wl,-Wl,,'
;;
+ armflang* | flang*)
+ wl='-Wl,'
+ ;;
pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
wl='-Wl,'
;;
diff --git a/m4/std-gnu11.m4 b/m4/std-gnu11.m4
index 9dae9b1cc..87e8df7e5 100644
--- a/m4/std-gnu11.m4
+++ b/m4/std-gnu11.m4
@@ -59,6 +59,9 @@ if test -z "$CC"; then
AC_CHECK_TOOLS(CC, cl.exe)
fi
if test -z "$CC"; then
+ AC_CHECK_TOOL(CC, armclang)
+fi
+if test -z "$CC"; then
AC_CHECK_TOOL(CC, clang)
fi
])
@@ -126,7 +129,7 @@ if test -z "$CXX"; then
else
AC_CHECK_TOOLS(CXX,
[m4_default([$1],
- [g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++])],
+ [g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC armclang++ clang++])],
g++)
fi
fi
--
2.11.0 (Apple Git-81)
Paul Osmialowski
2017-09-29 17:31:18 UTC
Permalink
Raw Message
Hello,

I'm just kindly poking about this.
Post by p***@foss.arm.com
---
build-aux/config.rpath | 3 +++
m4/std-gnu11.m4 | 5 ++++-
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/build-aux/config.rpath b/build-aux/config.rpath
index af3c41559..4e0419c9c 100755
--- a/build-aux/config.rpath
+++ b/build-aux/config.rpath
@@ -79,6 +79,9 @@ else
nagfor*)
wl='-Wl,-Wl,,'
;;
+ armflang* | flang*)
+ wl='-Wl,'
+ ;;
pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
wl='-Wl,'
;;
diff --git a/m4/std-gnu11.m4 b/m4/std-gnu11.m4
index 9dae9b1cc..87e8df7e5 100644
--- a/m4/std-gnu11.m4
+++ b/m4/std-gnu11.m4
@@ -59,6 +59,9 @@ if test -z "$CC"; then
AC_CHECK_TOOLS(CC, cl.exe)
fi
if test -z "$CC"; then
+ AC_CHECK_TOOL(CC, armclang)
+fi
+if test -z "$CC"; then
AC_CHECK_TOOL(CC, clang)
fi
])
@@ -126,7 +129,7 @@ if test -z "$CXX"; then
else
AC_CHECK_TOOLS(CXX,
[m4_default([$1],
- [g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++])],
+ [g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC armclang++ clang++])],
g++)
fi
fi
Bruno Haible
2017-09-29 18:52:08 UTC
Permalink
Raw Message
Hi,
Post by Paul Osmialowski
I'm just kindly poking about this.
You see no reaction in gnulib because your mails to bug-gnulib were partially
misdirected and partially too early.

* You don't need to CC patches to autoconf-patches also to bug-gnulib [1].
In gnulib, we care about patches that *have been* committed into Autoconf's
git repository.

* The patch to gnulib/m4/std-gnu11.m4 is interesting to us *once* the
corresponding Autoconf patch [2] has been accepted.

* The patch to gnulib/build-aux/config.rpath is interesting to us *once* the
corresponding Libtool patch [3] has been accepted.

Bruno

[1] https://lists.gnu.org/archive/html/bug-gnulib/2017-08/msg00189.html
[2] https://lists.gnu.org/archive/html/autoconf-patches/2017-08/msg00013.html
[3] https://lists.gnu.org/archive/html/libtool-patches/2017-08/msg00002.html
p***@foss.arm.com
2017-08-30 12:01:19 UTC
Permalink
Raw Message
Hello all,

This patch is a part of the cross-project set of patches
that soon will be sent to all of the relevant GNU Autotools
components: gnulib, autoconf, automake and libtool.

The purpose of this is to add awareness of the new LLVM Fortran
compiler (Flang) along with LLVM-derived ARM HPC Compilers.

These new compilers are recognized by their executable binary
names: flang, armflang, armclang, armclang++

Without those patches 'configure' script generates wrong set
of command-line flags.

Best regards,
Paul Osmialowski
p***@foss.arm.com
2017-08-30 12:01:20 UTC
Permalink
Raw Message
From: Paul Osmialowski <***@arm.com>

Signed-off-by: Paul Osmialowski <***@arm.com>
---
lib/autoconf/c.m4 | 7 +++++--
lib/autoconf/fortran.m4 | 4 +++-
2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/lib/autoconf/c.m4 b/lib/autoconf/c.m4
index 6f2f5bac..4ab97b86 100644
--- a/lib/autoconf/c.m4
+++ b/lib/autoconf/c.m4
@@ -458,6 +458,9 @@ if test -z "$CC"; then
AC_CHECK_TOOLS(CC, cl.exe)
fi
if test -z "$CC"; then
+ AC_CHECK_TOOL(CC, armclang)
+fi
+if test -z "$CC"; then
AC_CHECK_TOOL(CC, clang)
fi
])
@@ -707,7 +710,7 @@ if test -z "$CXX"; then
else
AC_CHECK_TOOLS(CXX,
[m4_default([$1],
- [g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++])],
+ [g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC armclang++ clang++])],
g++)
fi
fi
@@ -886,7 +889,7 @@ _AC_ARG_VAR_LIBS()dnl
_AC_ARG_VAR_CPPFLAGS()dnl
_AC_ARG_VAR_PRECIOUS([OBJC])dnl
AC_CHECK_TOOLS(OBJC,
- [m4_default([$1], [gcc objcc objc cc CC clang])],
+ [m4_default([$1], [gcc objcc objc cc CC armclang clang])],
gcc)
# Provide some information about the compiler.
_AS_ECHO_LOG([checking for _AC_LANG compiler version])
diff --git a/lib/autoconf/fortran.m4 b/lib/autoconf/fortran.m4
index 134bf09c..c55978d8 100644
--- a/lib/autoconf/fortran.m4
+++ b/lib/autoconf/fortran.m4
@@ -317,7 +317,9 @@ AC_DEFUN([_AC_FC_DIALECT_YEAR],
# ifort, previously ifc: Intel Fortran 95 compiler for Linux/x86
# efc: Intel Fortran 95 compiler for IA64
# nagfor: NAGWare Fortran 77/90/95 compiler
-m4_define([_AC_F95_FC], [gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor])
+# flang: LLVM Fortran compiler
+# armflang: ARM HPC Fortran compiler
+m4_define([_AC_F95_FC], [gfortran g95 xlf95 f95 fort ifort ifc efc armflang flang pgfortran pgf95 lf95 ftn nagfor])
m4_define([_AC_F90_FC], [xlf90 f90 pgf90 pghpf epcf90])
m4_define([_AC_F77_FC], [g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77])
AC_DEFUN([_AC_PROG_FC],
--
2.11.0 (Apple Git-81)
Loading...