Source
95
95
FCFLAGS="$F9XMODFLAG. $FCFLAGS"
96
96
else
97
97
echo unknown 1>&6
98
98
fi
99
99
AC_SUBST(F9XMODFLAG)
100
100
AC_SUBST(F9XMODEXT)
101
101
rm -rf conftest*
102
102
AC_LANG_POP(Fortran)
103
103
])
104
104
105
-
dnl -------------------------------------------------------------------------
106
-
dnl AC_TRY_FCOMPILE()
107
-
dnl
108
-
dnl Check if we can compile a simple Fortran 90 program.
109
-
dnl
110
-
dnl AC_TRY_FCOMPILE(FUNCTION-BODY,
111
-
dnl [ACTION-IF-SUCCESS], [ACTION-IF-NOT-SUCCESS])
112
-
dnl
113
-
AC_DEFUN([AC_TRY_FCOMPILE],
114
-
[AC_LANG_PUSH(Fortran)
115
-
116
-
test -d conftestdir || mkdir conftestdir
117
-
cd conftestdir
118
-
rm -rf *
119
-
120
-
cat >conftest.$ac_ext <<EOF
121
-
$1
122
-
EOF
123
-
124
-
if AC_TRY_EVAL(ac_compile); then
125
-
:
126
-
[$2]
127
-
else
128
-
:
129
-
[$3]
130
-
fi
131
-
cd ..
132
-
rm -rf conftest*
133
-
AC_LANG_POP(Fortran)
134
-
])
135
-
136
-
dnl -------------------------------------------------------------------------
137
-
dnl AC_TRY_FLINK()
138
-
dnl
139
-
dnl Check if we can link a simple Fortran 90 program.
140
-
dnl
141
-
dnl AC_TRY_FLINK(INCLUDES, FUNCTION-BODY,
142
-
dnl [ACTION-IF-SUCCESS], [ACTION-IF-NOT-SUCCESS])
143
-
dnl
144
-
AC_DEFUN([AC_TRY_FLINK],
145
-
[AC_LANG_PUSH(Fortran)
146
-
147
-
test -d conftestdir || mkdir conftestdir
148
-
cd conftestdir
149
-
rm -rf *
150
-
151
-
cat >conftest.$ac_ext <<EOF
152
-
program conftest
153
-
include '$1'
154
-
$2
155
-
end
156
-
EOF
157
-
158
-
if AC_TRY_EVAL(ac_compile) && AC_TRY_EVAL(ac_link); then
159
-
:
160
-
[$3]
161
-
else
162
-
:
163
-
[$4]
164
-
fi
165
-
cd ..
166
-
rm -rf conftest*
167
-
AC_LANG_POP(Fortran)
168
-
])
169
-
170
-
dnl -------------------------------------------------------------------------
171
-
dnl AC_CHECK_FLIB()
172
-
dnl
173
-
dnl Check if we can link a simple Fortran 90 program with the specified library.
174
-
dnl
175
-
dnl AC_CHECK_FLIB(LIBRARY, FUNCTION-BODY,
176
-
dnl [ACTION-IF-SUCCESS], [ACTION-IF-NOT-SUCCESS])
177
-
dnl
178
-
AC_DEFUN([AC_CHECK_FLIB],
179
-
[AC_LANG_PUSH(Fortran)
180
-
181
-
test -d conftestdir || mkdir conftestdir
182
-
cd conftestdir
183
-
rm -rf *
184
-
185
-
cat >conftest.$ac_ext <<EOF
186
-
program conftest
187
-
$2
188
-
end
189
-
EOF
190
-
191
-
if test -n "$1"; then
192
-
saved_LIBS="$LIBS"
193
-
LIBS="$LIBS -l$1"
194
-
fi
195
-
196
-
if AC_TRY_EVAL(ac_compile) && AC_TRY_EVAL(ac_link); then
197
-
:
198
-
[$3]
199
-
else
200
-
LIBS="$saved_LIBS"
201
-
[$4]
202
-
fi
203
-
cd ..
204
-
rm -rf conftest*
205
-
AC_LANG_POP(Fortran)
206
-
])
207
-
208
-
dnl -------------------------------------------------------------------------
209
-
dnl -------------------------------------------------------------------------
210
-
dnl
211
-
dnl Possible future tests for the Fortran stuff...
212
-
dnl
213
-
dnl -------------------------------------------------------------------------
214
-
dnl -------------------------------------------------------------------------
215
-
dnl
216
-
dnl echo $ac_n "checking whether f90 real type has 12 digits of precision""... $ac_c" 1>&6
217
-
dnl cat >conftest.f90 <<'EOF'
218
-
dnl program conftest
219
-
dnl if (selected_real_kind(12) .eq. kind(0.0)) then
220
-
dnl print '(a)','YES'
221
-
dnl else
222
-
dnl print '(a)','NO'
223
-
dnl end if
224
-
dnl end program conftest
225
-
dnl EOF
226
-
dnl $ac_cv_prog_F90 $FCFLAGS -o conftest conftest.f90 > /dev/null 2>&1
227
-
dnl if test "`./conftest | head -1`" = YES; then
228
-
dnl echo "yes" 1>&6
229
-
dnl AC_DEFINE(HIPREC)
230
-
dnl else
231
-
dnl echo "no" 1>&6
232
-
dnl fi
233
-
234
-
dnl echo $ac_n "checking whether f90 precision of default real type""... $ac_c" 1>&6
235
-
dnl cat >conftest.f90 <<'EOF'
236
-
dnl program conftest
237
-
dnl if (kind(0.0) .eq. selected_real_kind(12) .or.&
238
-
dnl &kind(0.0) .eq. selected_real_kind(6) ) then
239
-
dnl print '(a)','YES'
240
-
dnl else
241
-
dnl print '(a)','NO'
242
-
dnl end if
243
-
dnl end program conftest
244
-
dnl EOF
245
-
dnl $ac_cv_prog_F90 $FCFLAGS -o conftest conftest.f90 > /dev/null 2>&1
246
-
dnl if test "`./conftest | head -1`" = YES; then
247
-
dnl echo "OK" 1>&6
248
-
dnl AC_DEFINE(REALOK)
249
-
dnl else
250
-
dnl echo "no" 1>&6
251
-
dnl fi
252
-
253
-
dnl echo $ac_n "checking accuracy of arithmetic""... $ac_c" 1>&6
254
-
dnl cat >conftest.f90 <<'EOF'
255
-
dnl program conftest
256
-
dnl integer, parameter :: double=selected_real_kind(12)
257
-
dnl real(double), parameter :: ulp=2.0_double**(-47)
258
-
dnl real(double), parameter :: ans=0.92699498904359955986_double
259
-
dnl real(double) :: x,y,z
260
-
dnl integer i
261
-
dnl x=0.0_double
262
-
dnl y=ulp
263
-
dnl do i=2,100
264
-
dnl z=x+y
265
-
dnl x=y
266
-
dnl y=z-int(z)
267
-
dnl end do
268
-
dnl if (y-ans .lt. ulp/2.0_double) then
269
-
dnl print '(a)','YES'
270
-
dnl else
271
-
dnl print '(a)','NO'
272
-
dnl end if
273
-
dnl end program conftest
274
-
dnl EOF
275
-
dnl $ac_cv_prog_F90 $FCFLAGS -o conftest conftest.f90 > /dev/null 2>&1
276
-
dnl if test "`./conftest | head -1`" = YES; then
277
-
dnl echo "OK" 1>&6
278
-
dnl AC_DEFINE(ARITHOK)
279
-
dnl else
280
-
dnl echo "no" 1>&6
281
-
dnl fi
282
-
283
-
dnl echo $ac_n "checking whether int is the fastest way to truncate""... $ac_c" 1>&6
284
-
dnl cat >conftest.f90 <<'EOF'
285
-
dnl program conftest
286
-
dnl integer, parameter :: double=selected_real_kind(12)
287
-
dnl real(double), parameter :: ulp=2.0_double**(-47)
288
-
dnl real(double) :: x,y,z,ya,yb
289
-
dnl integer :: t0,t1,i,timea,timeb
290
-
dnl
291
-
dnl x=0.0_double
292
-
dnl y=ulp
293
-
dnl call system_clock(t0)
294
-
dnl do i=2,1000000
295
-
dnl z=x+y
296
-
dnl x=y
297
-
dnl y=z-int(z)
298
-
dnl end do
299
-
dnl ya=y
300
-
dnl call system_clock(t1)
301
-
dnl timea=t1-t0
302
-
dnl
303
-
dnl x=0.0_double
304
-
dnl y=ulp
305
-
dnl call system_clock(t0)
306
-
dnl do i=2,1000000
307
-
dnl z=x+y
308
-
dnl x=y
309
-
dnl if (z.ge.1.0_double) then
310
-
dnl y=z-1.0_double
311
-
dnl else
312
-
dnl y=z
313
-
dnl end if
314
-
dnl end do
315
-
dnl yb=y
316
-
dnl call system_clock(t1)
317
-
dnl timeb=t1-t0
318
-
dnl
319
-
dnl if (timea.lt.timeb) then
320
-
dnl print '(a)','YES'
321
-
dnl else
322
-
dnl print '(a)','NO'
323
-
dnl end if
324
-
dnl print *,ya,yb
325
-
dnl end program conftest
326
-
dnl EOF
327
-
dnl $ac_cv_prog_F90 $FCFLAGS -o conftest conftest.f90 > /dev/null 2>&1
328
-
dnl if test "`./conftest | head -1`" = YES; then
329
-
dnl echo "yes" 1>&6
330
-
dnl AC_DEFINE(USEINT)
331
-
dnl else
332
-
dnl echo "no" 1>&6
333
-
dnl fi
334
-
dnl
335
-
dnl -------------------------------------------------------------------------
336
-
dnl -------------------------------------------------------------------------