diff options
Diffstat (limited to 'math/atlas-devel')
-rw-r--r-- | math/atlas-devel/Makefile | 23 | ||||
-rw-r--r-- | math/atlas-devel/distinfo | 4 | ||||
-rw-r--r-- | math/atlas-devel/files/patch-config.c | 65 |
3 files changed, 61 insertions, 31 deletions
diff --git a/math/atlas-devel/Makefile b/math/atlas-devel/Makefile index 0af4bb2dbaf9..63f251c29ea5 100644 --- a/math/atlas-devel/Makefile +++ b/math/atlas-devel/Makefile @@ -9,7 +9,7 @@ # Program and compiler flags are finetuned to gcc. PORTNAME= atlas -PORTVERSION= 3.7.8 +PORTVERSION= 3.7.10 CATEGORIES= math MASTER_SITES= ${MASTER_SITE_SOURCEFORGE} MASTER_SITE_SUBDIR= math-atlas @@ -33,7 +33,7 @@ USE_GCC=3.4 # only affects for lapack sub project .if defined(WITH_OPTIMIZED_FLAGS) -FFLAGS+=-pipe -O3 -ffast-math +FFLAGS+=-pipe -O3 -ffast-math -funroll-all-loops -fpeel-loops -ftracer -funswitch-loops -funit-at-a-time .endif post-patch: @@ -43,6 +43,13 @@ post-patch: @${REINPLACE_CMD} -e 's+%%PTHREAD_CFLAGS%%+${PTHREAD_CFLAGS}+g' \ -e 's+%%PTHREAD_LIBS%%+${PTHREAD_LIBS}+g' \ ${WRKSRC}/config.c +.if defined(PORTS_ARCH) + @${REINPLACE_CMD} -e 's+%%PORTS_ARCH%%+${PORTS_ARCH}+g' \ + -e 's+%%HAVE_ARCH%%+1+g' ${WRKSRC}/config.c +.else + @${REINPLACE_CMD} -e 's+%%PORTS_ARCH%%+0+g' \ + -e 's+%%HAVE_ARCH%%+0+g' ${WRKSRC}/config.c +.endif .if (${MACHINE_ARCH} == "alpha") @(cd ${WRKSRC}; ${PATCH} < ${FILESDIR}/alpha-patch) .endif @@ -56,6 +63,9 @@ PICFLAG?= -fpic ANSWER_i386?= ${PRINTF} "\n\n\n\n\n\n\n\n\n\n" ANSWER_ia64?= ${PRINTF} "\n\n\n2\n\n\n\n\nf77\n-O2 -static\n\n" +#for ports build cluster +#PORTS_ARCH=IntP5 + .if !defined(ANSWER_${ARCH}) ANSWER= ${ANSWER_i386} .else @@ -80,6 +90,15 @@ pre-build: @${ECHO_MSG} "for slow computers (over 1 day)." @${ECHO_MSG} "And sometimes stop building for Athlon." @${ECHO_MSG} "In this case please retype make or rebuild whole atlas." +.if !defined(PORTS_ARCH) + @${ECHO_MSG} "Warning:" + @${ECHO_MSG} "If your arch is not correctly detected, you can specify" + @${ECHO_MSG} "by yourself." + @${ECHO_MSG} "for example : make PORTS_ARCH=P5Int" + @${ECHO_MSG} "Available architectures for x86 are:" + @${ECHO_MSG} "IntP5, IntP5MMX, IntPPRO, IntPII, IntPIII, IntP4, IntP4E" + @${ECHO_MSG} "IntP4E64, TMEff, AmdAthlon,AmdHammer32, AmdHammer64" +.endif do-build: # make lapack diff --git a/math/atlas-devel/distinfo b/math/atlas-devel/distinfo index 6058d5bf5b15..1ef5ee98097a 100644 --- a/math/atlas-devel/distinfo +++ b/math/atlas-devel/distinfo @@ -1,2 +1,2 @@ -MD5 (atlas3.7.8.tar.bz2) = 4e2349a77520748958312480dd0e2b66 -SIZE (atlas3.7.8.tar.bz2) = 2004759 +MD5 (atlas3.7.10.tar.bz2) = c24aa9f676122fe6331fa63dd88c4113 +SIZE (atlas3.7.10.tar.bz2) = 2033340 diff --git a/math/atlas-devel/files/patch-config.c b/math/atlas-devel/files/patch-config.c index 455f38f38d0a..6c302adabc4e 100644 --- a/math/atlas-devel/files/patch-config.c +++ b/math/atlas-devel/files/patch-config.c @@ -1,17 +1,27 @@ ---- config.c.orig Mon Dec 22 23:06:32 2003 -+++ config.c Sat Mar 27 14:47:04 2004 -@@ -666,7 +666,9 @@ - sprintf(ln, "%s --version", gcc); - if (CmndOneLine(NULL, ln, ln2) == 0) +--- config.c.orig Sun Apr 24 22:31:53 2005 ++++ config.c Tue Jun 28 16:46:54 2005 +@@ -686,7 +686,10 @@ { + if (strstr(ln2, "Apple Computer")) + *comp = 3; - *major = GetIntVers(ln2, &j); ++ + j=0;if(isalpha(ln2[0])){for(i=0;!isspace(ln2[i]);i++)j++;} /*skip gccXXX ; XXX is number*/ + for (i=j; !isdigit(ln2[i]); i++) j++; + *major = GetIntVers(ln2+j, &i); j += i; if (*major != -1) { *minor = GetIntVers(ln2+j, &i); j += i; -@@ -1188,7 +1190,9 @@ +@@ -1044,6 +1044,8 @@ + { + if (strstr(ln, "x86_64")) + iret = 1; ++ if (strstr(ln, "amd64")) ++ iret = 1; + else if (strstr(ln, "ppc64")) + iret = 2; + } +@@ -1229,7 +1232,9 @@ switch(OS) { case OSOSX: /* don't know answer */ @@ -22,7 +32,7 @@ case OSLinux: break; case OSSunOS: -@@ -1450,9 +1454,9 @@ +@@ -1494,9 +1499,9 @@ if (THREADS && OS == OSFreeBSD) { if (which == CPF77) @@ -34,7 +44,7 @@ } break; case OSSunOS4: -@@ -1984,8 +1988,8 @@ +@@ -2113,8 +2118,8 @@ if (OS == OSFreeBSD) { if (strstr(comp, "cc")) @@ -45,7 +55,7 @@ } } return(*comp ? comp : NULL); -@@ -2587,7 +2587,7 @@ +@@ -2756,7 +2761,7 @@ break; case IntP4: lf1 = l1 = 64; @@ -54,7 +64,7 @@ s1 = 0; s2 = 0; break; -@@ -2687,6 +2687,7 @@ +@@ -2860,6 +2865,7 @@ l1 = l2 = s1 = s2 = 0; lf2 = 4096; } @@ -62,7 +72,7 @@ if (lvl == 1) { if (AmSure) *AmSure = s1; -@@ -2799,7 +2803,7 @@ +@@ -2977,7 +2983,7 @@ else if (strstr(ln, "ia64")) la = LAIA64; else if ( strstr(ln, "i686") || strstr(ln, "i586") || strstr(ln, "i486") || strstr(ln, "i386") || @@ -71,7 +81,17 @@ } return(la); } -@@ -2835,12 +2839,22 @@ +@@ -3006,6 +3012,9 @@ + else + sprintf(ln2, + "cd CONFIG ; make IRunx86Info mydir=%s/CONFIG | fgrep cpu", TOPdir); ++ ++ if (%%HAVE_ARCH%%) {mach = %%PORTS_ARCH%%; return(mach); } ++ + if ( !CmndOneLine(NULL, ln2, ln) ) + { + if (strstr(ln, "Pentium 4E64")) +@@ -3047,12 +3056,22 @@ } break; case LASPARC: /* don't know */ @@ -94,9 +114,12 @@ } break; case LAIA64: /* don't know */ -@@ -2849,14 +2863,32 @@ +@@ -3060,15 +3079,35 @@ + case LAX86: if (!CmndOneLine(targ, "sysctl hw.model", ln)) { ++// mach = Use64Bits ? IntP4E64 : IntP4E; #EM64T ++// mach = IntP4E; #prescott if (strstr(ln, "Pentium Pro")) mach = IntPPRO; + else if (strstr(ln, "Pentium(R) Pro")) mach = IntPPRO; + else if (strstr(ln, "Pentium 4")) mach = IntP4; @@ -132,7 +155,7 @@ } break; default:; -@@ -3641,8 +3673,8 @@ +@@ -3922,8 +3961,8 @@ } if (THREADS) /* add ncpu to ARCH */ { @@ -143,19 +166,7 @@ } do { -@@ -4047,9 +4079,9 @@ - if (mach == IA64Itan || mach == IA64Itan2 ) - fprintf(fpout, " -DATL_MAXNREG=128"); - if (ASMD != ASM_None) fprintf(fpout, " -DATL_%s", ASMNAM[ASMD]); -- if (mach == AmdHammer32 && (OS != OSWinNT && OS != OSWin9x)) -+ if (mach == AmdHammer32 && (OS != OSWinNT && OS != OSWin9x && OS != OSFreeBSD)) - fprintf(fpout, " -m32"); -- else if (mach == AmdHammer64) fprintf(fpout, " -m64"); -+ else if (mach == AmdHammer64 && (OS != OSFreeBSD)) fprintf(fpout, " -m64"); - if (mach == IA64Itan2 && strstr(CC, "icc")) - fprintf(fpout, " -DATL_IntelIccBugs"); - fprintf(fpout, "\n\n"); -@@ -4080,7 +4112,7 @@ +@@ -4371,7 +4410,7 @@ if (THREADS) { fprintf(fpout, " -DATL_NCPU=%d", ncpu); |