@@ -749,26 +749,28 @@ as specified by the `ARCHITECTURE_FLAGS` mapping. If the given `Platform` alrea
749749julia> using BinaryBuilderBase
750750
751751julia> 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}
772774```
773775"""
774776function expand_microarchitectures (platform:: AbstractPlatform )
@@ -793,19 +795,21 @@ Expand all platforms in the given vector with the supported microarchitectures.
793795```jldoctest
794796julia> using BinaryBuilderBase
795797
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}
809813```
810814"""
811815expand_microarchitectures (ps:: Vector{<:AbstractPlatform} ) = collect (Iterators. flatten (expand_microarchitectures .(ps)))
0 commit comments