home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Professional / OS2PRO194.ISO / os2 / prgramer / adaptor / src / include / global.h < prev    next >
Text File  |  1993-11-30  |  7KB  |  188 lines

  1. /*************************************************************************
  2. *                                                                        *
  3. *  Name : global.h                                                       *
  4. *                                                                        *
  5. *  Purpose : declaration of global data for ADAPTOR translation          *
  6. *                                                                        *
  7. *  Author : Dr. Thomas Brandes, GMD, I1.HR                               *
  8. *                                                                        *
  9. *  Last Update : April 1993                                              *
  10. *                                                                        *
  11. **************************************************************************
  12.  
  13.           /*************************************************
  14.           *                                                *
  15.           *  TARGET MACHINE                                *
  16.           *                                                *
  17.           *************************************************/
  18.  
  19. extern int no_machine;            /* number of entries of machine_items */
  20. extern char *machine_items [];
  21. extern int target_machine;        /* value of target_machine */
  22.  
  23. /* possible values for target_machine */
  24.  
  25. #define IPSC_860     0
  26. #define CM5          1
  27. #define PARSYTEC_GC  2
  28. #define MEIKO_CS1    3
  29. #define MEIKO_CS2    4
  30. #define SUPRENUM     5
  31. #define ALLIANT      6
  32. #define SGI          7
  33. #define KSR1         8
  34. #define SUN4_PVM     9
  35. #define RIOS_PVM    10
  36. #define ALL_PVM     11
  37. #define OS2_PVM     12
  38. #define KSR1_PVM    13
  39.  
  40.           /*************************************************
  41.           *                                                *
  42.           *  TARGET LANGUAGE                               *
  43.           *                                                *
  44.           *************************************************/
  45.  
  46. extern int no_language;
  47. extern char *language_items [];
  48. extern int target_language;
  49.  
  50. /* possible values for target_language */
  51.  
  52. #define FORTRAN_77 0
  53. #define FORTRAN_90 1
  54.  
  55.           /*************************************************
  56.           *                                                *
  57.           *  TARGET MODEL                                  *
  58.           *                                                *
  59.           *************************************************/
  60.  
  61. extern int no_model;
  62. extern char *model_items [];
  63. extern int target_model;
  64.  
  65. /* possible values for target_model */
  66.  
  67. #define HOST_NODE  0
  68. #define ONLY_NODE  1
  69. #define UNI_PROC   2
  70.  
  71.           /*************************************************
  72.           *                                                *
  73.           *  ARRAY  KIND                                   *
  74.           *                                                *
  75.           *************************************************/
  76.  
  77. extern int no_array;
  78. extern char *array_items [];
  79. extern int array_kind;
  80.  
  81. /* possible values for array_kind */
  82.  
  83. #define DYNAMIC_ARRAYS  0
  84. #define STATIC_ARRAYS   1
  85.  
  86.           /*************************************************
  87.           *                                                *
  88.           *  DEFAULT DISTRIBUTION                          *
  89.           *                                                *
  90.           *************************************************/
  91.  
  92. extern int no_ddefault;
  93. extern char *ddefault_items [];
  94. extern int ddefault_kind;
  95.  
  96. /* possible values for ddefault_kind */
  97.  
  98. #define DDEFAULT_REPLICATED    0
  99. #define DDEFAULT_DISTRIBUTED   1
  100. #define DDEFAULT_CM            2
  101.  
  102.           /*************************************************
  103.           *                                                *
  104.           *  SPLIT OPTION (flag)                           *
  105.           *                                                *
  106.           *************************************************/
  107.  
  108. /* Split options */
  109.  
  110. extern char * split_items [];
  111. extern int  no_split;
  112. extern int split_flag;          /* value for splitting */
  113.  
  114.           /*************************************************
  115.           *                                                *
  116.           *  MINIMAL NUMBER OF PROCESSORS                  *
  117.           *                                                *
  118.           *    MinProc : integer value                     *
  119.           *                                                *
  120.           *   (needed to compute static array sizes)       *
  121.           *                                                *
  122.           *************************************************/
  123.  
  124. extern char * minproc_items [];
  125. extern int  no_minproc;
  126. extern int MinProc;
  127.  
  128. /* machine parameters for SUN4 PVM */
  129.  
  130. #define SUN4_PVM_OPTIONS "-O -w"
  131. #define OS2_PVM_OPTIONS  "-O2 -w"
  132. #define RIOS_PVM_OPTIONS "-O -w"
  133.  
  134.           /*************************************************
  135.           *                                                *
  136.           *  PREDEFINED VALUES for VARIABLES               *
  137.           *                                                *
  138.           *    (machine-, installation-dependent)          *
  139.           *                                                *
  140.           *************************************************/
  141.  
  142. #define predefined_target_machine  OS2_PVM
  143. #define predefined_target_language FORTRAN_77
  144. #define predefined_target_model    HOST_NODE
  145. #define predefined_array_kind      STATIC_ARRAYS
  146. #define predefined_ddefault_kind   DDEFAULT_DISTRIBUTED
  147. #define predefined_MinProc         1
  148. #define predefined_StaticArraySize 25000
  149. #define predefined_split_flag      0
  150.  
  151. #define predefined_PHOME "/adaptor"
  152.  
  153. #define PHOME_envvar     "PHOME"
  154.  
  155.           /*************************************************
  156.           *                                                *
  157.           *  Variables for makefiles.c so that adapt       *
  158.           *  can adapt target with same arguments          *
  159.           *                                                *
  160.           *  filename: name of the full source file        *
  161.           *                                                *
  162.           *  fad_argv, fad_argc: command line arguments    *
  163.           *                                                *
  164.           *************************************************/
  165.  
  166. extern char ** fad_argv;
  167. extern int     fad_argc;
  168. extern char  * filename;
  169. extern int     interactive;
  170.  
  171. extern int StaticArraySize;
  172.  
  173. #define unparse_file "unparse.f"
  174.  
  175. /* internal compiler sizes */
  176.  
  177. #define MAXID_LENGTH    50
  178. #define MAX_DIMENSIONS   4
  179.  
  180. extern char last_message [160];   /* last error/hints message  */
  181. extern char PHOME [160];          /* home directory of ADAPTOR */
  182.  
  183. /* internal flags used during compilation */
  184.  
  185. extern int IsHost;      /* translation of host program      */
  186. extern int IsPure;      /* current subroutine is a pure one */
  187.  
  188.