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 failures are related to too large values (maybe widl related? maybe still pcc bug 253) and something strange happens when compiling wineserver.
- still much to do ....