⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 acinclude.m4

📁 FFTW, a collection of fast C routines to compute the Discrete Fourier Transform in one or more dime
💻 M4
字号:
AC_DEFUN(ACX_CHECK_CC_FLAGS,[AC_REQUIRE([AC_PROG_CC])AC_CACHE_CHECK(whether ${CC-cc} accepts $1, ac_$2,[echo 'void f(){}' > conftest.cif test -z "`${CC-cc} $1 -c conftest.c 2>&1`"; then	ac_$2=yeselse	ac_$2=nofirm -f conftest*])if test "$ac_$2" = yes; then	:	$3else	:	$4fi])AC_DEFUN(ACX_PROG_GCC_VERSION,[AC_REQUIRE([AC_PROG_CC])AC_CACHE_CHECK(whether we are using gcc $1.$2 or later, ac_cv_prog_gcc_$1_$2,[dnl The semicolon after "yes" below is to pacify NeXT's syntax-checking cpp.cat > conftest.c <<EOF#ifdef __GNUC__#  if (__GNUC__ > $1) || (__GNUC__ == $1 && __GNUC_MINOR__ >= $2)     yes;#  endif#endifEOFif AC_TRY_COMMAND(${CC-cc} -E conftest.c) | egrep yes >/dev/null 2>&1; then  ac_cv_prog_gcc_$1_$2=yeselse  ac_cv_prog_gcc_$1_$2=nofi])if test "$ac_cv_prog_gcc_$1_$2" = yes; then	:	$3else	:	$4fi])AC_DEFUN(ACX_PROG_CC_EGCS,[ACX_PROG_GCC_VERSION(2,90,acx_prog_egcs=yes,acx_prog_egcs=no)])# Check to see if we are using a version of gcc that aligns the stack# (true in gcc-2.95+, which have the -mpreferred-stack-boundary flag).# Also check for stack alignment bug in gcc-2.95.x# (see http://egcs.cygnus.com/ml/gcc-bugs/1999-11/msg00259.html), and# whether main() is correctly aligned by the OS/libc/loader.AC_DEFUN(ACX_GCC_ALIGNS_STACK,[AC_REQUIRE([AC_PROG_CC])acx_gcc_aligns_stack=noif test "$GCC" = "yes"; thenACX_CHECK_CC_FLAGS(-mpreferred-stack-boundary=4, m_pref_stack_boundary_4)if test "$ac_m_pref_stack_boundary_4" = "yes"; then	AC_MSG_CHECKING([whether the stack is correctly aligned by gcc])	save_CFLAGS="$CFLAGS"	CFLAGS="-O -malign-double"	AC_TRY_RUN([#include <stdlib.h>#       include <stdio.h>	struct yuck { int blechh; };	int one(void) { return 1; }	struct yuck ick(void) { struct yuck y; y.blechh = 3; return y; }#       define CHK_ALIGN(x) if ((((long) &(x)) & 0x7)) { fprintf(stderr, "bad alignment of " #x "\n"); exit(1); }	void blah(int foo) { double foobar; CHK_ALIGN(foobar); }	int main(void) { double ok1; struct yuck y; double ok2; CHK_ALIGN(ok1);                         CHK_ALIGN(ok2); y = ick(); blah(one()); return 0; }	], [acx_gcc_aligns_stack=yes; acx_gcc_stack_align_bug=no], 	acx_gcc_stack_align_bug=yes, acx_gcc_stack_align_bug=yes)	CFLAGS="$save_CFLAGS"	AC_MSG_RESULT($acx_gcc_aligns_stack)fifiif test "$acx_gcc_aligns_stack" = yes; then	:	$1else	:	$2fi])AC_DEFUN(ACX_PROG_CC_MAXOPT,[AC_REQUIRE([AC_PROG_CC])AC_REQUIRE([ACX_PROG_CC_EGCS])AC_REQUIRE([AC_CANONICAL_HOST])# Try to determine "good" native compiler flags if none specified on command# lineif test "$ac_test_CFLAGS" != "set"; then  CFLAGS=""  case "${host_cpu}-${host_os}" in  *linux*)	echo "*******************************************************"	echo "*       Congratulations! You are running linux.       *"	echo "*******************************************************"	;;  sparc-solaris2*) if test "$CC" = cc; then                    CFLAGS="-native -fast -xO5 -dalign"                 fi;;  alpha*-osf*)  if test "$CC" = cc; then                    CFLAGS="-newc -w0 -O5 -ansi_alias -ansi_args -fp_reorder -tune host -arch host -std1"                fi;;  hppa*-hpux*)  if test "$CC" = cc; then                    CFLAGS="-Ae +O3 +Oall"                fi;;   *-aix*)	if test "$CC" = cc -o "$CC" = xlc; then		ACX_CHECK_CC_FLAGS([-qarch=auto -qtune=auto], qarch_auto,			[CFLAGS="-O3 -qansialias -w -qarch=auto -qtune=auto"],			[CFLAGS="-O3 -qansialias -w"	echo "*******************************************************"	echo "*  You seem to have AIX and the IBM compiler.  It is  *"	echo "*  recommended for best performance that you use:     *"	echo "*                                                     *"	echo "*    CFLAGS=-O3 -qarch=xxx -qtune=xxx -qansialias -w  *"	echo "*                      ^^^        ^^^                 *"	echo "*  where xxx is pwr2, pwr3, 604, or whatever kind of  *"        echo "*  CPU you have.  (Set the CFLAGS environment var.    *"        echo "*  and re-run configure.)  For more info, man cc.     *"	echo "*******************************************************"			])        fi;;  esac  # use default flags for gcc on all systems  if test $ac_cv_prog_gcc = yes; then     CFLAGS="-O3 -fomit-frame-pointer"  fi  # the egcs scheduler is too smart and destroys our own schedule.  # Disable the first instruction scheduling pass.  The second  # scheduling pass (after register reload) is ok.  if test "$acx_prog_egcs" = yes; then     CFLAGS="$CFLAGS -fno-schedule-insns -fschedule-insns2"  fi  # test for gcc-specific flags:  if test $ac_cv_prog_gcc = yes; then    # -malign-double for x86 systems    ACX_CHECK_CC_FLAGS(-malign-double,align_double,	CFLAGS="$CFLAGS -malign-double")    # -fstrict-aliasing for gcc-2.95+    ACX_CHECK_CC_FLAGS(-fstrict-aliasing,fstrict_aliasing,	CFLAGS="$CFLAGS -fstrict-aliasing")  fi  CPU_FLAGS=""  if test "$GCC" = "yes"; then	  dnl try to guess correct CPU flags, at least for linux	  case "${host_cpu}" in	  i586*)  ACX_CHECK_CC_FLAGS(-mcpu=pentium,cpu_pentium,			[CPU_FLAGS=-mcpu=pentium],			[ACX_CHECK_CC_FLAGS(-mpentium,pentium,				[CPU_FLAGS=-mpentium])])		  ;;	  i686*)  ACX_CHECK_CC_FLAGS(-mcpu=pentiumpro,cpu_pentiumpro,			[CPU_FLAGS=-mcpu=pentiumpro],			[ACX_CHECK_CC_FLAGS(-mpentiumpro,pentiumpro,				[CPU_FLAGS=-mpentiumpro])])		  ;;	  alphaev4-*)  ACX_CHECK_CC_FLAGS(-mcpu=ev4,cpu_ev4,			[CPU_FLAGS=-mcpu=ev4])		  ;;	  alphaev56-*)  ACX_CHECK_CC_FLAGS(-mcpu=ev56,cpu_ev56,			[CPU_FLAGS=-mcpu=ev56])		  ;;	  alphaev5-*)  ACX_CHECK_CC_FLAGS(-mcpu=ev5,cpu_ev5,			[CPU_FLAGS=-mcpu=ev5])		  ;;	  alphaev6-*)  ACX_CHECK_CC_FLAGS(-mcpu=ev6,cpu_ev6,			[CPU_FLAGS=-mcpu=ev6])		  ;;	  powerpc*)		cputype=`(grep cpu /proc/cpuinfo | head -1 | cut -d: -f2 | sed 's/ //g') 2> /dev/null`		is60x=`echo $cputype | egrep "^60[0-9]e?$"`		if test -n "$is60x"; then			ACX_CHECK_CC_FLAGS(-mcpu=$cputype,m_cpu_60x,				CPU_FLAGS=-mcpu=$cputype)		elif test "$cputype" = 750; then                        ACX_PROG_GCC_VERSION(2,95,                                ACX_CHECK_CC_FLAGS(-mcpu=750,m_cpu_750,					CPU_FLAGS=-mcpu=750))		fi		if test -z "$CPU_FLAGS"; then		        ACX_CHECK_CC_FLAGS(-mcpu=powerpc,m_cpu_powerpc,				CPU_FLAGS=-mcpu=powerpc)		fi		if test -z "$CPU_FLAGS"; then			ACX_CHECK_CC_FLAGS(-mpowerpc,m_powerpc,				CPU_FLAGS=-mpowerpc)		fi	  esac  fi  if test -n "$CPU_FLAGS"; then        CFLAGS="$CFLAGS $CPU_FLAGS"  fi  if test -z "$CFLAGS"; then	echo ""	echo "********************************************************"        echo "* WARNING: Don't know the best CFLAGS for this system  *"        echo "* Use  make CFLAGS=..., or edit the top level Makefile *"	echo "* (otherwise, a default of CFLAGS=-O3 will be used)    *"	echo "********************************************************"	echo ""        CFLAGS="-O3"  fi  ACX_CHECK_CC_FLAGS(${CFLAGS}, guessed_cflags, , [	echo ""        echo "********************************************************"        echo "* WARNING: The guessed CFLAGS don't seem to work with  *"        echo "* your compiler.                                       *"        echo "* Use  make CFLAGS=..., or edit the top level Makefile *"        echo "********************************************************"        echo ""        CFLAGS=""  ])fi])

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -