home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-385-Vol-1of3.iso / c / condor40.zip / CONDOR / GENERIC / CheckMachType. next >
Text File  |  1989-06-18  |  3KB  |  186 lines

  1. #include <stdio.h>
  2.  
  3. int GROT = 1;
  4.  
  5. main()
  6. {
  7.     if( OpSysIsCorrect() && ArchIsCorrect() ) {
  8.         exit( 0 );
  9.     } else {
  10.         Error();
  11.     }
  12. }
  13.  
  14. #include <sys/types.h>
  15. #include <sys/stat.h>
  16.  
  17. OpSysIsCorrect()
  18. {
  19.     if( GROT ) {
  20. #ifdef DYNIX
  21. #ifdef sequent
  22.     return( 1 );
  23. #else sequent
  24.     return( 0 );
  25. #endif sequent
  26. #endif DYNIX
  27.  
  28. #ifdef BSD43
  29. #if (vax && !ultrix) || ibm032            /* GROT */
  30.     return( 1 );
  31. #else (vax && !ultrix) || ibm032        /* GROT */
  32.     return( 0 );
  33. #endif (vax && !ultrix) || ibm032        /* GROT */
  34. #endif BSD43
  35.  
  36. #ifdef ULTRIX
  37. #ifdef ultrix
  38.     return( 1 );
  39. #else ultrix
  40.     return( 0 );
  41. #endif ultrix
  42. #endif ULTRIX
  43.  
  44. #ifdef SUNOS40
  45. #ifdef sun
  46.     struct stat statb;
  47.     int rval = stat("/dev/zero", &statb);
  48.     if( rval >= 0 ) {
  49.         return( 1 );
  50.     } else {
  51.         return( 0 );
  52.     }
  53. #else sun
  54.     return( 0 );
  55. #endif sun
  56. #endif SUNOS40
  57.  
  58. #ifdef SUNOS32
  59. #ifdef sun
  60.     struct stat statb;                            /* GROT */
  61.     int rval = stat("/dev/zero", &statb);        /* GROT */
  62.     if( rval < 0 ) {                            /* GROT */
  63.         return( 1 );                            /* GROT */
  64.     } else {                                    /* GROT */
  65.         return( 0 );                            /* GROT */
  66.     }                                            /* GROT */
  67. #else sun
  68.     return( 0 );
  69. #endif sun
  70. #endif SUNOS32
  71.     }
  72.  
  73.     return( 0 );
  74. }
  75.  
  76. ArchIsCorrect()
  77. {
  78.     if( GROT ) {
  79. #ifdef SPARC
  80. #ifdef sparc
  81.     return( 1 );
  82. #else sparc
  83.     return( 0 );
  84. #endif sparc
  85. #endif SPARC
  86.  
  87. #ifdef MC68020
  88. #ifdef mc68020
  89.     return( 1 );
  90. #else mc68020
  91.     return( 0 );
  92. #endif mc68020
  93. #endif MC68020
  94.  
  95. #ifdef VAX
  96. #ifdef vax
  97.     return( 1 );
  98. #else vax
  99.     return( 0 );
  100. #endif vax
  101. #endif VAX
  102.  
  103. #ifdef I386
  104. #ifdef i386
  105.     return( 1 );
  106. #else i386
  107.     return( 0 );
  108. #endif i386
  109. #endif I386
  110.  
  111. #ifdef MIPS
  112. #ifdef mips
  113.     return( 1 );
  114. #else mips
  115.     return( 0 );
  116. #endif mips
  117. #endif MIPS
  118.  
  119. #ifdef IBM032
  120. #ifdef ibm032
  121.     return( 1 );
  122. #else ibm032
  123.     return( 0 );
  124. #endif ibm032
  125. #endif IBM032
  126.     }
  127.  
  128.     return( 0 );
  129. }
  130.  
  131. Error()
  132. {
  133.     char *Arch = NULL, *OpSys = NULL;
  134.  
  135. #ifdef SPARC
  136.     Arch = " SPARC";
  137. #endif SPARC
  138.  
  139. #ifdef MC68020
  140.     Arch = "n MC68020";
  141. #endif MC68020
  142.  
  143. #ifdef VAX
  144.     Arch = " VAX";
  145. #endif VAX
  146.  
  147. #ifdef I386
  148.     Arch = "n I386";
  149. #endif I386
  150.  
  151. #ifdef IBM032
  152.     Arch = "n IBM032";
  153. #endif IBM032
  154.  
  155.  
  156. #ifdef DYNIX
  157.     OpSys = "DYNIX";
  158. #endif DYNIX
  159.  
  160. #ifdef BSD43
  161.     OpSys = "BSD43 (4.3 BSD Unix)";
  162. #endif BSD43
  163.  
  164. #ifdef ULTRIX
  165.     OpSys = "ULTRIX";
  166. #endif ULTRIX
  167.  
  168. #ifdef SUNOS40
  169.     OpSys = "SUNOS40";
  170. #endif SUNOS40
  171.  
  172. #ifdef SUNOS32
  173.     OpSys = "SUNOS32";
  174. #endif SUNOS32
  175.  
  176.     if( Arch && OpSys ) {
  177.         printf("\7\7\7To create a%s/%s version of Condor,\n", Arch, OpSys);
  178.         printf("you MUST compile on a%s running %s\n", Arch, OpSys);
  179.     } else {
  180.         printf("\7You must customize CheckMachType.c (and all of Condor)\n");
  181.         printf("\7to make a system of this architecture/os combination.\n");
  182.     }
  183.  
  184.     exit( 1 );
  185. }
  186.