Revision: 107455 https://trac.macports.org/changeset/107455 Author: jeremyhu@macports.org Date: 2013-06-29 13:27:51 -0700 (Sat, 29 Jun 2013) Log Message: ----------- {clang,dragonegg,llvm}-3.4: New ports (#39521) Added Paths: ----------- trunk/dports/lang/dragonegg-3.4/ trunk/dports/lang/dragonegg-3.4/Portfile trunk/dports/lang/dragonegg-3.4/files/ trunk/dports/lang/dragonegg-3.4/files/dragonegg-3.4-gcc48 trunk/dports/lang/dragonegg-3.4/files/dragonegg-gcc trunk/dports/lang/dragonegg-3.4/files/missing-includes.patch trunk/dports/lang/llvm-3.4/ trunk/dports/lang/llvm-3.4/Portfile trunk/dports/lang/llvm-3.4/files/ trunk/dports/lang/llvm-3.4/files/0001-Comment-out-SL-cctools-workaround.patch trunk/dports/lang/llvm-3.4/files/install_target.patch trunk/dports/lang/llvm-3.4/files/leopard-no-asan.patch trunk/dports/lang/llvm-3.4/files/llvm-bin trunk/dports/lang/llvm-3.4/files/mp-clang-3.4 trunk/dports/lang/llvm-3.4/files/mp-llvm-3.4 trunk/dports/lang/llvm-3.4/files/scan-build-PR-35006.patch trunk/dports/lang/llvm-3.4/files/tiger-libclang.patch trunk/dports/lang/llvm-3.4/files/tiger-shlib-clang.patch trunk/dports/lang/llvm-3.4/files/tiger-shlib.patch trunk/dports/lang/llvm-3.4/files/tiger.patch Added: trunk/dports/lang/dragonegg-3.4/Portfile =================================================================== --- trunk/dports/lang/dragonegg-3.4/Portfile (rev 0) +++ trunk/dports/lang/dragonegg-3.4/Portfile 2013-06-29 20:27:51 UTC (rev 107455) @@ -0,0 +1,108 @@ +# -*- 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$ + +PortSystem 1.0 +PortGroup select 1.0 + +set llvm_version 3.4 +name dragonegg-${llvm_version} +set gcc_version 48 +set gcc_version_dot 4.8 +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 185261 +version ${llvm_version}-r${svn.revision} +worksrcdir trunk +svn.url http://llvm.org/svn/llvm-project/dragonegg/trunk +#worksrcdir release_34 +#svn.url http://llvm.org/svn/llvm-project/dragonegg/branches/release_34 + +#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 +compiler.blacklist gcc-4.0 + +# TODO: base should do this: http://trac.macports.org/ticket/32542 +if {[info exists portconfigure::compiler_name_map(${configure.compiler})]} { + depends_build-append port:$portconfigure::compiler_name_map(${configure.compiler}) + + # base 2.1.x ignores the argument and just use ${configure.compiler} + if {[portconfigure::arch_flag_supported ${configure.compiler}]} { + depends_skip_archcheck-append $portconfigure::compiler_name_map(${configure.compiler}) + } + + if {[string match macports-gcc* ${configure.compiler}]} { + depends_lib-append port:$portconfigure::compiler_name_map(${configure.compiler}) + } +} + +patchfiles missing-includes.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 Property changes on: trunk/dports/lang/dragonegg-3.4/Portfile ___________________________________________________________________ Added: svn:keywords + Id Added: svn:eol-style + native Added: trunk/dports/lang/dragonegg-3.4/files/dragonegg-3.4-gcc48 =================================================================== --- trunk/dports/lang/dragonegg-3.4/files/dragonegg-3.4-gcc48 (rev 0) +++ trunk/dports/lang/dragonegg-3.4/files/dragonegg-3.4-gcc48 2013-06-29 20:27:51 UTC (rev 107455) @@ -0,0 +1,7 @@ +bin/dragonegg-3.4-gcc +bin/dragonegg-3.4-cpp +bin/dragonegg-3.4-c++ +bin/dragonegg-3.4-g++ +bin/dragonegg-3.4-gcj +bin/dragonegg-3.4-gcov +bin/dragonegg-3.4-gfortran Added: trunk/dports/lang/dragonegg-3.4/files/dragonegg-gcc =================================================================== --- trunk/dports/lang/dragonegg-3.4/files/dragonegg-gcc (rev 0) +++ trunk/dports/lang/dragonegg-3.4/files/dragonegg-gcc 2013-06-29 20:27:51 UTC (rev 107455) @@ -0,0 +1,5 @@ +#!/bin/bash + +CMD=${0/dragonegg-LLVM_VERSION-/} + +exec ${CMD}-mp-GCC_VERSION -fplugin=PLUGIN "${@}" Property changes on: trunk/dports/lang/dragonegg-3.4/files/dragonegg-gcc ___________________________________________________________________ Added: svn:executable + * Added: trunk/dports/lang/dragonegg-3.4/files/missing-includes.patch =================================================================== --- trunk/dports/lang/dragonegg-3.4/files/missing-includes.patch (rev 0) +++ trunk/dports/lang/dragonegg-3.4/files/missing-includes.patch 2013-06-29 20:27:51 UTC (rev 107455) @@ -0,0 +1,10 @@ +--- src/Cache.cpp.orig 2012-06-24 08:10:38.000000000 -0700 ++++ src/Cache.cpp 2013-01-06 01:46:27.000000000 -0800 +@@ -30,6 +30,7 @@ + #include "llvm/Support/ValueHandle.h" + + // System headers ++#include <new> + #include <cassert> + #include <gmp.h> + Added: trunk/dports/lang/llvm-3.4/Portfile =================================================================== --- trunk/dports/lang/llvm-3.4/Portfile (rev 0) +++ trunk/dports/lang/llvm-3.4/Portfile 2013-06-29 20:27:51 UTC (rev 107455) @@ -0,0 +1,327 @@ +# $Id$ + +PortSystem 1.0 +PortGroup select 1.0 + +set llvm_version 3.4 +name llvm-${llvm_version} +subport clang-${llvm_version} {} +set suffix mp-${llvm_version} +set sub_prefix ${prefix}/libexec/llvm-${llvm_version} +dist_subdir llvm +categories lang +platforms darwin +license NCSA +maintainers jeremyhu + +if {${subport} == "llvm-${llvm_version}"} { + homepage http://llvm.org/ + description llvm is a next generation compiler infrastructure + long_description The LLVM Core libraries provide a modern source- and \ + target-independent optimizer, along with code \ + generation support for many popular CPUs (as well as \ + some less common ones!) These libraries are built \ + around a well specified code representation known as \ + the LLVM intermediate representation ("LLVM IR"). + + depends_lib port:libffi + depends_run bin:perl:perl5 port:llvm_select +} elseif {${subport} == "clang-${llvm_version}"} { + homepage http://clang.llvm.org/ + description C, C++, Objective C and Objective C++ compiler + long_description Clang is an "LLVM native" C/C++/Objective-C compiler, \ + which aims to deliver amazingly fast compiles (e.g. \ + about 3x faster than GCC when compiling Objective-C \ + code in a debug configuration), extremely useful error \ + and warning messages and to provide a platform for \ + building great source level tools. The included Clang \ + Static Analyzer is a tool automatically finds bugs in \ + your code, and is a great example of the sort of tool \ + that can be built using the Clang frontend as a \ + library to parse C/C++ code. + + depends_lib port:llvm-${llvm_version} port:libffi + depends_run port:clang_select port:ld64 + depends_extract bin:svn:subversion + depends_skip_archcheck-append ld64 subversion + + default_variants +analyzer +} + +fetch.type svn +svn.revision 185261 + +set compiler_rt_rev ${svn.revision} +set libcxx_rev ${svn.revision} +version ${llvm_version}-r${svn.revision} +worksrcdir trunk +svn.url http://llvm.org/svn/llvm-project/llvm/trunk +#worksrcdir release_34 +#svn.url http://llvm.org/svn/llvm-project/llvm/branches/release_34 +default_variants-append +assertions + +#version ${llvm_version} +#epoch 1 +#master_sites http://llvm.org/releases/${version} +#extract.suffix .tar.gz +#distfiles llvm-${version}.src${extract.suffix} +#worksrcdir llvm-${version}.src + +patchfiles install_target.patch \ + tiger.patch \ + tiger-shlib.patch + +patch.pre_args -p1 + +if {${subport} == "clang-${llvm_version}"} { + if {${distfiles} != ""} { + distfiles-append clang-${version}.src${extract.suffix} compiler-rt-${version}.src${extract.suffix} libcxx-${version}.src${extract.suffix} + } + + patchfiles-append tiger-shlib-clang.patch tiger-libclang.patch scan-build-PR-35006.patch \ + 0001-Comment-out-SL-cctools-workaround.patch + + build.target clang-only + destroot.target install-clang +} + +build.env-append VERBOSE=1 \ + REQUIRES_RTTI=1 +destroot.env-append VERBOSE=1 \ + REQUIRES_RTTI=1 +configure.cppflags +configure.ldflags +configure.pre_args-delete --prefix=${prefix} +configure.args --enable-bindings=none --enable-libffi --enable-shared --enable-jit \ + --enable-optimized --disable-profiling --enable-pic \ + --enable-debug-symbols --disable-debug-runtime \ + --prefix="${sub_prefix}" + +if {${subport} == "llvm-${llvm_version}"} { + select.group llvm + select.file ${filespath}/mp-${subport} +} elseif {${subport} == "clang-${llvm_version}"} { + select.group clang + select.file ${filespath}/mp-${subport} +} + +# 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 {[info exists portconfigure::compiler_name_map(${configure.compiler})]} { + depends_build-append port:$portconfigure::compiler_name_map(${configure.compiler}) + + # base 2.1.x ignores the argument and just use ${configure.compiler} + if {[portconfigure::arch_flag_supported ${configure.compiler}]} { + depends_skip_archcheck-append $portconfigure::compiler_name_map(${configure.compiler}) + } + + if {[string match macports-gcc* ${configure.compiler}]} { + depends_lib-append port:$portconfigure::compiler_name_map(${configure.compiler}) + } +} + +variant universal { + build.env-append \ + UNIVERSAL=1 \ + UNIVERSAL_ARCH="[get_canonical_archs]" + destroot.env-append \ + UNIVERSAL=1 \ + UNIVERSAL_ARCH="[get_canonical_archs]" + + post-extract { + # workaround a bug in Apple's shipped gcc driver-driver, patched in + # ours with driverdriver-num_infiles.patch + if {${configure.compiler} == "gcc-4.0" || + ${configure.compiler} == "gcc-4.2" || + ${configure.compiler} == "llvm-gcc-4.2"} { + system "echo \"static int ___ignoreme;\" > ${worksrcpath}/tools/llvm-shlib/ignore.c" + } + } +} + +variant assertions description "Enable assertions for error detection (has performance impacts, especially on JIT)" { + configure.args-append --enable-assertions +} + +platform darwin { + if {${build_arch} == "i386" } { + configure.pre_args-append --build=i686-apple-darwin${os.major} + } elseif {${build_arch} == "ppc" } { + configure.pre_args-append --build=powerpc-apple-darwin${os.major} + } elseif {${build_arch} == "ppc64" } { + configure.pre_args-append --build=powerpc64-apple-darwin${os.major} + } else { + configure.pre_args-append --build=${build_arch}-apple-darwin${os.major} + } + + if {[string match "*ppc*" [get_canonical_archs]]} { + # http://trac.macports.org/ticket/33987 + configure.args-append --with-optimize-option=-Os + } + + if {${subport} == "clang-${llvm_version}" && ${os.major} <= 9} { + patchfiles-append leopard-no-asan.patch + } +} + +platform darwin 8 { + # Tiger's DevTools make has issues with the nested ifs in compiler-rt + depends_run-append port:gmake + depends_skip_archcheck-append gmake + build.cmd ${prefix}/bin/gmake + destroot.cmd ${prefix}/bin/gmake + + post-configure { + reinplace "/^RPATH/s/=.*/=/" ${worksrcpath}/Makefile.config + } +} + +post-extract { + if {${subport} == "clang-${llvm_version}"} { + system "cd ${worksrcpath}/tools && svn co -r ${svn.revision} http://llvm.org/svn/llvm-project/cfe/trunk clang" + #system "cd ${worksrcpath}/tools && svn co -r ${svn.revision} http://llvm.org/svn/llvm-project/cfe/branches/release_34 clang" + #file rename ${workpath}/clang-${llvm_version}.src ${worksrcpath}/tools/clang + + system "cd ${worksrcpath}/projects && svn co -r ${compiler_rt_rev} http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt" + #system "cd ${worksrcpath}/projects && svn co -r ${compiler_rt_rev} http://llvm.org/svn/llvm-project/compiler-rt/branches/release_34 compiler-rt" + #file rename ${workpath}/compiler-rt-${llvm_version}.src ${worksrcpath}/projects/compiler-rt + + system "cd ${worksrcpath}/projects && svn co -r ${libcxx_rev} http://llvm.org/svn/llvm-project/libcxx/trunk libcxx" + #system "cd ${worksrcpath}/projects && svn co -r ${libcxx_rev} http://llvm.org/svn/llvm-project/libcxx/branches/release_34 libcxx" + #file rename ${workpath}/libcxx-${llvm_version}.src ${worksrcpath}/projects/libcxx + } +} + +post-patch { + if {${subport} == "clang-${llvm_version}"} { + # http://trac.macports.org/ticket/33272 + if {![variant_isset arm_runtime]} { + reinplace {/^SubDirs/ s/arm//} ${worksrcpath}/projects/compiler-rt/lib/Makefile.mk + reinplace {/^UniversalArchs/ s/arm[^ )]* *//g} ${worksrcpath}/projects/compiler-rt/make/platform/clang_darwin.mk + + reinplace {/cc_kext_ios5/ s/^/#/} ${worksrcpath}/projects/compiler-rt/make/platform/clang_darwin.mk + reinplace {s/cc_kext_ios5.a//} ${worksrcpath}/tools/clang/runtime/compiler-rt/Makefile + } + } +} + +post-destroot { + file mkdir ${destroot}${prefix}/share/doc + file rename ${destroot}${sub_prefix}/docs/llvm ${destroot}${prefix}/share/doc/${subport} + + foreach bin [glob ${destroot}${sub_prefix}/bin/*] { + set bin_filename [string map "${sub_prefix} ${prefix}" ${bin}]-${suffix} + set exec_path [string map "${destroot}${sub_prefix} ${sub_prefix}" ${bin}] + + xinstall -m 755 "${filespath}/llvm-bin" "${bin_filename}" + reinplace "s:EXEC_PATH:${exec_path}:" "${bin_filename}" + } + + if {${subport} == "llvm-${llvm_version}"} { + # r156389 (a5d2435409858728970202226d0bbbee508fe408) temporarilary removed llvm man pages + #foreach man [glob ${destroot}${sub_prefix}/share/man/man1/*.1] { + # set basename [string map "${destroot}${sub_prefix}/share/man/man1/ {}" ${man}] + # file rename ${man} ${destroot}${prefix}/share/man/man1/[string map ".1 -${suffix}.1" ${basename}] + #} + + foreach liba [glob ${destroot}${sub_prefix}/lib/*dylib] { + set liba_nodr [string map "${destroot} {}" ${liba}] + system "install_name_tool -id ${liba_nodr} ${liba}" + + foreach libb [glob ${destroot}${sub_prefix}/lib/*dylib] { + set libb_base [string map "${destroot}${sub_prefix}/lib/ {}" ${libb}] + set libb_nodr [string map "${destroot} {}" ${libb}] + + system "install_name_tool -change @executable_path/../lib/${libb_base} ${libb_nodr} ${liba}" + } + } + } elseif {${subport} == "clang-${llvm_version}"} { + system "ditto ${worksrcpath}/projects/libcxx/include ${destroot}${sub_prefix}/lib/c++/v1" + + # http://trac.macports.org/ticket/33207 + ln -s ${prefix}/libexec/ld64/ld ${destroot}${sub_prefix}/bin/ld + + system "install_name_tool -id ${sub_prefix}/lib/libclang.dylib ${destroot}${sub_prefix}/lib/libclang.dylib" + system "install_name_tool -change @executable_path/../lib/libLLVM-${llvm_version}svn.dylib ${sub_prefix}/lib/libLLVM-${llvm_version}svn.dylib ${destroot}${sub_prefix}/lib/libclang.dylib" + system "install_name_tool -change @executable_path/../lib/libLLVM-${llvm_version}.dylib ${sub_prefix}/lib/libLLVM-${llvm_version}.dylib ${destroot}${sub_prefix}/lib/libclang.dylib" + } +} + +if {${subport} == "llvm-${llvm_version}"} { + variant ocaml description {Enable generation of OCaml binding} { + depends_lib-append port:ocaml + + configure.args-delete --enable-bindings=none + configure.args-append --enable-bindings=ocaml + + destroot.args-append OVERRIDE_libdir=${sub_prefix}/lib + } +} elseif {${subport} == "clang-${llvm_version}"} { + variant arm_runtime description {Build and install the arm runtime for iOS development (requires iOS SDK)} {} + + set pythonver "" + set pythonverdot "" + + if {![variant_isset python25] && ![variant_isset python26]} { + default_variants +python27 + } + + variant python25 conflicts python26 python27 description {Use python 2.5} { + set pythonver 25 + set pythonverdot 2.5 + } + + variant python26 conflicts python25 python27 description {Use python 2.6} { + set pythonver 26 + set pythonverdot 2.6 + } + + variant python27 conflicts python25 python26 description {Use python 2.7} { + set pythonver 27 + set pythonverdot 2.7 + } + + variant analyzer description {Install clang static analyzer} { + if {[string equal "${pythonver}" ""]} { + ui_error "You mush select a python variant to use the clang static analyzer (+analyzer)" + error "Invalid variant combination" + } + + depends_run-append port:perl5 port:python${pythonver} + + post-patch { + reinplace "s|/usr/bin/env perl|${prefix}/bin/perl5|g" \ + ${worksrcpath}/tools/clang/tools/scan-build/ccc-analyzer \ + ${worksrcpath}/tools/clang/tools/scan-build/c++-analyzer \ + ${worksrcpath}/tools/clang/tools/scan-build/scan-build + reinplace "s|/usr/bin/env python|${prefix}/bin/python${pythonverdot}|g" \ + ${worksrcpath}/tools/clang/tools/scan-build/set-xcode-analyzer \ + ${worksrcpath}/tools/clang/tools/scan-view/scan-view + } + + post-destroot { + file mkdir ${destroot}${sub_prefix}/libexec + file copy ${worksrcpath}/tools/clang/tools/scan-build ${destroot}${sub_prefix}/libexec/scan-build + file copy ${worksrcpath}/tools/clang/tools/scan-view ${destroot}${sub_prefix}/libexec/scan-view + + file delete -force ${destroot}${sub_prefix}/libexec/scan-build/.svn + file delete -force ${destroot}${sub_prefix}/libexec/scan-view/.svn + file delete -force ${destroot}${sub_prefix}/libexec/scan-view/Resources/.svn + + ln -s ${sub_prefix}/libexec/scan-build/scan-build ${destroot}${sub_prefix}/bin/scan-build + ln -s ${sub_prefix}/libexec/scan-view/scan-view ${destroot}${sub_prefix}/bin/scan-view + ln -s ${sub_prefix}/bin ${destroot}${sub_prefix}/libexec/scan-build/bin + + xinstall -m 755 "${filespath}/llvm-bin" "${destroot}${prefix}/bin/scan-build-${suffix}" + reinplace "s:EXEC_PATH:${sub_prefix}/bin/scan-build:" "${destroot}${prefix}/bin/scan-build-${suffix}" + + xinstall -m 755 "${filespath}/llvm-bin" "${destroot}${prefix}/bin/scan-view-${suffix}" + reinplace "s:EXEC_PATH:${sub_prefix}/bin/scan-view:" "${destroot}${prefix}/bin/scan-view-${suffix}" + } + } +} + +livecheck.type none Property changes on: trunk/dports/lang/llvm-3.4/Portfile ___________________________________________________________________ Added: svn:keywords + Id Added: svn:eol-style + native Added: trunk/dports/lang/llvm-3.4/files/0001-Comment-out-SL-cctools-workaround.patch =================================================================== --- trunk/dports/lang/llvm-3.4/files/0001-Comment-out-SL-cctools-workaround.patch (rev 0) +++ trunk/dports/lang/llvm-3.4/files/0001-Comment-out-SL-cctools-workaround.patch 2013-06-29 20:27:51 UTC (rev 107455) @@ -0,0 +1,36 @@ +From 5d32457c53bb0ae8abdafeceb1b622a7b7934de2 Mon Sep 17 00:00:00 2001 +From: Jeremy Huddleston Sequoia <jeremyhu@apple.com> +Date: Mon, 15 Apr 2013 22:38:18 -0700 +Subject: [PATCH] Comment out SL cctools workaround + +Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com> +--- + make/platform/clang_darwin.mk | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) + +diff --git a/make/platform/clang_darwin.mk b/make/platform/clang_darwin.mk +index a5e22e6..6a4e956 100644 +--- a/projects/compiler-rt/make/platform/clang_darwin.mk ++++ a/projects/compiler-rt/make/platform/clang_darwin.mk +@@ -83,12 +83,12 @@ UniversalArchs.ubsan_osx := $(call Check + # object files. If we are on that platform, strip out all ARM archs. We still + # build the libraries themselves so that Clang can find them where it expects + # them, even though they might not have an expected slice. +-ifneq ($(shell test -x /usr/bin/sw_vers && sw_vers -productVersion | grep 10.6),) +-UniversalArchs.ios := $(filter-out armv7, $(UniversalArchs.ios)) +-UniversalArchs.cc_kext := $(filter-out armv7, $(UniversalArchs.cc_kext)) +-UniversalArchs.cc_kext_ios5 := $(filter-out armv7, $(UniversalArchs.cc_kext_ios5)) +-UniversalArchs.profile_ios := $(filter-out armv7, $(UniversalArchs.profile_ios)) +-endif ++#ifneq ($(shell test -x /usr/bin/sw_vers && sw_vers -productVersion | grep 10.6),) ++#UniversalArchs.ios := $(filter-out armv7, $(UniversalArchs.ios)) ++#UniversalArchs.cc_kext := $(filter-out armv7, $(UniversalArchs.cc_kext)) ++#UniversalArchs.cc_kext_ios5 := $(filter-out armv7, $(UniversalArchs.cc_kext_ios5)) ++#UniversalArchs.profile_ios := $(filter-out armv7, $(UniversalArchs.profile_ios)) ++#endif + + # If RC_SUPPORTED_ARCHS is defined, treat it as a list of the architectures we + # are intended to support and limit what we try to build to that. +-- +1.8.2.1 + Added: trunk/dports/lang/llvm-3.4/files/install_target.patch =================================================================== --- trunk/dports/lang/llvm-3.4/files/install_target.patch (rev 0) +++ trunk/dports/lang/llvm-3.4/files/install_target.patch 2013-06-29 20:27:51 UTC (rev 107455) @@ -0,0 +1,14 @@ +--- release_32/Makefile.orig 2012-11-17 14:30:41.000000000 -0500 ++++ release_32/Makefile 2012-11-17 16:17:04.000000000 -0500 +@@ -70,9 +70,8 @@ ifeq ($(MAKECMDGOALS),install-clang) + DIRS := tools/clang/tools/driver tools/clang/lib/Headers \ + tools/clang/tools/libclang \ + tools/clang/tools/c-index-test \ +- tools/clang/include/clang-c \ +- tools/clang/runtime tools/clang/docs \ +- tools/lto runtime ++ tools/clang/include tools/clang/lib \ ++ tools/clang/runtime tools/clang/docs + OPTIONAL_DIRS := + NO_INSTALL = 1 + endif Added: trunk/dports/lang/llvm-3.4/files/leopard-no-asan.patch =================================================================== --- trunk/dports/lang/llvm-3.4/files/leopard-no-asan.patch (rev 0) +++ trunk/dports/lang/llvm-3.4/files/leopard-no-asan.patch 2013-06-29 20:27:51 UTC (rev 107455) @@ -0,0 +1,30 @@ +diff -Naurp trunk.orig/projects/compiler-rt/make/platform/clang_darwin.mk trunk/projects/compiler-rt/make/platform/clang_darwin.mk +--- a/projects/compiler-rt/make/platform/clang_darwin.mk 2012-10-11 21:56:32.000000000 -0700 ++++ b/projects/compiler-rt/make/platform/clang_darwin.mk 2012-10-11 22:03:39.000000000 -0700 +@@ -58,11 +58,11 @@ Configs += profile_osx + UniversalArchs.profile_osx := $(call CheckArches,i386 x86_64,profile_osx) + + # Configurations which define the ASAN support functions. +-Configs += asan_osx +-UniversalArchs.asan_osx := $(call CheckArches,i386 x86_64,asan_osx) +- +-Configs += asan_osx_dynamic +-UniversalArchs.asan_osx_dynamic := $(call CheckArches,i386 x86_64,asan_osx_dynamic) ++#Configs += asan_osx ++#UniversalArchs.asan_osx := $(call CheckArches,i386 x86_64,asan_osx) ++# ++#Configs += asan_osx_dynamic ++#UniversalArchs.asan_osx_dynamic := $(call CheckArches,i386 x86_64,asan_osx_dynamic) + + # If RC_SUPPORTED_ARCHS is defined, treat it as a list of the architectures we + # are intended to support and limit what we try to build to that. +--- a/tools/clang/runtime/compiler-rt/Makefile.orig 2012-10-12 01:42:13.000000000 -0700 ++++ b/tools/clang/runtime/compiler-rt/Makefile 2012-10-12 09:24:08.000000000 -0700 +@@ -75,7 +75,6 @@ ifeq ($(OS),Darwin) + RuntimeDirs += darwin + RuntimeLibrary.darwin.Configs := \ + eprintf.a 10.4.a osx.a ios.a cc_kext.a cc_kext_ios5.a \ +- asan_osx.a asan_osx_dynamic.dylib \ + profile_osx.a profile_ios.a + endif + Added: trunk/dports/lang/llvm-3.4/files/llvm-bin =================================================================== --- trunk/dports/lang/llvm-3.4/files/llvm-bin (rev 0) +++ trunk/dports/lang/llvm-3.4/files/llvm-bin 2013-06-29 20:27:51 UTC (rev 107455) @@ -0,0 +1,2 @@ +#!/bin/sh +exec EXEC_PATH "${@}" Property changes on: trunk/dports/lang/llvm-3.4/files/llvm-bin ___________________________________________________________________ Added: svn:executable + * Added: trunk/dports/lang/llvm-3.4/files/mp-clang-3.4 =================================================================== --- trunk/dports/lang/llvm-3.4/files/mp-clang-3.4 (rev 0) +++ trunk/dports/lang/llvm-3.4/files/mp-clang-3.4 2013-06-29 20:27:51 UTC (rev 107455) @@ -0,0 +1,5 @@ +- +bin/clang++-mp-3.4 +bin/clang-mp-3.4 +bin/scan-build-mp-3.4 +bin/scan-view-mp-3.4 Added: trunk/dports/lang/llvm-3.4/files/mp-llvm-3.4 =================================================================== --- trunk/dports/lang/llvm-3.4/files/mp-llvm-3.4 (rev 0) +++ trunk/dports/lang/llvm-3.4/files/mp-llvm-3.4 2013-06-29 20:27:51 UTC (rev 107455) @@ -0,0 +1,27 @@ +bin/bugpoint-mp-3.4 +bin/llc-mp-3.4 +bin/lli-mp-3.4 +bin/llvm-ar-mp-3.4 +bin/llvm-as-mp-3.4 +bin/llvm-bcanalyzer-mp-3.4 +bin/llvm-config-mp-3.4 +bin/llvm-cov-mp-3.4 +bin/llvm-diff-mp-3.4 +bin/llvm-dis-mp-3.4 +bin/llvm-dwarfdump-mp-3.4 +bin/llvm-extract-mp-3.4 +- +bin/llvm-link-mp-3.4 +bin/llvm-mc-mp-3.4 +bin/llvm-nm-mp-3.4 +bin/llvm-objdump-mp-3.4 +bin/llvm-prof-mp-3.4 +bin/llvm-ranlib-mp-3.4 +bin/llvm-rtdyld-mp-3.4 +bin/llvm-size-mp-3.4 +- +bin/llvm-tblgen-mp-3.4 +- +bin/macho-dump-mp-3.4 +bin/opt-mp-3.4 +bin/llvm-tblgen-mp-3.4 Added: trunk/dports/lang/llvm-3.4/files/scan-build-PR-35006.patch =================================================================== --- trunk/dports/lang/llvm-3.4/files/scan-build-PR-35006.patch (rev 0) +++ trunk/dports/lang/llvm-3.4/files/scan-build-PR-35006.patch 2013-06-29 20:27:51 UTC (rev 107455) @@ -0,0 +1,11 @@ +--- a/tools/clang/tools/scan-build/scan-build.orig 2012-07-12 09:47:19.000000000 -0700 ++++ b/tools/clang/tools/scan-build/scan-build 2012-07-12 09:49:15.000000000 -0700 +@@ -1399,6 +1399,8 @@ if (defined $OutputFormat) { + Diag "Analysis run complete.\n"; + Diag "Viewing analysis results in '$HtmlDir' using scan-view.\n"; + my $ScanView = Cwd::realpath("$RealBin/scan-view"); ++ if (! -x $ScanView) { $ScanView = Cwd::realpath("$RealBin/bin/scan-view"); } ++ if (! -x $ScanView) { $ScanView = Cwd::realpath("$RealBin/../scan-view/scan-view"); } + if (! -x $ScanView) { $ScanView = "scan-view"; } + exec $ScanView, "$HtmlDir"; + } Added: trunk/dports/lang/llvm-3.4/files/tiger-libclang.patch =================================================================== --- trunk/dports/lang/llvm-3.4/files/tiger-libclang.patch (rev 0) +++ trunk/dports/lang/llvm-3.4/files/tiger-libclang.patch 2013-06-29 20:27:51 UTC (rev 107455) @@ -0,0 +1,11 @@ +--- a/tools/clang/tools/libclang/CIndex.cpp.orig 2012-04-01 22:38:40.000000000 -0700 ++++ b/tools/clang/tools/libclang/CIndex.cpp 2012-04-01 22:39:17.000000000 -0700 +@@ -5754,7 +5754,7 @@ void SetSafetyThreadStackSize(unsigned V + + void clang::setThreadBackgroundPriority() { + // FIXME: Move to llvm/Support and make it cross-platform. +-#ifdef __APPLE__ ++#if defined(__APPLE__) && defined(PRIO_DARWIN_THREAD) && defined(PRIO_DARWIN_BG) + setpriority(PRIO_DARWIN_THREAD, 0, PRIO_DARWIN_BG); + #endif + } Added: trunk/dports/lang/llvm-3.4/files/tiger-shlib-clang.patch =================================================================== --- trunk/dports/lang/llvm-3.4/files/tiger-shlib-clang.patch (rev 0) +++ trunk/dports/lang/llvm-3.4/files/tiger-shlib-clang.patch 2013-06-29 20:27:51 UTC (rev 107455) @@ -0,0 +1,16 @@ +--- llvm-3.0.src.orig/tools/clang/tools/libclang/Makefile 2011-07-09 14:35:58.000000000 -0700 ++++ llvm-3.0.src/tools/clang/tools/libclang/Makefile 2012-04-20 10:09:40.000000000 -0700 +@@ -38,9 +38,11 @@ ifeq ($(HOST_OS),Darwin) + # Extra options to override libtool defaults. + LLVMLibsOptions += -Wl,-dead_strip -Wl,-seg1addr,0xE0000000 + +- # Mac OS X 10.4 and earlier tools do not allow a second -install_name on command line + DARWIN_VERS := $(shell echo $(TARGET_TRIPLE) | sed 's/.*darwin\([0-9]*\).*/\1/') +- ifneq ($(DARWIN_VERS),8) ++ ifeq ($(DARWIN_VERS),8) ++ LLVMLibsOptions += -Wl,-install_name \ ++ -Wl,"@executable_path/../lib/lib$(LIBRARYNAME)$(SHLIBEXT)" ++ else + LLVMLibsOptions += -Wl,-install_name \ + -Wl,"@rpath/lib$(LIBRARYNAME)$(SHLIBEXT)" + endif Added: trunk/dports/lang/llvm-3.4/files/tiger-shlib.patch =================================================================== --- trunk/dports/lang/llvm-3.4/files/tiger-shlib.patch (rev 0) +++ trunk/dports/lang/llvm-3.4/files/tiger-shlib.patch 2013-06-29 20:27:51 UTC (rev 107455) @@ -0,0 +1,55 @@ +diff -Naurp trunk.orig/runtime/libprofile/Makefile trunk/runtime/libprofile/Makefile +--- trunk.orig/runtime/libprofile/Makefile 2012-10-12 00:37:16.000000000 -0700 ++++ trunk/runtime/libprofile/Makefile 2012-10-12 00:40:45.000000000 -0700 +@@ -40,10 +40,12 @@ ifeq ($(HOST_OS),Darwin) + -Wl,-dead_strip \ + -Wl,-seg1addr -Wl,0xE0000000 + +- # Mac OS X 10.4 and earlier tools do not allow a second -install_name on +- # command line. + DARWIN_VERS := $(shell echo $(TARGET_TRIPLE) | sed 's/.*darwin\([0-9]*\).*/\1/') +- ifneq ($(DARWIN_VERS),8) ++ ifeq ($(DARWIN_VERS),8) ++ LLVMLibsOptions := $(LLVMLibsOptions) \ ++ -Wl,-dylib_install_name \ ++ -Wl,"@executable_path/../lib/lib$(LIBRARYNAME)$(SHLIBEXT)" ++ else + LLVMLibsOptions := $(LLVMLibsOptions) \ + -Wl,-install_name \ + -Wl,"@executable_path/../lib/lib$(LIBRARYNAME)$(SHLIBEXT)" +diff -Naurp trunk.orig/tools/llvm-shlib/Makefile trunk/tools/llvm-shlib/Makefile +--- trunk.orig/tools/llvm-shlib/Makefile 2012-10-12 00:37:16.000000000 -0700 ++++ trunk/tools/llvm-shlib/Makefile 2012-10-12 00:39:43.000000000 -0700 +@@ -54,9 +54,12 @@ ifeq ($(HOST_OS),Darwin) + -Wl,-dead_strip \ + -Wl,-seg1addr -Wl,0xE0000000 + +- # Mac OS X 10.4 and earlier tools do not allow a second -install_name on command line + DARWIN_VERS := $(shell echo $(TARGET_TRIPLE) | sed 's/.*darwin\([0-9]*\).*/\1/') +- ifneq ($(DARWIN_VERS),8) ++ ifeq ($(DARWIN_VERS),8) ++ LLVMLibsOptions := $(LLVMLibsOptions) \ ++ -Wl,-dylib_install_name \ ++ -Wl,"@executable_path/../lib/lib$(LIBRARYNAME)$(SHLIBEXT)" ++ else + LLVMLibsOptions := $(LLVMLibsOptions) \ + -Wl,-install_name \ + -Wl,"@executable_path/../lib/lib$(LIBRARYNAME)$(SHLIBEXT)" +diff -Naurp trunk.orig/tools/lto/Makefile trunk/tools/lto/Makefile +--- trunk.orig/tools/lto/Makefile 2012-10-12 00:37:16.000000000 -0700 ++++ trunk/tools/lto/Makefile 2012-10-12 00:39:43.000000000 -0700 +@@ -42,9 +42,12 @@ ifeq ($(HOST_OS),Darwin) + -Wl,-dead_strip \ + -Wl,-seg1addr -Wl,0xE0000000 + +- # Mac OS X 10.4 and earlier tools do not allow a second -install_name on command line + DARWIN_VERS := $(shell echo $(TARGET_TRIPLE) | sed 's/.*darwin\([0-9]*\).*/\1/') +- ifneq ($(DARWIN_VERS),8) ++ ifeq ($(DARWIN_VERS),8) ++ LLVMLibsOptions := $(LLVMLibsOptions) \ ++ -Wl,-dylib_install_name \ ++ -Wl,"@executable_path/../lib/lib$(LIBRARYNAME)$(SHLIBEXT)" ++ else + LLVMLibsOptions := $(LLVMLibsOptions) \ + -Wl,-install_name \ + -Wl,"@executable_path/../lib/lib$(LIBRARYNAME)$(SHLIBEXT)" Added: trunk/dports/lang/llvm-3.4/files/tiger.patch =================================================================== --- trunk/dports/lang/llvm-3.4/files/tiger.patch (rev 0) +++ trunk/dports/lang/llvm-3.4/files/tiger.patch 2013-06-29 20:27:51 UTC (rev 107455) @@ -0,0 +1,21 @@ +diff --git a/lib/Support/Unix/Signals.inc b/lib/Support/Unix/Signals.inc +index c9ec9fc..8cc4f41 100644 +--- a/lib/Support/Unix/Signals.inc ++++ b/lib/Support/Unix/Signals.inc +@@ -267,6 +267,15 @@ void llvm::sys::PrintStackTraceOnErrorSignal() { + AddSignalHandler(PrintStackTrace, 0); + + #if defined(__APPLE__) ++ ++/* These aren't defined in the 10.4 SDK, so provide them here */ ++#ifndef EXC_MASK_CRASH ++#define EXC_MASK_CRASH 0x400 ++#endif ++#ifndef MACH_EXCEPTION_CODES ++#define MACH_EXCEPTION_CODES 0x80000000 ++#endif ++ + // Environment variable to disable any kind of crash dialog. + if (getenv("LLVM_DISABLE_CRASH_REPORT")) { + mach_port_t self = mach_task_self(); +
participants (1)
-
jeremyhu@macports.org