Go to the documentation of this file.
17 #ifndef __CONDITIONALMACROS__
18 #define __CONDITIONALMACROS__
35 #define UNIVERSAL_INTERFACES_VERSION 0x0341
135 #define TARGET_CPU_PPC 1
136 #define TARGET_CPU_68K 0
137 #define TARGET_CPU_X86 0
138 #define TARGET_CPU_MIPS 0
139 #define TARGET_CPU_SPARC 0
140 #define TARGET_CPU_ALPHA 0
141 #define TARGET_OS_MAC 1
142 #define TARGET_OS_WIN32 0
143 #define TARGET_OS_UNIX 0
144 #define TARGET_RT_LITTLE_ENDIAN 0
145 #define TARGET_RT_BIG_ENDIAN 1
146 #define TARGET_RT_MAC_CFM 1
147 #define TARGET_RT_MAC_MACHO 0
148 #define TARGET_RT_MAC_68881 0
149 #if (__MRC__ > 0x0200) && (__MRC__ < 0x0700)
150 #define PRAGMA_IMPORT 1
152 #define PRAGMA_IMPORT 0
154 #define PRAGMA_STRUCT_ALIGN 1
155 #define PRAGMA_ONCE 1
156 #define PRAGMA_STRUCT_PACK 0
157 #define PRAGMA_STRUCT_PACKPUSH 0
158 #define PRAGMA_ENUM_PACK 1
159 #define PRAGMA_ENUM_ALWAYSINT 0
160 #define PRAGMA_ENUM_OPTIONS 0
161 #define FOUR_CHAR_CODE(x) (x)
163 #if (__MRC__ > 0x0300) && (__MRC__ < 0x0700)
164 #if __option(longlong)
166 #define TYPE_LONGLONG 1
169 #define TYPE_LONGLONG 0
176 #define SLASH_INCLUDES_UNSUPPORTED !__option(unix_includes)
178 #define TYPE_LONGLONG 0
180 #define SLASH_INCLUDES_UNSUPPORTED 1
182 #define TYPE_EXTENDED 0
183 #define TYPE_LONGDOUBLE_IS_DOUBLE 0
185 #define FUNCTION_PASCAL 1
186 #define FUNCTION_DECLSPEC 0
187 #define FUNCTION_WIN32CC 0
189 #elif defined(__SC__) && (defined(MPW_CPLUS) || defined(MPW_C))
193 #define TARGET_CPU_PPC 0
194 #define TARGET_CPU_68K 1
195 #define TARGET_CPU_X86 0
196 #define TARGET_CPU_MIPS 0
197 #define TARGET_CPU_SPARC 0
198 #define TARGET_CPU_ALPHA 0
199 #define TARGET_OS_MAC 1
200 #define TARGET_OS_WIN32 0
201 #define TARGET_OS_UNIX 0
202 #define TARGET_RT_LITTLE_ENDIAN 0
203 #define TARGET_RT_BIG_ENDIAN 1
204 #if defined(__CFM68K__)
205 #define TARGET_RT_MAC_CFM 1
207 #define TARGET_RT_MAC_CFM 0
209 #define TARGET_RT_MAC_MACHO 0
211 #define TARGET_RT_MAC_68881 1
213 #define TARGET_RT_MAC_68881 0
215 #if TARGET_RT_MAC_CFM
216 #define PRAGMA_IMPORT 1
217 #if (__SC__ <= 0x0810)
219 #define PRAGMA_IMPORT_OFF 1
222 #define PRAGMA_IMPORT 0
224 #if (__SC__ >= 0x0801)
225 #define PRAGMA_STRUCT_ALIGN 1
227 #define PRAGMA_STRUCT_ALIGN 0
229 #define PRAGMA_ONCE 0
230 #define PRAGMA_STRUCT_PACK 0
231 #define PRAGMA_STRUCT_PACKPUSH 0
232 #define PRAGMA_ENUM_PACK 1
233 #define PRAGMA_ENUM_ALWAYSINT 0
234 #define PRAGMA_ENUM_OPTIONS 0
235 #define FOUR_CHAR_CODE(x) (x)
237 #define TYPE_LONGLONG 0
238 #define TYPE_EXTENDED 1
239 #define TYPE_LONGDOUBLE_IS_DOUBLE 0
240 #if (__SC__ > 0x0810)
249 #if TARGET_RT_MAC_CFM
250 #define FUNCTION_PASCAL 0
252 #define FUNCTION_PASCAL 1
254 #define FUNCTION_DECLSPEC 0
255 #define FUNCTION_WIN32CC 0
256 #define SLASH_INCLUDES_UNSUPPORTED !__option(unix_includes)
258 #elif defined(__MWERKS__)
262 #if (__MWERKS__ < 0x0900) || macintosh
263 #define TARGET_OS_MAC 1
264 #define TARGET_OS_WIN32 0
265 #define TARGET_OS_UNIX 0
266 #define TARGET_CPU_X86 0
267 #define TARGET_CPU_MIPS 0
268 #define TARGET_CPU_SPARC 0
269 #define TARGET_CPU_ALPHA 0
270 #define TARGET_RT_LITTLE_ENDIAN 0
271 #define TARGET_RT_BIG_ENDIAN 1
273 #define TARGET_CPU_PPC 1
274 #define TARGET_CPU_68K 0
275 #define TARGET_RT_MAC_CFM 1
276 #define TARGET_RT_MAC_MACHO 0
277 #define TARGET_RT_MAC_68881 0
278 #define TYPE_LONGDOUBLE_IS_DOUBLE 1
280 #define TARGET_CPU_PPC 0
281 #define TARGET_CPU_68K 1
282 #if defined(__CFM68K__)
283 #define TARGET_RT_MAC_CFM 1
285 #define TARGET_RT_MAC_CFM 0
287 #define TARGET_RT_MAC_MACHO 0
289 #define TARGET_RT_MAC_68881 1
291 #define TARGET_RT_MAC_68881 0
293 #if __option(IEEEdoubles)
294 #define TYPE_LONGDOUBLE_IS_DOUBLE 0
296 #define TYPE_LONGDOUBLE_IS_DOUBLE 1
299 #define PRAGMA_ONCE 1
300 #if (__MWERKS__ >= 0x0700)
301 #define PRAGMA_IMPORT TARGET_RT_MAC_CFM
303 #define PRAGMA_IMPORT 0
305 #define PRAGMA_STRUCT_ALIGN 1
306 #define PRAGMA_STRUCT_PACK 0
307 #define PRAGMA_STRUCT_PACKPUSH 0
308 #define PRAGMA_ENUM_PACK 0
309 #define PRAGMA_ENUM_ALWAYSINT 1
310 #define PRAGMA_ENUM_OPTIONS 0
311 #if __option(enumsalwaysint) && __option(ANSI_strict)
312 #define FOUR_CHAR_CODE(x) \
316 #define FOUR_CHAR_CODE(x) (x)
318 #if TARGET_CPU_68K && !TARGET_RT_MAC_CFM
319 #define FUNCTION_PASCAL 1
321 #define FUNCTION_PASCAL 1
323 #if (__MWERKS__ >= 0x2000)
324 #define FUNCTION_DECLSPEC 1
326 #define FUNCTION_DECLSPEC 0
328 #define FUNCTION_WIN32CC 0
330 #elif (__MWERKS__ >= 0x0900) && __INTEL__
331 #define TARGET_CPU_PPC 0
332 #define TARGET_CPU_68K 0
333 #define TARGET_CPU_X86 1
334 #define TARGET_CPU_MIPS 0
335 #define TARGET_CPU_SPARC 0
336 #define TARGET_CPU_ALPHA 0
337 #define TARGET_OS_MAC 0
338 #define TARGET_OS_WIN32 1
339 #define TARGET_OS_UNIX 0
340 #define TARGET_RT_LITTLE_ENDIAN 1
341 #define TARGET_RT_BIG_ENDIAN 0
342 #define PRAGMA_ONCE 1
343 #define PRAGMA_IMPORT 0
344 #define PRAGMA_STRUCT_ALIGN 0
345 #define PRAGMA_STRUCT_PACK 1
346 #define PRAGMA_STRUCT_PACKPUSH 1
347 #define PRAGMA_ENUM_PACK 0
348 #define PRAGMA_ENUM_ALWAYSINT 1
349 #define PRAGMA_ENUM_OPTIONS 0
350 #define FOUR_CHAR_CODE(x) (x)
351 #define FUNCTION_PASCAL 0
352 #ifndef FUNCTION_DECLSPEC
354 #define FUNCTION_DECLSPEC 0
356 #ifndef FUNCTION_WIN32CC
357 #define FUNCTION_WIN32CC 1
359 #define TYPE_LONGDOUBLE_IS_DOUBLE 1
361 #elif (__MWERKS__ >= 0x1900) && __MIPS__
362 #define TARGET_CPU_PPC 0
363 #define TARGET_CPU_68K 0
364 #define TARGET_CPU_X86 0
365 #define TARGET_CPU_MIPS 1
366 #define TARGET_CPU_SPARC 0
367 #define TARGET_CPU_ALPHA 0
368 #define TARGET_OS_MAC 0
369 #define TARGET_OS_WIN32 0
370 #define TARGET_OS_UNIX 1
371 #if __option(little_endian)
372 #define TARGET_RT_LITTLE_ENDIAN 1
373 #define TARGET_RT_BIG_ENDIAN 0
375 #define TARGET_RT_LITTLE_ENDIAN 0
376 #define TARGET_RT_BIG_ENDIAN 1
378 #define PRAGMA_ONCE 1
379 #define PRAGMA_IMPORT 0
380 #define PRAGMA_STRUCT_ALIGN 0
381 #define PRAGMA_STRUCT_PACK 1
382 #define PRAGMA_STRUCT_PACKPUSH 0
383 #define PRAGMA_ENUM_PACK 0
384 #define PRAGMA_ENUM_ALWAYSINT 1
385 #define PRAGMA_ENUM_OPTIONS 0
386 #define FOUR_CHAR_CODE(x) (x)
387 #define FUNCTION_PASCAL 0
388 #define FUNCTION_DECLSPEC 0
389 #define FUNCTION_WIN32CC 0
390 #define TYPE_LONGDOUBLE_IS_DOUBLE 1
392 #elif (__MWERKS__ >= 0x2110) && __MACH__
393 #define TARGET_CPU_PPC 1
394 #define TARGET_CPU_68K 0
395 #define TARGET_CPU_X86 0
396 #define TARGET_CPU_MIPS 0
397 #define TARGET_CPU_SPARC 0
398 #define TARGET_CPU_ALPHA 0
399 #define TARGET_OS_MAC 1
400 #define TARGET_OS_WIN32 0
401 #define TARGET_OS_UNIX 0
402 #if __option(little_endian)
403 #define TARGET_RT_LITTLE_ENDIAN 1
404 #define TARGET_RT_BIG_ENDIAN 0
406 #define TARGET_RT_LITTLE_ENDIAN 0
407 #define TARGET_RT_BIG_ENDIAN 1
409 #define TARGET_RT_MAC_CFM 0
410 #define TARGET_RT_MAC_MACHO 1
411 #define TARGET_RT_MAC_68881 0
412 #define PRAGMA_ONCE 1
413 #define PRAGMA_IMPORT 0
414 #define PRAGMA_STRUCT_ALIGN 1
415 #define PRAGMA_STRUCT_PACK 1
416 #define PRAGMA_STRUCT_PACKPUSH 0
417 #define PRAGMA_ENUM_PACK 0
418 #define PRAGMA_ENUM_ALWAYSINT 1
419 #define PRAGMA_ENUM_OPTIONS 0
420 #define FOUR_CHAR_CODE(x) (x)
421 #define FUNCTION_PASCAL 1
422 #define FUNCTION_DECLSPEC 1
423 #define FUNCTION_WIN32CC 0
424 #define TYPE_LONGDOUBLE_IS_DOUBLE 1
426 #error unknown Metrowerks compiler
429 #if (__MWERKS__ >= 0x1100)
430 #if __option(longlong)
431 #define TYPE_LONGLONG 1
433 #define TYPE_LONGLONG 0
436 #define TYPE_LONGLONG 0
438 #if (__MWERKS__ >= 0x1000)
447 #define TYPE_EXTENDED 0
448 #define SLASH_INCLUDES_UNSUPPORTED 1
450 #elif defined(SYMANTEC_CPLUS) || defined(SYMANTEC_C)
454 #define TARGET_OS_MAC 1
455 #define TARGET_OS_WIN32 0
456 #define TARGET_OS_UNIX 0
457 #define TARGET_CPU_X86 0
458 #define TARGET_CPU_MIPS 0
459 #define TARGET_CPU_SPARC 0
460 #define TARGET_CPU_ALPHA 0
461 #define TARGET_RT_LITTLE_ENDIAN 0
462 #define TARGET_RT_BIG_ENDIAN 1
464 #define TARGET_CPU_PPC 1
465 #define TARGET_CPU_68K 0
466 #define TARGET_RT_MAC_CFM 1
467 #define TARGET_RT_MAC_MACHO 0
468 #define TARGET_RT_MAC_68881 0
470 #define TARGET_CPU_PPC 0
471 #define TARGET_CPU_68K 1
472 #if defined(__CFM68K)
473 #define TARGET_RT_MAC_CFM 1
475 #define TARGET_RT_MAC_CFM 0
477 #define TARGET_RT_MAC_MACHO 0
479 #define TARGET_RT_MAC_68881 1
481 #define TARGET_RT_MAC_68881 0
484 #define PRAGMA_IMPORT 0
485 #define PRAGMA_ONCE 1
486 #define PRAGMA_STRUCT_ALIGN 1
487 #define PRAGMA_STRUCT_PACK 0
488 #define PRAGMA_STRUCT_PACKPUSH 0
489 #define PRAGMA_ENUM_PACK 1
490 #define PRAGMA_ENUM_ALWAYSINT 0
491 #define PRAGMA_ENUM_OPTIONS 0
492 #define FOUR_CHAR_CODE(x) (x)
495 #define TYPE_EXTENDED 1
497 #define TYPE_EXTENDED 0
499 #define TYPE_LONGLONG 0
501 #define TYPE_LONGDOUBLE_IS_DOUBLE 1
503 #define FUNCTION_PASCAL 0
504 #define FUNCTION_DECLSPEC 0
505 #define FUNCTION_WIN32CC 0
506 #define SLASH_INCLUDES_UNSUPPORTED 1
508 #elif defined(THINK_C)
512 #define TARGET_CPU_PPC 0
513 #define TARGET_CPU_68K 1
514 #define TARGET_CPU_X86 0
515 #define TARGET_CPU_MIPS 0
516 #define TARGET_CPU_SPARC 0
517 #define TARGET_CPU_ALPHA 0
518 #define TARGET_OS_MAC 1
519 #define TARGET_OS_WIN32 0
520 #define TARGET_OS_UNIX 0
521 #define TARGET_RT_LITTLE_ENDIAN 0
522 #define TARGET_RT_BIG_ENDIAN 1
523 #define TARGET_RT_MAC_CFM 0
524 #define TARGET_RT_MAC_MACHO 0
526 #define TARGET_RT_MAC_68881 1
528 #define TARGET_RT_MAC_68881 0
530 #define PRAGMA_IMPORT 0
531 #define PRAGMA_STRUCT_ALIGN 0
532 #define PRAGMA_ONCE 1
533 #define PRAGMA_STRUCT_PACK 0
534 #define PRAGMA_STRUCT_PACKPUSH 0
535 #define PRAGMA_ENUM_PACK 1
536 #define PRAGMA_ENUM_ALWAYSINT 0
537 #define PRAGMA_ENUM_OPTIONS 0
538 #define FOUR_CHAR_CODE(x) (x)
540 #define TYPE_EXTENDED 1
541 #define TYPE_LONGLONG 0
543 #define TYPE_LONGDOUBLE_IS_DOUBLE 1
545 #define FUNCTION_PASCAL 1
546 #define FUNCTION_DECLSPEC 0
547 #define FUNCTION_WIN32CC 0
548 #define SLASH_INCLUDES_UNSUPPORTED 1
550 #elif defined(__PPCC__)
555 #define TARGET_CPU_PPC 1
556 #define TARGET_CPU_68K 0
557 #define TARGET_CPU_X86 0
558 #define TARGET_CPU_MIPS 0
559 #define TARGET_CPU_SPARC 0
560 #define TARGET_CPU_ALPHA 0
561 #define TARGET_OS_MAC 1
562 #define TARGET_OS_WIN32 0
563 #define TARGET_OS_UNIX 0
564 #define TARGET_RT_LITTLE_ENDIAN 0
565 #define TARGET_RT_BIG_ENDIAN 1
566 #define TARGET_RT_MAC_CFM 1
567 #define TARGET_RT_MAC_MACHO 0
568 #define TARGET_RT_MAC_68881 0
569 #define PRAGMA_IMPORT 0
570 #define PRAGMA_STRUCT_ALIGN 1
571 #define PRAGMA_ONCE 0
572 #define PRAGMA_STRUCT_PACK 0
573 #define PRAGMA_STRUCT_PACKPUSH 0
574 #define PRAGMA_ENUM_PACK 0
575 #define PRAGMA_ENUM_ALWAYSINT 0
576 #define PRAGMA_ENUM_OPTIONS 0
577 #define FOUR_CHAR_CODE(x) (x)
579 #define TYPE_EXTENDED 0
580 #define TYPE_LONGLONG 0
582 #define TYPE_LONGDOUBLE_IS_DOUBLE 1
584 #define FUNCTION_PASCAL 0
585 #define FUNCTION_DECLSPEC 0
586 #define FUNCTION_WIN32CC 0
587 #define SLASH_INCLUDES_UNSUPPORTED 1
589 #elif defined(applec) && !defined(__SC__)
594 #define TARGET_CPU_PPC 0
595 #define TARGET_CPU_68K 1
596 #define TARGET_CPU_X86 0
597 #define TARGET_CPU_MIPS 0
598 #define TARGET_CPU_SPARC 0
599 #define TARGET_CPU_ALPHA 0
600 #define TARGET_OS_MAC 1
601 #define TARGET_OS_WIN32 0
602 #define TARGET_OS_UNIX 0
603 #define TARGET_RT_LITTLE_ENDIAN 0
604 #define TARGET_RT_BIG_ENDIAN 1
605 #define TARGET_RT_MAC_CFM 0
606 #define TARGET_RT_MAC_MACHO 0
608 #define TARGET_RT_MAC_68881 1
610 #define TARGET_RT_MAC_68881 0
612 #define PRAGMA_IMPORT 0
613 #define PRAGMA_STRUCT_ALIGN 0
614 #define PRAGMA_ONCE 0
615 #define PRAGMA_STRUCT_PACK 0
616 #define PRAGMA_STRUCT_PACKPUSH 0
617 #define PRAGMA_ENUM_PACK 0
618 #define PRAGMA_ENUM_ALWAYSINT 0
619 #define PRAGMA_ENUM_OPTIONS 0
622 #define FOUR_CHAR_CODE
624 #define TYPE_EXTENDED 1
625 #define TYPE_LONGLONG 0
627 #define TYPE_LONGDOUBLE_IS_DOUBLE 0
629 #define FUNCTION_PASCAL 1
630 #define FUNCTION_DECLSPEC 0
631 #define FUNCTION_WIN32CC 0
632 #define SLASH_INCLUDES_UNSUPPORTED 1
634 #elif defined(__GNUC__) && \
635 (defined(__APPLE_CPP__) || defined(__APPLE_CC__) || defined(__NEXT_CPP__))
639 #if defined(__ppc__) || defined(powerpc) || defined(ppc)
640 #define TARGET_CPU_PPC 1
641 #define TARGET_CPU_68K 0
642 #define TARGET_CPU_X86 0
643 #define TARGET_CPU_MIPS 0
644 #define TARGET_CPU_SPARC 0
645 #define TARGET_CPU_ALPHA 0
646 #define TARGET_RT_MAC_68881 0
647 #define TARGET_RT_LITTLE_ENDIAN 0
648 #define TARGET_RT_BIG_ENDIAN 1
650 #define TARGET_RT_MAC_MACHO 1
651 #define TARGET_RT_MAC_CFM 0
653 #define TARGET_RT_MAC_MACHO 0
654 #define TARGET_RT_MAC_CFM 1
657 #define TARGET_CPU_PPC 0
658 #define TARGET_CPU_68K 1
659 #define TARGET_CPU_X86 0
660 #define TARGET_CPU_MIPS 0
661 #define TARGET_CPU_SPARC 0
662 #define TARGET_CPU_ALPHA 0
663 #define TARGET_RT_MAC_CFM 0
664 #define TARGET_RT_MAC_MACHO 1
665 #define TARGET_RT_MAC_68881 0
666 #define TARGET_RT_LITTLE_ENDIAN 0
667 #define TARGET_RT_BIG_ENDIAN 1
669 #define TARGET_CPU_PPC 0
670 #define TARGET_CPU_68K 0
671 #define TARGET_CPU_X86 0
672 #define TARGET_CPU_MIPS 0
673 #define TARGET_CPU_SPARC 1
674 #define TARGET_CPU_ALPHA 0
675 #define TARGET_RT_MAC_CFM 0
676 #define TARGET_RT_MAC_MACHO 1
677 #define TARGET_RT_MAC_68881 0
678 #define TARGET_RT_LITTLE_ENDIAN 0
679 #define TARGET_RT_BIG_ENDIAN 1
680 #elif defined(__i386__) || defined(i386) || defined(intel)
681 #define TARGET_CPU_PPC 0
682 #define TARGET_CPU_68K 0
683 #define TARGET_CPU_X86 1
684 #define TARGET_CPU_MIPS 0
685 #define TARGET_CPU_SPARC 0
686 #define TARGET_CPU_ALPHA 0
687 #define TARGET_RT_MAC_CFM 0
688 #define TARGET_RT_MAC_MACHO 1
689 #define TARGET_RT_MAC_68881 0
690 #define TARGET_RT_LITTLE_ENDIAN 1
691 #define TARGET_RT_BIG_ENDIAN 0
693 #error unrecognized GNU C compiler
696 #define TARGET_OS_MAC 1
697 #define TARGET_OS_WIN32 0
698 #define TARGET_OS_UNIX 0
700 #define PRAGMA_IMPORT 0
701 #define PRAGMA_STRUCT_ALIGN 1
702 #define PRAGMA_ONCE 0
703 #define PRAGMA_STRUCT_PACK 0
704 #define PRAGMA_STRUCT_PACKPUSH 0
705 #define PRAGMA_ENUM_PACK 0
706 #define PRAGMA_ENUM_ALWAYSINT 0
707 #define PRAGMA_ENUM_OPTIONS 0
708 #define FOUR_CHAR_CODE(x) (x)
710 #define TYPE_LONGDOUBLE_IS_DOUBLE 1
711 #define TYPE_EXTENDED 0
713 #define TYPE_LONGLONG 1
715 #define TYPE_LONGLONG 0
723 #define FUNCTION_PASCAL 0
724 #define FUNCTION_DECLSPEC 0
725 #define FUNCTION_WIN32CC 0
727 #elif defined(__GNUC__) && defined(__linux__)
733 #define TARGET_CPU_PPC 1
734 #define TARGET_CPU_68K 0
735 #define TARGET_CPU_X86 0
736 #define TARGET_CPU_MIPS 0
737 #define TARGET_CPU_SPARC 0
738 #define TARGET_CPU_ALPHA 0
739 #define TARGET_RT_MAC_CFM 1
740 #define TARGET_RT_MAC_MACHO 0
741 #define TARGET_RT_MAC_68881 0
743 #define TARGET_CPU_PPC 0
744 #define TARGET_CPU_68K 1
745 #define TARGET_CPU_X86 0
746 #define TARGET_CPU_MIPS 0
747 #define TARGET_CPU_SPARC 0
748 #define TARGET_CPU_ALPHA 0
749 #define TARGET_RT_MAC_CFM 0
750 #define TARGET_RT_MAC_MACHO 0
751 #define TARGET_RT_MAC_68881 0
753 #error unsupported GNU C compiler
757 #define TARGET_OS_MAC 1
758 #define TARGET_OS_WIN32 0
759 #define TARGET_OS_UNIX 0
761 #define TARGET_OS_MAC 0
762 #define TARGET_OS_WIN32 0
763 #define TARGET_OS_UNIX 1
765 #error unsupported GNU C compiler
768 #define TARGET_RT_LITTLE_ENDIAN 0
769 #define TARGET_RT_BIG_ENDIAN 1
770 #define PRAGMA_IMPORT 0
771 #define PRAGMA_STRUCT_ALIGN 0
772 #define PRAGMA_ONCE 0
773 #define PRAGMA_STRUCT_PACK 1
774 #define PRAGMA_STRUCT_PACKPUSH 0
775 #define PRAGMA_ENUM_PACK 0
776 #define PRAGMA_ENUM_ALWAYSINT 0
777 #define PRAGMA_ENUM_OPTIONS 0
778 #define FOUR_CHAR_CODE(x) (x)
780 #define TYPE_LONGDOUBLE_IS_DOUBLE 1
781 #define TYPE_EXTENDED 0
783 #define TYPE_LONGLONG 1
785 #define TYPE_LONGLONG 0
789 #define FUNCTION_PASCAL 0
790 #define FUNCTION_DECLSPEC 0
791 #define FUNCTION_WIN32CC 0
793 #elif defined(__GNUC__) && defined(__MINGW32__)
797 #define TARGET_CPU_PPC 0
798 #define TARGET_CPU_68K 0
799 #define TARGET_CPU_X86 1
800 #define TARGET_CPU_MIPS 0
801 #define TARGET_CPU_SPARC 0
802 #define TARGET_CPU_ALPHA 0
803 #define TARGET_RT_MAC_CFM 0
804 #define TARGET_RT_MAC_MACHO 0
805 #define TARGET_RT_MAC_68881 0
806 #define TARGET_OS_MAC 0
807 #define TARGET_OS_WIN32 1
808 #define TARGET_OS_UNIX 0
809 #define TARGET_RT_LITTLE_ENDIAN 1
810 #define TARGET_RT_BIG_ENDIAN 0
811 #define PRAGMA_IMPORT 0
812 #define PRAGMA_STRUCT_ALIGN 0
813 #define PRAGMA_ONCE 0
814 #define PRAGMA_STRUCT_PACK 1
815 #define PRAGMA_STRUCT_PACKPUSH 0
816 #define PRAGMA_ENUM_PACK 0
817 #define PRAGMA_ENUM_ALWAYSINT 0
818 #define PRAGMA_ENUM_OPTIONS 0
819 #define FOUR_CHAR_CODE(x) (x)
820 #define TYPE_EXTENDED 0
821 #define TYPE_LONGDOUBLE_IS_DOUBLE 1
822 #define TYPE_LONGLONG 1
824 #define FUNCTION_PASCAL 0
825 #define FUNCTION_DECLSPEC 0
826 #define FUNCTION_WIN32CC 0
828 #elif defined(__GNUC__)
833 #define TARGET_CPU_PPC 1
834 #define TARGET_CPU_68K 0
835 #define TARGET_CPU_X86 0
836 #define TARGET_CPU_MIPS 0
837 #define TARGET_CPU_SPARC 0
838 #define TARGET_CPU_ALPHA 0
839 #define TARGET_RT_MAC_CFM 1
840 #define TARGET_RT_MAC_MACHO 0
841 #define TARGET_RT_MAC_68881 0
843 #define TARGET_CPU_PPC 0
844 #define TARGET_CPU_68K 1
845 #define TARGET_CPU_X86 0
846 #define TARGET_CPU_MIPS 0
847 #define TARGET_CPU_SPARC 0
848 #define TARGET_CPU_ALPHA 0
849 #define TARGET_RT_MAC_CFM 0
850 #define TARGET_RT_MAC_MACHO 0
851 #define TARGET_RT_MAC_68881 0
853 #error unsupported GNU C compiler
857 #define TARGET_OS_MAC 1
858 #define TARGET_OS_WIN32 0
859 #define TARGET_OS_UNIX 0
861 #define TARGET_OS_MAC 0
862 #define TARGET_OS_WIN32 0
863 #define TARGET_OS_UNIX 1
865 #error unsupported GNU C compiler
868 #define TARGET_RT_LITTLE_ENDIAN 0
869 #define TARGET_RT_BIG_ENDIAN 1
870 #define PRAGMA_IMPORT 0
871 #define PRAGMA_STRUCT_ALIGN 1
872 #define PRAGMA_ONCE 0
873 #define PRAGMA_STRUCT_PACK 0
874 #define PRAGMA_STRUCT_PACKPUSH 0
875 #define PRAGMA_ENUM_PACK 0
876 #define PRAGMA_ENUM_ALWAYSINT 0
877 #define PRAGMA_ENUM_OPTIONS 0
878 #define FOUR_CHAR_CODE(x) (x)
880 #define TYPE_LONGDOUBLE_IS_DOUBLE 1
881 #define TYPE_EXTENDED 0
883 #define TYPE_LONGLONG 1
885 #define TYPE_LONGLONG 0
889 #define FUNCTION_PASCAL 0
890 #define FUNCTION_DECLSPEC 0
891 #define FUNCTION_WIN32CC 0
893 #elif defined(__xlc) || defined(__xlC) || defined(__xlC__) || \
898 #define TARGET_CPU_PPC 1
899 #define TARGET_CPU_68K 0
900 #define TARGET_CPU_X86 0
901 #define TARGET_CPU_MIPS 0
902 #define TARGET_CPU_SPARC 0
903 #define TARGET_CPU_ALPHA 0
905 #define TARGET_OS_MAC 0
906 #define TARGET_OS_UNIX 1
908 #define TARGET_OS_MAC 1
909 #define TARGET_OS_UNIX 0
911 #define TARGET_OS_WIN32 0
912 #define TARGET_RT_LITTLE_ENDIAN 0
913 #define TARGET_RT_BIG_ENDIAN 1
914 #define TARGET_RT_MAC_CFM 1
915 #define TARGET_RT_MAC_MACHO 0
916 #define TARGET_RT_MAC_68881 0
917 #define PRAGMA_IMPORT 0
918 #define PRAGMA_STRUCT_ALIGN 1
919 #define PRAGMA_ONCE 0
920 #define PRAGMA_STRUCT_PACK 0
921 #define PRAGMA_STRUCT_PACKPUSH 0
922 #define PRAGMA_ENUM_PACK 0
923 #define PRAGMA_ENUM_ALWAYSINT 0
924 #define PRAGMA_ENUM_OPTIONS 1
925 #define FOUR_CHAR_CODE(x) (x)
927 #define TYPE_LONGDOUBLE_IS_DOUBLE 0
928 #define TYPE_EXTENDED 0
930 #define TYPE_LONGLONG 1
932 #define TYPE_LONGLONG 0
936 #define FUNCTION_PASCAL 0
937 #define FUNCTION_DECLSPEC 0
938 #define FUNCTION_WIN32CC 0
940 #elif defined(_MSC_VER) && !defined(__MWERKS__)
945 #define TARGET_CPU_PPC 0
946 #define TARGET_CPU_68K 1
947 #define TARGET_CPU_X86 0
948 #define TARGET_CPU_MIPS 0
949 #define TARGET_CPU_SPARC 0
950 #define TARGET_CPU_ALPHA 0
951 #define TARGET_OS_MAC 1
952 #define TARGET_OS_WIN32 0
953 #define TARGET_OS_UNIX 0
954 #define TARGET_RT_LITTLE_ENDIAN 0
955 #define TARGET_RT_BIG_ENDIAN 1
956 #define TARGET_RT_MAC_CFM 0
957 #define TARGET_RT_MAC_MACHO 0
958 #define TARGET_RT_MAC_68881 0
959 #define PRAGMA_IMPORT 0
960 #define PRAGMA_STRUCT_ALIGN 1
961 #define PRAGMA_ONCE 0
962 #define PRAGMA_STRUCT_PACK 1
963 #define PRAGMA_STRUCT_PACKPUSH 1
964 #define PRAGMA_ENUM_PACK 0
965 #define PRAGMA_ENUM_ALWAYSINT 0
966 #define PRAGMA_ENUM_OPTIONS 0
967 #define FOUR_CHAR_CODE(x) (x)
968 #define TYPE_LONGDOUBLE_IS_DOUBLE 1
969 #define TYPE_EXTENDED 0
970 #define TYPE_LONGLONG 0
972 #define FUNCTION_PASCAL 1
973 #define FUNCTION_DECLSPEC 0
974 #define FUNCTION_WIN32CC 0
976 #elif defined(_M_MPPC)
977 #define TARGET_CPU_PPC 1
978 #define TARGET_CPU_68K 0
979 #define TARGET_CPU_X86 0
980 #define TARGET_CPU_MIPS 0
981 #define TARGET_CPU_SPARC 0
982 #define TARGET_CPU_ALPHA 0
983 #define TARGET_OS_MAC 1
984 #define TARGET_OS_WIN32 0
985 #define TARGET_OS_UNIX 0
986 #define TARGET_RT_LITTLE_ENDIAN 0
987 #define TARGET_RT_BIG_ENDIAN 1
988 #define TARGET_RT_MAC_CFM 1
989 #define TARGET_RT_MAC_MACHO 0
990 #define TARGET_RT_MAC_68881 0
991 #define PRAGMA_IMPORT 0
992 #define PRAGMA_STRUCT_ALIGN 1
993 #define PRAGMA_ONCE 0
994 #define PRAGMA_STRUCT_PACK 1
995 #define PRAGMA_STRUCT_PACKPUSH 1
996 #define PRAGMA_ENUM_PACK 0
997 #define PRAGMA_ENUM_ALWAYSINT 0
998 #define PRAGMA_ENUM_OPTIONS 0
999 #define FOUR_CHAR_CODE(x) (x)
1000 #define TYPE_LONGDOUBLE_IS_DOUBLE 1
1001 #define TYPE_EXTENDED 0
1002 #define TYPE_LONGLONG 0
1004 #define FUNCTION_PASCAL 0
1005 #define FUNCTION_DECLSPEC 0
1006 #define FUNCTION_WIN32CC 0
1008 #elif defined(_M_IX86)
1009 #define TARGET_CPU_PPC 0
1010 #define TARGET_CPU_68K 0
1011 #define TARGET_CPU_X86 1
1012 #define TARGET_CPU_MIPS 0
1013 #define TARGET_CPU_SPARC 0
1014 #define TARGET_CPU_ALPHA 0
1015 #define TARGET_OS_MAC 0
1016 #define TARGET_OS_WIN32 1
1017 #define TARGET_OS_UNIX 0
1018 #define TARGET_RT_LITTLE_ENDIAN 1
1019 #define TARGET_RT_BIG_ENDIAN 0
1020 #define PRAGMA_IMPORT 0
1021 #define PRAGMA_STRUCT_ALIGN 0
1022 #define PRAGMA_ONCE 0
1023 #define PRAGMA_STRUCT_PACK 1
1024 #define PRAGMA_STRUCT_PACKPUSH 1
1025 #define PRAGMA_ENUM_PACK 0
1026 #define PRAGMA_ENUM_ALWAYSINT 0
1027 #define PRAGMA_ENUM_OPTIONS 0
1028 #define FOUR_CHAR_CODE(x) (x)
1029 #define TYPE_LONGDOUBLE_IS_DOUBLE 1
1030 #define TYPE_EXTENDED 0
1031 #define TYPE_LONGLONG 1
1032 #define LONGLONG_TYPENAME __int64
1034 #define LONGLONG_SIGNED_MAX (9223372036854775807i64)
1035 #define LONGLONG_SIGNED_MIN (-9223372036854775807i64 - 1)
1036 #define LONGLONG_UNSIGNED_MAX (0xffffffffffffffffui64)
1038 #if defined(__cplusplus) && (_MSC_VER >= 1100)
1043 #define FUNCTION_PASCAL 0
1044 #ifndef FUNCTION_DECLSPEC
1046 #define FUNCTION_DECLSPEC 0
1048 #ifndef FUNCTION_WIN32CC
1049 #define FUNCTION_WIN32CC 1
1057 #elif defined(_M_ALPHA)
1058 #define TARGET_CPU_PPC 0
1059 #define TARGET_CPU_68K 0
1060 #define TARGET_CPU_X86 0
1061 #define TARGET_CPU_MIPS 0
1062 #define TARGET_CPU_SPARC 0
1063 #define TARGET_CPU_ALPHA 1
1064 #define TARGET_OS_MAC 0
1065 #define TARGET_OS_WIN32 1
1066 #define TARGET_OS_UNIX 0
1067 #define TARGET_RT_LITTLE_ENDIAN 1
1068 #define TARGET_RT_BIG_ENDIAN 0
1069 #define PRAGMA_IMPORT 0
1070 #define PRAGMA_STRUCT_ALIGN 0
1071 #define PRAGMA_ONCE 0
1072 #define PRAGMA_STRUCT_PACK 1
1073 #define PRAGMA_STRUCT_PACKPUSH 1
1074 #define PRAGMA_ENUM_PACK 0
1075 #define PRAGMA_ENUM_ALWAYSINT 0
1076 #define PRAGMA_ENUM_OPTIONS 0
1077 #define FOUR_CHAR_CODE(x) \
1078 (((unsigned long)((x) & 0x000000FF)) << 24) | \
1079 (((unsigned long)((x) & 0x0000FF00)) << 8) | \
1080 (((unsigned long)((x) & 0x00FF0000)) >> 8) | \
1081 (((unsigned long)((x) & 0xFF000000)) >> 24)
1082 #define TYPE_EXTENDED 0
1083 #define TYPE_LONGDOUBLE_IS_DOUBLE 1
1084 #define TYPE_LONGLONG 0
1086 #define FUNCTION_PASCAL 0
1087 #define FUNCTION_DECLSPEC 0
1088 #define FUNCTION_WIN32CC 0
1090 #elif defined(_M_PPC)
1091 #define TARGET_CPU_PPC 1
1092 #define TARGET_CPU_68K 0
1093 #define TARGET_CPU_X86 0
1094 #define TARGET_CPU_MIPS 0
1095 #define TARGET_CPU_SPARC 0
1096 #define TARGET_CPU_ALPHA 0
1097 #define TARGET_OS_MAC 0
1098 #define TARGET_OS_WIN32 1
1099 #define TARGET_OS_UNIX 0
1100 #define TARGET_RT_LITTLE_ENDIAN 1
1101 #define TARGET_RT_BIG_ENDIAN 0
1102 #define PRAGMA_IMPORT 0
1103 #define PRAGMA_STRUCT_ALIGN 0
1104 #define PRAGMA_ONCE 0
1105 #define PRAGMA_STRUCT_PACK 1
1106 #define PRAGMA_STRUCT_PACKPUSH 1
1107 #define PRAGMA_ENUM_PACK 0
1108 #define PRAGMA_ENUM_ALWAYSINT 0
1109 #define PRAGMA_ENUM_OPTIONS 0
1110 #define FOUR_CHAR_CODE(x) \
1111 (((unsigned long)((x) & 0x000000FF)) << 24) | \
1112 (((unsigned long)((x) & 0x0000FF00)) << 8) | \
1113 (((unsigned long)((x) & 0x00FF0000)) >> 8) | \
1114 (((unsigned long)((x) & 0xFF000000)) >> 24)
1115 #define TYPE_EXTENDED 0
1116 #define TYPE_LONGLONG 0
1118 #define FUNCTION_PASCAL 0
1119 #define FUNCTION_DECLSPEC 0
1120 #define FUNCTION_WIN32CC 0
1122 #elif defined(_M_MRX000)
1123 #define TARGET_CPU_PPC 0
1124 #define TARGET_CPU_68K 0
1125 #define TARGET_CPU_X86 0
1126 #define TARGET_CPU_MIPS 1
1127 #define TARGET_CPU_SPARC 0
1128 #define TARGET_CPU_ALPHA 0
1129 #define TARGET_OS_MAC 0
1130 #define TARGET_OS_WIN32 1
1131 #define TARGET_OS_UNIX 0
1132 #define TARGET_RT_LITTLE_ENDIAN 1
1133 #define TARGET_RT_BIG_ENDIAN 0
1134 #define PRAGMA_IMPORT 0
1135 #define PRAGMA_STRUCT_ALIGN 0
1136 #define PRAGMA_ONCE 0
1137 #define PRAGMA_STRUCT_PACK 1
1138 #define PRAGMA_STRUCT_PACKPUSH 1
1139 #define PRAGMA_ENUM_PACK 0
1140 #define PRAGMA_ENUM_ALWAYSINT 0
1141 #define PRAGMA_ENUM_OPTIONS 0
1142 #define FOUR_CHAR_CODE(x) \
1143 (((unsigned long)((x) & 0x000000FF)) << 24) | \
1144 (((unsigned long)((x) & 0x0000FF00)) << 8) | \
1145 (((unsigned long)((x) & 0x00FF0000)) >> 8) | \
1146 (((unsigned long)((x) & 0xFF000000)) >> 24)
1147 #define TYPE_EXTENDED 0
1148 #define TYPE_LONGDOUBLE_IS_DOUBLE 1
1149 #define TYPE_LONGLONG 0
1151 #define FUNCTION_PASCAL 0
1152 #define FUNCTION_DECLSPEC 0
1153 #define FUNCTION_WIN32CC 0
1156 #elif defined(__MOTO__)
1160 #define TARGET_CPU_PPC 1
1161 #define TARGET_CPU_68K 0
1162 #define TARGET_CPU_X86 0
1163 #define TARGET_CPU_MIPS 0
1164 #define TARGET_CPU_SPARC 0
1165 #define TARGET_CPU_ALPHA 0
1166 #define TARGET_OS_MAC 1
1167 #define TARGET_OS_WIN32 0
1168 #define TARGET_OS_UNIX 0
1169 #define TARGET_RT_LITTLE_ENDIAN 0
1170 #define TARGET_RT_BIG_ENDIAN 1
1171 #define TARGET_RT_MAC_CFM 1
1172 #define TARGET_RT_MAC_MACHO 0
1173 #define TARGET_RT_MAC_68881 0
1174 #define PRAGMA_IMPORT 0
1175 #define PRAGMA_STRUCT_ALIGN 1
1176 #if __MOTO__ >= 40702
1177 #define PRAGMA_ONCE 1
1179 #define PRAGMA_ONCE 0
1181 #define PRAGMA_STRUCT_PACK 0
1182 #define PRAGMA_STRUCT_PACKPUSH 0
1183 #define PRAGMA_ENUM_PACK 0
1184 #define PRAGMA_ENUM_ALWAYSINT 0
1185 #define PRAGMA_ENUM_OPTIONS 0
1186 #define FOUR_CHAR_CODE(x) (x)
1187 #define TYPE_LONGLONG 0
1193 #define TYPE_EXTENDED 0
1194 #define TYPE_LONGDOUBLE_IS_DOUBLE 1
1195 #define FUNCTION_PASCAL 0
1196 #define FUNCTION_DECLSPEC 0
1197 #define FUNCTION_WIN32CC 0
1199 #elif defined(_MIPS_ISA)
1203 #define TARGET_CPU_PPC 0
1204 #define TARGET_CPU_68K 0
1205 #define TARGET_CPU_X86 0
1206 #define TARGET_CPU_MIPS 1
1207 #define TARGET_CPU_SPARC 0
1208 #define TARGET_CPU_ALPHA 0
1209 #define TARGET_OS_MAC 0
1210 #define TARGET_OS_WIN32 0
1211 #define TARGET_OS_UNIX 1
1212 #define TARGET_RT_LITTLE_ENDIAN 0
1213 #define TARGET_RT_BIG_ENDIAN 1
1214 #define PRAGMA_IMPORT 0
1215 #define PRAGMA_STRUCT_ALIGN 0
1216 #define PRAGMA_ONCE 0
1217 #define PRAGMA_STRUCT_PACK 1
1218 #define PRAGMA_STRUCT_PACKPUSH 0
1219 #define PRAGMA_ENUM_PACK 0
1220 #define PRAGMA_ENUM_ALWAYSINT 0
1221 #define PRAGMA_ENUM_OPTIONS 0
1222 #define FOUR_CHAR_CODE(x) (x)
1223 #define TYPE_LONGDOUBLE_IS_DOUBLE 1
1224 #define TYPE_EXTENDED 0
1225 #define TYPE_LONGLONG 0
1227 #define FUNCTION_PASCAL 0
1228 #define FUNCTION_DECLSPEC 0
1229 #define FUNCTION_WIN32CC 0
1231 #elif defined(__sparc)
1235 #define TARGET_CPU_PPC 0
1236 #define TARGET_CPU_68K 0
1237 #define TARGET_CPU_X86 0
1238 #define TARGET_CPU_MIPS 0
1239 #define TARGET_CPU_SPARC 1
1240 #define TARGET_CPU_ALPHA 0
1241 #define TARGET_OS_MAC 0
1242 #define TARGET_OS_WIN32 0
1243 #define TARGET_OS_UNIX 1
1244 #define TARGET_RT_LITTLE_ENDIAN 0
1245 #define TARGET_RT_BIG_ENDIAN 1
1246 #define PRAGMA_IMPORT 0
1247 #define PRAGMA_STRUCT_ALIGN 0
1248 #define PRAGMA_ONCE 0
1249 #define PRAGMA_STRUCT_PACK 1
1250 #define PRAGMA_STRUCT_PACKPUSH 0
1251 #define PRAGMA_ENUM_PACK 0
1252 #define PRAGMA_ENUM_ALWAYSINT 0
1253 #define PRAGMA_ENUM_OPTIONS 0
1254 #define FOUR_CHAR_CODE(x) \
1255 (((unsigned long)((x) & 0x000000FF)) << 24) | \
1256 (((unsigned long)((x) & 0x0000FF00)) << 8) | \
1257 (((unsigned long)((x) & 0x00FF0000)) >> 8) | \
1258 (((unsigned long)((x) & 0xFF000000)) >> 24)
1259 #define TYPE_LONGDOUBLE_IS_DOUBLE 1
1260 #define TYPE_EXTENDED 0
1261 #define TYPE_LONGLONG 0
1263 #define FUNCTION_PASCAL 0
1264 #define FUNCTION_DECLSPEC 0
1265 #define FUNCTION_WIN32CC 0
1272 #if defined(TARGET_CPU_PPC) && TARGET_CPU_PPC
1273 #define TARGET_CPU_68K 0
1274 #define TARGET_CPU_X86 0
1275 #define TARGET_CPU_MIPS 0
1276 #define TARGET_CPU_SPARC 0
1277 #define TARGET_CPU_ALPHA 0
1278 #elif defined(TARGET_CPU_68K) && TARGET_CPU_68K
1279 #define TARGET_CPU_PPC 0
1280 #define TARGET_CPU_X86 0
1281 #define TARGET_CPU_MIPS 0
1282 #define TARGET_CPU_SPARC 0
1283 #define TARGET_CPU_ALPHA 0
1284 #elif defined(TARGET_CPU_X86) && TARGET_CPU_X86
1285 #define TARGET_CPU_PPC 0
1286 #define TARGET_CPU_68K 0
1287 #define TARGET_CPU_MIPS 0
1288 #define TARGET_CPU_SPARC 0
1289 #define TARGET_CPU_ALPHA 0
1290 #elif defined(TARGET_CPU_MIPS) && TARGET_CPU_MIPS
1291 #define TARGET_CPU_PPC 0
1292 #define TARGET_CPU_68K 0
1293 #define TARGET_CPU_X86 0
1294 #define TARGET_CPU_SPARC 0
1295 #define TARGET_CPU_ALPHA 0
1296 #elif defined(TARGET_CPU_SPARC) && TARGET_CPU_SPARC
1297 #define TARGET_CPU_PPC 0
1298 #define TARGET_CPU_68K 0
1299 #define TARGET_CPU_X86 0
1300 #define TARGET_CPU_MIPS 0
1301 #define TARGET_CPU_ALPHA 0
1302 #elif defined(TARGET_CPU_ALPHA) && TARGET_CPU_ALPHA
1303 #define TARGET_CPU_PPC 0
1304 #define TARGET_CPU_68K 0
1305 #define TARGET_CPU_X86 0
1306 #define TARGET_CPU_MIPS 0
1307 #define TARGET_CPU_SPARC 0
1327 #error ConditionalMacros.h: unknown compiler (see comment above)
1328 #define TARGET_CPU_PPC 0
1329 #define TARGET_CPU_68K 0
1330 #define TARGET_CPU_X86 0
1331 #define TARGET_CPU_MIPS 0
1332 #define TARGET_CPU_SPARC 0
1333 #define TARGET_CPU_ALPHA 0
1336 #if defined(TARGET_OS_MAC) && TARGET_OS_MAC
1337 #define TARGET_OS_WIN32 0
1338 #define TARGET_OS_UNIX 0
1339 #elif defined(TARGET_OS_WIN32) && TARGET_OS_WIN32
1340 #define TARGET_OS_MAC 0
1341 #define TARGET_OS_UNIX 0
1342 #elif defined(TARGET_OS_UNIX) && TARGET_OS_UNIX
1343 #define TARGET_OS_MAC 0
1344 #define TARGET_OS_WIN32 0
1345 #elif TARGET_CPU_PPC || TARGET_CPU_68K
1346 #define TARGET_OS_MAC 1
1347 #define TARGET_OS_WIN32 0
1348 #define TARGET_OS_UNIX 0
1350 #error ConditionalMacros.h: unknown target OS (see comment above)
1353 #if !defined(TARGET_RT_BIG_ENDIAN) && !defined(TARGET_RT_LITTLE_ENDIAN)
1355 #define TARGET_RT_LITTLE_ENDIAN 0
1356 #define TARGET_RT_BIG_ENDIAN 1
1357 #elif TARGET_OS_WIN32
1358 #define TARGET_RT_LITTLE_ENDIAN 1
1359 #define TARGET_RT_BIG_ENDIAN 0
1363 #if defined(TARGET_RT_BIG_ENDIAN) && !defined(TARGET_RT_LITTLE_ENDIAN)
1364 #define TARGET_RT_LITTLE_ENDIAN !TARGET_RT_BIG_ENDIAN
1365 #elif !defined(TARGET_RT_BIG_ENDIAN) && defined(TARGET_RT_LITTLE_ENDIAN)
1366 #define TARGET_RT_BIG_ENDIAN !TARGET_RT_LITTLE_ENDIAN
1369 #if !defined(TARGET_RT_BIG_ENDIAN) && !defined(TARGET_RT_LITTLE_ENDIAN)
1370 #error unknown endianess of target processor
1374 #ifndef TARGET_RT_MAC_CFM
1375 #define TARGET_RT_MAC_CFM TARGET_CPU_PPC
1377 #ifndef TARGET_RT_MAC_68881
1378 #define TARGET_RT_MAC_68881 0
1380 #ifndef TARGET_RT_MAC_MACHO
1381 #define TARGET_RT_MAC_MACHO !TARGET_RT_MAC_CFM
1385 #ifndef PRAGMA_IMPORT
1386 #define PRAGMA_IMPORT 0
1388 #ifndef PRAGMA_STRUCT_ALIGN
1389 #define PRAGMA_STRUCT_ALIGN 0
1392 #define PRAGMA_ONCE 0
1394 #ifndef PRAGMA_STRUCT_PACK
1395 #define PRAGMA_STRUCT_PACK 0
1397 #ifndef PRAGMA_STRUCT_PACKPUSH
1398 #define PRAGMA_STRUCT_PACKPUSH 0
1400 #ifndef PRAGMA_ENUM_PACK
1401 #define PRAGMA_ENUM_PACK 0
1403 #ifndef PRAGMA_ENUM_ALWAYSINT
1404 #define PRAGMA_ENUM_ALWAYSINT 0
1406 #ifndef PRAGMA_ENUM_OPTIONS
1407 #define PRAGMA_ENUM_OPTIONS 0
1409 #ifndef FOUR_CHAR_CODE
1410 #define FOUR_CHAR_CODE(x) (x)
1413 #ifndef TYPE_LONGDOUBLE_IS_DOUBLE
1414 #define TYPE_LONGDOUBLE_IS_DOUBLE 1
1416 #ifndef TYPE_EXTENDED
1417 #define TYPE_EXTENDED 0
1419 #ifndef TYPE_LONGLONG
1420 #define TYPE_LONGLONG 0
1425 #ifndef FUNCTION_PASCAL
1426 #define FUNCTION_PASCAL 0
1428 #ifndef FUNCTION_DECLSPEC
1429 #define FUNCTION_DECLSPEC 0
1431 #ifndef FUNCTION_WIN32CC
1432 #define FUNCTION_WIN32CC 0
1474 #if FUNCTION_PASCAL && !FUNCTION_DECLSPEC && !FUNCTION_WIN32CC
1476 #define _type extern pascal _type
1477 #define _type extern _type
1478 #define EXTERN_API_STDCALL(_type) extern pascal _type
1479 #define EXTERN_API_C_STDCALL(_type) extern _type
1481 #define DEFINE_API(_type) pascal _type
1482 #define DEFINE_API_C(_type) _type
1483 #define DEFINE_API_STDCALL(_type) pascal _type
1484 #define DEFINE_API_C_STDCALL(_type) _type
1486 #define CALLBACK_API(_type, _name) pascal _type(*_name)
1487 #define CALLBACK_API_C(_type, _name) _type(*_name)
1488 #define CALLBACK_API_STDCALL(_type, _name) pascal _type(*_name)
1489 #define CALLBACK_API_C_STDCALL(_type, _name) _type(*_name)
1491 #elif FUNCTION_PASCAL && FUNCTION_DECLSPEC && !FUNCTION_WIN32CC
1493 #define _type extern pascal __declspec(dllimport) _type
1494 #define _type extern __declspec(dllimport) _type
1495 #define EXTERN_API_STDCALL(_type) extern pascal __declspec(dllimport) _type
1496 #define EXTERN_API_C_STDCALL(_type) extern __declspec(dllimport) _type
1498 #define DEFINE_API(_type) pascal __declspec(dllexport) _type
1499 #define DEFINE_API_C(_type) __declspec(dllexport) _type
1500 #define DEFINE_API_STDCALL(_type) pascal __declspec(dllexport) _type
1501 #define DEFINE_API_C_STDCALL(_type) __declspec(dllexport) _type
1503 #define CALLBACK_API(_type, _name) pascal _type(*_name)
1504 #define CALLBACK_API_C(_type, _name) _type(*_name)
1505 #define CALLBACK_API_STDCALL(_type, _name) pascal _type(*_name)
1506 #define CALLBACK_API_C_STDCALL(_type, _name) _type(*_name)
1508 #elif !FUNCTION_PASCAL && FUNCTION_DECLSPEC && !FUNCTION_WIN32CC
1510 #define _type extern __declspec(dllimport) _type
1511 #define _type extern __declspec(dllimport) _type
1512 #define EXTERN_API_STDCALL(_type) extern __declspec(dllimport) _type
1513 #define EXTERN_API_C_STDCALL(_type) extern __declspec(dllimport) _type
1515 #define DEFINE_API(_type) __declspec(dllexport) _type
1516 #define DEFINE_API_C(_type) __declspec(dllexport) _type
1517 #define DEFINE_API_STDCALL(_type) __declspec(dllexport) _type
1518 #define DEFINE_API_C_STDCALL(_type) __declspec(dllexport) _type
1520 #define CALLBACK_API(_type, _name) _type(*_name)
1521 #define CALLBACK_API_C(_type, _name) _type(*_name)
1522 #define CALLBACK_API_STDCALL(_type, _name) _type(*_name)
1523 #define CALLBACK_API_C_STDCALL(_type, _name) _type(*_name)
1525 #elif !FUNCTION_PASCAL && FUNCTION_DECLSPEC && FUNCTION_WIN32CC
1527 #define _type __declspec(dllimport) _type __cdecl
1528 #define _type __declspec(dllimport) _type __cdecl
1529 #define EXTERN_API_STDCALL(_type) __declspec(dllimport) _type __stdcall
1530 #define EXTERN_API_C_STDCALL(_type) __declspec(dllimport) _type __stdcall
1532 #define DEFINE_API(_type) __declspec(dllexport) _type __cdecl
1533 #define DEFINE_API_C(_type) __declspec(dllexport) _type __cdecl
1534 #define DEFINE_API_STDCALL(_type) __declspec(dllexport) _type __stdcall
1535 #define DEFINE_API_C_STDCALL(_type) __declspec(dllexport) _type __stdcall
1537 #define CALLBACK_API(_type, _name) _type(__cdecl *_name)
1538 #define CALLBACK_API_C(_type, _name) _type(__cdecl *_name)
1539 #define CALLBACK_API_STDCALL(_type, _name) _type(__stdcall *_name)
1540 #define CALLBACK_API_C_STDCALL(_type, _name) _type(__stdcall *_name)
1542 #elif !FUNCTION_PASCAL && !FUNCTION_DECLSPEC && FUNCTION_WIN32CC
1544 #define _type _type __cdecl
1545 #define _type _type __cdecl
1546 #define EXTERN_API_STDCALL(_type) _type __stdcall
1547 #define EXTERN_API_C_STDCALL(_type) _type __stdcall
1549 #define DEFINE_API(_type) _type __cdecl
1550 #define DEFINE_API_C(_type) _type __cdecl
1551 #define DEFINE_API_STDCALL(_type) _type __stdcall
1552 #define DEFINE_API_C_STDCALL(_type) _type __stdcall
1554 #define CALLBACK_API(_type, _name) _type(__cdecl *_name)
1555 #define CALLBACK_API_C(_type, _name) _type(__cdecl *_name)
1556 #define CALLBACK_API_STDCALL(_type, _name) _type(__stdcall *_name)
1557 #define CALLBACK_API_C_STDCALL(_type, _name) _type(__stdcall *_name)
1561 #define _type extern _type
1562 #define _type extern _type
1563 #define EXTERN_API_STDCALL(_type) extern _type
1564 #define EXTERN_API_C_STDCALL(_type) extern _type
1566 #define DEFINE_API(_type) _type
1567 #define DEFINE_API_C(_type) _type
1568 #define DEFINE_API_STDCALL(_type) _type
1569 #define DEFINE_API_C_STDCALL(_type) _type
1571 #define CALLBACK_API(_type, _name) _type(*_name)
1572 #define CALLBACK_API_C(_type, _name) _type(*_name)
1573 #define CALLBACK_API_STDCALL(_type, _name) _type(*_name)
1574 #define CALLBACK_API_C_STDCALL(_type, _name) _type(*_name)
1582 #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
1583 #define CALLBACK_API_REGISTER68K(_type, _name, _params) \
1584 CALLBACK_API(void, _name)()
1586 #define CALLBACK_API_REGISTER68K(_type, _name, _params) \
1587 CALLBACK_API(_type, _name) _params
1595 #if !defined(TARGET_API_MAC_OS8) && !defined(TARGET_API_MAC_OSX) && \
1596 !defined(TARGET_API_MAC_CARBON)
1598 #if TARGET_RT_MAC_MACHO
1600 #define TARGET_API_MAC_OS8 0
1601 #define TARGET_API_MAC_CARBON 1
1602 #define TARGET_API_MAC_OSX 1
1603 #elif defined(TARGET_CARBON) && TARGET_CARBON
1605 #define TARGET_API_MAC_OS8 0
1606 #define TARGET_API_MAC_CARBON 1
1607 #define TARGET_API_MAC_OSX 0
1608 #elif TARGET_CPU_PPC && TARGET_RT_MAC_CFM
1610 #define TARGET_API_MAC_OS8 1
1611 #define TARGET_API_MAC_CARBON 0
1612 #define TARGET_API_MAC_OSX 0
1615 #define TARGET_API_MAC_OS8 1
1616 #define TARGET_API_MAC_CARBON 0
1617 #define TARGET_API_MAC_OSX 0
1621 #ifndef TARGET_API_MAC_OS8
1622 #define TARGET_API_MAC_OS8 0
1625 #ifndef TARGET_API_MAC_OSX
1626 #define TARGET_API_MAC_OSX TARGET_RT_MAC_MACHO
1629 #ifndef TARGET_API_MAC_CARBON
1630 #define TARGET_API_MAC_CARBON TARGET_API_MAC_OSX
1636 #if TARGET_API_MAC_OS8 && TARGET_API_MAC_OSX
1637 #error TARGET_API_MAC_OS8 and TARGET_API_MAC_OSX are mutually exclusive
1640 #if !TARGET_API_MAC_OS8 && !TARGET_API_MAC_CARBON && !TARGET_API_MAC_OSX
1641 #error At least one of TARGET_API_MAC_* must be true
1646 #define TARGET_API_MAC_OS8 0
1647 #define TARGET_API_MAC_CARBON 0
1648 #define TARGET_API_MAC_OSX 0
1652 #ifndef TARGET_CARBON
1653 #if TARGET_API_MAC_CARBON && !TARGET_API_MAC_OS8
1654 #define TARGET_CARBON 1
1656 #define TARGET_CARBON 0
1676 #if !TARGET_API_MAC_CARBON
1677 #define GENERATINGPOWERPC TARGET_CPU_PPC
1678 #define GENERATING68K TARGET_CPU_68K
1679 #define GENERATING68881 TARGET_RT_MAC_68881
1680 #define GENERATINGCFM TARGET_RT_MAC_CFM
1681 #define CFMSYSTEMCALLS TARGET_RT_MAC_CFM
1682 #ifndef CGLUESUPPORTED
1683 #define CGLUESUPPORTED 0
1686 #ifndef OLDROUTINELOCATIONS
1687 #define OLDROUTINELOCATIONS 0
1690 #define PRAGMA_ALIGN_SUPPORTED PRAGMA_STRUCT_ALIGN
1691 #define PRAGMA_IMPORT_SUPPORTED PRAGMA_IMPORT
1694 #define PRAGMA_ALIGN_SUPPORTED ..PRAGMA_ALIGN_SUPPORTED_is_obsolete..
1695 #define GENERATINGPOWERPC ..GENERATINGPOWERPC_is_obsolete..
1696 #define GENERATING68K ..GENERATING68K_is_obsolete..
1697 #define GENERATING68881 ..GENERATING68881_is_obsolete..
1698 #define GENERATINGCFM ..GENERATINGCFM_is_obsolete..
1699 #define CFMSYSTEMCALLS ..CFMSYSTEMCALLS_is_obsolete..
1716 #ifndef OLDROUTINENAMES
1717 #define OLDROUTINENAMES 0
1732 #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
1733 #define ONEWORDINLINE(w1) = w1
1734 #define TWOWORDINLINE(w1, w2) = {w1, w2}
1735 #define THREEWORDINLINE(w1, w2, w3) = {w1, w2, w3}
1736 #define FOURWORDINLINE(w1, w2, w3, w4) = {w1, w2, w3, w4}
1737 #define FIVEWORDINLINE(w1, w2, w3, w4, w5) = {w1, w2, w3, w4, w5}
1738 #define SIXWORDINLINE(w1, w2, w3, w4, w5, w6) = {w1, w2, w3, w4, w5, w6}
1739 #define SEVENWORDINLINE(w1, w2, w3, w4, w5, w6, w7) \
1740 = {w1, w2, w3, w4, w5, w6, w7}
1741 #define EIGHTWORDINLINE(w1, w2, w3, w4, w5, w6, w7, w8) \
1742 = {w1, w2, w3, w4, w5, w6, w7, w8}
1743 #define NINEWORDINLINE(w1, w2, w3, w4, w5, w6, w7, w8, w9) \
1744 = {w1, w2, w3, w4, w5, w6, w7, w8, w9}
1745 #define TENWORDINLINE(w1, w2, w3, w4, w5, w6, w7, w8, w9, w10) \
1746 = {w1, w2, w3, w4, w5, w6, w7, w8, w9, w10}
1747 #define ELEVENWORDINLINE(w1, w2, w3, w4, w5, w6, w7, w8, w9, w10, w11) \
1748 = {w1, w2, w3, w4, w5, w6, w7, w8, w9, w10, w11}
1749 #define TWELVEWORDINLINE(w1, w2, w3, w4, w5, w6, w7, w8, w9, w10, w11, w12) \
1750 = {w1, w2, w3, w4, w5, w6, w7, w8, w9, w10, w11, w12}
1752 #define ONEWORDINLINE(w1)
1753 #define TWOWORDINLINE(w1, w2)
1754 #define THREEWORDINLINE(w1, w2, w3)
1755 #define FOURWORDINLINE(w1, w2, w3, w4)
1756 #define FIVEWORDINLINE(w1, w2, w3, w4, w5)
1757 #define SIXWORDINLINE(w1, w2, w3, w4, w5, w6)
1758 #define SEVENWORDINLINE(w1, w2, w3, w4, w5, w6, w7)
1759 #define EIGHTWORDINLINE(w1, w2, w3, w4, w5, w6, w7, w8)
1760 #define NINEWORDINLINE(w1, w2, w3, w4, w5, w6, w7, w8, w9)
1761 #define TENWORDINLINE(w1, w2, w3, w4, w5, w6, w7, w8, w9, w10)
1762 #define ELEVENWORDINLINE(w1, w2, w3, w4, w5, w6, w7, w8, w9, w10, w11)
1763 #define TWELVEWORDINLINE(w1, w2, w3, w4, w5, w6, w7, w8, w9, w10, w11, w12)
1793 #if TARGET_API_MAC_CARBON && !TARGET_API_MAC_OS8
1794 #ifndef OPAQUE_TOOLBOX_STRUCTS
1795 #define OPAQUE_TOOLBOX_STRUCTS 1
1798 #ifndef OPAQUE_UPP_TYPES
1799 #define OPAQUE_UPP_TYPES 1
1802 #ifndef ACCESSOR_CALLS_ARE_FUNCTIONS
1803 #define ACCESSOR_CALLS_ARE_FUNCTIONS 1
1806 #ifndef CALL_NOT_IN_CARBON
1807 #define CALL_NOT_IN_CARBON 0
1810 #ifndef MIXEDMODE_CALLS_ARE_FUNCTIONS
1811 #define MIXEDMODE_CALLS_ARE_FUNCTIONS 1
1815 #ifndef OPAQUE_TOOLBOX_STRUCTS
1816 #define OPAQUE_TOOLBOX_STRUCTS 0
1819 #ifndef OPAQUE_UPP_TYPES
1820 #define OPAQUE_UPP_TYPES 0
1823 #ifndef ACCESSOR_CALLS_ARE_FUNCTIONS
1824 #define ACCESSOR_CALLS_ARE_FUNCTIONS 0
1832 #if OPAQUE_TOOLBOX_STRUCTS && !ACCESSOR_CALLS_ARE_FUNCTIONS
1833 #error OPAQUE_TOOLBOX_STRUCTS cannot be true when ACCESSOR_CALLS_ARE_FUNCTIONS is false
1836 #ifndef CALL_NOT_IN_CARBON
1837 #define CALL_NOT_IN_CARBON 1
1840 #ifndef MIXEDMODE_CALLS_ARE_FUNCTIONS
1841 #define MIXEDMODE_CALLS_ARE_FUNCTIONS 0