Optimization.h

/*
    File:       Optimization.h
    
    Description:The Optimization changes to MoreFiles source and header files, along with
                this file and OptimizationEnd.h, let you optimize the code produced
                by MoreFiles in several ways.
 
                1 -- MoreFiles contains extra code so that many routines can run under
                Mac OS systems back to System 6. If your program requires a specific
                version of Mac OS and your program checks for that version before
                calling MoreFiles routines, then you can remove a lot of compatibility
                code by defining one of the following to 1:
    
                __MACOSSEVENFIVEONEORLATER  // assume Mac OS 7.5.1 or later
                __MACOSSEVENFIVEORLATER     // assume Mac OS 7.5 or later
                __MACOSSEVENORLATER         // assume Mac OS 7.0 or later
 
                By default, all compatibility code is ON.
    
                2 -- You may disable Pascal calling conventions in all MoreFiles routines
                except for system callbacks that require Pascal calling conventions.
                This will make C programs both smaller and faster.
                Just define __WANTPASCALELIMINATION to be 1 to turn this optimization on
                when building MoreFiles for use from C programs (you'll need to keep
                Pascal calling conventions when linking MoreFiles routines with Pascal
                programs).
    
                3 -- If Metrowerks compiler is used, "#pragma internal on" may help produce
                better code. However, this option can also cause problems if you're
                trying to build MoreFiles as a shared library, so it is by default not used.
                Just define __USEPRAGMAINTERNAL to be 1 to turn this optimization on.
 
    Author:     FO
 
    Copyright:  Copyright: © 1992-1999 by Apple Computer, Inc.
                all rights reserved.
    
    Disclaimer: You may incorporate this sample code into your applications without
                restriction, though the sample code has been provided "AS IS" and the
                responsibility for its operation is 100% yours.  However, what you are
                not permitted to do is to redistribute the source as "DSC Sample Code"
                after having made changes. If you're going to re-distribute the source,
                we require that you make it clear in the source that the code was
                descended from Apple Sample Code, but that you've made changes.
    
    Change History (most recent first):
                6/25/99 Updated for Metrowerks Codewarror Pro 2.1(KG)
 
*/
 
#ifndef __MACOSSEVENFIVEONEORLATER
    #define __MACOSSEVENFIVEONEORLATER 0
#endif
 
#ifndef __MACOSSEVENFIVEORLATER
    #define __MACOSSEVENFIVEORLATER __MACOSSEVENFIVEONEORLATER
#endif
 
#ifndef __MACOSSEVENORLATER
    #if GENERATINGCFM
        #define __MACOSSEVENORLATER 1
    #else
        #define __MACOSSEVENORLATER __MACOSSEVENFIVEORLATER
    #endif
#endif
 
 
#ifndef __WANTPASCALELIMINATION
    #define __WANTPASCALELIMINATION 0
#endif
 
#if __WANTPASCALELIMINATION
    #define pascal  
#endif
 
 
#ifndef __USEPRAGMAINTERNAL
    #define __USEPRAGMAINTERNAL 0
#endif
 
#if __USEPRAGMAINTERNAL
    #if defined(__MWERKS__)
        #pragma internal on
    #endif
#endif