entered into RCS
authorJim Wilson <wilson@gcc.gnu.org>
Fri, 1 Oct 1993 23:34:31 +0000 (16:34 -0700)
committerJim Wilson <wilson@gcc.gnu.org>
Fri, 1 Oct 1993 23:34:31 +0000 (16:34 -0700)
From-SVN: r5554

gcc/README.APOLLO [new file with mode: 0644]

diff --git a/gcc/README.APOLLO b/gcc/README.APOLLO
new file mode 100644 (file)
index 0000000..ca02de1
--- /dev/null
@@ -0,0 +1,112 @@
+README.apollo
+
+Building GCC 2.0 for 680x0 based Apollo systems requires the GNU
+assembler (GAS) version 1.38.1, with John Vasta's patches applied.
+
+If you haven't done so yet, get `gas-1.38.1.tar.Z' from your favourite
+GNU distribution site.  Furthermore, get `apollo-gas-1.38.1.diffs'
+from `labrea.stanford.edu:/pub/gnu', apply the patches, compile and
+install gas (under the name as).  This should go through without any
+problems.
+
+After switching into the BSD environment, you can configure GCC 2.0
+with the command 
+
+% ./configure m68k-apollo-bsd
+
+The Apollo's `/usr/include/setjmp.h' uses a nonstandard `#options()'
+construct.  You should create a local copy of this file and remove
+these constructs from the declarations of SIGSETJMP and SIGLONGJMP.
+
+The Apollo's `/usr/include/sys/types.h' (BSD Version) doesn't allow
+to test for the definition of `size_t'.  This should be fixed by
+
+  #ifndef _SIZE_T
+  #define _SIZE_T
+  typedef      long    size_t;
+  #endif
+
+The script `patch-apollo-includes' fixes these two problems, but does
+_not_ pretend to be a full fledged `fixincludes' for this system.
+
+If you now follow the standard GCC installation instructions, building
+GCC 2.0 (including G++ 2.0) should proceed without any problems.
+
+NB: Debugging is not yet supported for the Apollo.  If someone wants
+    to do a _big_ favour to the Apollo users, he/she should consider
+    porting the Binary File Description library (BFD) to the Apollo.
+    This library can be found in the gdb-4.x distributions or in the
+    binutils-1.9x distributions.
+
+
+
+
+#!/bin/sh
+# patch-apollo-includes -- fix some (but not all!) Apollo brain damage.
+
+FILES_TO_PATCH='sys/types.h setjmp.h'
+
+mkdir sys
+
+for i in $FILES_TO_PATCH;
+do
+  cp /bsd4.3/usr/include/$i ./$i
+done
+
+patch -b -apollo <<'EOP'
+*** /bsd4.3/usr/include/sys/types.h    Fri Apr  8 20:29:06 1988
+--- sys/types.h        Wed Feb 26 21:17:57 1992
+***************
+*** 38,44 ****
+--- 38,47 ----
+  typedef      char *  caddr_t;
+  typedef      u_long  ino_t;
+  typedef      long    swblk_t;
++ #ifndef _SIZE_T
++ #define _SIZE_T
+  typedef      long    size_t;
++ #endif
+  typedef      long    time_t;
+  typedef      long    dev_t;
+  typedef      long    off_t;
+*** /bsd4.3/usr/include/setjmp.h       Fri Feb  3 21:40:21 1989
+--- setjmp.h   Sun Feb 23 19:06:55 1992
+***************
+*** 24,30 ****
+--- 24,39 ----
+  #endif
+  
+  
++ #ifdef __GNUC__
+  #ifdef _PROTOTYPES
++ extern int sigsetjmp (sigjmp_buf env, int savemask);
++ extern void siglongjmp (sigjmp_buf env, int val);
++ #else
++ extern int sigsetjmp();
++ extern void siglongjmp();
++ #endif /* _PROTOTYPES */
++ #else /* not __GNUC__ */
++ #ifdef _PROTOTYPES
+  extern int sigsetjmp(
+          sigjmp_buf env,
+          int savemask
+***************
+*** 37,43 ****
+  extern int sigsetjmp() #options(abnormal);
+  extern void siglongjmp() #options(noreturn);
+  #endif /* _PROTOTYPES */
+! 
+  #undef _PROTOTYPES
+  
+  #ifdef __cplusplus
+--- 46,52 ----
+  extern int sigsetjmp() #options(abnormal);
+  extern void siglongjmp() #options(noreturn);
+  #endif /* _PROTOTYPES */
+! #endif /* not __GNUC__ */
+  #undef _PROTOTYPES
+  
+  #ifdef __cplusplus
+EOP
+
+exit 0