View in color | View documentation | License |
Download script | History | Other scripts by: peterwood |
30-Apr 12:26 UTC
[0.056] 13.607k
[0.056] 13.607k
environ.rREBOL[
Title: "Environment"
Version: 0.1.0
Date: 24-12-2006
Author: "Peter WA Wood"
Copyright: "Peter WA Wood"
File: %environ.r
Purpose: {Provides five functions that decode system/version:
os? which returns a string indicating operating system
nix? which returns true under a unix-type operating system
win32? which returns true under a windows 32 bit os
win? which returns true under a windows os
cpu? which returns a string indicating the CPU class
The source of the underlying information was taken from:
http://www.rebol.com/releases.html}
History: {0.1.0 21-12-2006 Initial version}
Library: [
level: 'beginner
type: [package function]
domain: [cgi shell win-api]
platform: 'all
tested-under: [ core 2.6.2.2.4 "Mac OS X 10.2.8"]
support: none
license: cc-by
{see http://www.rebol.org/cgi-bin/cgiwrap/rebol/license-help.r}
]
]
environ: make object! [
os?: func [{returns the operating system in the form of a string:
"win32", "mac", "linux", 'bsd", "netbsd", "openbsd", "solaris",
"hp-ux", "wince", "aix", "other"}
][
switch/default fourth system/version
[
2 [either 4 = fifth system/version
[return "mac"]
[return "other"]
]
3 [either 1 = fifth system/version
[return "win32"]
[return "other"]
]
4 [return "linux"]
6 [return "bsd"]
7 [return "freebsd"]
8 [return "netbsd"]
9 [return "openbsd"]
10 [return "solaris"]
12 [return "hp-ux"]
15 [either find [1 2 3 5 6] fifth system/version
[return "wince"]
[return "other"]
]
17 [return "aix"]
][
return "other"
]
]
nix?: func [{returns true when run under a unix-style os}]
[
either find ["mac" "linux" "bsd" "freebsd" "netbsd" "openbsd" "solaris"
"hp-ux" "aix"] os?
[return true]
[return false]
]
win32?: func [{returns true when run under a windows 32 bit os}]
[
either os? = "win32"
[return true]
[return false]
]
win?: func [{returns true when run under a windows os}]
[
either find ["win32" "wince"] os?
[return true]
[return false]
]
cpu?: func [{returns the type of cpu in the form of a string:
"ppc", "x86", "sparc", "other"}
][
switch/default os?
[
"mac" [return "ppc"]
"win32" [return "x86"]
"linux" [switch/default fifth system/version
[
1 [return "x86"]
2 [return "x86"]
4 [return "ppc"]
6 [return "sparc"]
7 [return "ultrasparc"]
8 [return "strongarm"]
][return "other"]
]
"bsd" [return "x86"]
"freebsd" [return "x86"]
"netbsd" [switch/default fifth system/version
[
1 [return "x86"]
2 [return "ppc"]
5 [return "sparc"]
][return "other"]
]
"openbsd" [switch/default fifth system/version
[
1 [return "x86"]
2 [return "x86"]
5 [return "sparc"]
][return "other"]
]
"solaris" [switch/default fifth system/version
[
1 [return "sparc"]
2 [return "x86"]
][return "other"]
]
"aix" [return "ppc"]
"wince" [switch/default fifth system/version
[
2 [return "mips"]
3 [return "ppc"]
5 [return "strongarm"]
][return "other"]
]
][
return "other"
]
]
] ;; end of make environ Notes
|