]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/morefile/Optim.h
latest CW additions
[wxWidgets.git] / src / mac / morefile / Optim.h
diff --git a/src/mac/morefile/Optim.h b/src/mac/morefile/Optim.h
new file mode 100644 (file)
index 0000000..d09caf7
--- /dev/null
@@ -0,0 +1,91 @@
+/*
+**     Apple Macintosh Developer Technical Support
+**
+**     DirectoryCopy: #defines that let you make MoreFiles code more efficient.
+**
+**     by Jim Luther, Apple Developer Technical Support Emeritus
+**
+**     File:           Optimization.h
+**
+**     Copyright © 1992-1998 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.
+**
+**     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.
+**
+**     Original changes supplied by Fabrizio Oddone
+**
+**     File:   Optimization.h
+*/
+
+
+#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
+