# Check the cpu type dnl SING_CHECK_CPU dnl dnl check the cpu and define EXEC_EXT and SI_CPU* AC_DEFUN([SING_CHECK_CPU], [ AC_CANONICAL_HOST AC_MSG_CHECKING(CPU for singular) # CPUUNAME and PATH ac_cv_singcpuname=`uname -m` AC_MSG_RESULT($ac_cv_singcpuname) if test "$ac_cv_singcpuname" = i386; then AC_DEFINE(SI_CPU_I386,1,"i386") AC_SUBST(SI_CPU_I386) fi if test "$ac_cv_singcpuname" = i686; then AC_DEFINE(SI_CPU_I386,1,"i686") AC_SUBST(SI_CPU_I386) fi if test "$ac_cv_singcpuname" = x86_64; then AC_DEFINE(SI_CPU_X86_64,1,"x86-64") AC_SUBST(SI_CPU_X86_64) fi if test "$ac_cv_singcpuname" = ia64; then AC_DEFINE(SI_CPU_IA64,1,"ia64") AC_SUBST(SI_CPU_IA64) fi if test "$ac_cv_singcpuname" = sparc; then AC_DEFINE(SI_CPU_SPARC,1,"SPARC") AC_SUBST(SI_CPU_SPARC) fi if test "$ac_cv_singcpuname" = ppc; then AC_DEFINE(SI_CPU_PPC,1,"PPC") AC_SUBST(SI_CPU_PPC) fi # UNAME and PATH AC_MSG_CHECKING(uname for Singular) #ac_cv_singuname=`./config.guess` ac_cv_singuname=`uname -m`-`uname -s` AC_MSG_RESULT($ac_cv_singuname) AC_DEFINE_UNQUOTED(S_UNAME, "$ac_cv_singuname", Singular\'s own uname\, believe it or not) AS_CASE([$host_cpu], dnl the following settings seems to be better on i386 and x86_64 processors [i*86*|x86_64*], [AC_DEFINE(HAVE_MULT_MOD,1,multiplication is fast on the cpu: a*b is with mod otherwise using tables of logartihms)], dnl the following settings seems to be better on itanium processors dnl AC_DEFINE(HAVE_MULT_MOD,1,) [ia64*], [AC_DEFINE(HAVE_GENERIC_ADD,1,use branch for addition in Z/p otherwise it uses a generic add)], dnl the following settings seems to be better on sparc processors [sparc*], [ AC_DEFINE(HAVE_MULT_MOD,1,multiplication is fast on the cpu: a*b is with mod otherwise using tables of logartihms) AC_DEFINE(HAVE_DIV_MOD,1,division using extend euclidian algorithm otherwise using tables of logartihms) ], dnl the following settings seems to be better on ppc processors dnl testet on: ppc_Linux, 740/750 PowerMac G3, 512k L2 cache [powerpc*|ppc*], [AC_DEFINE(HAVE_MULT_MOD,1,multiplication is fast on the cpu: a*b is with mod otherwise using tables of logartihms)], [] ) ])