[92461] trunk/dports/lang
jeremyhu at macports.org
jeremyhu at macports.org
Sat Apr 28 23:10:23 PDT 2012
Revision: 92461
https://trac.macports.org/changeset/92461
Author: jeremyhu at macports.org
Date: 2012-04-28 23:10:23 -0700 (Sat, 28 Apr 2012)
Log Message:
-----------
{clang,dragonegg,llvm}-3.2: New ports tracking llvm trunk development through the release of 3.2
Added Paths:
-----------
trunk/dports/lang/clang-3.2/
trunk/dports/lang/clang-3.2/Portfile
trunk/dports/lang/clang-3.2/files/
trunk/dports/lang/clang-3.2/files/install_target.patch
trunk/dports/lang/clang-3.2/files/llvm-bin
trunk/dports/lang/clang-3.2/files/mp-clang-3.2
trunk/dports/lang/clang-3.2/files/tiger-shlib-clang.patch
trunk/dports/lang/clang-3.2/files/tiger-shlib.patch
trunk/dports/lang/clang-3.2/files/tiger.patch
trunk/dports/lang/dragonegg-3.2/
trunk/dports/lang/dragonegg-3.2/Portfile
trunk/dports/lang/dragonegg-3.2/files/
trunk/dports/lang/dragonegg-3.2/files/dragonegg-3.2-gcc46
trunk/dports/lang/dragonegg-3.2/files/dragonegg-gcc
trunk/dports/lang/llvm-3.2/
trunk/dports/lang/llvm-3.2/Portfile
trunk/dports/lang/llvm-3.2/files/
trunk/dports/lang/llvm-3.2/files/llvm-bin
trunk/dports/lang/llvm-3.2/files/mp-llvm-3.2
trunk/dports/lang/llvm-3.2/files/tiger-shlib.patch
trunk/dports/lang/llvm-3.2/files/tiger.patch
Added: trunk/dports/lang/clang-3.2/Portfile
===================================================================
--- trunk/dports/lang/clang-3.2/Portfile (rev 0)
+++ trunk/dports/lang/clang-3.2/Portfile 2012-04-29 06:10:23 UTC (rev 92461)
@@ -0,0 +1,211 @@
+# $Id$
+
+PortSystem 1.0
+PortGroup select 1.0
+
+set llvm_version 3.2
+name clang-${llvm_version}
+set suffix mp-${llvm_version}
+set sub_prefix ${prefix}/libexec/llvm-${llvm_version}
+dist_subdir llvm
+categories lang
+platforms darwin
+maintainers jeremyhu openmaintainer
+license NCSA
+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.
+
+homepage http://clang.llvm.org/
+
+depends_lib port:llvm-${llvm_version} port:libffi
+depends_run port:clang_select
+
+default_variants +analyzer
+
+fetch.type svn
+svn.revision 155781
+version ${llvm_version}-r${svn.revision}
+set compiler_rt_rev ${svn.revision}
+worksrcdir trunk
+svn.url http://llvm.org/svn/llvm-project/llvm/trunk
+#worksrcdir release_32
+#svn.url http://llvm.org/svn/llvm-project/llvm/branches/release_32
+default_variants-append +assertions
+
+#version ${llvm_version}
+#set compiler_rt_rev 150641
+#epoch 1
+#master_sites http://llvm.org/releases/${version}/
+#extract.suffix .tgz
+#distfiles llvm-${version}${extract.suffix} clang-${version}${extract.suffix}
+#worksrcdir llvm-${version}.src
+
+patchfiles install_target.patch \
+ tiger.patch \
+ tiger-shlib.patch \
+ tiger-shlib-clang.patch
+patch.pre_args -p1
+
+build.target clang-only
+destroot.target install-clang
+build.env-append VERBOSE=1 REQUIRE_RTTI=1
+destroot.env-append VERBOSE=1 REQUIRE_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-debug-symbols --disable-debug-runtime \
+ --prefix="${sub_prefix}"
+
+select.group clang
+select.file ${filespath}/mp-${name}
+
+# 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
+ }
+}
+
+# linking fails for ppc
+supported_archs i386 x86_64
+
+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"} {
+ 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 {
+ depends_run-append port:ld64
+ depends_skip_archcheck-append ld64
+
+ if {${build_arch} == "i386" } {
+ configure.pre_args-append --build=i686-apple-darwin${os.major}
+ } else {
+ configure.pre_args-append --build=${build_arch}-apple-darwin${os.major}
+ }
+}
+
+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 {
+ 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_32 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_32 compiler-rt"
+}
+
+variant arm_runtime description {Build and install the arm runtime for iOS development (requires iOS SDK)} {}
+
+post-patch {
+ # 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
+ }
+
+ if {! [file exists /usr/include/dispatch/dispatch.h]} {
+ reinplace {/^SubDirs/ s/asan//} ${worksrcpath}/projects/compiler-rt/lib/Makefile.mk
+ }
+
+}
+
+variant analyzer description {Install clang static analyzer} {
+ depends_run-append bin:python:python26 bin:perl:perl5
+ 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/python2.6|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}"
+ }
+}
+
+post-destroot {
+ 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}"
+ }
+
+ # 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"
+}
+
+pre-activate {
+ # An earlier version of this port accidentally installed ${sub_prefix}/bin/ld
+ # rather than ${destroot}${sub_prefix}/bin/ld
+ if {[file exists ${sub_prefix}/bin/ld]} {
+ if {[catch {delete ${sub_prefix}/bin/ld}]} {
+ ui_warn "Cannot delete ${sub_prefix}/bin/ld; please remove it manually."
+ }
+ }
+}
Property changes on: trunk/dports/lang/clang-3.2/Portfile
___________________________________________________________________
Added: svn:keywords
+ Id
Added: svn:eol-style
+ native
Added: trunk/dports/lang/clang-3.2/files/install_target.patch
===================================================================
--- trunk/dports/lang/clang-3.2/files/install_target.patch (rev 0)
+++ trunk/dports/lang/clang-3.2/files/install_target.patch 2012-04-29 06:10:23 UTC (rev 92461)
@@ -0,0 +1,13 @@
+--- a/Makefile.orig 2012-01-22 17:34:02.000000000 -0800
++++ b/Makefile 2012-01-22 17:34:14.000000000 -0800
+@@ -70,8 +70,7 @@ 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/runtime tools/clang/docs
+ OPTIONAL_DIRS :=
+ NO_INSTALL = 1
+ endif
Added: trunk/dports/lang/clang-3.2/files/llvm-bin
===================================================================
--- trunk/dports/lang/clang-3.2/files/llvm-bin (rev 0)
+++ trunk/dports/lang/clang-3.2/files/llvm-bin 2012-04-29 06:10:23 UTC (rev 92461)
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec EXEC_PATH "${@}"
Property changes on: trunk/dports/lang/clang-3.2/files/llvm-bin
___________________________________________________________________
Added: svn:executable
+ *
Added: trunk/dports/lang/clang-3.2/files/mp-clang-3.2
===================================================================
--- trunk/dports/lang/clang-3.2/files/mp-clang-3.2 (rev 0)
+++ trunk/dports/lang/clang-3.2/files/mp-clang-3.2 2012-04-29 06:10:23 UTC (rev 92461)
@@ -0,0 +1,5 @@
+bin/c-index-test-mp-3.2
+bin/clang++-mp-3.2
+bin/clang-mp-3.2
+bin/scan-build-mp-3.2
+bin/scan-view-mp-3.2
Added: trunk/dports/lang/clang-3.2/files/tiger-shlib-clang.patch
===================================================================
--- trunk/dports/lang/clang-3.2/files/tiger-shlib-clang.patch (rev 0)
+++ trunk/dports/lang/clang-3.2/files/tiger-shlib-clang.patch 2012-04-29 06:10:23 UTC (rev 92461)
@@ -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/clang-3.2/files/tiger-shlib.patch
===================================================================
--- trunk/dports/lang/clang-3.2/files/tiger-shlib.patch (rev 0)
+++ trunk/dports/lang/clang-3.2/files/tiger-shlib.patch 2012-04-29 06:10:23 UTC (rev 92461)
@@ -0,0 +1,55 @@
+diff -Naurp llvm-3.0.src.orig/runtime/libprofile/Makefile llvm-3.0.src/runtime/libprofile/Makefile
+--- llvm-3.0.src.orig/runtime/libprofile/Makefile 2011-07-19 16:33:42.000000000 -0700
++++ llvm-3.0.src/runtime/libprofile/Makefile 2012-04-20 10:01:33.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 llvm-3.0.src.orig/tools/llvm-shlib/Makefile llvm-3.0.src/tools/llvm-shlib/Makefile
+--- llvm-3.0.src.orig/tools/llvm-shlib/Makefile 2011-10-03 17:30:34.000000000 -0700
++++ llvm-3.0.src/tools/llvm-shlib/Makefile 2012-04-20 10:03:56.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 llvm-3.0.src.orig/tools/lto/Makefile llvm-3.0.src/tools/lto/Makefile
+--- llvm-3.0.src.orig/tools/lto/Makefile 2011-03-28 17:01:39.000000000 -0700
++++ llvm-3.0.src/tools/lto/Makefile 2012-04-20 10:04:25.000000000 -0700
+@@ -49,9 +49,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/clang-3.2/files/tiger.patch
===================================================================
--- trunk/dports/lang/clang-3.2/files/tiger.patch (rev 0)
+++ trunk/dports/lang/clang-3.2/files/tiger.patch 2012-04-29 06:10:23 UTC (rev 92461)
@@ -0,0 +1,32 @@
+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();
+
+--- 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/dragonegg-3.2/Portfile
===================================================================
--- trunk/dports/lang/dragonegg-3.2/Portfile (rev 0)
+++ trunk/dports/lang/dragonegg-3.2/Portfile 2012-04-29 06:10:23 UTC (rev 92461)
@@ -0,0 +1,100 @@
+# -*- 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.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 155781
+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
+#distfiles dragonegg-${version}${extract.suffix}
+#worksrcdir 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
+ }
+}
+
+# linking fails for ppc
+supported_archs i386 x86_64
+
+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
+}
Property changes on: trunk/dports/lang/dragonegg-3.2/Portfile
___________________________________________________________________
Added: svn:keywords
+ Id
Added: svn:eol-style
+ native
Added: trunk/dports/lang/dragonegg-3.2/files/dragonegg-3.2-gcc46
===================================================================
--- trunk/dports/lang/dragonegg-3.2/files/dragonegg-3.2-gcc46 (rev 0)
+++ trunk/dports/lang/dragonegg-3.2/files/dragonegg-3.2-gcc46 2012-04-29 06:10:23 UTC (rev 92461)
@@ -0,0 +1,7 @@
+bin/dragonegg-3.2-gcc
+bin/dragonegg-3.2-cpp
+bin/dragonegg-3.2-c++
+bin/dragonegg-3.2-g++
+bin/dragonegg-3.2-gcj
+bin/dragonegg-3.2-gcov
+bin/dragonegg-3.2-gfortran
Added: trunk/dports/lang/dragonegg-3.2/files/dragonegg-gcc
===================================================================
--- trunk/dports/lang/dragonegg-3.2/files/dragonegg-gcc (rev 0)
+++ trunk/dports/lang/dragonegg-3.2/files/dragonegg-gcc 2012-04-29 06:10:23 UTC (rev 92461)
@@ -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.2/files/dragonegg-gcc
___________________________________________________________________
Added: svn:executable
+ *
Added: trunk/dports/lang/llvm-3.2/Portfile
===================================================================
--- trunk/dports/lang/llvm-3.2/Portfile (rev 0)
+++ trunk/dports/lang/llvm-3.2/Portfile 2012-04-29 06:10:23 UTC (rev 92461)
@@ -0,0 +1,149 @@
+# $Id$
+
+PortSystem 1.0
+PortGroup select 1.0
+
+set llvm_version 3.2
+name llvm-${llvm_version}
+set suffix mp-${llvm_version}
+set sub_prefix ${prefix}/libexec/${name}
+dist_subdir llvm
+categories lang
+platforms darwin
+license NCSA
+maintainers jeremyhu openmaintainer
+description llvm is a next generation compiler infrastructure (svn trunk version)
+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").
+
+homepage http://llvm.org/
+
+depends_lib port:libffi
+depends_run bin:perl:perl5 port:llvm_select
+
+fetch.type svn
+svn.revision 155781
+version ${llvm_version}-r${svn.revision}
+worksrcdir trunk
+svn.url http://llvm.org/svn/llvm-project/llvm/trunk
+#worksrcdir release_32
+#svn.url http://llvm.org/svn/llvm-project/llvm/branches/release_32
+default_variants-append +assertions
+
+#version ${llvm_version}
+#epoch 1
+#master_sites ${homepage}releases/${version}/
+#extract.suffix .tgz
+#distfiles llvm-${version}${extract.suffix}
+#worksrcdir llvm-${version}.src
+
+patchfiles tiger.patch \
+ tiger-shlib.patch
+patch.pre_args -p1
+
+build.env-append VERBOSE=1 REQUIRE_RTTI=1
+destroot.env-append VERBOSE=1 REQUIRE_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-debug-symbols --disable-debug-runtime \
+ --prefix="${sub_prefix}"
+
+select.group llvm
+select.file ${filespath}/mp-${name}
+
+# 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
+ }
+}
+
+# linking fails for ppc
+supported_archs i386 x86_64
+
+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"} {
+ 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}
+ } else {
+ configure.pre_args-append --build=${build_arch}-apple-darwin${os.major}
+ }
+
+ post-destroot {
+ 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}"
+ }
+ }
+ }
+}
+
+platform darwin 8 {
+ post-configure {
+ reinplace "/^RPATH/s/=.*/=/" ${worksrcpath}/Makefile.config
+ }
+}
+
+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
+}
+
+post-destroot {
+ file mkdir ${destroot}${prefix}/share/doc
+ file rename ${destroot}${sub_prefix}/docs/llvm ${destroot}${prefix}/share/doc/${name}
+
+ 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 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}"
+ }
+}
Property changes on: trunk/dports/lang/llvm-3.2/Portfile
___________________________________________________________________
Added: svn:keywords
+ Id
Added: svn:eol-style
+ native
Added: trunk/dports/lang/llvm-3.2/files/llvm-bin
===================================================================
--- trunk/dports/lang/llvm-3.2/files/llvm-bin (rev 0)
+++ trunk/dports/lang/llvm-3.2/files/llvm-bin 2012-04-29 06:10:23 UTC (rev 92461)
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec EXEC_PATH "${@}"
Property changes on: trunk/dports/lang/llvm-3.2/files/llvm-bin
___________________________________________________________________
Added: svn:executable
+ *
Added: trunk/dports/lang/llvm-3.2/files/mp-llvm-3.2
===================================================================
--- trunk/dports/lang/llvm-3.2/files/mp-llvm-3.2 (rev 0)
+++ trunk/dports/lang/llvm-3.2/files/mp-llvm-3.2 2012-04-29 06:10:23 UTC (rev 92461)
@@ -0,0 +1,27 @@
+bin/bugpoint-mp-3.2
+bin/llc-mp-3.2
+bin/lli-mp-3.2
+bin/llvm-ar-mp-3.2
+bin/llvm-as-mp-3.2
+bin/llvm-bcanalyzer-mp-3.2
+bin/llvm-config-mp-3.2
+bin/llvm-cov-mp-3.2
+bin/llvm-diff-mp-3.2
+bin/llvm-dis-mp-3.2
+bin/llvm-dwarfdump-mp-3.2
+bin/llvm-extract-mp-3.2
+-
+bin/llvm-link-mp-3.2
+bin/llvm-mc-mp-3.2
+bin/llvm-nm-mp-3.2
+bin/llvm-objdump-mp-3.2
+bin/llvm-prof-mp-3.2
+bin/llvm-ranlib-mp-3.2
+bin/llvm-rtdyld-mp-3.2
+bin/llvm-size-mp-3.2
+-
+bin/llvm-tblgen-mp-3.2
+-
+bin/macho-dump-mp-3.2
+bin/opt-mp-3.2
+bin/llvm-tblgen-mp-3.2
Added: trunk/dports/lang/llvm-3.2/files/tiger-shlib.patch
===================================================================
--- trunk/dports/lang/llvm-3.2/files/tiger-shlib.patch (rev 0)
+++ trunk/dports/lang/llvm-3.2/files/tiger-shlib.patch 2012-04-29 06:10:23 UTC (rev 92461)
@@ -0,0 +1,55 @@
+diff -Naurp llvm-3.0.src.orig/runtime/libprofile/Makefile llvm-3.0.src/runtime/libprofile/Makefile
+--- llvm-3.0.src.orig/runtime/libprofile/Makefile 2011-07-19 16:33:42.000000000 -0700
++++ llvm-3.0.src/runtime/libprofile/Makefile 2012-04-20 10:01:33.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 llvm-3.0.src.orig/tools/llvm-shlib/Makefile llvm-3.0.src/tools/llvm-shlib/Makefile
+--- llvm-3.0.src.orig/tools/llvm-shlib/Makefile 2011-10-03 17:30:34.000000000 -0700
++++ llvm-3.0.src/tools/llvm-shlib/Makefile 2012-04-20 10:03:56.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 llvm-3.0.src.orig/tools/lto/Makefile llvm-3.0.src/tools/lto/Makefile
+--- llvm-3.0.src.orig/tools/lto/Makefile 2011-03-28 17:01:39.000000000 -0700
++++ llvm-3.0.src/tools/lto/Makefile 2012-04-20 10:04:25.000000000 -0700
+@@ -49,9 +49,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.2/files/tiger.patch
===================================================================
--- trunk/dports/lang/llvm-3.2/files/tiger.patch (rev 0)
+++ trunk/dports/lang/llvm-3.2/files/tiger.patch 2012-04-29 06:10:23 UTC (rev 92461)
@@ -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();
+
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20120428/30e20d14/attachment-0001.html>
More information about the macports-changes
mailing list