Revision: 100862 https://trac.macports.org/changeset/100862 Author: vince@macports.org Date: 2012-12-30 02:18:05 -0800 (Sun, 30 Dec 2012) Log Message: ----------- Spaces trimming Modified Paths: -------------- trunk/dports/math/atlas/Portfile Modified: trunk/dports/math/atlas/Portfile =================================================================== --- trunk/dports/math/atlas/Portfile 2012-12-30 10:13:55 UTC (rev 100861) +++ trunk/dports/math/atlas/Portfile 2012-12-30 10:18:05 UTC (rev 100862) @@ -1,93 +1,95 @@ # $Id$ -PortSystem 1.0 -PortGroup muniversal 1.0 +PortSystem 1.0 +PortGroup muniversal 1.0 -categories math -license BSD -name atlas -version 3.10.0 -revision 1 +categories math +license BSD +name atlas +version 3.10.0 +revision 1 # additional versions -set lapackversion 3.4.2 -set lapackname lapack -set atlasdist ${name}${version}.tar.bz2 -set lapackdist ${lapackname}-${lapackversion}.tgz +set lapackversion 3.4.2 +set lapackname lapack +set atlasdist ${name}${version}.tar.bz2 +set lapackdist ${lapackname}-${lapackversion}.tgz -maintainers vince -platforms darwin +maintainers vince +platforms darwin -description Portable optimal linear algebra software -long_description Provides a complete BLAS and LAPACK API.\ - ATLAS achieves performance on par\ - with machine-specific tuned libraries. +description Portable optimal linear algebra software +long_description Provides a complete BLAS and LAPACK API.\ + ATLAS achieves performance on par\ + with machine-specific tuned libraries. -homepage http://math-atlas.sourceforge.net/ +homepage http://math-atlas.sourceforge.net/ -master_sites sourceforge:math-atlas:atlas \ - http://www.netlib.org/lapack:lapack +master_sites sourceforge:math-atlas:atlas \ + http://www.netlib.org/lapack:lapack -distfiles ${atlasdist}:atlas \ - ${lapackdist}:lapack +distfiles ${atlasdist}:atlas \ + ${lapackdist}:lapack -patchfiles patch-atlcomp_txt.diff \ - patch-emit_mm_c.diff \ - patch-ATL_cmm4x4x128_av_c.diff +patchfiles patch-atlcomp_txt.diff \ + patch-emit_mm_c.diff \ + patch-ATL_cmm4x4x128_av_c.diff -checksums atlas3.10.0.tar.bz2 \ +checksums atlas3.10.0.tar.bz2 \ rmd160 4e969dfee2662c536e2f2bfc49b51e8ef5bc2c94 \ sha256 a90a2e3463504e3297b56edc13769d766732e82bd8f1de951cfc78444f148465 \ - lapack-3.4.2.tgz \ + lapack-3.4.2.tgz \ rmd160 8740c35c9a85b71424fe1ffeed192256aebeb431 \ sha256 60a65daaf16ec315034675942618a2230521ea7adf85eea788ee54841072faf0 -variant gcc48 conflicts gcc45 gcc46 gcc47 clang \ - mpclang31 mpclang32 \ - description {build using gcc 4.8} { +variant gcc48 conflicts gcc45 gcc46 gcc47 \ + clang mpclang31 mpclang32 \ + description {build using gcc 4.8} { } -variant gcc47 conflicts gcc45 gcc46 gcc48 clang mpclang31 mpclang32\ - description {build using macports-gcc-4.7} { +variant gcc47 conflicts gcc45 gcc46 gcc48 \ + clang mpclang31 mpclang32 \ + description {build using macports-gcc-4.7} { +} +variant gcc46 conflicts gcc45 gcc47 gcc48 \ + clang mpclang31 mpclang32 \ + description {build using macports-gcc-4.6} { } -variant gcc46 conflicts gcc45 gcc47 gcc48 clang mpclang31 mpclang32\ - description {build using macports-gcc-4.6} { - +variant gcc45 conflicts gcc46 gcc47 gcc48 \ + clang mpclang31 mpclang32 \ + description {build using macports-gcc-4.5} { } -variant gcc45 conflicts gcc46 gcc47 gcc48 clang mpclang31 mpclang32\ - description {build using macports-gcc-4.5} { - +variant clang conflicts gcc45 gcc46 gcc47 gcc48 \ + mpclang31 mpclang32 \ + description {use Apple clang and gfortran} { } -variant clang conflicts gcc45 gcc46 gcc47 gcc48 mpclang31 mpclang32\ - description {build using system clang and gfortran} { - +variant mpclang31 conflicts gcc45 gcc46 gcc47 gcc48 \ + clang mpclang32 \ + description {use mp-clang 3.1 and gfortran} { + + depends_build-append port:clang-3.1 } - -variant mpclang31 conflicts gcc45 gcc46 gcc47 gcc48 clang mpclang32\ - description {build using MPclang 3.1 and gfortran} { - - depends_build-append port:clang-3.1 -} -variant mpclang32 conflicts gcc45 gcc46 gcc47 gcc48 clang mpclang31\ - description {build using MPclang 3.2 and gfortran} { - - depends_build-append port:clang-3.2 +variant mpclang32 conflicts gcc45 gcc46 gcc47 gcc48 \ + clang mpclang31 \ + description {use mp-clang 3.2 and gfortran} { + + depends_build-append port:clang-3.2 } -variant dragonegg conflicts gcc45 gcc46 gcc47 gcc48 \ - description {use dragonegg with gcc46} { +variant dragonegg conflicts gcc45 gcc46 gcc47 gcc48 \ + description {use dragonegg with gcc46} { + return -code error "Use of dragonegg is momentarily outdated." } -variant nofortran description {Forgo use of fortran compiler} { - +variant nofortran description {Forgo use of fortran compiler} { } # Select proper gcc version (or clang) @@ -97,85 +99,84 @@ if {[vercmp $xcodeversion 4.3] < 0} { if {[variant_isset clang] || [variant_isset dragonegg]} { - + pre-fetch { - return -code error "Use of Clang is disabled with this version of Xcode." + return -code error "XCode is too old to use clang." } } - + if {[variant_isset gcc45]} { - set gccversion 4.5 + set gccversion 4.5 } elseif {[variant_isset gcc46]} { - - set gccversion 4.6 + + set gccversion 4.6 } elseif {[variant_isset gcc47]} { - - set gccversion 4.7 + + set gccversion 4.7 } elseif {[variant_isset gcc48]} { - - set gccversion 4.8 + + set gccversion 4.8 } elseif {[variant_isset mpclang31]} { - - configure.compiler macports-clang-3.1 + + configure.compiler macports-clang-3.1 } elseif {[variant_isset mpclang32]} { - - configure.cc ${prefix}/bin/clang-mp-3.2 + + configure.cc ${prefix}/bin/clang-mp-3.2 } else { # Defaults to gcc45 - set gccversion 4.5 - default_variants +gcc45 + set gccversion 4.5 + default_variants +gcc45 } - } else { # On Xcode > 4.2 we may use the standard Clang if {[variant_isset gcc45]} { - - set gccversion 4.5 + + set gccversion 4.5 } elseif {[variant_isset gcc46]} { - - set gccversion 4.6 + + set gccversion 4.6 } elseif {[variant_isset gcc47]} { - - set gccversion 4.7 + + set gccversion 4.7 } elseif {[variant_isset gcc48]} { - - set gccversion 4.8 + + set gccversion 4.8 } elseif {[variant_isset dragonegg]} { - - set gccversion 4.6 + + set gccversion 4.6 } elseif {[variant_isset mpclang31]} { - - configure.compiler macports-clang-3.1 + + configure.compiler macports-clang-3.1 } elseif {[variant_isset mpclang32]} { - - configure.cc ${prefix}/bin/clang-mp-3.2 + + configure.cc ${prefix}/bin/clang-mp-3.2 } elseif {[variant_isset clang]} { - - configure.compiler clang + configure.compiler clang + } else { - + # Defaults to gcc45 - set gccversion 4.5 - default_variants +gcc45 + set gccversion 4.5 + default_variants +gcc45 } } -depends_build port:bzip2 \ - port:gzip +depends_build port:bzip2 \ + port:gzip if {[info exists gccversion]} { - set gccnumber [join [split ${gccversion} .] ""] - configure.compiler macports-gcc-${gccversion} - - depends_build-append port:gcc${gccnumber} + set gccnumber [join [split ${gccversion} .] ""] + configure.compiler macports-gcc-${gccversion} + + depends_build-append port:gcc${gccnumber} } else { - set use_clang 1 + set use_clang 1 } # No cross-compilation possible @@ -204,7 +205,7 @@ -b ${my_arch} \ -Fa alg -fPIC \ --dylibs - + # Dragonegg if {[variant_isset dragonegg]} { @@ -217,12 +218,12 @@ if {[variant_isset nofortran]} { - configure.args-append --nof77 + configure.args-append --nof77 } if {${build_arch} == "ppc" || ${build_arch} == "ppc64"} { - configure.args-append -t 0 + configure.args-append -t 0 } # MacPorts defaults to ppc on G4 and G5, so we must override 64-bit @@ -230,29 +231,35 @@ if {${build_arch} == "ppc" && ![variant_isset universal]} { - configure.args-delete --cc=${configure.cc} \ - -Fa alg -fPIC + configure.args-delete --cc=${configure.cc} \ + -Fa alg -fPIC - configure.args-append --cc='${configure.cc} -m32 -force_cpusubtype_ALL' \ - -A 4 \ - -Fa alg '-fPIC -m32 -force_cpusubtype_ALL' - + configure.args-append --cc='${configure.cc} -m32 \ + -force_cpusubtype_ALL' \ + -A 4 \ + -Fa alg '-fPIC -m32 -force_cpusubtype_ALL' + # On Leopard, we may warn the user that ppc is not as efficient as ppc64 if {${os.major} == 9} { pre-configure { - - if {![catch {sysctl hw.cpu64bit_capable} result] && $result == 1} { - ui_msg "Compiling for G4 arch (ppc) on a G5 (ppc64) machine." + if {![catch {sysctl hw.cpu64bit_capable} result] && \ + $result == 1} { + + ui_msg "Compiling for ppc on a ppc64 machine." ui_msg "This could lead to inferior performance." } } } } -if {(${os.major} >= 11 && ![catch {sysctl hw.optional.avx1_0} result1] && $result1 == 1) || \ - (${os.major} > 8 && ![catch {sysctl hw.cpufamily} result2] && $result2 == 1418770316)} { +if {(${os.major} >= 11 && \ + ![catch {sysctl hw.optional.avx1_0} result1] && \ + $result1 == 1) || \ + (${os.major} > 8 && \ + ![catch {sysctl hw.cpufamily} result2] && \ + $result2 == 1418770316)} { # Core i2 processors (AVX) # AVX instruction can’t be used with GCC because Apple bundled as(1) @@ -262,7 +269,7 @@ # Force Core i1 arch pre-fetch { - ui_warn "GCC compilers on OS X do not support AVX instructions." + ui_warn "GCC compilers do not support AVX." } configure.args-append -A 25 } else { @@ -273,7 +280,7 @@ if {[variant_isset universal]} { - configure.universal_args-delete --disable-dependency-tracking + configure.universal_args-delete --disable-dependency-tracking configure.args-delete --cc=${configure.cc} \ -b ${my_arch} \ -Fa alg -fPIC @@ -309,15 +316,14 @@ # If we use gcc >= 46, add OpenMP support if {[info exists gccversion] && ${gccnumber} > 45} { - configure.args-append -Si omp 1 + configure.args-append -Si omp 1 } - extract { # extract Atlas and move to a consistent working directory name - system -W ${workpath} "bunzip2 -dc ${distpath}/${atlasdist} | \ - gnutar --no-same-owner -xf -" - system "mv ${workpath}/ATLAS ${workpath}/${name}-${version}" + system -W ${workpath} "bunzip2 -dc ${distpath}/${atlasdist} | \ + gnutar --no-same-owner -xf -" + system "mv ${workpath}/ATLAS ${workpath}/${name}-${version}" } post-patch { @@ -325,7 +331,7 @@ reinplace \ "s|cMVFLAGS=\\\\\"%s\\\\\"|cMVFLAGS=\\\\\"-force_cpusubtype_ALL\ %s\\\\\"|" \ ${worksrcpath}/include/atlas_mvtesttime.h - + # Remove all references to threads directories exec sed -i bak -E "/.*threads.*/d" ${worksrcpath}/Make.top } @@ -339,33 +345,37 @@ # Make gcc-mp-4.x and gfortran-mp-4.x be detected as GCC variants if {[info exists gccnumber]} { set ff [lindex [split ${configure.f77} '/'] end] - reinplace "s|-MPGCC-|${cc}|" ${worksrcpath}/CONFIG/src/probe_comp.c - reinplace "s|-MPFORTRAN-|${ff}|" ${worksrcpath}/CONFIG/src/probe_comp.c - reinplace "s|-MPPATH-|${prefix}/bin|" ${worksrcpath}/CONFIG/src/probe_comp.c + reinplace "s|-MPGCC-|${cc}|" \ + ${worksrcpath}/CONFIG/src/probe_comp.c + reinplace "s|-MPFORTRAN-|${ff}|" \ + ${worksrcpath}/CONFIG/src/probe_comp.c + reinplace "s|-MPPATH-|${prefix}/bin|" \ + ${worksrcpath}/CONFIG/src/probe_comp.c if {${build_arch} == "ppc"} { reinplace "s|XXX|'${cc}' '-O3 -maltivec \ - -mabi=altivec -mcpu=7400 -mtune=7400 \ - -fno-schedule-insns \ - -fschedule-insns2'|" \ + -mabi=altivec -mcpu=7400 -mtune=7400 \ + -fno-schedule-insns \ + -fschedule-insns2'|" \ ${worksrcpath}/CONFIG/src/atlcomp.txt } elseif {${build_arch} == "ppc64"} { reinplace "s|XXX|'${cc}' '-O3 -maltivec \ - -mabi=altivec -mcpu=970 -mtune=970 \ - -mvrsave -mpowerpc64 \ - -fno-schedule-insns \ - -fno-schedule-insns2'|" \ + -mabi=altivec -mcpu=970 -mtune=970 \ + -mvrsave -mpowerpc64 \ + -fno-schedule-insns \ + -fno-schedule-insns2'|" \ ${worksrcpath}/CONFIG/src/atlcomp.txt } else { reinplace "s|XXX|'${cc}' '-fomit-frame-pointer \ - -mfpmath=sse -msse3 -O2 -fno-schedule-insns2'|" \ + -mfpmath=sse -msse3 -O2 \ + -fno-schedule-insns2'|" \ ${worksrcpath}/CONFIG/src/atlcomp.txt } } else { reinplace "s|XXX|'${cc}' '-Oz -fomit-frame-pointer'|" \ - ${worksrcpath}/CONFIG/src/atlcomp.txt + ${worksrcpath}/CONFIG/src/atlcomp.txt } # Forces goodgcc @@ -380,22 +390,23 @@ ui_msg "Use of clang is still experimental and may result in\ reduced performance or misbehavior. Use with caution." } - + if {[info exists use_clang] && ![variant_isset nofortran]} { - set gflist [glob -noc ${prefix}/bin/gfortran-mp-4.*] + set gflist [glob -noc ${prefix}/bin/gfortran-mp-4.*] if {[llength ${gflist}] == 0} { - + # No fortran compiler found. Act as if +nofortran was set. - ui_msg "No fortran compiler found. Disabling fortran interface." - configure.args-append --nof77 + ui_msg "No fortran compiler found. \ + Disabling fortran interface." + configure.args-append --nof77 } else { # Select most recent gfortran global gccnumber - - configure.f77 [lindex [lsort -dec ${gflist}] 0] + + configure.f77 [lindex [lsort -dec ${gflist}] 0] set gccnumber \ [join [split [string range ${configure.f77} end-2 end] "."] ""] ui_msg "Selected gfortran${gccnumber}." @@ -405,8 +416,8 @@ # Select the proper gfortran and corresponding libgfortran library if {[info exists gccnumber] && ![variant_isset nofortran]} { - configure.args-append -C if ${configure.f77} - set libgfbasepath ${prefix}/lib/gcc${gccnumber} + configure.args-append -C if ${configure.f77} + set libgfbasepath ${prefix}/lib/gcc${gccnumber} if {[variant_isset universal]} { foreach arch ${universal_archs_to_use} { @@ -417,14 +428,15 @@ lappend merger_configure_args($arch) \ -Ss f77lib ${libgfarchpath}/libgfortran.dylib } else { - + lappend merger_configure_args($arch) \ -Ss f77lib ${libgfbasepath}/libgfortran.dylib } } } else { - - configure.args-append -Ss f77lib ${libgfbasepath}/libgfortran.dylib + + configure.args-append -Ss f77lib \ + ${libgfbasepath}/libgfortran.dylib } } @@ -435,13 +447,13 @@ ${workpath}/${name}-${version}-${arch} } } - + reinplace "s|cc=gcc|cc=${configure.cc}|g" ${worksrcpath}/configure reinplace "s|-no-cpp-precomp||g" \ ${workpath}/${name}-${version}/CONFIG/src/atlcomp.txt # Get some system specific variables for maximum optimization - set cpufreq [expr {[sysctl hw.cpufrequency]/1000000}] + set cpufreq [expr {[sysctl hw.cpufrequency]/1000000}] ui_debug "Setting CPU Frequency for: ${cpufreq}" if {${os.arch} == "powerpc"} { @@ -474,20 +486,21 @@ foreach arch ${archs} { if {![variant_isset universal]} { - + set atlas_path ${workpath}/${name}-${version} } else { - + set atlas_path ${workpath}/${name}-${version}-${arch} } # Recursively remove directories ui_debug "patch to recursively remove directories on clean" reinplace "s|rm -f|rm -rf|g" ${atlas_path}/build/Makefile - + # Ensure libgomp is linked if {[info exists gccversion] && ${gccnumber} > 45} { - reinplace -E "s|(LIBS =.*)|\\1 ${prefix}/lib/gcc${gccnumber}/libgomp.dylib|" \ + reinplace -E \ + "s|(LIBS =.*)|\\1 ${prefix}/lib/gcc${gccnumber}/libgomp.dylib|" \ ${atlas_path}/build/Make.inc } }
participants (1)
-
vince@macports.org