<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[132142] trunk/dports/devel/ld64</title>
</head>
<body>
<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; }
#msg dl a { font-weight: bold}
#msg dl a:link { color:#fc3; }
#msg dl a:active { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="https://trac.macports.org/changeset/132142">132142</a></dd>
<dt>Author</dt> <dd>jeremyhu@macports.org</dd>
<dt>Date</dt> <dd>2015-01-24 01:45:41 -0800 (Sat, 24 Jan 2015)</dd>
</dl>
<h3>Log Message</h3>
<pre>ld64: Refactor into a primary port with subports for each available version</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkdportsdevelld64Portfile">trunk/dports/devel/ld64/Portfile</a></li>
</ul>
<h3>Added Paths</h3>
<ul>
<li><a href="#trunkdportsdevelld64filesld6497BaseAtomImplicitDeclpatch">trunk/dports/devel/ld64/files/ld64-97-BaseAtomImplicitDecl.patch</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkdportsdevelld64Portfile"></a>
<div class="modfile"><h4>Modified: trunk/dports/devel/ld64/Portfile (132141 => 132142)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/devel/ld64/Portfile        2015-01-24 05:39:15 UTC (rev 132141)
+++ trunk/dports/devel/ld64/Portfile        2015-01-24 09:45:41 UTC (rev 132142)
</span><span class="lines">@@ -3,206 +3,279 @@
</span><span class="cx"> PortSystem 1.0
</span><span class="cx">
</span><span class="cx"> name ld64
</span><del>-epoch 1
-# XCode 5.1
-version 236.3
-revision 2
</del><ins>+epoch 2
+version 1
</ins><span class="cx"> categories devel
</span><span class="cx"> platforms darwin
</span><span class="cx"> maintainers jeremyhu
</span><span class="cx"> homepage http://opensource.apple.com/source/${name}/
</span><span class="cx"> master_sites http://opensource.apple.com/tarballs/${name}/
</span><span class="cx"> license APSL-2
</span><del>-depends_build path:include/mach-o/dyld_priv.h:dyld-headers \
- path:include/mach-o/arm/reloc.h:libmacho-headers
</del><span class="cx"> description ld64 is the new mach-o linker
</span><span class="cx"> long_description ld64 combines several object files and libraries, \
</span><span class="cx"> resolves references, and produces an ouput file.
</span><span class="cx">
</span><del>-checksums rmd160 6a3f44aa9ae57a60d2cff5b3d47be7972ad83029 \
- sha256 8ef36729b643201081ab45ebd8586ede8f9968bc17614b679a940faa82875ca6
-
-patchfiles ld64-version.patch ld64-133-no-CrashReporterClient.h.patch ld64-134-missing-include.patch ld64-136-i386-badAddress.patch PR-16935960.patch PR-16936488.patch
-
-# We don't set llvmXX as the default variant on Tiger because it would introduce a
-# dependency cycle as llvm requires apple-gcc42 and ld64 to build correctly. Users
-# wanting LTO support in ld64 on Tiger can install the +llvm variant after llvm
-# has been installed.
-if {![variant_isset llvm33] && ![variant_isset llvm34] && ![variant_isset llvm35] && ![variant_isset llvm36] && ![variant_isset llvm37]} {
- if {${os.major} >= 13} {
- default_variants +llvm35
- } elseif {${os.major} >= 9} {
- default_variants +llvm34
- }
-
- if {![variant_isset llvm34] && ![variant_isset llvm35] && ![variant_isset llvm36] && ![variant_isset llvm37] && ${os.major} >= 9} {
- ui_error "Your platform cannot be configured without LTO support in ld64. Please enable one of the llvmXX variants, and try again."
- return -code error "Your platform cannot be configured without LTO support in ld64. Please enable one of the llvmXX variants, and try again."
- }
-}
-
-variant universal {}
-
-set llvm_version {}
-variant llvm33 conflicts llvm34 llvm35 llvm36 llvm37 description {Use llvm-3.3 for libLTO} {
- set llvm_version 3.3
- depends_lib-append port:llvm-${llvm_version}
-}
-
-variant llvm34 conflicts llvm33 llvm35 llvm36 llvm37 description {Use llvm-3.4 for libLTO} {
- set llvm_version 3.4
- depends_lib-append port:llvm-${llvm_version}
-}
-
-variant llvm35 conflicts llvm33 llvm34 llvm36 llvm37 description {Use llvm-3.5 for libLTO} {
- set llvm_version 3.5
- depends_lib-append port:llvm-${llvm_version}
-}
-
-variant llvm36 conflicts llvm33 llvm34 llvm35 llvm37 description {Use llvm-3.6 for libLTO} {
- set llvm_version 3.6
- depends_lib-append port:llvm-${llvm_version}
-}
-
-variant llvm37 conflicts llvm33 llvm34 llvm35 llvm36 description {Use llvm-3.7 for libLTO} {
- set llvm_version 3.7
- depends_lib-append port:llvm-${llvm_version}
-}
-
-set makefile "Makefile-133"
-
-set cxx_stdlibflags {}
-if {[string match *clang* ${configure.cxx}]} {
- set cxx_stdlibflags -stdlib=${configure.cxx_stdlib}
-}
-
-if {${os.major} < 10} {
- # Leopard and earlier didn't have libunwind.h in the SDK
- depends_build-append path:include/libunwind.h:libunwind-headers
-}
-
-if {${os.major} < 9} {
</del><ins>+subport ld64-97 {
</ins><span class="cx"> # XCode 3.2.6
</span><span class="cx"> version 97.17
</span><del>- revision 4
</del><ins>+
</ins><span class="cx"> checksums rmd160 d52df7d7f741c8bedd29cbac73dbb9db992b4795 \
</span><span class="cx"> sha256 02bd46af0809eaa415d096d7d41c3e8e7d80f7d8d181840866fb87f036b4e089
</span><span class="cx">
</span><span class="cx"> set makefile        "Makefile-97"
</span><ins>+ set ld64_ver 97
</ins><span class="cx">
</span><del>- patchfiles-delete ld64-133-no-CrashReporterClient.h.patch ld64-134-missing-include.patch ld64-136-i386-badAddress.patch PR-16935960.patch PR-16936488.patch
- patchfiles-append ld64-97-no-LTO.patch ld64-97-ppc-branch-island.patch ld64-97-arm_types_PR38931.patch ld64-97-long-branch-warn.patch ld64-97-standalone-libunwind-headers.patch ld64-97-no-Availability.h.patch
-} elseif {${os.major} < 10 || "ppc" in [get_canonical_archs]} {
</del><ins>+ patchfiles \
+ ld64-version.patch \
+ ld64-97-no-LTO.patch \
+ ld64-97-ppc-branch-island.patch \
+ ld64-97-arm_types_PR38931.patch \
+ ld64-97-long-branch-warn.patch \
+ ld64-97-standalone-libunwind-headers.patch \
+ ld64-97-no-Availability.h.patch \
+ ld64-97-BaseAtomImplicitDecl.patch
+}
+
+subport ld64-127 {
</ins><span class="cx"> # XCode 4.2
</span><span class="cx"> # This was the last ld64 release that supported linking ppc executables.
</span><span class="cx"> version 127.2
</span><del>- revision 9
</del><ins>+
</ins><span class="cx"> checksums rmd160 8ee709341549a1944732daef6ebab7ef1acfcc6e \
</span><span class="cx"> sha256 97b75547b2bd761306ab3e15ae297f01e7ab9760b922bc657f4ef72e4e052142
</span><span class="cx">
</span><span class="cx"> set makefile        "Makefile-127"
</span><ins>+ set ld64_ver 127
</ins><span class="cx">
</span><del>- patchfiles-delete ld64-133-no-CrashReporterClient.h.patch ld64-136-i386-badAddress.patch PR-16935960.patch PR-16936488.patch
- patchfiles-append ld64-127-any-cctools.patch ld64-127-long-branch-warn.patch ld64-127-cxx_initializer_order_and_sim.patch ld64-127-ppc.patch ld64-97-no-Availability.h.patch
-} elseif {${os.major} < 11} {
</del><ins>+ patchfiles-append \
+ ld64-version.patch \
+ ld64-134-missing-include.patch \
+ ld64-127-any-cctools.patch \
+ ld64-127-long-branch-warn.patch \
+ ld64-127-cxx_initializer_order_and_sim.patch \
+ ld64-127-ppc.patch \
+ ld64-97-no-Availability.h.patch
+}
+
+subport ld64-136 {
</ins><span class="cx"> # XCode 4.6
</span><del>- # Until we figure out a way to better bootstrap ld64-236 on SnowLeopard or fix its build failure
</del><span class="cx"> version 136
</span><del>- revision 3
</del><ins>+
</ins><span class="cx"> checksums rmd160 4a2930ccdd398b63a108810e90293ab96dc154a0 \
</span><span class="cx"> sha256 99d6c4acb6d4cdf45772951dd2308222aa966763170137459a9d276674645d9e
</span><span class="cx">
</span><del>- patchfiles-delete PR-16935960.patch PR-16936488.patch
- patchfiles-append ld64-136-hash_set.patch
-} else {
</del><ins>+ set makefile "Makefile-133"
+ set ld64_ver 136
+
+ patchfiles-append \
+ ld64-version.patch \
+ ld64-133-no-CrashReporterClient.h.patch \
+ ld64-134-missing-include.patch \
+ ld64-136-i386-badAddress.patch \
+ ld64-136-hash_set.patch
+}
+
+subport ld64-latest {
+ # XCode 5.1
+ version 236.3
+
+ checksums rmd160 6a3f44aa9ae57a60d2cff5b3d47be7972ad83029 \
+ sha256 8ef36729b643201081ab45ebd8586ede8f9968bc17614b679a940faa82875ca6
+
</ins><span class="cx"> # http://trac.macports.org/ticket/43737
</span><span class="cx"> compiler.blacklist-append *gcc*
</span><span class="cx">
</span><ins>+ set makefile "Makefile-133"
+ set ld64_ver latest
+
+ patchfiles-append \
+ ld64-version.patch \
+ ld64-133-no-CrashReporterClient.h.patch \
+ ld64-134-missing-include.patch \
+ ld64-136-i386-badAddress.patch \
+ PR-16935960.patch \
+ PR-16936488.patch
+
</ins><span class="cx"> if {${configure.cxx_stdlib} eq "libstdc++"} {
</span><span class="cx"> patchfiles-append ld64-236-hash_set.patch
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><del>-platform darwin 8 {
</del><ins>+variant universal {}
+
+if {${subport} eq ${name}} {
+ distfiles
+ build {}
+ use_configure no
+
+ if {${os.major} < 9} {
+ set ld64_ver 97
+ } elseif {${os.major} < 10 || "ppc" in [get_canonical_archs]} {
+ set ld64_ver 127
+ } elseif {${os.major} < 11} {
+ set ld64_ver 136
+ } else {
+ set ld64_ver latest
+ }
+
+ depends_run port:ld64-${ld64_ver}
+
+ destroot {
+ ln -s dyldinfo-${ld64_ver} ${destroot}${prefix}/bin/dyldinfo
+ ln -s ld-${ld64_ver} ${destroot}${prefix}/bin/ld
+ ln -s machocheck-${ld64_ver} ${destroot}${prefix}/bin/machocheck
+ ln -s ObjectDump-${ld64_ver} ${destroot}${prefix}/bin/ObjectDump
+ ln -s rebase-${ld64_ver} ${destroot}${prefix}/bin/rebase
+ ln -s unwinddump-${ld64_ver} ${destroot}${prefix}/bin/unwinddump
+
+ file mkdir ${destroot}${prefix}/libexec/ld64
+ ln -s ld-${ld64_ver} ${destroot}${prefix}/libexec/ld64/ld
+ }
+} else {
+ depends_build path:include/mach-o/dyld_priv.h:dyld-headers \
+ path:include/mach-o/arm/reloc.h:libmacho-headers
+
+ # We don't set llvmXX as the default variant on Tiger because it would introduce a
+ # dependency cycle as llvm requires apple-gcc42 and ld64 to build correctly. Users
+ # wanting LTO support in ld64 on Tiger can install the +llvm variant after llvm
+ # has been installed.
+
+ if {![variant_isset llvm33] && ![variant_isset llvm34] && ![variant_isset llvm35] && ![variant_isset llvm36] && ![variant_isset llvm37]} {
+ if {${os.major} >= 13} {
+ default_variants +llvm35
+ } elseif {${os.major} >= 9} {
+ default_variants +llvm34
+ }
+
+ if {![variant_isset llvm34] && ![variant_isset llvm35] && ![variant_isset llvm36] && ![variant_isset llvm37] && ${os.major} >= 9} {
+ ui_error "Your platform cannot be configured without LTO support in ld64. Please enable one of the llvmXX variants, and try again."
+ return -code error "Your platform cannot be configured without LTO support in ld64. Please enable one of the llvmXX variants, and try again."
+ }
+ }
+
+ set llvm_version {}
+ variant llvm33 conflicts llvm34 llvm35 llvm36 llvm37 description {Use llvm-3.3 for libLTO} {
+ set llvm_version 3.3
+ depends_lib-append port:llvm-${llvm_version}
+ }
+
+ variant llvm34 conflicts llvm33 llvm35 llvm36 llvm37 description {Use llvm-3.4 for libLTO} {
+ set llvm_version 3.4
+ depends_lib-append port:llvm-${llvm_version}
+ }
+
+ variant llvm35 conflicts llvm33 llvm34 llvm36 llvm37 description {Use llvm-3.5 for libLTO} {
+ set llvm_version 3.5
+ depends_lib-append port:llvm-${llvm_version}
+ }
+
+ variant llvm36 conflicts llvm33 llvm34 llvm35 llvm37 description {Use llvm-3.6 for libLTO} {
+ set llvm_version 3.6
+ depends_lib-append port:llvm-${llvm_version}
+ }
+
+ variant llvm37 conflicts llvm33 llvm34 llvm35 llvm36 description {Use llvm-3.7 for libLTO} {
+ set llvm_version 3.7
+ depends_lib-append port:llvm-${llvm_version}
+ }
+
+ if {${os.major} < 10} {
+ # Leopard and earlier didn't have libunwind.h in the SDK
+ depends_build-append path:include/libunwind.h:libunwind-headers
+ }
+
+ compiler.blacklist-append gcc-4.0
+
</ins><span class="cx"> pre-fetch {
</span><del>- if {${llvm_version} != ""} {
- if {![file exists ${prefix}/bin/llvm-config-mp-${llvm_version}]} {
- ui_error "You must first install ld64 without llvm support to build llvm. After llvm is installed, you can reinstall ld64 with the llvm variant."
- return -code error "You must first install ld64 without llvm support to build llvm. After llvm is installed, you can reinstall ld64 with the llvm variant."
</del><ins>+ if {${os.major} < 9} {
+ if {${llvm_version} != ""} {
+ if {![file exists ${prefix}/bin/llvm-config-mp-${llvm_version}]} {
+ ui_error "You must first install ld64 without llvm support to build llvm. After llvm is installed, you can reinstall ld64 with the llvm variant."
+ return -code error "You must first install ld64 without llvm support to build llvm. After llvm is installed, you can reinstall ld64 with the llvm variant."
+ }
</ins><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><ins>+ post-extract {
+ file copy ${filespath}/${makefile} ${worksrcpath}/Makefile
+ }
+
</ins><span class="cx"> post-patch {
</span><del>- reinplace "s:-Wl,-exported_symbol,__mh_execute_header::g" \
- ${worksrcpath}/Makefile
</del><ins>+ reinplace "s|@@VERSION@@|${version}|g" \
+ ${worksrcpath}/src/ld/Options.cpp
</ins><span class="cx">
</span><del>- foreach reg {cr ctr eax ebp ebx ecx edi edx eip esi esp lr mq r0 r1 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r2 r20 r21 r22 r23 r24 r25 r26 r27 r28 r29 r3 r30 r31 r4 r5 r6 r7 r8 r9 rax rbp rbx rcx rdi rdx rip rsi rsp srr0 srr1 vrsave xer} {
- reinplace "s|__${reg}|${reg}|g" ${worksrcpath}/src/ld/parsers/libunwind/Registers.hpp
</del><ins>+ if {${os.major} < 9} {
+ # No CommonCrypto, use openssl
+ reinplace "s:<CommonCrypto/CommonDigest.h>:<openssl/md5.h>:" \
+ ${worksrcpath}/src/ld/MachOWriterExecutable.hpp
+ reinplace "s:CC_MD5:MD5:" \
+ ${worksrcpath}/src/ld/MachOWriterExecutable.hpp
+
+ reinplace "s:-Wl,-exported_symbol,__mh_execute_header::g" \
+ ${worksrcpath}/Makefile
+
+ foreach reg {cr ctr eax ebp ebx ecx edi edx eip esi esp lr mq r0 r1 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r2 r20 r21 r22 r23 r24 r25 r26 r27 r28 r29 r3 r30 r31 r4 r5 r6 r7 r8 r9 rax rbp rbx rcx rdi rdx rip rsi rsp srr0 srr1 vrsave xer} {
+ reinplace "s|__${reg}|${reg}|g" ${worksrcpath}/src/ld/parsers/libunwind/Registers.hpp
+ }
</ins><span class="cx"> }
</span><span class="cx"> }
</span><del>-}
</del><span class="cx">
</span><del>-compiler.blacklist-append gcc-4.0
</del><ins>+ configure {
+ system "cd ${worksrcpath} && ${build.cmd} src/ld/configure.h"
+ }
</ins><span class="cx">
</span><del>-post-extract {
- file copy ${filespath}/${makefile} ${worksrcpath}/Makefile
-}
</del><ins>+ set cxx_stdlibflags {}
+ if {[string match *clang* ${configure.cxx}]} {
+ set cxx_stdlibflags -stdlib=${configure.cxx_stdlib}
+ }
</ins><span class="cx">
</span><del>-post-patch {
- reinplace "s|@@VERSION@@|${version}|g" \
- ${worksrcpath}/src/ld/Options.cpp
</del><ins>+ build.args \
+ CC="${configure.cc}" \
+ CXX="${configure.cxx}" \
+ OTHER_CPPFLAGS="${configure.cppflags}" \
+ OTHER_CFLAGS="${configure.cflags} [get_canonical_archflags cc]" \
+ OTHER_CXXFLAGS="${configure.cxxflags} ${cxx_stdlibflags} [get_canonical_archflags cxx]" \
+ OTHER_LDFLAGS="${configure.ldflags} ${cxx_stdlibflags} [get_canonical_archflags ld]"
</ins><span class="cx">
</span><del>- if {${os.major} < 9} {
- # No CommonCrypto, use openssl
- reinplace "s:<CommonCrypto/CommonDigest.h>:<openssl/md5.h>:" \
- ${worksrcpath}/src/ld/MachOWriterExecutable.hpp
- reinplace "s:CC_MD5:MD5:" \
- ${worksrcpath}/src/ld/MachOWriterExecutable.hpp
- }
-}
</del><ins>+ if {${os.major} >= 11} {
+ build.args-append \
+ RC_SUPPORTED_ARCHS="armv6 armv7 i386 x86_64"
+ }
</ins><span class="cx">
</span><del>-configure {
- system "cd ${worksrcpath} && ${build.cmd} src/ld/configure.h"
-}
</del><ins>+ destroot.args \
+ PREFIX=${prefix}
</ins><span class="cx">
</span><del>-build.args \
- CC="${configure.cc}" \
- CXX="${configure.cxx}" \
- OTHER_CPPFLAGS="${configure.cppflags}" \
- OTHER_CFLAGS="${configure.cflags} [get_canonical_archflags cc]" \
- OTHER_CXXFLAGS="${configure.cxxflags} ${cxx_stdlibflags} [get_canonical_archflags cxx]" \
- OTHER_LDFLAGS="${configure.ldflags} ${cxx_stdlibflags} [get_canonical_archflags ld]"
</del><ins>+ pre-build {
+ if {${llvm_version} != ""} {
+ build.args-append LLVM_CONFIG=${prefix}/bin/llvm-config-mp-${llvm_version}
+ }
</ins><span class="cx">
</span><del>-if {${os.major} >= 11} {
- build.args-append \
- RC_SUPPORTED_ARCHS="armv6 armv7 i386 x86_64"
-}
</del><ins>+ if {${os.major} < 9} {
+ build.args-append OTHER_LDFLAGS_LD64=-lcrypto
+ }
+ }
</ins><span class="cx">
</span><del>-destroot.args \
- PREFIX=${prefix}
</del><ins>+ post-destroot {
+ # ${prefix}/bin/ld will always use the llvm we built against
+ # ${prefix}/libexec/ld64/ld uses relative linking for use with the llvm ports
+ file mkdir ${destroot}${prefix}/libexec/ld64
+ file copy ${destroot}${prefix}/bin/ld ${destroot}${prefix}/libexec/ld64/ld-${ld64_ver}
</ins><span class="cx">
</span><del>-pre-build {
- if {${llvm_version} != ""} {
- build.args-append LLVM_CONFIG=${prefix}/bin/llvm-config-mp-${llvm_version}
- }
</del><ins>+ file rename ${destroot}${prefix}/bin/dyldinfo ${destroot}${prefix}/bin/dyldinfo-${ld64_ver}
+ file rename ${destroot}${prefix}/bin/ld ${destroot}${prefix}/bin/ld-${ld64_ver}
+ file rename ${destroot}${prefix}/bin/machocheck ${destroot}${prefix}/bin/machocheck-${ld64_ver}
+ file rename ${destroot}${prefix}/bin/ObjectDump ${destroot}${prefix}/bin/ObjectDump-${ld64_ver}
+ file rename ${destroot}${prefix}/bin/rebase ${destroot}${prefix}/bin/rebase-${ld64_ver}
+ file rename ${destroot}${prefix}/bin/unwinddump ${destroot}${prefix}/bin/unwinddump-${ld64_ver}
</ins><span class="cx">
</span><del>- if {${os.major} < 9} {
- build.args-append OTHER_LDFLAGS_LD64=-lcrypto
- }
-}
</del><ins>+ eval delete [glob ${destroot}${prefix}/share/man/man1/*]
</ins><span class="cx">
</span><del>-post-destroot {
- # ${prefix}/bin/ld will always use the llvm we built against
- # ${prefix}/libexec/ld64/ld uses relative linking for use with the llvm ports
- file mkdir ${destroot}${prefix}/libexec/ld64
- file copy ${destroot}${prefix}/bin/ld ${destroot}${prefix}/libexec/ld64/ld
-
- if {${llvm_version} != ""} {
- system "install_name_tool -change ${prefix}/libexec/llvm-${llvm_version}/lib/libLTO.dylib \
- @executable_path/../lib/libLTO.dylib ${destroot}${prefix}/libexec/ld64/ld"
</del><ins>+ if {${llvm_version} != ""} {
+ system "install_name_tool -change ${prefix}/libexec/llvm-${llvm_version}/lib/libLTO.dylib \
+ @executable_path/../lib/libLTO.dylib ${destroot}${prefix}/libexec/ld64/ld-${ld64_ver}"
+ }
</ins><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><del>-livecheck.type regex
-livecheck.regex "${name}-(\[\\d.\]+)"
</del><ins>+livecheck.type none
</ins></span></pre></div>
<a id="trunkdportsdevelld64filesld6497BaseAtomImplicitDeclpatch"></a>
<div class="addfile"><h4>Added: trunk/dports/devel/ld64/files/ld64-97-BaseAtomImplicitDecl.patch (0 => 132142)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/devel/ld64/files/ld64-97-BaseAtomImplicitDecl.patch         (rev 0)
+++ trunk/dports/devel/ld64/files/ld64-97-BaseAtomImplicitDecl.patch        2015-01-24 09:45:41 UTC (rev 132142)
</span><span class="lines">@@ -0,0 +1,82 @@
</span><ins>+--- src/ld/MachOReaderRelocatable.hpp.orig        2015-01-24 01:24:52.000000000 -0800
++++ src/ld/MachOReaderRelocatable.hpp        2015-01-24 01:40:57.000000000 -0800
+@@ -62,7 +62,38 @@ extern void warning(const char* format,
+ namespace mach_o {
+ namespace relocatable {
+
++class BaseAtom : public ObjectFile::Atom
++{
++public:
++                                                                                                BaseAtom() : fStabsStartIndex(0), fStabsCount(0), fHasCompactUnwindInfo(false) {}
+
++        virtual void                                                                setSize(uint64_t size) = 0;
++        virtual void                                                                addReference(ObjectFile::Reference* ref) = 0;
++        virtual void                                                                sortReferences() = 0;
++        virtual void                                                                addLineInfo(const ObjectFile::LineInfo& info) = 0;
++        virtual const ObjectFile::ReaderOptions&        getOptions() const = 0;
++        virtual uint64_t                                                        getObjectAddress() const = 0;
++        virtual uint32_t                                                        getOrdinal() const { return fOrdinal; }
++        virtual void                                                                setOrdinal(uint32_t value) { fOrdinal = value; }
++        virtual const void*                                                        getSectionRecord() const = 0;
++        virtual unsigned int                                                getSectionIndex() const = 0;
++        virtual bool                                                                isAlias() const { return false; }
++        virtual uint8_t                                                                getLSDAReferenceKind() const { return 0; }
++        virtual uint8_t                                                                getPersonalityReferenceKind() const { return 0; }
++        virtual uint32_t                                                        getCompactUnwindEncoding(uint64_t ehAtomAddress) { return 0; }
++        virtual ObjectFile::UnwindInfo::iterator        beginUnwind()                                        { return fHasCompactUnwindInfo ? &fSingleUnwindInfo[0] : NULL; }
++        virtual ObjectFile::UnwindInfo::iterator        endUnwind()                                                { return fHasCompactUnwindInfo ? &fSingleUnwindInfo[1] : NULL; }
++        virtual ObjectFile::Reference*                                getLSDA();
++        virtual ObjectFile::Reference*                                getFDE();
++        virtual Atom*                                                                getPersonalityPointer();
++        virtual void                                                                setCompactUnwindEncoding(uint64_t ehAtomAddress);
++
++        uint32_t                                                                        fStabsStartIndex;
++        uint32_t                                                                        fStabsCount;
++        uint32_t                                                                        fOrdinal;
++        ObjectFile::UnwindInfo                                                fSingleUnwindInfo[1];
++        bool                                                                                fHasCompactUnwindInfo;
++};
+
+ class ReferenceSorter
+ {
+@@ -274,40 +305,6 @@ public:
+
+ LinkEditSegment LinkEditSegment::fgSingleton;
+
+-class BaseAtom : public ObjectFile::Atom
+-{
+-public:
+-                                                                                                BaseAtom() : fStabsStartIndex(0), fStabsCount(0), fHasCompactUnwindInfo(false) {}
+-
+-        virtual void                                                                setSize(uint64_t size) = 0;
+-        virtual void                                                                addReference(ObjectFile::Reference* ref) = 0;
+-        virtual void                                                                sortReferences() = 0;
+-        virtual void                                                                addLineInfo(const ObjectFile::LineInfo& info) = 0;
+-        virtual const ObjectFile::ReaderOptions&        getOptions() const = 0;
+-        virtual uint64_t                                                        getObjectAddress() const = 0;
+-        virtual uint32_t                                                        getOrdinal() const { return fOrdinal; }
+-        virtual void                                                                setOrdinal(uint32_t value) { fOrdinal = value; }
+-        virtual const void*                                                        getSectionRecord() const = 0;
+-        virtual unsigned int                                                getSectionIndex() const = 0;
+-        virtual bool                                                                isAlias() const { return false; }
+-        virtual uint8_t                                                                getLSDAReferenceKind() const { return 0; }
+-        virtual uint8_t                                                                getPersonalityReferenceKind() const { return 0; }
+-        virtual uint32_t                                                        getCompactUnwindEncoding(uint64_t ehAtomAddress) { return 0; }
+-        virtual ObjectFile::UnwindInfo::iterator        beginUnwind()                                        { return fHasCompactUnwindInfo ? &fSingleUnwindInfo[0] : NULL; }
+-        virtual ObjectFile::UnwindInfo::iterator        endUnwind()                                                { return fHasCompactUnwindInfo ? &fSingleUnwindInfo[1] : NULL; }
+-        virtual ObjectFile::Reference*                                getLSDA();
+-        virtual ObjectFile::Reference*                                getFDE();
+-        virtual Atom*                                                                getPersonalityPointer();
+-        virtual void                                                                setCompactUnwindEncoding(uint64_t ehAtomAddress);
+-
+-        uint32_t                                                                        fStabsStartIndex;
+-        uint32_t                                                                        fStabsCount;
+-        uint32_t                                                                        fOrdinal;
+-        ObjectFile::UnwindInfo                                                fSingleUnwindInfo[1];
+-        bool                                                                                fHasCompactUnwindInfo;
+-};
+-
+-
+ ObjectFile::Reference* BaseAtom::getLSDA()
+ {
+         const uint8_t groupKind = this->getLSDAReferenceKind();
</ins></span></pre>
</div>
</div>
</body>
</html>