1
+ # This file is part of Nanos6 and is licensed under the terms contained in the COPYING file.
2
+ #
3
+ # Copyright (C) 2020 Barcelona Supercomputing Center (BSC)
4
+
1
5
AC_DEFUN ( [ SSS_CHECK_NANOS6_CLANG] ,
2
6
[
3
7
AC_ARG_WITH (
@@ -6,7 +10,7 @@ AC_DEFUN([SSS_CHECK_NANOS6_CLANG],
6
10
[ ac_use_nanos6_clang_prefix="${withval}"] ,
7
11
[ ac_use_nanos6_clang_prefix="auto"]
8
12
)
9
-
13
+
10
14
if test x"${ac_use_nanos6_clang_prefix}" = x"auto" || test x"${ac_use_nanos6_clang_prefix}" = x"yes" ; then
11
15
AC_PATH_PROGS ( NANOS6_CLANG , [ clang] , [ ] )
12
16
AC_PATH_PROGS ( NANOS6_CLANGXX , [ clang++] , [ ] )
@@ -18,6 +22,7 @@ AC_DEFUN([SSS_CHECK_NANOS6_CLANG],
18
22
ac_have_nanos6_clang=no
19
23
fi
20
24
else
25
+ ac_use_nanos6_clang_prefix=$(echo "${NANOS6_CLANG}" | sed 's@/bin/clang@@')
21
26
ac_have_nanos6_clang=yes
22
27
fi
23
28
elif test x"${ac_use_nanos6_clang_prefix}" != x"no" ; then
@@ -26,27 +31,28 @@ AC_DEFUN([SSS_CHECK_NANOS6_CLANG],
26
31
if test x"${NANOS6_CLANG}" = x"" || test x"${NANOS6_CLANGXX}" = x"" ; then
27
32
AC_MSG_ERROR ( [ could not find Nanos6 Clang] )
28
33
else
34
+ ac_use_nanos6_clang_prefix=$(echo "${NANOS6_CLANG}" | sed 's@/bin/clang@@')
29
35
ac_have_nanos6_clang=yes
30
36
fi
31
37
else
32
38
ac_use_nanos6_clang_prefix=""
33
39
ac_have_nanos6_clang=no
34
40
fi
35
-
41
+
36
42
AC_MSG_CHECKING ( [ the Nanos6 Clang installation prefix] )
37
43
if test x"${ac_have_nanos6_clang}" = x"yes" ; then
38
44
AC_MSG_RESULT ( [ ${ac_use_nanos6_clang_prefix}] )
39
45
else
40
46
AC_MSG_RESULT ( [ not found] )
41
47
fi
42
-
48
+
43
49
if test x"${NANOS6_CLANG}" != x"" ; then
44
50
ac_save_CC="${CC}"
45
51
AC_LANG_PUSH ( C )
46
-
52
+
47
53
AC_MSG_CHECKING ( [ which flag enables OmpSs-2 support in Clang] )
48
54
OMPSS2_FLAG=none
49
-
55
+
50
56
CC="${NANOS6_CLANG} -fompss-2"
51
57
AC_COMPILE_IFELSE (
52
58
[ AC_LANG_SOURCE ( [ [
@@ -58,7 +64,7 @@ int main(int argc, char ** argv) {
58
64
[ OMPSS2_FLAG=-fompss-2 ] ,
59
65
[ ]
60
66
)
61
-
67
+
62
68
if test x"${OMPSS2_FLAG}" != x"none" ; then
63
69
AC_MSG_RESULT ( [ ${OMPSS2_FLAG}] )
64
70
NANOS6_CLANG="${NANOS6_CLANG} ${OMPSS2_FLAG} --gcc-toolchain=\$(subst bin/gcc,,\$(shell which gcc))"
@@ -72,17 +78,17 @@ int main(int argc, char ** argv) {
72
78
unset ac_use_nanos6_clang_prefix
73
79
ac_have_nanos6_clang=no
74
80
fi
75
-
81
+
76
82
AC_LANG_POP ( C )
77
83
CC="${ac_save_CC}"
78
-
84
+
79
85
fi
80
-
86
+
81
87
NANOS6_CLANG_PREFIX="${ac_use_nanos6_clang_prefix}"
82
88
AC_SUBST ( [ NANOS6_CLANG_PREFIX] )
83
89
AC_SUBST ( [ NANOS6_CLANG] )
84
90
AC_SUBST ( [ NANOS6_CLANGXX] )
85
-
91
+
86
92
AM_CONDITIONAL(HAVE_NANOS6_CLANG, test x"${ac_have_nanos6_clang}" = x"yes")
87
93
]
88
94
)
0 commit comments