<div id="__MailbirdStyleContent" style="font-size: 10pt;font-family: Arial;color: #000000">
                                        
                                        
                                            
                                        
                                        
                                        Hi Timothy.<div><br></div><div>Both OSProcess and also Squeak-FFI interface SmalltalkImage (via "Smalltalk" global), which queries platform-specific attributes (or labels) via VM primitives:</div><div><br></div><div>OSProcess class >> #platformName</div><div>OSProcess class >> #platformSubtype</div><div>OSProcess class >> #osVersion</div><div><br></div><div>FFIPlatformDescription class >> #current </div><div>FFIPlatformDescription >> #name</div><div>FFIPlatformDescription >> #subtype<br></div><div>FFIPlatformDescription >> #is(Windows|ARM|Unix)<br></div><div><br></div><div>SmalltalkImage >> #getSystemAttribute:</div><div>SmalltalkImage >> #platformName</div><div>SmalltalkImage >> #platformSubtype<br></div><div><br></div><div>But beware of writing too much "is(Unix|Windows)"-like code across your abstraction levels because checking for more specific capabilites might produce more readable code such as "canReadFat32Device". ... which was not your question at all here. :-D</div><div><br></div><div>Best,</div><div>Marcel</div><div class="mb_sig"></div>
                                        
                                        <blockquote class="history_container" type="cite" style="border-left-style: solid;border-width: 1px;margin-top: 20px;margin-left: 0px;padding-left: 10px;min-width: 500px">
                        <p style="color: #AAAAAA; margin-top: 10px;">Am 20.10.2020 14:37:50 schrieb gettimothy via Squeak-dev <squeak-dev@lists.squeakfoundation.org>:</p><div style="font-family:Arial,Helvetica,sans-serif"><div style="font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 10pt"><div>Hi folks,<br></div><div><br></div><div>I am puttering about trying to see if I can import Pillar into Squeak.<br></div><blockquote style="border: 1px solid rgb(204, 204, 204);padding: 7px;background-color: rgb(245, 245, 245);min-width: 500px"><div><div>BaselineOfPillar >> customProjectAttributes<br></div><div>    "Edit to return a collection of any custom attributes e.g. for conditional loading: Array with: #'Condition1' with: #'Condition2.<br></div><div>For more information see: <a href="http://code.google.com/p/metacello/wiki/CustomProjectAttrributes" target="_blank">http://code.google.com/p/metacello/wiki/CustomProjectAttrributes</a> "<br></div><div><br></div><div>| attributes |<br></div><div>attributes := OrderedCollection new.<br></div><div>OSPlatform current isWindows ifTrue: [ attributes add: #windows ].<br></div><div>OSPlatform current isUnix    ifTrue: [ attributes add: #unix ].<br></div><div>OSPlatform current isMacOS   ifTrue: [ attributes add: #osx ].<br></div><div>^ attributes asArray<br></div></div></blockquote><div><br></div><div>I have poked around a bit and <br></div><div><br></div><blockquote style="border: 1px solid rgb(204, 204, 204);padding: 7px;background-color: rgb(245, 245, 245);min-width: 500px"><div>ThisOSProcess concreteClass<br></div></blockquote><div>looks like a good replacement candidate.<br></div><div><br></div><div>However, I figured I would check with you all first.<br></div><div><br></div><div><br></div><div>thx in advance.<br></div><div><br></div><div><br></div><div><br></div><div><br></div></div><br></div></blockquote></div>