http://www.ludd.ltu.se/~ragge/pcc/ から pcc-current.tgz を取ってきて ./configure && make したら、途中で止まっちゃった。 gcc 4.3.0 がいけないのかな。 $ flex --version flex 2.5.33 $ gcc --version gcc (GCC) 4.3.0 20070904 (experimental) Copyright (C) 2007 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
コンパイルできないや (スコア:2, 興味深い)
./configure && make したら、途中で止まっちゃった。
gcc 4.3.0 がいけないのかな。
$ flex --version
flex 2.5.33
$ gcc --version
gcc (GCC) 4.3.0 20070904 (experimental)
Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
$ make
:
flex scanner.l
gcc -g -O2 -DCPP_DEBUG -Wall -Wmissing-prototyp
love && peace && free_software
t-nissie
Re:コンパイルできないや (スコア:2, 参考になる)
GCC4 は型宣言に厳しいっすね。
Re:コンパイルできないや (スコア:3, 興味深い)
$ tar zxf pcc-current.tgz
$ cd pcc-0.9.8
$ rm -rf `find . -type d -name CVS`
$ emacs cc/cpp/Makefile.in cc/ccom/Makefile.in os/linux/ccconfig.h # 下のように編集
$ ./configure --prefix=/usr/local/pcc
$ make
$ make -n install
$ su
# mkdir -p /usr/local/pcc/bin
# mkdir -p /usr/local/pcc/libexec
# make install
PCCの作者より上手にMakefileを書いたり、autotoolsを使う自信はあるぞ。。。
f77はコンパイルされないみたい。
$ cat hello.c
/* hello.c */
int
love && peace && free_software
t-nissie
Re:コンパイルできないや (スコア:3, 参考になる)
gcc をコンパイルするときって、元々あるコンパイラを信用していないというか
stage1: 古いコンパイラで gcc をコンパイル→gccバイナリそのものは古いコンパイラが出力してるので、あてにしたくない
stage2: stage1で出来たgccで、gccをコンパイル→古いコンパイラが出したgccの出力なので、もしかしたらバグってるかも
stage3: stage2で出来たgccで、gccをコンパイル→stage2とstage3の出力を比較してバイナリが一致していれば安心
って流れで、「gccで自身をセルフコンパイル」しますよね。「cc は最適化がとろいし、たまにバグってるので当てにしたくない」って感じでしたっけ。
今時のgccは最適化を強くすると挙動が怪しいとかよく聞きますし、最適化無しのgccは結構遅いコードを吐き出しますから、
gccの最適化無しでpccを作った後、pccで最適化オプションつけてpcc自身をセルフコンパイルぐらいはしてもいいんじゃないかなとか思ってしまいます。
Re:コンパイルできないや (スコア:1)
ふつうのプログラムもうまくコンパイルできません。どっかからヘッダファイル
ひとそろいをダウンロードしてくるのでしょうか。
os/linux/ccconfig.hのCPPADDは
#define CPPADD { "-D__linux__", "-D__ELF__", "-I" INCLUDEDIR "/pcc", NULL, }
だと、-I$PREFIX/include/pcc になるみたいです。
love && peace && free_software
t-nissie