home *** CD-ROM | disk | FTP | other *** search
/ OpenStep (Enterprise) / OpenStepENTCD.toast / OEDEV / GNUSRC.Z / README.APOLLO < prev    next >
Text File  |  1995-09-21  |  3KB  |  113 lines

  1. README.apollo
  2.  
  3. Building GCC 2.0 for 680x0 based Apollo systems requires the GNU
  4. assembler (GAS) version 1.38.1, with John Vasta's patches applied.
  5.  
  6. If you haven't done so yet, get `gas-1.38.1.tar.Z' from your favourite
  7. GNU distribution site.  Furthermore, get `apollo-gas-1.38.1.diffs'
  8. from `labrea.stanford.edu:/pub/gnu', apply the patches, compile and
  9. install gas (under the name as).  This should go through without any
  10. problems.
  11.  
  12. After switching into the BSD environment, you can configure GCC 2.0
  13. with the command 
  14.  
  15. % ./configure m68k-apollo-bsd
  16.  
  17. The Apollo's `/usr/include/setjmp.h' uses a nonstandard `#options()'
  18. construct.  You should create a local copy of this file and remove
  19. these constructs from the declarations of SIGSETJMP and SIGLONGJMP.
  20.  
  21. The Apollo's `/usr/include/sys/types.h' (BSD Version) doesn't allow
  22. to test for the definition of `size_t'.  This should be fixed by
  23.  
  24.   #ifndef _SIZE_T
  25.   #define _SIZE_T
  26.   typedef    long    size_t;
  27.   #endif
  28.  
  29. The script `patch-apollo-includes' fixes these two problems, but does
  30. _not_ pretend to be a full fledged `fixincludes' for this system.
  31.  
  32. If you now follow the standard GCC installation instructions, building
  33. GCC 2.0 (including G++ 2.0) should proceed without any problems.
  34.  
  35. NB: Debugging is not yet supported for the Apollo.  If someone wants
  36.     to do a _big_ favour to the Apollo users, he/she should consider
  37.     porting the Binary File Description library (BFD) to the Apollo.
  38.     This library can be found in the gdb-4.x distributions or in the
  39.     binutils-1.9x distributions.
  40.  
  41.  
  42.  
  43.  
  44. #!/bin/sh
  45. # patch-apollo-includes -- fix some (but not all!) Apollo brain damage.
  46.  
  47. FILES_TO_PATCH='sys/types.h setjmp.h'
  48.  
  49. mkdir sys
  50.  
  51. for i in $FILES_TO_PATCH;
  52. do
  53.   cp /bsd4.3/usr/include/$i ./$i
  54. done
  55.  
  56. patch -b -apollo <<'EOP'
  57. *** /bsd4.3/usr/include/sys/types.h    Fri Apr  8 20:29:06 1988
  58. --- sys/types.h    Wed Feb 26 21:17:57 1992
  59. ***************
  60. *** 38,44 ****
  61. --- 38,47 ----
  62.   typedef    char *    caddr_t;
  63.   typedef    u_long    ino_t;
  64.   typedef    long    swblk_t;
  65. + #ifndef _SIZE_T
  66. + #define _SIZE_T
  67.   typedef    long    size_t;
  68. + #endif
  69.   typedef    long    time_t;
  70.   typedef    long    dev_t;
  71.   typedef    long    off_t;
  72. *** /bsd4.3/usr/include/setjmp.h    Fri Feb  3 21:40:21 1989
  73. --- setjmp.h    Sun Feb 23 19:06:55 1992
  74. ***************
  75. *** 24,30 ****
  76. --- 24,39 ----
  77.   #endif
  78.   
  79.   
  80. + #ifdef __GNUC__
  81.   #ifdef _PROTOTYPES
  82. + extern int sigsetjmp (sigjmp_buf env, int savemask);
  83. + extern void siglongjmp (sigjmp_buf env, int val);
  84. + #else
  85. + extern int sigsetjmp();
  86. + extern void siglongjmp();
  87. + #endif /* _PROTOTYPES */
  88. + #else /* not __GNUC__ */
  89. + #ifdef _PROTOTYPES
  90.   extern int sigsetjmp(
  91.           sigjmp_buf env,
  92.           int savemask
  93. ***************
  94. *** 37,43 ****
  95.   extern int sigsetjmp() #options(abnormal);
  96.   extern void siglongjmp() #options(noreturn);
  97.   #endif /* _PROTOTYPES */
  98.   #undef _PROTOTYPES
  99.   
  100.   #ifdef __cplusplus
  101. --- 46,52 ----
  102.   extern int sigsetjmp() #options(abnormal);
  103.   extern void siglongjmp() #options(noreturn);
  104.   #endif /* _PROTOTYPES */
  105. ! #endif /* not __GNUC__ */
  106.   #undef _PROTOTYPES
  107.   
  108.   #ifdef __cplusplus
  109. EOP
  110.  
  111. exit 0
  112.