On this page:
platform-spec?
matching-platform?

6.13 API for Platform Specifications🔗ℹ

 (require setup/matching-platform) package: base

Added in version 6.0.1.13 of package base.

procedure

(platform-spec? v)  boolean?

  v : any/c
Returns #t if v is a symbol, string, or regexp value (in the sense of regexp?), #f otherwise.

procedure

(matching-platform? spec 
  [#:cross? cross? 
  #:system-type sys-type 
  #:system-library-subpath sys-lib-subpath]) 
  boolean?
  spec : platform-spec?
  cross? : any/c = #f
  sys-type : (or/c #f symbol?) = 
(if cross?
    (cross-system-type)
    (system-type))
  sys-lib-subpath : (or/c #f path-for-some-system?)
   = 
(if cross?
    (cross-system-library-subpath #f)
    (system-library-subpath #f))
Reports whether spec matches sys-type or sys-lib-subpath, where #f values for the latter are replaced with the default values.

If spec is a symbol, then the result is #t if sys-type is the same symbol, #f otherwise.

If spec is a string, then the result is #t if (path->string sys-lib-subpath) is the same string, #f otherwise.

If spec is a regexp value, then the result is #t if the regexp matches (path->string sys-lib-subpath), #f otherwise.

Changed in version 6.3 of package base: Added #:cross? argument and changed the contract on sys-lib-subpath to accept path-for-some-system? instead of just path?.