provide.ss
#lang scheme
;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; OS.plt
;;
;; OS dependent expressions.
;;
;; Bonzai Lab, LLC.  All rights reserved.
;;
;; released under LGPL.
;;
;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; provide.ss - shorthand for system-dependent provide expression
;; yc 9/2/2009
(require (for-syntax scheme/base) "expression.ss")
(define-syntax provide/os
  (syntax-rules ()
    ((~ (key s1 ...) ...)
     (+:os (key (provide s1 ...)) ...))))

(define-syntax provide/windows
  (syntax-rules ()
    ((~ s1 ...)
     (provide/os (:windows s1 ...)))))

(define-syntax provide/macos
  (syntax-rules ()
    ((~ s1 ...)
     (provide/os (:macosx s1 ...)))))

(define-syntax provide/unix
  (syntax-rules ()
    ((~ s1 ...)
     (provide/os (:unix s1 ...)))))

(provide provide/os provide/windows provide/macos provide/unix)