$save nolist /* *============================================================================ * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE * * Permission to use for any purpose, modify, copy, and make enhancements * and derivative works of the software is granted if attribution is given to * R.M. Gillmore, dba the ACME Software Deli, as the author * * While the ACME Software Deli does not work for money, there is nonetheless * a significant amount of work involved. The ACME Software Deli maintains the * rights to all code written, though it may be used and distributed as long as * the following conditions are maintained. * * 1. The copyright statement at the top of each code block is maintained in * your distribution. * 2. You do not identify yourself as the ACME Software Deli * 3. Any changes made to the software are sent to the ACME Software Deli *============================================================================ */ /* * $Id: compStch.ext 1157 2025-05-05 00:35:39Z rmgillmore $ */ /* * Compile common switches, defined as follows: * pagewidth of 129 columns. You may change this number. I use 129 for * historical/sentimental reasons * * mod186 tells the compiler it may generate 80186 instructions * * large. I chose this memory model so that pointers, which MUST be 32-bit * for the startup to work and for the arguments to main() to be correct, * allows things to work correctly. * * code. the compiler will generate an assembly listing * * optimize of 3 turns on maximum optimization. I have never understood * why maximum optimization is not a good thing. Those who * have mandated a lower optimization level are lazy and perhaps not * competent to make such a determination * * nocond. the compiler listing will not display code which is "conditionally" * removed using compiler directives $if/$elseif/$else/$endif * * in order to use the xref and symbols options, there must be an * environment variable called :WORK: * * 'C' interface is quite useful so that the parameters specified in the * public interface may be different than in the external interface. (the * so called variadic function) The most common example (and one assumed in * this code) is function main(). The second most common examples are * printf()/fprintf()/sprintf() and addToLog() */ $set ( pageParams ) $set ( compactSubsystem = 1 ) $set ( largeSubsystem = 0 ) $set ( reportSymbols ) $if pageParams $pagewidth(132) pagelength(60) $endif $mod186 $interface(c) $subtitle('Copyright (c) 2011-2012,2018-2022, the ACME Software Deli') $if compactSubsystem $include (..\lib\subsys.def) $else if largeSubsystem $include (..\lib\subsysl.def) $else $large $endif $if reportSymbols $xref symbols $type $endif $restore $nocond code optimize(3)