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
Changelog (sometimes not available): http://pcc.ludd.ltu.se/fisheye/changelog/pcc
Get the source: cvs -d :pserver:firstname.lastname@example.org:/cvsroot co pcc
Get libs and includes: cvs -d :pserver:email@example.com:/cvsroot co pcc-libs
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):
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
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.
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.
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 ....