# $Id: Portfile 92241 2012-04-22 10:27:31Z jeremyhu@macports.org $ PortSystem 1.0 name cctools # XCode 4.3 version 822 revision 2 categories devel platforms darwin maintainers mfeiri jeremyhu openmaintainer license {APSL-2.0 GPL-2+} description Compiler Tools for Mac OS X and Darwin long_description A set of essential tools to support development \ on Mac OS X and Darwin. Conceptually similar \ similar to binutils on other platforms. homepage http://opensource.apple.com/source/${name}/ master_sites http://opensource.apple.com/tarballs/${name}/ checksums rmd160 1caf207acbf421cdc975926a392fc75dc1d2594c \ sha256 dfaa9bdbd023524d47429674f64d2d5ea393123dabf90868be0aa17f61f45289 depends_lib port:cctools-headers depends_build path:lib/libprunetrie.a:ld64 patchfiles PR-11136237.patch lto.patch if {${os.arch} == "powerpc"} { # XCode 3.1.4 version 698.1 revision 2 distname cctools-${version} checksums rmd160 898c7b46869d4989c115420912fdd8d96ae923d3 \ sha256 383f1c0c78a2b3efdfdf7ce01adb7e2f8ee9985164dba6ab1c0fae800a211cec supported_archs i386 ppc depends_build-delete path:lib/libprunetrie.a:ld64 patchfiles-delete PR-11136237.patch patchfiles-append patch-misc_libtool.c.diff PR-11136237-698.1.patch } elseif {${os.major} == 8} { # XCode 4.1 version 806 revision 0 distname cctools-${version} checksums rmd160 91c0a3f192f1eed60b64ef5a0a06918d0ce0b0c9 \ sha256 6116c06920112c634f6df2fa8b2f171ee3b90ff2176137da5856336695a6a676 supported_archs i386 x86_64 depends_build-delete path:lib/libprunetrie.a:ld64 patchfiles-append PR-9087924.patch PR-9830754.patch } if {![variant_isset llvm29] && ![variant_isset llvm30] && ![variant_isset llvm31]} { default_variants +llvm30 } set llvm_version {} variant llvm29 conflicts llvm30 llvm31 description {Use llvm-2.9 for libLTO and llvm-mc} { set llvm_version 2.9 depends_run-append port:llvm-${llvm_version} } variant llvm30 conflicts llvm29 llvm31 description {Use llvm-3.0 for libLTO and llvm-mc} { set llvm_version 3.0 depends_run-append port:llvm-${llvm_version} } variant llvm31 conflicts llvm29 llvm30 description {Use llvm-3.1 for libLTO and llvm-mc} { set llvm_version 3.1 depends_run-append port:llvm-${llvm_version} } use_configure no destroot.args DSTROOT=${destroot}${prefix} RC_ProjectSourceVersion=${version} post-patch { # We don't want to build cctools ld. We want to use ld64 reinplace "/^SUBDIRS_32/s/ld//" ${worksrcpath}/Makefile reinplace "/^COMMON_SUBDIRS/s/ ld / /" ${worksrcpath}/Makefile # Use our chosen version of llvm if {[variant_isset llvm29] || [variant_isset llvm30] || [variant_isset llvm31]} { reinplace "s:\"llvm-mc\":\"llvm-mc-mp-${llvm_version}\":" ${worksrcpath}/as/driver.c reinplace "s:@@LLVM_LIBDIR@@:${prefix}/libexec/llvm-${llvm_version}/lib:" ${worksrcpath}/libstuff/lto.c } foreach file [glob ${worksrcpath}/{*/,}Makefile] { reinplace "s:/usr/local:${prefix}:g" ${file} reinplace "s:/usr:${prefix}:g" ${file} reinplace "s:${prefix}/efi:${prefix}:g" ${file} reinplace "s:/Developer${prefix}:${prefix}:g" ${file} reinplace "s:${prefix}/man:${prefix}/share/man:g" ${file} if {${os.major} < 10} { reinplace "s:${prefix}/bin/mig:/usr/bin/mig:g" ${file} } } } use_configure no use_parallel_build yes build.target all pre-build { build.args-append \ RC_ProjectSourceVersion=${version} \ USE_DEPENDENCY_FILE=NO \ BUILD_DYLIBS=NO \ CC="${configure.cc}" \ CXX="${configure.cxx}" \ RC_ARCHS="[get_canonical_archs]" \ SDK="-I${prefix}/include" if {[variant_isset llvm29] || [variant_isset llvm30] || [variant_isset llvm31]} { build.args-append \ LTO=-DLTO_SUPPORT \ RC_CFLAGS="[get_canonical_archflags] `llvm-config-mp-${llvm_version} --cflags`" \ LLVM_MC="llvm-mc-mp-${llvm_version}" } else { build.args-append \ LTO= \ RC_CFLAGS="[get_canonical_archflags]" } if {[file exists ${prefix}/lib/libprunetrie.a]} { build.args-append \ TRIE=-DTRIE_SUPPORT } else { build.args-append \ TRIE= } } pre-destroot { destroot.args-append \ RC_ProjectSourceVersion=${version} \ USE_DEPENDENCY_FILE=NO \ BUILD_DYLIBS=NO \ CC="${configure.cc}" \ CXX="${configure.cxx}" \ RC_ARCHS="[get_canonical_archs]" \ SDK="-I${prefix}/include" if {[variant_isset llvm29] || [variant_isset llvm30] || [variant_isset llvm31]} { destroot.args-append \ LTO=-DLTO_SUPPORT \ RC_CFLAGS="[get_canonical_archflags] `llvm-config-mp-${llvm_version} --cflags`" \ LLVM_MC="llvm-mc-mp-${llvm_version}" } else { destroot.args-append \ LTO= \ RC_CFLAGS="[get_canonical_archflags]" } if {[file exists ${prefix}/lib/libprunetrie.a]} { destroot.args-append \ TRIE=-DTRIE_SUPPORT } else { destroot.args-append \ TRIE= } } platform macosx { build.args-append RC_OS="macos" destroot.args-append RC_OS="macos" } destroot.target install_tools destroot.args-append DSTROOT=${destroot} post-destroot { file delete -force ${destroot}${prefix}/OpenSourceLicenses file delete -force ${destroot}${prefix}/OpenSourceVersions file delete -force ${destroot}${prefix}/RelNotes if {${os.major} < 10} { file delete -force ${destroot}/Developer } # Provided by port:cctools-headers file delete -force ${destroot}${prefix}/include } livecheck.type regex livecheck.regex "${name}-(\[\\d.\]+)"