--- /dev/null
+/*
+ File: Optimization.h
+
+ Contains: Defines that let you make MoreFiles code more efficient.
+
+ Version: MoreFiles
+
+ Copyright: © 1992-2001 by Apple Computer, Inc., all rights reserved.
+
+ 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.
+
+ File Ownership:
+
+ DRI: Apple Macintosh Developer Technical Support
+
+ Other Contact: Apple Macintosh Developer Technical Support
+ <http://developer.apple.com/bugreporter/>
+
+ Technology: DTS Sample Code
+
+ Writers:
+
+ (JL) Jim Luther
+
+ Change History (most recent first):
+
+ <1> 2/7/01 JL first checked in
+*/
+
+/*
+ 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
+
+ If you're compiling 68K code, the default is to include all compatibility code.
+ If you're compiling PowerPC code (TARGET_RT_MAC_CFM), the default is __MACOSSEVENORLATER
+ If you're compiling for Carbon code (TARGET_API_MAC_CARBON), the default is __MACOSSEVENFIVEONEORLATER
+
+ 2 -- You may disable Pascal calling conventions in all MoreFiles routines
+ except for system callbacks that require Pascal calling conventions.
+ This will make 68K C programs both smaller and faster.
+ (PowerPC compilers ignore pascal calling conventions.)
+ 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.
+
+ Original changes supplied by Fabrizio Oddone
+*/
+
+#include <ConditionalMacros.h>
+
+// if we're compiling for Carbon, then we're running on Mac OS 8.1 or later
+#ifndef __MACOSSEVENFIVEONEORLATER
+ #define __MACOSSEVENFIVEONEORLATER TARGET_API_MAC_CARBON
+#endif
+
+#ifndef __MACOSSEVENFIVEORLATER
+ #define __MACOSSEVENFIVEORLATER __MACOSSEVENFIVEONEORLATER
+#endif
+
+#ifndef __MACOSSEVENORLATER
+ #if TARGET_RT_MAC_CFM
+ #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