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()' - bugfix: added configure check for I/O functions functions 'fseeko()'
(this function is not available on NEC SX platforms) (this function is not available on NEC SX platforms)
- enhancement to OPARI (see tools/opari/ChangeLog:14,15) - 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_CYC], [10], [PAPI_get_real_cyc])
AC_DEFINE([TIMER_PAPI_REAL_USEC], [11], [PAPI_get_real_usec]) AC_DEFINE([TIMER_PAPI_REAL_USEC], [11], [PAPI_get_real_usec])
case $PLATFORM in AS_IF([test x"$pform_timer" = "xTIMER_GETTIMEOFDAY"],
crayx1 | origin | generic) [
AC_DEFINE([TIMER], [TIMER_PAPI_REAL_CYC], [Use timer (see below)]) pform_timer=TIMER_PAPI_REAL_CYC
AC_MSG_NOTICE([reselected timer: TIMER_PAPI_REAL_CYC]) AC_DEFINE_UNQUOTED([TIMER], [$pform_timer], [Use timer (see below)])
;; AC_MSG_NOTICE([reselected timer: $pform_timer])
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
have_papi="yes" have_papi="yes"
]) ])
]) ])
@ -1681,6 +1673,8 @@ AC_DEFUN([ACVT_PLATFORM],
[ [
PLATFORM= PLATFORM=
pform_timer=
AC_MSG_CHECKING([for platform]) AC_MSG_CHECKING([for platform])
AC_ARG_WITH(platform, AC_ARG_WITH(platform,
@ -1734,78 +1728,73 @@ AC_DEFUN([ACVT_PLATFORM],
case $PLATFORM in case $PLATFORM in
linux) linux)
AC_DEFINE([TIMER_GETTIMEOFDAY], [1], [Use `gettimeofday' function]) AC_DEFINE([TIMER_CLOCK_GETTIME], [1], [Use `clock_gettime' function])
AC_DEFINE([TIMER_CLOCK_GETTIME], [2], [Use `clock_gettime' function]) AC_DEFINE([TIMER_GETTIMEOFDAY], [2], [Use `gettimeofday' function])
pform_timer=TIMER_GETTIMEOFDAY
case $host_cpu in case $host_cpu in
mips*) i*86 | x86* | ia64 | powerpc*)
AC_DEFINE([TIMER], [TIMER_GETTIMEOFDAY], [Use timer (see below)]) AC_DEFINE([TIMER_CYCLE_COUNTER], [3], [Cycle counter (e.g. TSC)])
AC_MSG_NOTICE([selected timer: TIMER_GETTIMEOFDAY]) 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 esac
;; ;;
macos) macos)
AC_DEFINE([TIMER_CYCLE_COUNTER], [1], [Cycle counter (e.g. TSC)]) AC_DEFINE([TIMER_CYCLE_COUNTER], [1], [Cycle counter (e.g. TSC)])
AC_DEFINE([TIMER_GETTIMEOFDAY], [2], [Use `gettimeofday' function]) AC_DEFINE([TIMER_GETTIMEOFDAY], [2], [Use `gettimeofday' function])
AC_DEFINE([TIMER], [TIMER_CYCLE_COUNTER], [Use timer (see below)]) pform_timer=TIMER_CYCLE_COUNTER
AC_MSG_NOTICE([selected timer: TIMER_CYCLE_COUNTER])
;; ;;
altix) altix)
mmtimer_found=no AC_DEFINE([TIMER_CLOCK_GETTIME], [1], [Use `clock_gettime' function])
AC_CHECK_HEADERS([linux/mmtimer.h], [mmtimer_found=yes], pform_timer=TIMER_CLOCK_GETTIME
[AC_CHECK_HEADERS([sn/mmtimer.h], [mmtimer_found=yes],
[AC_CHECK_HEADERS([mmtimer.h], [mmtimer_found=yes])])]) mmtimer_h_found=no
AS_IF([test x"$mmtimer_found" = "xyes"], 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_CHECK_FILE([/dev/mmtimer],
], [
[ AC_DEFINE([TIMER_MMTIMER], [2], [Intel Multimedia Timer])
AC_MSG_WARN([no mmtimer.h found; using `clock_gettime']) pform_timer=TIMER_MMTIMER
use_timer=TIMER_CLOCK_GETTIME ])
]) ])
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) bgl)
AC_DEFINE([TIMER_RTS_GET_TIMEBASE], [1], [Read PowerPC 440 time base registers]) AC_DEFINE([TIMER_RTS_GET_TIMEBASE], [1], [Read PowerPC 440 time base registers])
AC_DEFINE([TIMER], [TIMER_RTS_GET_TIMEBASE], [Use timer (see below)]) pform_timer=TIMER_RTS_GET_TIMEBASE
AC_MSG_NOTICE([selected timer: TIMER_RTS_GET_TIMEBASE])
;; ;;
ibm) ibm)
AC_DEFINE([TIMER_POWER_REALTIME], [1], [IBM Power family Real-Time-Clock]) 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_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)]) pform_timer=TIMER_POWER_REALTIME
AC_MSG_NOTICE([selected timer: TIMER_POWER_REALTIME])
;; ;;
sun) sun)
AC_DEFINE([TIMER_GETHRTIME], [1], [gethrtime]) AC_DEFINE([TIMER_GETHRTIME], [1], [gethrtime])
AC_DEFINE([TIMER], [TIMER_GETHRTIME], [Use timer (see below)]) pform_timer=TIMER_GETHRTIME
AC_MSG_NOTICE([selected timer: TIMER_GETHRTIME])
;; ;;
necsx) necsx)
AC_DEFINE([TIMER_SYSSX_HGTIME], [1], [NEC SX HGTIME]) AC_DEFINE([TIMER_SYSSX_HGTIME], [1], [NEC SX HGTIME])
AC_DEFINE([TIMER], [TIMER_SYSSX_HGTIME], [Use time (see below)]) pform_timer=TIMER_SYSSX_HGTIME
AC_MSG_NOTICE([selected timer: TIMER_SYSSX_HGTIME])
;; ;;
crayt3e) crayt3e)
AC_DEFINE([TIMER_CRAY_RTCLOCK],[1], [CRAY Real-Time-Clock]) AC_DEFINE([TIMER_CRAY_RTCLOCK],[1], [CRAY Real-Time-Clock])
AC_DEFINE([TIMER], [TIMER_CRAY_RTCLOCK], [Use timer (see below)]) pform_timer=TIMER_CRAY_RTCLOCK
AC_MSG_NOTICE([selected timer: TIMER_CRAY_RTCLOCK])
;; ;;
crayx1) crayx1)
AC_DEFINE([TIMER_GETTIMEOFDAY], [1], [Use `gettimeofday' function]) AC_DEFINE([TIMER_GETTIMEOFDAY], [1], [Use `gettimeofday' function])
AC_DEFINE([TIMER_RTC], [2], [RTC (DOES NOT WORK YET WITH FORTRAN CODES)]) AC_DEFINE([TIMER_RTC], [2], [RTC (DOES NOT WORK YET WITH FORTRAN CODES)])
AC_DEFINE([TIMER], [TIMER_GETTIMEOFDAY], [Use timer (see below)]) pform_timer=TIMER_GETTIMEOFDAY
AC_MSG_NOTICE([selected timer: TIMER_GETTIMEOFDAY])
;; ;;
crayxt) 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([], AC_TRY_COMPILE([],
[ [
#ifndef __LIBCATAMOUNT__ #ifndef __LIBCATAMOUNT__
@ -1813,27 +1802,25 @@ AC_DEFUN([ACVT_PLATFORM],
#endif #endif
], ],
[AC_CHECK_HEADERS([catamount/dclock.h], [AC_CHECK_HEADERS([catamount/dclock.h],
[AC_CHECK_HEADERS([catamount/data.h], [use_timer=TIMER_DCLOCK])])]) [AC_CHECK_HEADERS([catamount/data.h],
[
AC_DEFINE([TIMER_GETTIMEOFDAY], [1], [Use `gettimeofday' function]) AC_DEFINE([TIMER_DCLOCK], [4], [Use `dclock' function])
AC_DEFINE([TIMER_CLOCK_GETTIME], [2], [Use `clock_gettime' function]) pform_timer=TIMER_DCLOCK
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])
;; ;;
origin) origin)
AC_DEFINE([TIMER_CLOCK_GETTIME], [1], [Use `clock_gettime' function]) AC_DEFINE([TIMER_CLOCK_GETTIME], [1], [Use `clock_gettime' function])
AC_DEFINE([TIMER], [TIMER_CLOCK_GETTIME], [Use timer (see below)]) pform_timer=TIMER_CLOCK_GETTIME
AC_MSG_NOTICE([selected timer: TIMER_CLOCK_GETTIME])
;; ;;
generic) generic)
AC_DEFINE([TIMER_GETTIMEOFDAY], [1], [Use `gettimeofday' function]) AC_DEFINE([TIMER_GETTIMEOFDAY], [1], [Use `gettimeofday' function])
AC_DEFINE([TIMER], [TIMER_GETTIMEOFDAY], [Use timer (see below)]) pform_timer=TIMER_GETTIMEOFDAY
AC_MSG_NOTICE([selected timer: TIMER_GETTIMEOFDAY])
;; ;;
esac esac
AC_DEFINE_UNQUOTED([TIMER], [$pform_timer], [Use timer (see below)])
AC_MSG_NOTICE([selected timer: $pform_timer])
AC_SUBST(PLATFORM) AC_SUBST(PLATFORM)
]) ])