# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4 # $Id: Portfile 102104 2013-01-28 06:04:00Z jeremyhu@macports.org $ PortSystem 1.0 PortGroup select 1.0 set llvm_version 3.1 name dragonegg-${llvm_version} set gcc_version 46 set gcc_version_dot 4.6 revision 2 dist_subdir llvm categories lang platforms darwin maintainers jeremyhu license GPL-2 description Dragonegg is a LLVM plug-in for GCC ${gcc_version_dot} long_description Dragonegg replaces GCC optimizers and code generators \ by the LLVM optimizing infrastructure. It supersedes \ llvm-gcc. homepage http://dragonegg.llvm.org/ depends_lib port:llvm-${llvm_version} port:gcc${gcc_version} depends_run port:gcc_select # gcc needs to match our arch, not the other way around # We build +universal just fine in order to support whatever arch gcc is depends_skip_archcheck-append gcc${gcc_version} #fetch.type svn #svn.revision 155781 #version ${llvm_version}-r${svn.revision} #worksrcdir trunk #svn.url http://llvm.org/svn/llvm-project/dragonegg/trunk #worksrcdir release_31 #svn.url http://llvm.org/svn/llvm-project/dragonegg/branches/release_31 version ${llvm_version} epoch 1 master_sites http://llvm.org/releases/${version}/ extract.suffix .tar.gz distname dragonegg-${version}.src checksums sha1 98e865f16c76bddb3f6969c733042677e306d63c \ rmd160 303e98f4d33f87fe018505a03ae1265d3c5a080c \ sha256 a11d1379fab772bc4a747e6f5c6a27acf5fe03f27b5a152af67f63d5fbc4a876 pre-fetch { ui_msg "Please remember to keep dragonegg and llvm in phase by updating llvm-${llvm_version} first." } use_configure no select.group gcc select.file ${filespath}/dragonegg-${llvm_version}-gcc${gcc_version} build.target # g++-4.0 fails to build some of the newer C++ for ppc # Intel looks ok, but I prefer using gcc-4.2 for consistency compiler.blacklist gcc-4.0 # TODO: base should do this: http://trac.macports.org/ticket/32542 if {[portconfigure::compiler_is_port ${configure.compiler}]} { depends_build-append port:$portconfigure::compiler_name_map(${configure.compiler}) port:ld64 port:cctools depends_skip_archcheck-append $portconfigure::compiler_name_map(${configure.compiler}) ld64 cctools } patchfiles missing-includes.patch cstring.patch variant universal { post-patch { reinplace "/-MD -MP/d" ${worksrcpath}/Makefile } } build.env-append \ LLVM_CONFIG=${prefix}/bin/llvm-config-mp-${llvm_version} \ GCC=${prefix}/bin/gcc-mp-${gcc_version_dot} \ CC="${configure.cc} ${configure.cppflags} [get_canonical_archflags cc]" \ CXX="${configure.cxx} ${configure.cppflags} [get_canonical_archflags cxx]" destroot { xinstall -m 755 -d ${destroot}${prefix}/libexec/dragonegg xinstall -m 755 ${worksrcpath}/dragonegg.so ${destroot}${prefix}/libexec/dragonegg/llvm-${llvm_version}-gcc${gcc_version}.so xinstall -m 755 ${filespath}/dragonegg-gcc ${destroot}${prefix}/bin/dragonegg-${llvm_version}-gcc ln -s dragonegg-${llvm_version}-gcc ${destroot}${prefix}/bin/dragonegg-${llvm_version}-cpp ln -s dragonegg-${llvm_version}-gcc ${destroot}${prefix}/bin/dragonegg-${llvm_version}-c++ ln -s dragonegg-${llvm_version}-gcc ${destroot}${prefix}/bin/dragonegg-${llvm_version}-g++ ln -s dragonegg-${llvm_version}-gcc ${destroot}${prefix}/bin/dragonegg-${llvm_version}-gcj ln -s dragonegg-${llvm_version}-gcc ${destroot}${prefix}/bin/dragonegg-${llvm_version}-gcov ln -s dragonegg-${llvm_version}-gcc ${destroot}${prefix}/bin/dragonegg-${llvm_version}-gfortran reinplace "s:PLUGIN:${prefix}/libexec/dragonegg/llvm-${llvm_version}-gcc${gcc_version}.so:" ${destroot}${prefix}/bin/dragonegg-${llvm_version}-gcc reinplace "s:LLVM_VERSION:${llvm_version}:" ${destroot}${prefix}/bin/dragonegg-${llvm_version}-gcc reinplace "s:GCC_VERSION:${gcc_version_dot}:" ${destroot}${prefix}/bin/dragonegg-${llvm_version}-gcc } livecheck.type none