From e5a3dc3dbde34309822f90ba5635f3e1419c70dc Mon Sep 17 00:00:00 2001 From: maho Date: Sat, 28 Feb 2004 09:45:06 +0000 Subject: Update to 3.6.0 --- math/atlas/Makefile | 159 ++++++++++++++++++++++++++------------ math/atlas/distinfo | 3 +- math/atlas/files/answer | 10 --- math/atlas/files/non-thread-patch | 18 ----- math/atlas/files/patch-config.c | 139 +++++++++++++++++++++++---------- math/atlas/files/thread-patch | 19 +---- math/atlas/pkg-message | 8 ++ 7 files changed, 222 insertions(+), 134 deletions(-) delete mode 100644 math/atlas/files/answer delete mode 100644 math/atlas/files/non-thread-patch create mode 100644 math/atlas/pkg-message (limited to 'math') diff --git a/math/atlas/Makefile b/math/atlas/Makefile index 3d35f739ee52..07179df4cd19 100644 --- a/math/atlas/Makefile +++ b/math/atlas/Makefile @@ -6,10 +6,10 @@ # # NOTE: This port purposely ignores the CC and CFLAGS settings. -# Program and compiler flags are finetuned to gcc 2.95/3.1. +# Program and compiler flags are finetuned to gcc. PORTNAME= atlas -PORTVERSION= 3.5.5 +PORTVERSION= 3.6.0 PORTEPOCH= 1 CATEGORIES= math MASTER_SITES= ${MASTER_SITE_SOURCEFORGE} @@ -19,18 +19,29 @@ DISTNAME= ${PORTNAME}${PORTVERSION} MAINTAINER= maho@FreeBSD.org COMMENT= Automatically Tuned Linear Algebra Software (ATLAS) -BUILD_DEPENDS= ${LOCALBASE}/lib/liblapack.a:${PORTSDIR}/math/lapack - USE_BZIP2= yes WRKSRC= ${WRKDIR}/ATLAS INSTALLS_SHLIB= yes USE_REINPLACE= yes -.if (${MACHINE_ARCH} == "alpha") -USE_GCC= 3.1 +.include + +.if ${OSVERSION} < 501000 && ${MACHINE_ARCH} == "alpha" +USE_GCC=3.3 +.endif + +# only affects for lapack sub project +.if defined(WITH_OPTIMIZED_FLAGS) +FFLAGS+= -pipe -O3 -ffast-math -finline-functions -fstrength-reduce -funroll-loops -fexpensive-optimizations +.if (${MACHINE_ARCH} == "i386" && !${MACHINE_ARCH} == "amd64" ) +FFLAGS+= -mfancy-math-387 -mpreferred-stack-boundary=3 -malign-double +.endif # i386 .endif post-patch: +.if !defined(WITH_OPTIMIZED_FLAGS) + @${ECHO_CMD} "You can optimize lapack sub project by setting WITH_OPTIMIZED_FLAGS=yes." +.endif @${REINPLACE_CMD} -e 's+%%PTHREAD_CFLAGS%%+ ${PTHREAD_CFLAGS}+' \ ${WRKSRC}/config.c @${REINPLACE_CMD} -e 's+%%PTHREAD_LIBS%%+ ${PTHREAD_LIBS}+' \ @@ -39,68 +50,120 @@ post-patch: @(cd ${WRKSRC}; ${PATCH} < ${FILESDIR}/alpha-patch) .endif -do-configure: - @(cd ${WRKSRC}; ${PATCH} < ${FILESDIR}/non-thread-patch) - @(cd ${WRKSRC}; ${MAKE_ENV} ${MAKE} config < ${FILESDIR}/answer) - @(cd ${WRKSRC}; ${PATCH} < ${FILESDIR}/thread-patch) - @(cd ${WRKSRC}; ${MAKE_ENV} ${MAKE} config < ${FILESDIR}/answer) - -NON_THREADED_ATLAS=`cat ${WRKSRC}/ARCHNAME-NON-THREADED` -THREADED_ATLAS=`cat ${WRKSRC}/ARCHNAME-THREADED` -ATLAS_LIBS1=libatlas libcblas libf77blas libtstatlas libalapack -ATLAS_LIBS2=libptcblas libptf77blas +.if !defined(PICFLAG) +.if ${MACHINE_ARCH} == "sparc64" +PICFLAG=-fPIC +.else +PICFLAG=-fpic +.endif +.endif + +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" -post-configure: -.if (${MACHINE_ARCH} == "alpha") || defined(USE_GCC) - @${REINPLACE_CMD} -e 's|/usr/bin/gcc|${CC}|g;' ${WRKSRC}/Make.${NON_THREADED_ATLAS} - @${REINPLACE_CMD} -e 's|/usr/bin/gcc|${CC}|g;' ${WRKSRC}/Make.${THREADED_ATLAS} +.if !defined(ANSWER_${ARCH}) +ANSWER= ${ANSWER_i386} +.else +ANSWER= ${ANSWER_${ARCH}} .endif +do-configure: + @(cd ${WRKSRC}; ${MAKE_ENV} ${MAKE} xconfig && \ + ${ANSWER} | ./xconfig -N 1 -c ${CC} -f ${FC} -a NON_THREADED && \ + ${ANSWER} | ./xconfig -N 1 -c ${CC} -f ${FC} -a NON_THREADED_PIC \ + -F c '${PICFLAG} -DPIC' -F f '${PICFLAG} -DPIC' \ + -F m '${PICFLAG} -DPIC' -F x '${PICFLAG} -DPIC') + @(cd ${WRKSRC}; ${PATCH} < ${FILESDIR}/thread-patch && \ + ${MAKE_ENV} ${MAKE} xconfig && \ + ${ANSWER} | ./xconfig -c ${CC} -f ${FC} -a THREADED && \ + ${ANSWER} | ./xconfig -c ${CC} -f ${FC} -a THREADED_PIC \ + -F c '${PICFLAG} -DPIC' -F f '${PICFLAG} -DPIC' \ + -F m '${PICFLAG} -DPIC' -F x '${PICFLAG} -DPIC' ) + +ATLAS_LIBS1=libalapack libatlas libcblas libf77blas libtstatlas +ATLAS_LIBS2=libptcblas libptf77blas + do-build: -# non thread version - (cd ${WRKSRC}; ${MAKE_ENV} ${MAKE} install arch=${NON_THREADED_ATLAS}) -# (cd ${WRKSRC}; ${MAKE_ENV} ${MAKE} sanity_test arch=${NON_THREADED_ATLAS}) - (cd ${WRKSRC}; ${MKDIR} tmp ; \ - ${CP} ${LOCALBASE}/lib/liblapack.a tmp ;\ - cd tmp ;\ +# make lapack +.if ! exists(${WRKDIR}/lapack/Makefile) + @${ECHO_MSG} "===> Extracting lapack sub project" + @${MKDIR} ${WRKDIR}/lapack + @${CP} -r ${PORTSDIR}/math/lapack/files ${WRKDIR}/lapack + @${CP} -r ${PORTSDIR}/math/lapack/scripts ${WRKDIR}/lapack + @${CP} ${PORTSDIR}/math/lapack/Makefile ${WRKDIR}/lapack + @${CP} ${PORTSDIR}/math/lapack/distinfo ${WRKDIR}/lapack + @${CP} ${PORTSDIR}/math/lapack/pkg-descr ${WRKDIR}/lapack + @cd ${WRKDIR}/lapack ; ${MAKE} "FFLAGS=${FFLAGS}" FC="${FC}" build WRKDIRPREFIX="" +.endif + @(cd ${WRKSRC}; ${MAKE_ENV} ${MAKE} install arch=NON_THREADED) + @(cd ${WRKSRC}; ${MAKE_ENV} ${MAKE} install arch=NON_THREADED_PIC) + @(cd ${WRKSRC}; ${MAKE_ENV} ${MAKE} install arch=THREADED) + @(cd ${WRKSRC}; ${MAKE_ENV} ${MAKE} install arch=THREADED_PIC) +# make atlas enhanced lapack (static ver) + (cd ${WRKSRC}; ${MKDIR} tmp1 ; \ + ${CP} ${WRKDIR}/lapack/work/LAPACK/SRC/liblapack.a tmp1 ;\ + cd tmp1 ;\ ar x liblapack.a ;\ - ar x ../lib/${NON_THREADED_ATLAS}/liblapack.a ;\ - ar r ../lib/${NON_THREADED_ATLAS}/libalapack.a *.o ;\ - ranlib ../lib/${NON_THREADED_ATLAS}/libalapack.a ) + ar x ../lib/NON_THREADED/liblapack.a ;\ + ar r ../lib/NON_THREADED/libalapack.a *.o ;\ + ranlib ../lib/NON_THREADED/libalapack.a ) +# make atlas enhanced lapack (static and thread safe ver) + (cd ${WRKSRC}; ${MKDIR} tmp2 ; \ + ${CP} ${WRKDIR}/lapack/work/LAPACK/SRC/liblapack.a tmp2 ;\ + cd tmp2 ;\ + ar x liblapack.a ;\ + ar x ../lib/THREADED/liblapack.a ;\ + ar r ../lib/THREADED/libalapack.a *.o ;\ + ranlib ../lib/THREADED/libalapack.a ) +# make atlas enhanced lapack (shared ver) + ( cd ${WRKSRC}; ${MKDIR} tmp3 ;\ + ${TAR} --exclude "*.f" --exclude "*.po" --exclude "*.o" -cf - -C ${WRKDIR}/lapack/work/LAPACK/SRC . | ${TAR} xf - -C tmp3 ;\ + for object in `${FIND} tmp3 -name "*.So"` ; do \ + n=`${ECHO_CMD} $${object}|${SED} -e 's#.So##'` ; \ + ${MV} $$n.So $$n.o ; \ + done ; \ + cd tmp3 ;\ + ar x ../lib/NON_THREADED_PIC/liblapack.a ;\ + ar r ../lib/NON_THREADED_PIC/libalapack.a *.o ;\ + ranlib ../lib/NON_THREADED_PIC/libalapack.a ) +# make atlas enhanced lapack (shared and thread safe ver) + ( cd ${WRKSRC}; ${MKDIR} tmp4 ;\ + ${TAR} --exclude "*.f" --exclude "*.po" --exclude "*.o" -cf - -C ${WRKDIR}/lapack/work/LAPACK/SRC . | ${TAR} xf - -C tmp4 ;\ + for object in `${FIND} tmp4 -name "*.So"` ; do \ + n=`${ECHO_CMD} $${object}|${SED} -e 's#.So##'` ; \ + ${MV} $$n.So $$n.o ; \ + done ; \ + cd tmp4 ;\ + ar x ../lib/THREADED_PIC/liblapack.a ;\ + ar r ../lib/THREADED_PIC/libalapack.a *.o ;\ + ranlib ../lib/THREADED_PIC/libalapack.a ) + +# make atlas shared library .for i in ${ATLAS_LIBS1} - ( cd ${WRKSRC}/lib/${NON_THREADED_ATLAS}/ ; \ + ( cd ${WRKSRC}/lib/NON_THREADED_PIC/ ; \ ld -Bshareable -o ${i}.so.1 -x -soname ${i}.so.1 --whole-archive ${i}.a ) .endfor -# thread version - (cd ${WRKSRC}; ${MAKE_ENV} ${MAKE} install arch=${THREADED_ATLAS}) -# (cd ${WRKSRC}; ${MAKE_ENV} ${MAKE} sanity_test arch=${THREADED_ATLAS}) - (cd ${WRKSRC}; ${MKDIR} tmp2 ; \ - ${CP} ${LOCALBASE}/lib/liblapack.a tmp2 ;\ - cd tmp2 ;\ - ar x liblapack.a ;\ - ar x ../lib/${THREADED_ATLAS}/liblapack.a ;\ - ar r ../lib/${THREADED_ATLAS}/libalapack.a *.o ;\ - ranlib ../lib/${THREADED_ATLAS}/libalapack.a ) +# make atlas shared (thread safe) library .for i in ${ATLAS_LIBS1} ${ATLAS_LIBS2} - ( cd ${WRKSRC}/lib/${THREADED_ATLAS}/ ; \ + ( cd ${WRKSRC}/lib/THREADED_PIC/ ; \ ld -Bshareable -o ${i}.so.1 -x -soname ${i}.so.1 --whole-archive ${i}.a ) .endfor do-install: .for i in ${ATLAS_LIBS1} - @${INSTALL_DATA} ${WRKSRC}/lib/${NON_THREADED_ATLAS}/${i}.a ${PREFIX}/lib - @${INSTALL_DATA} ${WRKSRC}/lib/${NON_THREADED_ATLAS}/${i}.so.1 ${PREFIX}/lib + @${INSTALL_DATA} ${WRKSRC}/lib/NON_THREADED/${i}.a ${PREFIX}/lib + @${INSTALL_DATA} ${WRKSRC}/lib/NON_THREADED_PIC/${i}.so.1 ${PREFIX}/lib @${LN} -sf ${i}.so.1 ${PREFIX}/lib/${i}.so .endfor .for i in ${ATLAS_LIBS1} - @${INSTALL_DATA} ${WRKSRC}/lib/${THREADED_ATLAS}/${i}.a ${PREFIX}/lib/${i}_r.a - @${INSTALL_DATA} ${WRKSRC}/lib/${THREADED_ATLAS}/${i}.so.1 ${PREFIX}/lib/${i}_r.so.1 + @${INSTALL_DATA} ${WRKSRC}/lib/THREADED/${i}.a ${PREFIX}/lib/${i}_r.a + @${INSTALL_DATA} ${WRKSRC}/lib/THREADED_PIC/${i}.so.1 ${PREFIX}/lib/${i}_r.so.1 @${LN} -sf ${i}_r.so.1 ${PREFIX}/lib/${i}_r.so .endfor .for i in ${ATLAS_LIBS2} - @${INSTALL_DATA} ${WRKSRC}/lib/${THREADED_ATLAS}/${i}.a ${PREFIX}/lib - @${INSTALL_DATA} ${WRKSRC}/lib/${THREADED_ATLAS}/${i}.so.1 ${PREFIX}/lib + @${INSTALL_DATA} ${WRKSRC}/lib/THREADED/${i}.a ${PREFIX}/lib + @${INSTALL_DATA} ${WRKSRC}/lib/THREADED_PIC/${i}.so.1 ${PREFIX}/lib @${LN} -sf ${i}.so.1 ${PREFIX}/lib/${i}.so .endfor @${INSTALL_DATA} ${WRKSRC}/include/cblas.h ${PREFIX}/include @@ -112,4 +175,4 @@ do-install: ${INSTALL_DATA} ${WRKSRC}/doc/* ${DOCSDIR} .endif -.include +.include diff --git a/math/atlas/distinfo b/math/atlas/distinfo index 4adfd20da39a..f9adc68c84ee 100644 --- a/math/atlas/distinfo +++ b/math/atlas/distinfo @@ -1 +1,2 @@ -MD5 (atlas3.5.5.tar.bz2) = d4acbc5e79cde224d60fa452f741c686 +MD5 (atlas3.6.0.tar.bz2) = df2ee2eb65d1c08ee93d04370172c262 +SIZE (atlas3.6.0.tar.bz2) = 1687723 diff --git a/math/atlas/files/answer b/math/atlas/files/answer deleted file mode 100644 index 584ba8795fb2..000000000000 --- a/math/atlas/files/answer +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/math/atlas/files/non-thread-patch b/math/atlas/files/non-thread-patch deleted file mode 100644 index 69c632a45b6a..000000000000 --- a/math/atlas/files/non-thread-patch +++ /dev/null @@ -1,18 +0,0 @@ ---- config.c.orig Tue Jul 1 12:32:49 2003 -+++ config.c Tue Jul 1 12:35:09 2003 -@@ -2737,6 +2737,7 @@ - Use3DNow = IsYes('n', " ", "Use 3DNow! for computation?"); - } - ncpu = ProbeNCPU(OS, mach, targ, TOPdir); -+ ncpu = 1; // force non-threading - if (ncpu != 1) /* user may want to thread */ - { - DisplayFile("CONFIG/pthread.txt", stdout, NLINES); -@@ -3154,6 +3155,7 @@ - } - if (USEWINF77) strcpy(F77, "$(BINdir)/winf77.exe"); - -+ fpout = fopen("ARCHNAME-NON-THREADED", "w"); - fprintf(fpout, "%s", ARCH); - fclose(fpout); - ATL_mprintf(2, fplog, stdout,"\nCreating make include file Make.%s\n", ARCH); diff --git a/math/atlas/files/patch-config.c b/math/atlas/files/patch-config.c index c3bb42b8a882..960597aaca53 100644 --- a/math/atlas/files/patch-config.c +++ b/math/atlas/files/patch-config.c @@ -1,15 +1,6 @@ ---- config.c.orig Mon Jun 23 07:58:35 2003 -+++ config.c Tue Jul 1 12:32:49 2003 -@@ -708,7 +708,7 @@ - else if (mach == IA64Itan || MachIsUS(mach) || - mach == Dec21164 || mach == Dec21264) - { -- if (major == 3) -+ if ((major == 2 && minor < 96) || (major == 3)) /* Nasty hack for FreeBSD/Alpha STABLE */ - { - strcpy(goodgcc, files[i]); - return(0); -@@ -1114,7 +1114,9 @@ +--- config.c.org Tue Jan 20 22:32:38 2004 ++++ config.c Tue Jan 20 22:32:54 2004 +@@ -1188,7 +1188,9 @@ switch(OS) { case OSOSX: /* don't know answer */ @@ -20,19 +11,51 @@ case OSLinux: break; case OSSunOS: -@@ -1252,6 +1254,11 @@ - "-mcpu=ultrasparc -mtune=ultrasparc -fomit-frame-pointer -O3"); +@@ -1450,9 +1452,9 @@ + if (THREADS && OS == OSFreeBSD) + { + if (which == CPF77) +- strcat(flag, " -pthread"); ++ strcat(flag, " %%PTHREAD_LIBS%%"); + else +- strcat(flag, " -pthread -D_REENTRANT -D_THREAD_SAFE"); ++ strcat(flag, " %%PTHREAD_LIBS%% %%PTHREAD_CFLAGS%%"); + } + break; + case OSSunOS4: +@@ -1984,8 +1986,8 @@ + if (OS == OSFreeBSD) + { + if (strstr(comp, "cc")) +- strcat(flag, " -pthread -D_REENTRANT -D_THREAD_SAFE"); +- else strcat(flag, " -pthread"); ++ strcat(flag, " %%PTHREAD_LIBS%% %%PTHREAD_CFLAGS%%"); ++ else strcat(flag, " %%PTHREAD_LIBS%%"); } - if (OS == OSFreeBSD && F77) strcpy(F77, "f77"); -+ if (OS == OSFreeBSD && THREADS) { -+ strcat(F77FLAGS, "%%PTHREAD_CFLAGS%%"); -+ strcat(CCFLAGS, "%%PTHREAD_CFLAGS%%"); -+ strcat(MMFLAGS, "%%PTHREAD_CFLAGS%%"); -+ } - break; - case OSSunOS: - np = 3; -@@ -2116,7 +2123,10 @@ + } + return(*comp ? comp : NULL); +@@ -2801,7 +2801,7 @@ + else if (strstr(ln, "ia64")) la = LAIA64; + else if ( strstr(ln, "i686") || strstr(ln, "i586") || + strstr(ln, "i486") || strstr(ln, "i386") || +- strstr(ln, "x86_64") ) la = LAX86; ++ strstr(ln, "x86_64") || strstr(ln, "amd64") ) la = LAX86; + } + return(la); + } +@@ -2835,12 +2837,22 @@ + } + break; + case LASPARC: /* don't know */ ++ if (!CmndOneLine(targ, "sysctl hw.model", ln)) ++ { ++ if (strstr(ln, "UltraSparc-II")) mach = SunUS2; ++ if (strstr(ln, "UltraSparc-I")) mach = SunUS1; ++ if (strstr(ln, "UltraSparc")) mach = SunUSX; ++ else mach = SunUSX; ++ } + break; + case LAALPHA: if (!CmndOneLine(targ, "sysctl hw.model", ln)) { if (strstr(ln, "433au")) mach = Dec21164; @@ -43,35 +66,73 @@ } break; case LAIA64: /* don't know */ -@@ -2125,14 +2135,22 @@ +@@ -2849,14 +2861,32 @@ if (!CmndOneLine(targ, "sysctl hw.model", ln)) { if (strstr(ln, "Pentium Pro")) mach = IntPPRO; + else if (strstr(ln, "Pentium(R) Pro")) mach = IntPPRO; + else if (strstr(ln, "Pentium 4")) mach = IntP4; -+ else if (strstr(ln, "Pentium(R) 4")) mach = IntP4; ++ else if (strstr(ln, "Pentium(R) 4")) mach = IntP4; ++ else if (strstr(ln, "Pentium(R) M")) mach = IntP4; else if (strstr(ln, "Pentium III")) mach = IntPIII; +- else if (strstr(ln, "Pentium II ")) mach = IntPII; ++ else if (strstr(ln, "Pentium III/Pentium III")) mach = IntPIII; + else if (strstr(ln, "Pentium(R) III")) mach = IntPIII; - else if (strstr(ln, "Pentium II ")) mach = IntPII; ++ else if (strstr(ln, "Pentium II")) mach = IntPII; ++ else if (strstr(ln, "Pentium II/PentiumII")) mach = IntPII; + else if (strstr(ln, "Pentium(R) II ")) mach = IntPII; + else if (strstr(ln, "Celeron")) mach = IntPII; + else if (strstr(ln, "Celeron(R)")) mach = IntPII; ++ else if (strstr(ln, "Opteron(tm)") && sizeof(void *)==4) mach = AmdHammer32; ++ else if (strstr(ln, "Opteron(tm)") && sizeof(void *)==8) mach = AmdHammer64; ++ else if (strstr(ln, "AMD Athlon(tm) 64") && sizeof(void *)==4) mach = AmdHammer32; ++ else if (strstr(ln, "AMD Athlon(tm) 64") && sizeof(void *)==8) mach = AmdHammer64; ++ else if (strstr(ln, "Athlon(tm)")) mach = AmdAthlon; else if (strstr(ln, "Athlon")) mach = AmdAthlon; else if (strstr(ln, "AMD-K7")) mach = AmdAthlon; - else if (strstr(ln, "32 bit Hammer")) mach = AmdHammer32; - else if (strstr(ln, "64 bit Hammer")) mach = AmdHammer64; - else if (strstr(ln, "Pentium/P55C")) mach = IntP5MMX; /* sent by */ - else if (strstr(ln, "Pentium")) mach=IntP5; /* Nakata Maho */ +- else if (strstr(ln, "32 bit Hammer")) mach = AmdHammer32; +- else if (strstr(ln, "64 bit Hammer")) mach = AmdHammer64; +- else if (strstr(ln, "Pentium/P55C")) mach = IntP5MMX; /* sent by */ +- else if (strstr(ln, "Pentium")) mach=IntP5; /* Nakata Maho */ ++ else if (strstr(ln, "AMD-K6(tm)")) mach = IntP5MMX; ++ else if (strstr(ln, "Pentium/P55C")) mach = IntP5MMX; ++ else if (strstr(ln, "Pentium/P54C")) mach=IntP5; ++ else if (strstr(ln, "Pentium")) mach=IntP5; ++ else if (strstr(ln, "VIA")) mach=IntP5MMX; ++ else if (strstr(ln, "Crusoe(tm)")) mach=IntP5MMX; + else mach = IntP5; } break; default:; -@@ -3136,6 +3154,8 @@ +@@ -3641,8 +3671,8 @@ + } + if (THREADS) /* add ncpu to ARCH */ + { +- for (i=0; ARCH[i]; i++); +- sprintf(ARCH+i, "_%d", ncpu); ++// for (i=0; ARCH[i]; i++); // do not add number of cpu for ARCHNAME ++// sprintf(ARCH+i, "_%d", ncpu); // #cpu can be different in general + } + do + { +@@ -4047,9 +4077,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 +4095,7 @@ + if (THREADS) + { + fprintf(fpout, " -DATL_NCPU=%d", ncpu); +- if (OS == OSFreeBSD) fprintf(fpout, " -D_THREAD_SAFE -D_REENTRANT"); ++ if (OS == OSFreeBSD) fprintf(fpout, " %%PTHREAD_CFLAGS%%"); + if (OS == OSAIX) fprintf(fpout, " -DIBM_PT_ERROR"); + if (OS == OSIRIX) fprintf(fpout, " -D_POSIX_C_SOURCE=199506L"); } - if (USEWINF77) strcpy(F77, "$(BINdir)/winf77.exe"); - -+ fprintf(fpout, "%s", ARCH); -+ fclose(fpout); - ATL_mprintf(2, fplog, stdout,"\nCreating make include file Make.%s\n", ARCH); - sprintf(ln, "Make.%s", ARCH); - fpout = fopen(ln, "w"); diff --git a/math/atlas/files/thread-patch b/math/atlas/files/thread-patch index 4d1a00c71f47..5d6521809593 100644 --- a/math/atlas/files/thread-patch +++ b/math/atlas/files/thread-patch @@ -5,24 +5,7 @@ enum USERGEMM {UG_None=0, UG_GOTO}; -int XCOMP=0, THREADS=0, USEWINF77=0, NLINES=0, ISWIN=0; -+int XCOMP=0, THREADS=1, USEWINF77=0, NLINES=0, ISWIN=0; // force threading ++int XCOMP=0, THREADS=1, USEWINF77=0, NLINES=0, ISWIN=0; // force threading for single processor char TARGNAM[512]; enum MACHTYPE mach=MACHOther; -@@ -2737,7 +2737,6 @@ - Use3DNow = IsYes('n', " ", "Use 3DNow! for computation?"); - } - ncpu = ProbeNCPU(OS, mach, targ, TOPdir); -- ncpu = 1; // force non-threading - if (ncpu != 1) /* user may want to thread */ - { - DisplayFile("CONFIG/pthread.txt", stdout, NLINES); -@@ -3155,7 +3154,7 @@ - } - if (USEWINF77) strcpy(F77, "$(BINdir)/winf77.exe"); - -- fpout = fopen("ARCHNAME-NON-THREADED", "w"); -+ fpout = fopen("ARCHNAME-THREADED", "w"); - fprintf(fpout, "%s", ARCH); - fclose(fpout); - ATL_mprintf(2, fplog, stdout,"\nCreating make include file Make.%s\n", ARCH); diff --git a/math/atlas/pkg-message b/math/atlas/pkg-message new file mode 100644 index 000000000000..3ec289495210 --- /dev/null +++ b/math/atlas/pkg-message @@ -0,0 +1,8 @@ +------------------------------------------------- +This software determines and detects +appropreate parameters and hardware setting +(e.g., SSE/SSE2/3DNow etc) while compilation. + +The author of this port *strongly* urge you to +make atlas by yourself. +------------------------------------------------- -- cgit