@@ -4,12 +4,10 @@ set -e # Exit immediately if a command exits with a non-zero status
4
4
set -u # Treat unset variables as an error when substituting.
5
5
# set -x # Print commands and their arguments as they are executed.
6
6
7
- STD14=" c++14"
8
7
STD17=" c++17"
9
8
10
9
# https://stackoverflow.com/a/42232124
11
10
if [ " $PKGOS " = " Windows" ]; then
12
- STD14=" gnu++14"
13
11
STD17=" gnu++17"
14
12
fi
15
13
@@ -46,46 +44,33 @@ if [ "$PKGOS" = "OSX" ]; then
46
44
9|10|11|12)
47
45
# GXX should be an openmp-capable compiler (to compile CImg.ofx)
48
46
49
- # older version, using clang-3.4
50
- CC=clang-mp-3.4
51
- CXX=" clang++-mp-3.4 -std=c++14"
52
- CXX17=" clang++-mp-3.4 -std=c++1z"
47
+ # older version, using clang-5.0
48
+ CC=clang-mp-5.0
49
+ CXX=" clang++-mp-5.0 -std=c++1z"
53
50
GXX=g++-mp-4.9
54
51
OBJECTIVE_CC=$CC
55
52
OBJECTIVE_CXX=$CXX
56
53
;;
57
54
* )
58
55
# newer OS X / macOS version link with libc++ and can use the system clang
59
56
CC=clang
60
- CXX=" clang++ -std=c++14"
61
- CXX17=" clang++ -std=c++1z"
57
+ CXX=" clang++ -std=c++1z"
62
58
OBJECTIVE_CC=$CC
63
59
OBJECTIVE_CXX=$CXX
64
60
;;
65
61
esac
66
62
elif [ " $COMPILER " = " clang-omp" ]; then
67
- # newer version (testing) using clang-4.0
68
- CC=clang-mp-4.0
69
- CXX=" clang++-mp-4.0 -stdlib=libc++ -std=c++14"
70
- CXX17=" clang++-mp-4.0 -stdlib=libc++ -std=c++1z"
71
63
# newer version (testing) using clang
72
64
# if a recent clang-mp is available
73
65
if command -v clang-mp-6.0 > /dev/null 2>&1 ; then
74
66
CC=clang-mp-6.0
75
- CXX=" clang++-mp-6.0 -stdlib=libc++ -std=c++14"
76
- CXX17=" clang++-mp-6.0 -stdlib=libc++ -std=c++17"
67
+ CXX=" clang++-mp-6.0 -stdlib=libc++ -std=c++17"
77
68
elif command -v clang-mp-5.0 > /dev/null 2>&1 ; then
78
69
CC=clang-mp-5.0
79
- CXX=" clang++-mp-5.0 -stdlib=libc++ -std=c++14"
80
- CXX17=" clang++-mp-5.0 -stdlib=libc++ -std=c++17"
81
- elif command -v clang-mp-4.0 > /dev/null 2>&1 ; then
82
- CC=clang-mp-4.0
83
- CXX=" clang++-mp-4.0 -stdlib=libc++ -std=c++14"
84
- CXX17=" clang++-mp-4.0 -stdlib=libc++ -std=c++1z"
70
+ CXX=" clang++-mp-5.0 -stdlib=libc++ -std=c++17"
85
71
elif command -v /usr/local/opt/llvm@11/bin/clang > /dev/null 2>&1 ; then
86
72
CC=/usr/local/opt/llvm@11/bin/clang
87
- CXX=" /usr/local/opt/llvm@11/bin/clang++ -std=c++14"
88
- CXX17=" /usr/local/opt/llvm@11/bin/clang++ -std=c++17"
73
+ CXX=" /usr/local/opt/llvm@11/bin/clang++ -std=c++17"
89
74
fi
90
75
# clang > 7.0 sometimes chokes on building Universal CImg.ofx, probably because of #pragma omp atomic
91
76
# Undefined symbols for architecture i386:
@@ -98,40 +83,31 @@ if [ "$PKGOS" = "OSX" ]; then
98
83
* )
99
84
if command -v clang-mp-17 > /dev/null 2>&1 ; then
100
85
CC=clang-mp-17
101
- CXX=" clang++-mp-17 -stdlib=libc++ -std=c++14"
102
- CXX17=" clang++-mp-17 -stdlib=libc++ -std=c++17"
86
+ CXX=" clang++-mp-17 -stdlib=libc++ -std=c++17"
103
87
elif command -v clang-mp-16 > /dev/null 2>&1 ; then
104
88
CC=clang-mp-16
105
- CXX=" clang++-mp-16 -stdlib=libc++ -std=c++14"
106
- CXX17=" clang++-mp-16 -stdlib=libc++ -std=c++17"
89
+ CXX=" clang++-mp-16 -stdlib=libc++ -std=c++17"
107
90
elif command -v clang-mp-15 > /dev/null 2>&1 ; then
108
91
CC=clang-mp-15
109
- CXX=" clang++-mp-15 -stdlib=libc++ -std=c++14"
110
- CXX17=" clang++-mp-15 -stdlib=libc++ -std=c++17"
92
+ CXX=" clang++-mp-15 -stdlib=libc++ -std=c++17"
111
93
elif command -v clang-mp-14 > /dev/null 2>&1 ; then
112
94
CC=clang-mp-14
113
- CXX=" clang++-mp-14 -stdlib=libc++ -std=c++14"
114
- CXX17=" clang++-mp-14 -stdlib=libc++ -std=c++17"
95
+ CXX=" clang++-mp-14 -stdlib=libc++ -std=c++17"
115
96
elif command -v clang-mp-13 > /dev/null 2>&1 ; then
116
97
CC=clang-mp-13
117
- CXX=" clang++-mp-13 -stdlib=libc++ -std=c++14"
118
- CXX17=" clang++-mp-13 -stdlib=libc++ -std=c++17"
98
+ CXX=" clang++-mp-13 -stdlib=libc++ -std=c++17"
119
99
elif command -v clang-mp-12 > /dev/null 2>&1 ; then
120
100
CC=clang-mp-12
121
- CXX=" clang++-mp-12 -stdlib=libc++ -std=c++14"
122
- CXX17=" clang++-mp-12 -stdlib=libc++ -std=c++17"
101
+ CXX=" clang++-mp-12 -stdlib=libc++ -std=c++17"
123
102
elif command -v clang-mp-11 > /dev/null 2>&1 ; then
124
103
CC=clang-mp-11
125
- CXX=" clang++-mp-11 -stdlib=libc++ -std=c++14"
126
- CXX17=" clang++-mp-11 -stdlib=libc++ -std=c++17"
104
+ CXX=" clang++-mp-11 -stdlib=libc++ -std=c++17"
127
105
elif command -v clang-mp-10 > /dev/null 2>&1 ; then
128
106
CC=clang-mp-10
129
- CXX=" clang++-mp-10 -stdlib=libc++ -std=c++14"
130
- CXX17=" clang++-mp-10 -stdlib=libc++ -std=c++17"
107
+ CXX=" clang++-mp-10 -stdlib=libc++ -std=c++17"
131
108
elif command -v clang-mp-9.0 > /dev/null 2>&1 ; then
132
109
CC=clang-mp-9.0
133
- CXX=" clang++-mp-9.0 -stdlib=libc++ -std=c++14"
134
- CXX17=" clang++-mp-9.0 -stdlib=libc++ -std=c++17"
110
+ CXX=" clang++-mp-9.0 -stdlib=libc++ -std=c++17"
135
111
fi
136
112
;;
137
113
esac
@@ -152,7 +128,7 @@ if [ "$PKGOS" = "OSX" ]; then
152
128
# GCC_VERSION=5
153
129
# GCC_VERSION=6
154
130
CC=gcc-mp-${GCC_VERSION}
155
- CXX=" g++-mp-${GCC_VERSION} -std=c++14 "
131
+ CXX=" g++-mp-${GCC_VERSION} -std=c++17 "
156
132
OBJECTIVE_CC=gcc-4.2
157
133
OBJECTIVE_CXX=g++-4.2
158
134
fi
211
187
212
188
COMPILER=${COMPILER:- gcc}
213
189
CC=${CC:- gcc}
214
- CXX=${CXX:- g++ -std=${STD14} }
215
- CXX17=${CXX17:- g++ -std=${STD17} }
190
+ CXX=${CXX:- g++ -std=${STD17} }
216
191
OBJECTIVE_CC=${OBJECTIVE_CC:- ${CC} }
217
192
OBJECTIVE_CXX=${OBJECTIVE_CXX:- ${CXX} }
218
193
0 commit comments