@@ -749,26 +749,28 @@ as specified by the `ARCHITECTURE_FLAGS` mapping. If the given `Platform` alrea
749
749
julia> using BinaryBuilderBase
750
750
751
751
julia> expand_microarchitectures(Platform("x86_64", "freebsd"))
752
- 4-element Array{Platform,1}:
753
- ExtendedPlatform(Platform("x86_64", "freebsd"); march="avx")
754
- ExtendedPlatform(Platform("x86_64", "freebsd"); march="avx2")
755
- ExtendedPlatform(Platform("x86_64", "freebsd"); march="avx512")
756
- ExtendedPlatform(Platform("x86_64", "freebsd"); march="x86_64")
757
-
758
- julia> expand_microarchitectures(Platform("armv7l", "linux")
759
- 3-element Array{Platform,1}:
760
- ExtendedPlatform(Linux(:armv7l, libc=:glibc, call_abi=:eabihf); march="armv7l")
761
- ExtendedPlatform(Linux(:armv7l, libc=:glibc, call_abi=:eabihf); march="neonvfpv4")
762
-
763
- julia> expand_microarchitectures(Platform("aarch64", "linux")
764
- 3-element Array{Platform,1}:
765
- ExtendedPlatform(Platform("aarch64", "linux"; libc="glibc"); march="armv8")
766
- ExtendedPlatform(Platform("aarch64", "linux"; libc="glibc"); march="carmel")
767
- ExtendedPlatform(Platform("aarch64", "linux"; libc="glibc"); march="thunderx2")
768
-
769
- julia> expand_microarchitectures(Platform("i686", "windows")
770
- 1-element Array{Windows,1}:
771
- Platform("i686", "windows")
752
+ 4-element Vector{Platform}:
753
+ FreeBSD x86_64 {march=x86_64}
754
+ FreeBSD x86_64 {march=avx}
755
+ FreeBSD x86_64 {march=avx2}
756
+ FreeBSD x86_64 {march=avx512}
757
+
758
+ julia> expand_microarchitectures(Platform("armv7l", "linux"))
759
+ 2-element Vector{Platform}:
760
+ Linux armv7l {call_abi=eabihf, libc=glibc, march=armv7l}
761
+ Linux armv7l {call_abi=eabihf, libc=glibc, march=neonvfpv4}
762
+
763
+ julia> expand_microarchitectures(Platform("aarch64", "linux"))
764
+ 4-element Vector{Platform}:
765
+ Linux aarch64 {libc=glibc, march=armv8_0}
766
+ Linux aarch64 {libc=glibc, march=armv8_4_crypto_sve}
767
+ Linux aarch64 {libc=glibc, march=armv8_2_crypto}
768
+ Linux aarch64 {libc=glibc, march=armv8_1}
769
+
770
+ julia> expand_microarchitectures(Platform("i686", "windows"))
771
+ 2-element Vector{Platform}:
772
+ Windows i686 {march=pentium4}
773
+ Windows i686 {march=prescott}
772
774
```
773
775
"""
774
776
function expand_microarchitectures (platform:: AbstractPlatform )
@@ -793,19 +795,21 @@ Expand all platforms in the given vector with the supported microarchitectures.
793
795
```jldoctest
794
796
julia> using BinaryBuilderBase
795
797
796
- julia> expand_microarchitectures(filter!(p -> p isa Linux && libc(p) == :glibc, supported_platforms()))
797
- 12-element Array{Platform,1}:
798
- Platform("i686", "linux"; libc="glibc")
799
- ExtendedPlatform(Platform("x86_64", "linux"; libc="glibc"); march="avx")
800
- ExtendedPlatform(Platform("x86_64", "linux"; libc="glibc"); march="avx2")
801
- ExtendedPlatform(Platform("x86_64", "linux"; libc="glibc"); march="avx512")
802
- ExtendedPlatform(Platform("x86_64", "linux"; libc="glibc"); march="x86_64")
803
- ExtendedPlatform(Platform("aarch64", "linux"; libc="glibc"); march="armv8")
804
- ExtendedPlatform(Platform("aarch64", "linux"; libc="glibc"); march="carmel")
805
- ExtendedPlatform(Platform("aarch64", "linux"; libc="glibc"); march="thunderx2")
806
- ExtendedPlatform(Linux(:armv7l, libc=:glibc, call_abi=:eabihf); march="armv7l")
807
- ExtendedPlatform(Linux(:armv7l, libc=:glibc, call_abi=:eabihf); march="neonvfpv4")
808
- Platform("powerpc64le", "linux"; libc="glibc")
798
+ julia> expand_microarchitectures(filter!(p -> Sys.islinux(p) && libc(p) == "glibc", supported_platforms()))
799
+ 13-element Vector{Platform}:
800
+ Linux i686 {libc=glibc, march=pentium4}
801
+ Linux i686 {libc=glibc, march=prescott}
802
+ Linux x86_64 {libc=glibc, march=x86_64}
803
+ Linux x86_64 {libc=glibc, march=avx}
804
+ Linux x86_64 {libc=glibc, march=avx2}
805
+ Linux x86_64 {libc=glibc, march=avx512}
806
+ Linux aarch64 {libc=glibc, march=armv8_0}
807
+ Linux aarch64 {libc=glibc, march=armv8_4_crypto_sve}
808
+ Linux aarch64 {libc=glibc, march=armv8_2_crypto}
809
+ Linux aarch64 {libc=glibc, march=armv8_1}
810
+ Linux armv7l {call_abi=eabihf, libc=glibc, march=armv7l}
811
+ Linux armv7l {call_abi=eabihf, libc=glibc, march=neonvfpv4}
812
+ Linux powerpc64le {libc=glibc, march=power8}
809
813
```
810
814
"""
811
815
expand_microarchitectures (ps:: Vector{<:AbstractPlatform} ) = collect (Iterators. flatten (expand_microarchitectures .(ps)))
0 commit comments