# -*- 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 96925 2012-08-21 22:54:20Z jeremyhu@macports.org $ PortSystem 1.0 PortGroup select 1.0 set llvm_version 3.2 name dragonegg-${llvm_version} set gcc_version 46 set gcc_version_dot 4.6 dist_subdir llvm categories lang platforms darwin maintainers jeremyhu openmaintainer license GPL-2 description Dragonegg is a LLVM plug-in for GCC 4.6 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 162304 version ${llvm_version}-r${svn.revision} worksrcdir trunk svn.url http://llvm.org/svn/llvm-project/dragonegg/trunk #worksrcdir release_32 #svn.url http://llvm.org/svn/llvm-project/dragonegg/branches/release_32 #version ${llvm_version} #epoch 1 #master_sites http://llvm.org/releases/${version}/ #extract.suffix .tar.gz #distname dragonegg-${version}.src #checksums sha1 9be8f055df814e56ea3585156da8c7e457f2cd7b \ # rmd160 93aa8a463b6b5e1fb9cc1ee0a7c4d310a78ea64f \ # sha256 72df1fd2e901b254ab8d1b5e7b93c7104751a613aca531f1483f9a637a5f6827 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 if {${configure.compiler} == "gcc-4.0"} { configure.compiler gcc-4.2 if {![file exists ${configure.cc}]} { depends_build-append port:apple-gcc42 configure.compiler apple-gcc-4.2 } } 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 }