Opened 5 years ago
Last modified 3 years ago
#63385 assigned enhancement
ld64 +ld64_xcode is there a need for +llvm variant?
| Reported by: | Gcenx | Owned by: | jeremyhu (Jeremy Huddleston Sequoia) |
|---|---|---|---|
| Priority: | Low | Milestone: | |
| Component: | ports | Version: | |
| Keywords: | +ld64_xcode | Cc: | cooljeanius (Eric Gallager) |
| Port: | ld64 |
Description (last modified by Gcenx)
For other other ld64 subports I understand the need for a version of llvm, but I don’t understand why +ld64_xcode would require llvm-9.0, shouldn’t this not require llvm?
The issue is ld64 not ld64-xcode it’s self, ld64 when defaulting to +ld64_xcode also defaults to +llvm-9.0
Change History (8)
comment:1 Changed 5 years ago by kencu (Ken)
comment:2 Changed 5 years ago by Gcenx
The problem is this section here;
if {![some_llvm_variant_set] && ${os.major} >= 9} {
default_variants +llvm90
}
if {![some_llvm_variant_set] && ${os.major} >= 9} {
pre-fetch {
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."
}
}
}
When I’ve tried to install ld64 on macOS Mojave (due to ffmpeg) it becomes +ld64_Xcode and then +llvm-9.0 also gets added
comment:3 Changed 5 years ago by Gcenx
| Description: | modified (diff) |
|---|---|
| Keywords: | +ld64_xcode added |
| Port: | ld64 added; ld64-xcode removed |
| Summary: | ld64-xcode is there a need for +llvm variant? → ld64 +ld64_xcode is there a need for +llvm variant? |
comment:4 Changed 5 years ago by Gcenx
Corrected this issue is due to ld64 Port itself, this sets the version of ld64 and also adds a version of llvm.
On macOS Mojave for example installing ld64 become ld64 +ld64_xcode +llvm-9.0
comment:5 Changed 5 years ago by kencu (Ken)
I will see if I can find a way to reproduce this, and then come up with something elegant and wonderful :>
comment:6 Changed 5 years ago by Gcenx
I’m not near my system but I’d assume the following;
if {![some_llvm_variant_set] && ![variant_isset ld64_xcode] && ${os.major} >= 9} {
default_variants +llvm90
}
if {![some_llvm_variant_set] && ![variant_isset ld64_xcode] && ${os.major} >= 9} {
pre-fetch {
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."
}
}
}
comment:7 Changed 5 years ago by kencu (Ken)
| Owner: | changed from kencu to jeremyhu |
|---|
comment:8 Changed 3 years ago by cooljeanius (Eric Gallager)
| Cc: | cooljeanius added |
|---|

ld64-xode doesn't have any variants.... I thought... on 10.6.8 there are the standard deps (clang-9.0) that every port has, that is just too much trouble to remove, but no other deps.
$ port info ld64-xcode ld64-xcode @2_3 (devel) Variants: universal Description: ld64 combines several object files and libraries, resolves references, and produces an ouput file. Homepage: http://opensource.apple.com/source/ld64/ Build Dependencies: clang-9.0 Library Dependencies: libcxx Platforms: darwin License: APSL-2 Maintainers: Email: jeremyhu@macports.org, GitHub: jeremyhu Email: kencu@macports.org, GitHub: kencuis there some system where you've noticed it has a dep on llvm?