2010ǯ05��28��
Portable C Compiler ��ӥ�ɤ��Ƥߤ�
�Ƕ�Ǥ� gcc��clang �˲����쵤̣ (?) �Ǥ�����Ϸ�ޤ� C ����ѥ���Ȥ��� PCC (Portable C Compiler) ������ޤ���
http://ja.wikipedia.org/wiki/Portable_C_Compiler
�Ȥꤢ�����ӥ�ɤ��Ƥߤޤ��礦��
Windows �������åȤξ�硢Visual Studio �� flex/bison ��ɬ�פȤΤ��ȡ�
building - pcc portable c compiler
�Ȥꤢ���� Visual Studio 2008 �ȡ�MinGW �� flex/bison �ǻ�Ƥߤޤ���
bison.simple �Ȥ����ե����뤬���ʤΤ��褯�狼��ʤ��ΤǤ��������ʤ��Ȥ� bison 1.4.1 �ˤ����äƤ��ޤ���Ǥ�����
GnuWin32 �Υ��������顢bison-1.35-4-bin.zip ����äƤ���Ÿ�������Ȥ�����share/bison �ʲ��� bison.simple �� bison.hairy ������ޤ�����
pcc-100525.tgz �ǻ�Ƥߤޤ���
tarball ��Ÿ���ˤ� MSYS �� tar ��ȤäƤ��ޤ��������Ǥ��ɤ��Ȼפ��ޤ���(�ʲ��� Visual Studio 2008 ���ޥ�ɥץ���ץȤʤΤǡ�MSYS �Υġ������Ѥ���ݤˤ����Хѥ��ǻ��ꤷ�Ƥ��ޤ���������� PATH ���̤��Ƥ��ɤ��ΤǤ��������� tar.exe �����Ȥ�ʤ��Τǡ�)
Setting environment for using Microsoft Visual Studio 2008 x86 tools. c:\Program Files\Microsoft Visual Studio 9.0\VC>path c:\mingw\bin;%path% c:\Program Files\Microsoft Visual Studio 9.0\VC>flex --version flex version 2.5.4 c:\Program Files\Microsoft Visual Studio 9.0\VC>bison --version bison (GNU Bison) 2.1 �ʾ�ά�� c:\Program Files\Microsoft Visual Studio 9.0\VC>cd c:\work\pcc C:\work\pcc>c:\msys\1.0\bin\tar.exe zxvf pcc-100525.tgz C:\work\pcc>cd pcc-cvs-100524\os\win32
os/win32 �ˡ�bison.simple �򥳥ԡ����Ƥ����ޤ���
����� build.bat �� /cl ���ץ����(VC++ �ǥӥ�ɤ�����)�Ǽ¹Ԥ��Ƥߤ�ȡ�_vsnprintf() ����ǥ��顼���Фޤ���
C:\work\pcc\pcc-100525\os\win32>cl.exe -D__MSC__ -o pcc.exe -DWIN32 -DGCC_COMPAT -DPCC_DEBUG -DCPP_DEBUG -DTARGOS=win32 -Dos_win32 -Dmach_i386 -DLIBEXECDIR="" - D_CRT_SECURE_NO_WARNINGS /nologo /Zi /MT /W2 -I..\..\cc\cc -I..\..\os\win32 -I.. \..\arch\i386 -I..\..\mip ..\..\cc\cc\cc.c ..\..\mip\compat.c cl : ���ޥ�� �饤�� warning D9035 : ���ץ���� 'o' �λ��Ѥϸ��߿侩����Ƥ��ޤ� �󡣺���ΥС�����󤫤�Ϻ������ޤ��� cc.c c:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\stdio.h(358) : error C31 63: '_vsnprintf': °����������������礷�ޤ��� c:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\stdio.h(350) : ' _vsnprintf' ��������ǧ���Ƥ��������� compat.c c:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\stdio.h(358) : error C31 63: '_vsnprintf': °����������������礷�ޤ��� c:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\stdio.h(350) : ' _vsnprintf' ��������ǧ���Ƥ���������
��Ȥ�� Visual Studio 7 �Ǥ�����ǧ����Ƥ��ʤ��褦�Ǥ��������ޤ���ƥʥ󥹤���Ƥ��ʤ������Ǥ���
���⤽���Ⱦ�����ǡ�pcc-libs �Ȥ����ǥ��쥯�ȥ�ʲ��Υ����������ɤ����¤� Not Found �ˤʤäƤ��ޤ����ե�����̾�Ǹ������ƤߤƤ⡢�ɤ��ˤ⤽��ʥǥ��쥯�ȥ��ե�����Ϥ���ޤ��󡣤ɤ����԰¤Ǥ���
������ɤǸ������Ƥߤ��Ȥ�����VS 2008 �ǥӥ�ɤ��������Ƥ����������ޤ�����
�ʤ�ۤɡ�pcc-libs �� pcc �Ȥ��̤˥����������ɤ�ɬ�פʤ�Ǥ��͡�
pcc-libs-100525.tgz �����������ɤ��ơ�Ʊ�ͤ�Ÿ�����ޤ�����
�åµï¿½ï¿½ï¿½ï¿½ï¿½ò»²¹Í¤Ë¡ï¿½os/win32/config.h ���������ӥ�ɡ��ʤ�ۤɡ���� stdio.h �ò¥¤¥ó¥¯¥ë¡¼ï¿½É¤ï¿½ï¿½Æ¤ï¿½ï¿½ï¿½ï¿½Ê¤ï¿½ï¿½È¡ï¿½vsnprintf() ���ִ�����Ƥ��ޤäƥ��顼�ˤʤ��Ǥ��͡�
C:\work\pcc>c:\msys\1.0\bin\tar.exe zxvf pcc-libs-100525.tgz C:\work\pcc>cd pcc-100525\os\win32 C:\work\pcc\pcc-100525\os\win32>fc config.h config.h.orig �ե����� config.h �� CONFIG.H.ORIG ����Ӥ��Ƥ��ޤ� ***** config.h #if !defined(vsnprintf) #include <stdio.h> #define vsnprintf _vsnprintf ***** CONFIG.H.ORIG #if !defined(vsnprintf) #define vsnprintf _vsnprintf ***** C:\work\pcc\pcc-100525\os\win32>build /cl /pccsrcdir C:\work\pcc\pcc-100525 /pcclibssrcdir c:\work\pcc\pcc-libs-100525
�ʤˤ�����̤ηٹ𤬽ФƤ��ޤ�������� pcc.exe �� libpcc.a �ϤǤ��Ƥ�ߤ����Ǥ����ӥ�ɤϤ��������ޤ�����δĶ��Ǥ� 30 �ä⤫����ޤ���Ǥ�����
C:\work\pcc\pcc-100525\os\win32>dir /b *.exe *.a mkext.exe pcc.exe libpcc.a
����ä�Ĺ���ʤäƤ��ޤ��ޤ����Τǡ�����Ϥ����ޤǤǤ���
�ɵ�: �¤Ͼ�꤯�ԤäƤޤ���Ǥ����������ޤ����