home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 240.lha / CC / sources / options.h < prev    next >
Encoding:
C/C++ Source or Header  |  1989-05-07  |  2.2 KB  |  66 lines

  1. /*
  2.  * compiler options
  3.  * March 1989, Miles Bader
  4.  */
  5.  
  6. /* increase this for more options */
  7. #define MAXOPTS    64
  8.  
  9. #ifndef BITSPERLONG
  10. #define BITSPERLONG 32
  11. #endif
  12.  
  13. extern long globalOpts[MAXOPTS/BITSPERLONG];
  14.  
  15. #define options_IsSet(opt) \
  16.  (globalOpts[(opt)/BITSPERLONG]&(1L<<((opt)%BITSPERLONG)))
  17. #define options_Set(opt) \
  18.  (globalOpts[(opt)/BITSPERLONG]|=(1L<<((opt)%BITSPERLONG)))
  19. #define options_Clear(opt) \
  20.  (globalOpts[(opt)/BITSPERLONG]&=~(1L<<(long)((opt)%BITSPERLONG)))
  21.  
  22. void options_SetByName(char *optname);
  23. void options_Init();
  24.  
  25.  
  26. #define OPT_NONE    0
  27.  
  28. #define OPT_ANSI    1    /* enforce ansi fascism */
  29. #define OPT_CPP        2    /* compat with c++ */
  30. #define OPT_TRAD    3    /* use traditional style cpp */
  31.  
  32. #define OPT_ABSCODE    4    /* use long (absolute) addressing for function calls */
  33. #define OPT_ABSDATA    5    /* use long (absolute) addressing for data */
  34.  
  35. #define OPT_RELOADA4    6    /* reload reg a4 in each function */
  36. #define OPT_SHORTINTS    7    /* use short integers */
  37. #define OPT_REGARGS    8    /* use register argument passing */
  38. #define OPT_LONGALIGN    9    /* align everything to long boundaries */
  39. #define OPT_STACKCHECK    10    /* put stack-checking into the func prolog */
  40. #define OPT_PURESTRINGS    11    /* put strings in the text segment */
  41.  
  42. #define OPT_FFP        12    /* use mot fast floating point */
  43. #define OPT_881        13    /* compile for a 68881 */
  44. #define OPT_IEEE    14    /* ieee floating point */
  45.  
  46. #define OPT_68K        15    /* compile for a 68000 and up */
  47. #define OPT_020        16    /* compile for a 68020 and up */
  48. #define OPT_030        17    /* compile for a 68030 */
  49.  
  50. #define OPT_DETACH    18    /* make a program that runs in the background */
  51. #define OPT_TINYMAIN    19    /* use tinymain (this doesn't work) */
  52. #define OPT_RESIDENT    20    /* try and make resident-able */
  53. #define OPT_CATCH    21    /* compile in code to try and catch exceptions */
  54.  
  55. #define OPT_OPTIMIZE    22    /* optimize the obj module */
  56. #define OPT_LINK    23    /* link the object modules */
  57. #define OPT_COMPILE    24    /* (otherwise, just pre-process) */
  58. #define OPT_ASSEMBLE    25    /* emit object-modules (else assembly) */
  59. #define OPT_DEBUG    26    /* produce debugging info */
  60.  
  61. #define OPT_ECHO    27    /* echo what we execute */
  62. #define OPT_FILTER    28    /* filter out yucky message from passes */
  63. #define OPT_EXEC    29    /* actually run each pass */
  64.  
  65. #define OPT_BIGLC1    30    /* run lc1b instead of lc1 */
  66.