Restrictions

Preprocessor directives may appear in any config file except systems.cfg.

#include and #verbatim directives may appear in systems.cfg, but all other preprocessor directives are forbidden.  Macros, too, are outlawed in systems.cfg.  Comments, however, can appear in systems.cfg and in any other .cfg file.

You may use #ifdef, #ifndef, and #setdef in defines.cfg just so long as the referenced define is specified earlier in defines.cfg.

Referencing an unregistered #define (for example, '#ifdef foobar' where 'foobar' has not been #define'd in defines.cfg) will produce an error and halt all further piktc preprocessing.  You may reference unregistered operating systems in #if statements (for example, '#elif aix | irix', where 'aix' and 'irix' are not mentioned in systems.cfg).  (This is to make it easier to distribute "standard library" config files written for all operating systems.)  If you set 'verbose_log' to 'YES' in PIKT.conf, referencing an unregistered operating system (or hostname or host alias) in an #if statement will write a WARNING message to piktc.log but not otherwise interfere with piktc preprocessing.

prev page 1st page next page
Home | FAQ | News | Intro | Samples | Tutorial | Reference | Software
DevNotes | Licensing | Authors | Pikt-Users | Pikt-Workers | Links | Site Index | Contact Us
Page best viewed at 1024x768 or greater.   Page last updated 2007-09-09.   This site is PIKT® powered.
PIKT® is a registered trademark of the University of Chicago.   Copyright © 1998-2007 Robert Osterlund. All rights reserved.
Home FAQ News Intro Samples Tutorial Reference Software
PIKT Logo
PIKT Page Title