1
1

- bugfix: select cycle counter timer only on i*86, x86, IA64, and PPC platforms

- minor cleanups

This commit was SVN r20317.
Этот коммит содержится в:
Matthias Jurenz 2009-01-22 12:29:10 +00:00
родитель f6ba4f6f30
Коммит 1288c662ea
2 изменённых файлов: 55 добавлений и 63 удалений

Просмотреть файл

@ -225,3 +225,8 @@
- bugfix: added configure check for I/O functions functions 'fseeko()'
(this function is not available on NEC SX platforms)
- enhancement to OPARI (see tools/opari/ChangeLog:14,15)
5.4.7
- fixed faulty timer selection in configure
(the cycle counter timer is not available on all Linux platforms)

Просмотреть файл

@ -1654,20 +1654,12 @@ See \`config.log' for more details.])
[
AC_DEFINE([TIMER_PAPI_REAL_CYC], [10], [PAPI_get_real_cyc])
AC_DEFINE([TIMER_PAPI_REAL_USEC], [11], [PAPI_get_real_usec])
case $PLATFORM in
crayx1 | origin | generic)
AC_DEFINE([TIMER], [TIMER_PAPI_REAL_CYC], [Use timer (see below)])
AC_MSG_NOTICE([reselected timer: TIMER_PAPI_REAL_CYC])
;;
linux)
case $host_cpu in
mips*)
AC_DEFINE([TIMER], [TIMER_PAPI_REAL_CYC], [Use timer (see below)])
AC_MSG_NOTICE([reselected timer: TIMER_PAPI_REAL_CYC])
;;
esac
;;
esac
AS_IF([test x"$pform_timer" = "xTIMER_GETTIMEOFDAY"],
[
pform_timer=TIMER_PAPI_REAL_CYC
AC_DEFINE_UNQUOTED([TIMER], [$pform_timer], [Use timer (see below)])
AC_MSG_NOTICE([reselected timer: $pform_timer])
])
have_papi="yes"
])
])
@ -1681,6 +1673,8 @@ AC_DEFUN([ACVT_PLATFORM],
[
PLATFORM=
pform_timer=
AC_MSG_CHECKING([for platform])
AC_ARG_WITH(platform,
@ -1734,78 +1728,73 @@ AC_DEFUN([ACVT_PLATFORM],
case $PLATFORM in
linux)
AC_DEFINE([TIMER_GETTIMEOFDAY], [1], [Use `gettimeofday' function])
AC_DEFINE([TIMER_CLOCK_GETTIME], [2], [Use `clock_gettime' function])
AC_DEFINE([TIMER_CLOCK_GETTIME], [1], [Use `clock_gettime' function])
AC_DEFINE([TIMER_GETTIMEOFDAY], [2], [Use `gettimeofday' function])
pform_timer=TIMER_GETTIMEOFDAY
case $host_cpu in
mips*)
AC_DEFINE([TIMER], [TIMER_GETTIMEOFDAY], [Use timer (see below)])
AC_MSG_NOTICE([selected timer: TIMER_GETTIMEOFDAY])
i*86 | x86* | ia64 | powerpc*)
AC_DEFINE([TIMER_CYCLE_COUNTER], [3], [Cycle counter (e.g. TSC)])
pform_timer=TIMER_CYCLE_COUNTER
;;
*)
AC_DEFINE([TIMER_CYCLE_COUNTER], [3], [Cycle counter (e.g. TSC)])
AC_DEFINE([TIMER], [TIMER_CYCLE_COUNTER], [Use timer (see below)])
AC_MSG_NOTICE([selected timer: TIMER_CYCLE_COUNTER])
;;
esac
;;
macos)
AC_DEFINE([TIMER_CYCLE_COUNTER], [1], [Cycle counter (e.g. TSC)])
AC_DEFINE([TIMER_GETTIMEOFDAY], [2], [Use `gettimeofday' function])
AC_DEFINE([TIMER], [TIMER_CYCLE_COUNTER], [Use timer (see below)])
AC_MSG_NOTICE([selected timer: TIMER_CYCLE_COUNTER])
pform_timer=TIMER_CYCLE_COUNTER
;;
altix)
mmtimer_found=no
AC_CHECK_HEADERS([linux/mmtimer.h], [mmtimer_found=yes],
[AC_CHECK_HEADERS([sn/mmtimer.h], [mmtimer_found=yes],
[AC_CHECK_HEADERS([mmtimer.h], [mmtimer_found=yes])])])
AS_IF([test x"$mmtimer_found" = "xyes"],
AC_DEFINE([TIMER_CLOCK_GETTIME], [1], [Use `clock_gettime' function])
pform_timer=TIMER_CLOCK_GETTIME
mmtimer_h_found=no
AC_CHECK_HEADERS([linux/mmtimer.h], [mmtimer_h_found=yes],
[AC_CHECK_HEADERS([sn/mmtimer.h], [mmtimer_h_found=yes],
[AC_CHECK_HEADERS([mmtimer.h], [mmtimer_h_found=yes])])])
AS_IF([test x"$mmtimer_h_found" = "xyes"],
[
use_timer=TIMER_MMTIMER
],
[
AC_MSG_WARN([no mmtimer.h found; using `clock_gettime'])
use_timer=TIMER_CLOCK_GETTIME
AC_CHECK_FILE([/dev/mmtimer],
[
AC_DEFINE([TIMER_MMTIMER], [2], [Intel Multimedia Timer])
pform_timer=TIMER_MMTIMER
])
])
AC_DEFINE([TIMER_MMTIMER], [1], [Intel Multimedia Timer])
AC_DEFINE([TIMER_CLOCK_GETTIME], [2], [Use `clock_gettime' function])
AC_DEFINE_UNQUOTED([TIMER], [$use_timer], [Use timer (see below)])
AC_MSG_NOTICE([selected timer: $use_timer])
;;
bgl)
AC_DEFINE([TIMER_RTS_GET_TIMEBASE], [1], [Read PowerPC 440 time base registers])
AC_DEFINE([TIMER], [TIMER_RTS_GET_TIMEBASE], [Use timer (see below)])
AC_MSG_NOTICE([selected timer: TIMER_RTS_GET_TIMEBASE])
pform_timer=TIMER_RTS_GET_TIMEBASE
;;
ibm)
AC_DEFINE([TIMER_POWER_REALTIME], [1], [IBM Power family Real-Time-Clock])
AC_DEFINE([TIMER_SWITCH_CLOCK], [2], [Hardware Switch-Clock (it's necessary to link your application with '-lswclock')])
AC_DEFINE([TIMER], [TIMER_POWER_REALTIME], [Use timer (see below)])
AC_MSG_NOTICE([selected timer: TIMER_POWER_REALTIME])
pform_timer=TIMER_POWER_REALTIME
;;
sun)
AC_DEFINE([TIMER_GETHRTIME], [1], [gethrtime])
AC_DEFINE([TIMER], [TIMER_GETHRTIME], [Use timer (see below)])
AC_MSG_NOTICE([selected timer: TIMER_GETHRTIME])
pform_timer=TIMER_GETHRTIME
;;
necsx)
AC_DEFINE([TIMER_SYSSX_HGTIME], [1], [NEC SX HGTIME])
AC_DEFINE([TIMER], [TIMER_SYSSX_HGTIME], [Use time (see below)])
AC_MSG_NOTICE([selected timer: TIMER_SYSSX_HGTIME])
pform_timer=TIMER_SYSSX_HGTIME
;;
crayt3e)
AC_DEFINE([TIMER_CRAY_RTCLOCK],[1], [CRAY Real-Time-Clock])
AC_DEFINE([TIMER], [TIMER_CRAY_RTCLOCK], [Use timer (see below)])
AC_MSG_NOTICE([selected timer: TIMER_CRAY_RTCLOCK])
pform_timer=TIMER_CRAY_RTCLOCK
;;
crayx1)
AC_DEFINE([TIMER_GETTIMEOFDAY], [1], [Use `gettimeofday' function])
AC_DEFINE([TIMER_RTC], [2], [RTC (DOES NOT WORK YET WITH FORTRAN CODES)])
AC_DEFINE([TIMER], [TIMER_GETTIMEOFDAY], [Use timer (see below)])
AC_MSG_NOTICE([selected timer: TIMER_GETTIMEOFDAY])
pform_timer=TIMER_GETTIMEOFDAY
;;
crayxt)
use_timer=TIMER_CYCLE_COUNTER
AC_DEFINE([TIMER_CLOCK_GETTIME], [1], [Use `clock_gettime' function])
AC_DEFINE([TIMER_CYCLE_COUNTER], [2], [Cycle counter (e.g. TSC)])
AC_DEFINE([TIMER_GETTIMEOFDAY], [3], [Use `gettimeofday' function])
pform_timer=TIMER_CYCLE_COUNTER
AC_TRY_COMPILE([],
[
#ifndef __LIBCATAMOUNT__
@ -1813,27 +1802,25 @@ AC_DEFUN([ACVT_PLATFORM],
#endif
],
[AC_CHECK_HEADERS([catamount/dclock.h],
[AC_CHECK_HEADERS([catamount/data.h], [use_timer=TIMER_DCLOCK])])])
AC_DEFINE([TIMER_GETTIMEOFDAY], [1], [Use `gettimeofday' function])
AC_DEFINE([TIMER_CLOCK_GETTIME], [2], [Use `clock_gettime' function])
AC_DEFINE([TIMER_DCLOCK], [3], [Use `dclock' function])
AC_DEFINE([TIMER_CYCLE_COUNTER], [4], [Cycle counter (e.g. TSC)])
AC_DEFINE_UNQUOTED([TIMER], [$use_timer], [Use timer (see below)])
AC_MSG_NOTICE([selected timer: $use_timer])
[AC_CHECK_HEADERS([catamount/data.h],
[
AC_DEFINE([TIMER_DCLOCK], [4], [Use `dclock' function])
pform_timer=TIMER_DCLOCK
])])])
;;
origin)
AC_DEFINE([TIMER_CLOCK_GETTIME], [1], [Use `clock_gettime' function])
AC_DEFINE([TIMER], [TIMER_CLOCK_GETTIME], [Use timer (see below)])
AC_MSG_NOTICE([selected timer: TIMER_CLOCK_GETTIME])
pform_timer=TIMER_CLOCK_GETTIME
;;
generic)
AC_DEFINE([TIMER_GETTIMEOFDAY], [1], [Use `gettimeofday' function])
AC_DEFINE([TIMER], [TIMER_GETTIMEOFDAY], [Use timer (see below)])
AC_MSG_NOTICE([selected timer: TIMER_GETTIMEOFDAY])
pform_timer=TIMER_GETTIMEOFDAY
;;
esac
AC_DEFINE_UNQUOTED([TIMER], [$pform_timer], [Use timer (see below)])
AC_MSG_NOTICE([selected timer: $pform_timer])
AC_SUBST(PLATFORM)
])