Back to wiki

RCS History

/ TOP / supported-platforms.mdwn

Differences for revision 1.25 from 1.24


--- /supported-platforms.mdwn	2009/12/30 09:18:41	1.24
+++ /supported-platforms.mdwn	2010/01/21 00:45:51	1.25
@@ -1,314 +1,278 @@
-The following list describes steps to make PCC the system compiler.
+Following is the list of platforms supported by PCC.
 
-__Microsoft Windows__  *(stable)*
+ - __Microsoft Windows__ *(stable)*
 
-Snapshots are now available from the [pcc ftp server](http://pcc.ludd.ltu.se/ftp/pub/win32/) which include all the executables and libraries.  Alternatively, you can build your own system using the following instructions.
+ More information available [[here|build-windows]].
 
-You must install the w32api and mingw-runtime libraries available from the [pcc ftp server](http://pcc.ludd.ltu.se/ftp/pub/win32/).  These libraries expand into the /usr/local/i386-pe/ directory.  You can copy these files to your windows machine and follow the directions [here](http://pcc.ludd.ltu.se/building/) for compiling on the Microsoft Windows platform.
+ - __Fedora Core 8__ *(stable)*
 
-You must also build and install the pcc-libs module which contains libpcc.a and runtime startup code.
+ You must build and install the pcc-libs module which contains libpcc.a and runtime startup code.
 
-__Fedora Core 8__ *(stable)*
+ - __Debian GNU/Linux 4.0r0__
 
-You must build and install the pcc-libs module which contains libpcc.a and runtime startup code.
+ You must build and install the pcc-libs module which contains libpcc.a and runtime startup code.
 
-__Debian GNU/Linux 4.0r0__
+ - __SuSE Linux Enterprise Server 10__
 
-You must build and install the pcc-libs module which contains libpcc.a and runtime startup code.
+ You must build and install the pcc-libs module which contains libpcc.a and runtime startup codes.
 
-__SuSE Linux Ent Svr 10__
+ - __Mandriva Corporate Server 4.0__
 
-You must build and install the pcc-libs module which contains libpcc.a and runtime startup codes.
+ You must build and install the pcc-libs module which contains libpcc.a and runtime startup code.
 
-__Mandriva Corporate Server 4.0__
+ - __Red Hat Enterprise Linux 5__
 
-You must build and install the pcc-libs module which contains libpcc.a and runtime startup code.
+ You must build and install the pcc-libs module which contains libpcc.a and runtime startup code.
 
-__Red Hat Ent Linux 5__
+ - __Ubuntu Linux 8.04__ *(stable)*
 
-You must build and install the pcc-libs module which contains libpcc.a and runtime startup code.
+ More information available [[here|build-ubuntu-804]].
 
-__Ubuntu Linux 8.04__ *(stable)*
-
-You must build and install the pcc-libs module which contains libpcc.a and runtime startup code.
-
-The alloca.h glibc header file is broken so alloca() doesn't work.  The header file undefines alloca and then fails to set it to something useful if \_\_GNUC\_\_ is not defined.
-
-Try putting the following into /usr/local/include/pcc/alloca.h:
-
-    #ifndef _ALLOCA_H
-    #define _ALLOCA_H
-
-    #include <features.h>
-
-    #define __need_size_t
-    #include <stddef.h>
-
-    __BEGIN_DECLS
-
-    /* Remove any previous definitions.  */
-    #undef  alloca
-
-    /* Allocate a block that will be freed when the calling function exits.  */
-    extern void *alloca (size_t __size) __THROW;
-
-    #if defined(__GNUC__) || defined(__PCC__)
-    # define alloca(size)   __builtin_alloca (size)
-    #endif /* GCC.  */
-
-    __END_DECLS
-
-    #endif /* alloca.h */
-
-__Ubuntu Linux: Intrepid Ibex 8.10__
-  
-You must build and install the pcc-libs module which contains libpcc.a and runtime startup code.
+ - __Ubuntu Linux: Intrepid Ibex 8.10__
   
-    me@MY-BOX:~$ cvs -d :pserver:anonymous@pcc.ludd.ltu.se:/cvsroot co pcc-libs  
-    me@MY-BOX:~$ cd pcc-libs  
-    me@MY-BOX:~/pcc-libs$ ./configure  
-    me@MY-BOX:~/pcc-libs$ make  
-    me@MY-BOX:~/pcc-libs$ sudo make install  
+ You must build and install the pcc-libs module which contains libpcc.a and runtime startup code.
+
+        me@MY-BOX:~$ cvs -d :pserver:anonymous@pcc.ludd.ltu.se:/cvsroot co pcc-libs  
+        me@MY-BOX:~$ cd pcc-libs  
+        me@MY-BOX:~/pcc-libs$ ./configure  
+        me@MY-BOX:~/pcc-libs$ make  
+        me@MY-BOX:~/pcc-libs$ sudo make install  
   
-Then build and install pcc  
+ Then build and install pcc  
   
-    me@MY-BOX:~$ cvs -d :pserver:anonymous@pcc.ludd.ltu.se:/cvsroot co pcc  
-    me@MY-BOX:~$ cd pcc  
-    me@MY-BOX:~/pcc$ ./configure  
-    me@MY-BOX:~/pcc$ gedit cc/cpp/Makefile cc/ccom/Makefile&  
+        me@MY-BOX:~$ cvs -d :pserver:anonymous@pcc.ludd.ltu.se:/cvsroot co pcc  
+        me@MY-BOX:~$ cd pcc  
+        me@MY-BOX:~/pcc$ ./configure  
+        me@MY-BOX:~/pcc$ gedit cc/cpp/Makefile cc/ccom/Makefile&  
   
-delete the "-Werror" from the "CFLAGS =" line in both files and save  
+ Delete the "-Werror" from the "CFLAGS =" line in both files and save  
   
-    me@MY-BOX:~/pcc$ make  
-    me@MY-BOX:~/pcc$ sudo make install  
+        me@MY-BOX:~/pcc$ make  
+        me@MY-BOX:~/pcc$ sudo make install  
   
-__MidnightBSD-current (i386/sparc64)__
+ - __MidnightBSD-current (i386/sparc64)__
 
-Unless you're using the MirPorts Framework to install pcc, you must build and install the pcc-libs module.
+ Unless you're using the MirPorts Framework to install pcc, you must build and install the pcc-libs module.
 
-__MirBSD-current (i386)__ *(stable)*
+ - __MirBSD-current (i386)__ *(stable)*
 
-The MirPorts Framework contains a tested snapshot in lang/pcc, which works without the pcc-libs module, as the required quad functions are all part of libc.
+ The MirPorts Framework contains a tested snapshot in lang/pcc, which works without the pcc-libs module, as the required quad functions are all part of libc.
 
-Building pcc from source (including bootstrapping) is possible as well.
+ Building pcc from source (including bootstrapping) is possible as well.
 
-The necessary header changes are integrated starting MirBSD #10. It is, however, not possible yet to compile MirBSD itself with pcc; using it as ports compiler is planned.
+ The necessary header changes are integrated starting MirBSD #10. It is, however, not possible yet to compile MirBSD itself with pcc; using it as ports compiler is planned.
 
-__NetBSD-current (i386/mips/arm/powerpc)__  *(i386 stable, mips/arm/powerpc experimental)*
+ - __NetBSD-current (i386/mips/arm/powerpc)__  *(i386 stable, mips/arm/powerpc experimental)*
 
-NetBSD-current (to be released as NetBSD 5.0) should contain support for PCC to build applications.
+ NetBSD 5.0 should contain support for PCC to build applications.
 
-Currently it is not possible to build the complete NetBSD operating system with build.sh using PCC.
+ Currently it is not possible to build the complete NetBSD operating system with build.sh using PCC.
 
-__NetBSD 4.0 (i386/mips/arm/powerpc)__
+ - __NetBSD 4.0 (i386/mips/arm/powerpc)__
 
-NetBSD 4.0 needs at least this change:
+ NetBSD 4.0 needs at least this change:
 
-    --- sys/sys/cdefs.h     13 Nov 2006 05:44:37 -0000      1.64
-    +++ sys/sys/cdefs.h     12 Apr 2008 13:30:29 -0000
-    @@ -245,7 +245,7 @@
-     #endif /* _KERNEL */
+        --- sys/sys/cdefs.h     13 Nov 2006 05:44:37 -0000      1.64
+        +++ sys/sys/cdefs.h     12 Apr 2008 13:30:29 -0000
+        @@ -245,7 +245,7 @@
+         #endif /* _KERNEL */
      
-     #if !defined(_STANDALONE)&& !defined(_KERNEL)
-    -#ifdef __GNUC__
-    +#if defined(__GNUC__) || defined(__PCC__)
-     #define        __RENAME(x)     ___RENAME(x)
-     #else
-     #ifdef __lint__
-
-and for varargs to work on arm:
-
-    --- sys/arch/arm/include/stdarg.h    11 Dec 2005 12:16:47 -0000      1.9
-    +++ sys/arch/arm/include/stdarg.h    12 Apr 2008 13:36:13 -0000
-    @@ -46,7 +46,7 @@
-     #define        __builtin_va_copy(d, s)         ((d) = (s))
-     #endif
+         #if !defined(_STANDALONE)&& !defined(_KERNEL)
+        -#ifdef __GNUC__
+        +#if defined(__GNUC__) || defined(__PCC__)
+         #define        __RENAME(x)     ___RENAME(x)
+         #else
+         #ifdef __lint__
+
+ and for varargs to work on arm:
+
+        --- sys/arch/arm/include/stdarg.h    11 Dec 2005 12:16:47 -0000      1.9
+        +++ sys/arch/arm/include/stdarg.h    12 Apr 2008 13:36:13 -0000
+        @@ -46,7 +46,7 @@
+         #define        __builtin_va_copy(d, s)         ((d) = (s))
+         #endif
      
-    -#if __GNUC_PREREQ__(2, 96)
-    +#if (__GNUC_PREREQ__(2, 96) || defined(__PCC__))
-     #define        va_start(ap, last)      __builtin_stdarg_start((ap), (last))
-     #define        va_arg                  __builtin_va_arg
-     #define        va_end                  __builtin_va_end
-
-A similar change may be required for other platforms as well.
-
-__NetBSD 3.0 (i386/mips/arm/powerpc)__
-
-The following patch is required:
-
-    --- cdefs.h.orig   2007-12-02 16:45:11.000000000 -0300
-    +++ cdefs.h     2007-11-27 02:09:52.000000000 -0300
-    @@ -92,7 +92,7 @@
-     #define        __const         const           /* define reserved names to standard */
-     #define        __signed        signed
-     #define        __volatile      volatile
-    -#if defined(__cplusplus)
-    +#if defined(__cplusplus) || defined(__PCC__)
-     #define        __inline        inline          /* convert to C++ keyword */
-     #else
-     #if !defined(__GNUC__)&& !defined(__lint__)
-    @@ -201,6 +201,10 @@
-     #define        __packed        __attribute__((__packed__))
-     #define        __aligned(x)    __attribute__((__aligned__(x)))
-     #define        __section(x)    __attribute__((__section__(x)))
-    +#elif defined(__PCC__)
-    +#define        __packed        /* not yet */
-    +#define        __aligned(x)    /* not yet */
-    +#define        __section(x)    /* not yet */
-     #elif defined(__lint__)
-     #define        __packed        /* delete */
-     #define        __aligned(x)    /* delete */
-    @@ -245,7 +249,7 @@
-     #endif /* _KERNEL */
- 
-     #if !defined(_STANDALONE)&& !defined(_KERNEL)
-    -#if defined(__GNUC__)
-    +#if defined(__GNUC__) || defined(__PCC__)
-     #define        __RENAME(x)     ___RENAME(x)
-     #else
-     #ifdef __lint__
-    --- stdlib.h.orig       2007-12-02 16:47:42.000000000 -0300
-    +++ stdlib.h    2007-11-30 19:48:58.000000000 -0300
-    @@ -237,6 +237,8 @@
-     #if defined(alloca)&& (alloca == __builtin_alloca)
+        -#if __GNUC_PREREQ__(2, 96)
+        +#if (__GNUC_PREREQ__(2, 96) || defined(__PCC__))
+         #define        va_start(ap, last)      __builtin_stdarg_start((ap), (last))
+         #define        va_arg                  __builtin_va_arg
+         #define        va_end                  __builtin_va_end
+
+ A similar change may be required for other platforms as well.
+
+ - __NetBSD 3.0 (i386/mips/arm/powerpc)__
+
+ The following patch is required:
+
+        --- cdefs.h.orig   2007-12-02 16:45:11.000000000 -0300
+        +++ cdefs.h     2007-11-27 02:09:52.000000000 -0300
+        @@ -92,7 +92,7 @@
+         #define        __const         const           /* define reserved names to standard */
+         #define        __signed        signed
+         #define        __volatile      volatile
+        -#if defined(__cplusplus)
+        +#if defined(__cplusplus) || defined(__PCC__)
+         #define        __inline        inline          /* convert to C++ keyword */
+         #else
+         #if !defined(__GNUC__)&& !defined(__lint__)
+        @@ -201,6 +201,10 @@
+         #define        __packed        __attribute__((__packed__))
+         #define        __aligned(x)    __attribute__((__aligned__(x)))
+         #define        __section(x)    __attribute__((__section__(x)))
+        +#elif defined(__PCC__)
+        +#define        __packed        /* not yet */
+        +#define        __aligned(x)    /* not yet */
+        +#define        __section(x)    /* not yet */
+         #elif defined(__lint__)
+         #define        __packed        /* delete */
+         #define        __aligned(x)    /* delete */
+        @@ -245,7 +249,7 @@
+         #endif /* _KERNEL */
+
+         #if !defined(_STANDALONE)&& !defined(_KERNEL)
+        -#if defined(__GNUC__)
+        +#if defined(__GNUC__) || defined(__PCC__)
+         #define        __RENAME(x)     ___RENAME(x)
+         #else
+         #ifdef __lint__
+        --- stdlib.h.orig       2007-12-02 16:47:42.000000000 -0300
+        +++ stdlib.h    2007-11-30 19:48:58.000000000 -0300
+        @@ -237,6 +237,8 @@
+         #if defined(alloca)&& (alloca == __builtin_alloca)
            && defined(__GNUC__) && (__GNUC__ < 2)
-     void   *alloca(int);     /* built-in for gcc */ 
-    +#elif defined(__PCC__)
-    +#define alloca(size)   __builtin_alloca(size)
-     #else 
-     void   *alloca(size_t); 
-     #endif /* __GNUC__ */
-
-Additionally, for stdargs to work properly, changes to the machine-dependent stdargs.h is required (something like this):
-
-    --- mips/stdarg.h.orig       2007-12-02 17:02:55.000000000 -0300
-    +++ mips/stdarg.h    2007-12-02 17:01:59.000000000 -0300
-    @@ -59,6 +59,13 @@
-     #define va_end(ap)             __builtin_va_end((ap))
-     #define __va_copy(dest, src)   __builtin_va_copy((dest), (src))
- 
-    +#elif defined(__PCC__)
-    +
-    +#define va_start(ap, last)     __builtin_stdarg_start((ap), last)
-    +#define va_arg(ap, type)       __builtin_va_arg((ap), type)
-    +#define va_end(ap)             __builtin_va_end((ap))
-    +#define __va_copy(dest, src)   __builtin_va_copy((dest), (src))
-    +
-     #else
+         void   *alloca(int);     /* built-in for gcc */ 
+        +#elif defined(__PCC__)
+        +#define alloca(size)   __builtin_alloca(size)
+         #else 
+         void   *alloca(size_t); 
+         #endif /* __GNUC__ */
+
+ Additionally, for stdargs to work properly, changes to the machine-dependent stdargs.h is required (something like this):
+
+        --- mips/stdarg.h.orig       2007-12-02 17:02:55.000000000 -0300
+        +++ mips/stdarg.h    2007-12-02 17:01:59.000000000 -0300
+        @@ -59,6 +59,13 @@
+         #define va_end(ap)             __builtin_va_end((ap))
+         #define __va_copy(dest, src)   __builtin_va_copy((dest), (src))
+     
+        +#elif defined(__PCC__)
+        +
+        +#define va_start(ap, last)     __builtin_stdarg_start((ap), last)
+        +#define va_arg(ap, type)       __builtin_va_arg((ap), type)
+        +#define va_end(ap)             __builtin_va_end((ap))
+        +#define __va_copy(dest, src)   __builtin_va_copy((dest), (src))
+        +
+         #else
  
-     #define        va_start(ap, last) \
+         #define        va_start(ap, last) \
 
-__NetBSD 1.6.2 (i386)__
+ - __NetBSD 1.6.2 (i386)__
 
-pcc can be built on NetBSD 1.6.2.  Since the system compiler is gcc 2.95 and not fully c99 compliant, a slight modification to pcc is required.  In pass1.h the flexible array should be replaced with the gcc-specified "zero-length" array.  The build will continue to completion and work fine.
+ pcc can be built on NetBSD 1.6.2.  Since the system compiler is gcc 2.95 and not fully c99 compliant, a slight modification to pcc is required.  In pass1.h the flexible array should be replaced with the gcc-specified "zero-length" array.  The build will continue to completion and work fine.
 
-You'll also need to modify the cdefs.h, stdarg.h and stdlib.h as for more recent NetBSD releases.
+ You'll also need to modify the cdefs.h, stdarg.h and stdlib.h as for more recent NetBSD releases.
 
-__OpenBSD 4.6 and later...  (i386 stable, other under development)__
+ - __OpenBSD 4.6 and later...  (i386 stable, other under development)__
 
-pcc should compile and run just fine.  Note that -Werror must be removed from some parts of the system Makefiles since pcc does more type correctness checks than the gcc version that follows the system.
+ pcc should compile and run just fine.  Note that -Werror must be removed from some parts of the system Makefiles since pcc does more type correctness checks than the gcc version that follows the system.
 
+ - __Mac OS X 10.4 (powerpc)__  *(experimental)*
 
-__Mac OS X 10.4 (powerpc)__  *(experimental)*
+ You must build and install the pcc-libs module which contains libpcc.a and runtime startup code.
 
-You must build and install the pcc-libs module which contains libpcc.a and runtime startup code.
+ Additionally, stdargs.h only works with gcc.  Paste the following lines into /usr/local/lib/pcc/stdarg.h:
 
-Additionally, stdargs.h only works with gcc.  Paste the following lines into /usr/local/lib/pcc/stdarg.h:
+        #ifndef _STDARG_H_
+        #define _STDARG_H_
+    
+        #define va_list char *
+        #define _VA_LIST
 
-    #ifndef _STDARG_H_
-    #define _STDARG_H_
+        #define va_start(ap, last)      __builtin_stdarg_start((ap), last)
+        #define va_arg(ap, type)        __builtin_va_arg((ap), type)
+        #define va_end(ap)              __builtin_va_end((ap))
+        #define va_copy(dest, src)      __builtin_va_copy((dest), (src))
 
-    #define va_list char *
-    #define _VA_LIST
+        #endif
 
-    #define va_start(ap, last)      __builtin_stdarg_start((ap), last)
-    #define va_arg(ap, type)        __builtin_va_arg((ap), type)
-    #define va_end(ap)              __builtin_va_end((ap))
-    #define va_copy(dest, src)      __builtin_va_copy((dest), (src))
+ - __Mac OS X 10.5 (powerpc)__  *(experimental)*
 
-    #endif
+ You must build and install the pcc-libs module which contains libpcc.a and runtime startup code.
 
-__Mac OS X 10.5 (powerpc)__  *(experimental)*
+ Some of the issues may apply from OS X 10.4 discussed above.
 
-You must build and install the pcc-libs module which contains libpcc.a and runtime startup code.
+ - __Mac OS X 10.5 (intel)__  *(stable)*
 
-Some of the issues may apply from OS X 10.4 discussed above.
+ You must build and install the pcc-libs module which contains libpcc.a and runtime startup code.
 
-__Mac OS X 10.5 (intel)__  *(stable)*
-
-You must build and install the pcc-libs module which contains libpcc.a and runtime startup code.
-
-OS X on intel has a bug in /usr/include/libkern/_OSByteOrder.h for non-GNU compilers.
-uint16\_t, uint32\_t and uint64\_t are not defined in this case.  Copy the file to /usr/local/include/pcc/libkern and replace the undefined types with
+ OS X on intel has a bug in /usr/include/libkern/_OSByteOrder.h for non-GNU compilers.
+ uint16\_t, uint32\_t and uint64\_t are not defined in this case.  Copy the file to /usr/local/include/pcc/libkern and replace the undefined types with
 \_\_uint16\_t, \_\_uint32\_t and \_\_uint64\_t respectively.
 
-Some of the issues may apply from OS X 10.4 discussed above.
+ Some of the issues may apply from OS X 10.4 discussed above.
 
-__FreeBSD 7__ 
+ - __FreeBSD 7__ 
 
-You must build and install the pcc-libs module which contains libpcc.a for C99 long long math support.
+ You must build and install the pcc-libs module which contains libpcc.a for C99 long long math support.
 
-You probably want to add something like this to sys/cdefs.h. 
+ You probably want to add something like this to sys/cdefs.h. 
 
-    --- cdefs.h.orig 2009-01-05 13:34:21.000000000 +0100 
-    +++ cdefs.h 2009-01-05 13:35:39.000000000 +0100 
-    @@ -221,6 +221,15 @@ 
-    #define __aligned(x) __attribute__((__aligned__(x))) 
-    #define __section(x) __attribute__((__section__(x))) 
-    #endif 
-    +#if defined(__PCC__) 
-    +#define __dead2 __attribute__((__noreturn__))
-    +#define __pure2 __attribute__((__const__)) 
-    +#define __unused __attribute__((__unused__)) 
-    +#define __used __attribute__((__used__)) 
-    +#define __packed __attribute__((__packed__)) 
-    +#define __aligned(x) __attribute__((__aligned__(x))) 
-    +#define __section(x) __attribute__((__section__(x))) 
-    +#endif 
-     #endif 
+        --- cdefs.h.orig 2009-01-05 13:34:21.000000000 +0100 
+        +++ cdefs.h 2009-01-05 13:35:39.000000000 +0100 
+        @@ -221,6 +221,15 @@ 
+        #define __aligned(x) __attribute__((__aligned__(x))) 
+        #define __section(x) __attribute__((__section__(x))) 
+        #endif 
+        +#if defined(__PCC__) 
+        +#define __dead2 __attribute__((__noreturn__))
+        +#define __pure2 __attribute__((__const__)) 
+        +#define __unused __attribute__((__unused__)) 
+        +#define __used __attribute__((__used__)) 
+        +#define __packed __attribute__((__packed__)) 
+        +#define __aligned(x) __attribute__((__aligned__(x))) 
+        +#define __section(x) __attribute__((__section__(x))) 
+        +#endif 
+         #endif 
   
-    #if __GNUC_PREREQ__(2, 96) 
-
-This patch only works if you have pcc compiled with GCC_COMPAT (which is the default).  Otherwise you want to use the _Pragmas() as shown in patches for other operating systems.
-
-__Solaris 10 x86__  *(stable)*
-
-It's possible to cross-build pcc to a fresh solaris 10 installation.  Although solaris 10 has a toolchain in /usr/ccs/bin, there isn't a cc compiler.  To cross-build pcc for solaris 10:
+        #if __GNUC_PREREQ__(2, 96) 
 
-- tar /usr/include and /lib on the solaris system and transfer these directories to /usr/local/i386-solaris on the build system
-- build a pcc cross-compiler on the build system: ./configure --target=i386-solaris&& make&& make install
-- build GNU binutils on the build system: ./configure --target=i386-solaris&& make&& make install
+ This patch only works if you have pcc compiled with GCC_COMPAT (which is the default).  Otherwise you want to use the _Pragmas() as shown in patches for other operating systems.
 
-Now you have a full solaris development system on your build machine.  The next step is to build pcc to run on the solaris system:
+ - __Solaris 10 x86__  *(stable)*
 
-- cross-build pcc for the solaris host: CC=i386-solaris-pcc ./configure --host=i386-solaris --target=i386-solaris
-- cross-build libpcc for the solaris host: CC=i386-solaris-pcc ./configure --target=i386-solaris
+ It's possible to cross-build pcc to a fresh solaris 10 installation.  Although solaris 10 has a toolchain in /usr/ccs/bin, there isn't a cc compiler.  To cross-build pcc for solaris 10:
 
-Now you have pcc compiled to run on the solaris system.  Transfer these files to the solaris system:
+    - tar /usr/include and /lib on the solaris system and transfer these directories to /usr/local/i386-solaris on the build system
+    - build a pcc cross-compiler on the build system: ./configure --target=i386-solaris&& make&& make install
+    - build GNU binutils on the build system: ./configure --target=i386-solaris&& make&& make install
 
-- transfer pcc (/usr/local/bin), cpp (/usr/local/libexec), ccom (/usr/local/libexec), libpcc.a (/usr/local/lib/pcc/i386-solaris/0.9.9/lib/) to solaris system
-- ensure /usr/ccs is in the path on the solaris system
-- pcc should now run as the system compiler - you will need to update some solaris header files (see below)
+ Now you have a full solaris development system on your build machine.  The next step is to build pcc to run on the solaris system:
 
-The pcc compiler can now be used on the solaris system to build itself:
+    - cross-build pcc for the solaris host: CC=i386-solaris-pcc ./configure --host=i386-solaris --target=i386-solaris
+    - cross-build libpcc for the solaris host: CC=i386-solaris-pcc ./configure --target=i386-solaris
 
-- download m4-1.4.1.tar.gz, configure and install
-- download flex-2.5.34, configure and install
-- download pcc, configure and install
+ Now you have pcc compiled to run on the Solaris system.  Transfer these files to the Solaris system:
 
-You must build and install the pcc-libs module which contains libpcc.a and runtime startup code.
+    - transfer pcc (/usr/local/bin), cpp (/usr/local/libexec), ccom (/usr/local/libexec), libpcc.a (/usr/local/lib/pcc/i386-solaris/0.9.9/lib/) to solaris system
+    - ensure /usr/ccs is in the path on the solaris system
+    - pcc should now run as the system compiler - you will need to update some solaris header files (see below)
 
-Additionally, stdargs.h doesn't work correctly.  Paste the following lines into /usr/local/lib/pcc/stdarg.h:
+ The pcc compiler can now be used on the solaris system to build itself:
 
-    #ifndef _STDARG_H_
-    #define _STDARG_H_
+    - download m4-1.4.1.tar.gz, configure and install
+    - download flex-2.5.34, configure and install
+    - download pcc, configure and install
 
-    #define va_list char *
-    #define _VA_LIST
+ You must build and install the pcc-libs module which contains libpcc.a and runtime startup code.
 
-    #define va_start(ap, last)      __builtin_stdarg_start((ap), last)
-    #define va_arg(ap, type)        __builtin_va_arg((ap), type)
-    #define va_end(ap)              __builtin_va_end((ap))
-    #define va_copy(dest, src)      __builtin_va_copy((dest), (src))
+ Additionally, stdargs.h doesn't work correctly.  Paste the following lines into /usr/local/lib/pcc/stdarg.h:
 
-    #endif
+        #ifndef _STDARG_H_
+        #define _STDARG_H_
+        #define va_list char *
+        #define _VA_LIST
+        #define va_start(ap, last)      __builtin_stdarg_start((ap), last)
+        #define va_arg(ap, type)        __builtin_va_arg((ap), type)
+        #define va_end(ap)              __builtin_va_end((ap))
+        #define va_copy(dest, src)      __builtin_va_copy((dest), (src))
+        #endif

Powered by rcshistory.cgi 0.3