PCC - The Portable C Compiler

PCC is a lightweight and Portable C Compiler under a BSD License.
PCC is the default compiler on various BSD Systems.
(The 64 bit support is new and not tested as much as the the x86 version.)
PCC support some gcc extensions in GCC_COMPAT mode

PCC on Linux

  • The libs and includes are required to get pcc working
    To build a cross-compiler for Windows, you must build and install a complete toolchain (i386-pc-pe):

  • pcc
  • pcc-libs
  • binutils

i386-pc-pe-pcc need also the w32api files from MinGW: ftp://pcc.ludd.ltu.se/pub/win32/

Build Wine with PCC

On Linux, the GLIBC header use an gcc specific structure initialization, which is deprecated since gcc 2.5, The pcc development branch is needed to support this gcc feature.

 CC=pcc ./configure --verbose
  • The bug #251 was fixed in the pcc development branch

configure runs to the end


Next Stage:

 make

This fail when tools/makedep.c is compiled with pcc, starting with:

  • /usr/include//bits/mathinline.h, line 41: __f undefined

    • The bugreport 251 is also the reason for this failure

As a workaround, disable optimization during configure

 CC='pcc' CFLAGS='-g' ./configure --verbose
 make


Next failure while compiling libs/wine/ldt.c is still the same:

  • /tmp/ctm.VkmvAY:5469: Error: symbol `wine_get_fs' is already defined

    • The bugreport 164 was filled for pcc

Using gcc as a workaround to compile this file looks usable (libs/wine/libwine.so is build, when make is called again), but linking the first binary with libwine.so failed. You need to cleanup libs/wine and rebuild libwine.so with gcc.

 make


Next failure, when using the pcc compiled widl to translate include/wtypes.idl:

  • ../tools/widl/widl -I../../src/include -I. -I../../src/include -I../include    -h -o activaut.h ../../src/include/activaut.idl 
    ../../src/include/wtypes.idl:112: error: inapplicable attribute size_is for field SubAuthority
    • The bugreport 253 for pcc was created for this issue.

You need to cleanup tools/widl and build widl with gcc.

 make


Next failures, when building the importlib in dlls/dxguid


  • ../../../src/include/dplay8.h:849: error: Too much defining

    • The bugreport 271 for pcc was created for this issue.

As a workaround for the pcc 1.0 release, the buffer was increased from 600000 to 1000000.


  • still much to do ....


CategoryCompilers

pcc (last edited 2012-07-20 19:24:33 by KyleAuble)