In MACPAS mode, this directive can be used to define compiler symbols. It is an alternative to the $DEFINE directive for macros. It is supported for compatibility with existing Mac OS Pascal compilers. It will define a symbol with a certain value (called a compiler variable expression).
The expression syntax is similar to expressions used in macros, but the expression must be evaluated at compile-time by the compiler. This means that only some basic arithmetic and logical operators can be used, and some extra possibilities such as the TRUE,FALSE and UNDEFINED operators:
{$SETC TARGET_CPU_PPC := NOT UNDEFINED CPUPOWERPC} {$SETC TARGET_CPU_68K := NOT UNDEFINED CPUM68K} {$SETC TARGET_CPU_X86 := NOT UNDEFINED CPUI386} {$SETC TARGET_CPU_MIPS := FALSE} {$SETC TARGET_OS_UNIX := (NOT UNDEFINED UNIX) AND (UNDEFINED DARWIN)}
The := assignment symbol may be replaced with the = symbol.
Note that this command works only in MACPAS mode, but independent of the -Sm command line option or {$MACRO } directive.