Mercurial > hg > CbC > CbC_gcc
annotate CbC-INSTALL @ 29:cc07adb17855
deleting old commented out code.
author | kent <kent@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 26 Nov 2009 13:27:48 +0900 |
parents | |
children | 59194914942b |
rev | line source |
---|---|
29
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1 |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2 * CbC on GCCのインストール方法 |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
3 |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
4 まずはMercurialリポジトリから取得 |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
5 hg clone ssh://one@firefly.cr/hg/CbC/GCC cbc-gcc |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
6 ビルド用ディレクトリへ |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
7 mkdir build-gcc; cd build-gcc |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
8 コンフィギュア |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
9 一般的には以下のconfigureでビルドできる |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
10 ../cbc-gcc/configure CFLAGS="-g3 -O0" |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
11 --prefix=$PWD/INSTALL_DIR --disable-nls \ |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
12 --disable-bootstrap --enable-languages=c \ |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
13 --enable-checking=tree,rtl,assert,types |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
14 |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
15 -g3: |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
16 gdbでmacroの展開を可能にする |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
17 -O0: |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
18 gdbでトレースしやすいように、最適化をカット |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
19 --prefix: |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
20 インストールするベースディレクトリ |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
21 --enbale-checking: |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
22 デバグ用の指定、browse_treeやdebug_rtx、assertもこれでonになる |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
23 --disable-bootstrap: |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
24 通常、GCCは3回ビルドされる。それを最初の1回だけに限定 |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
25 --disable-nls: |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
26 gettextのl10nをoffにしよう |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
27 --enable-language: |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
28 使用する言語 c|c++|ada ... もちろんCbCはcだけ |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
29 これもcbcを使えるようにしたい |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
30 ビルド |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
31 make && make install |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
32 |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
33 |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
34 |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
35 * PowerPC Macでのインストール |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
36 |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
37 最新のlibgmp, libmpfrをインストール |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
38 [gmp] |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
39 ./configure --enable-cxx --build=powerpc-apple-darwin9 --host=powerpc-apple-darwin9 |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
40 make && make install |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
41 [mpfr] |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
42 ./configure --build=powerpc-apple-darwin9 --host=powerpc-apple-darwin9 |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
43 make && make install |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
44 [CbC on GCC] |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
45 ../cbc-gcc/configure CFLAGS="-g3 -O0" --with-gmp=/usr/local |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
46 --with-mpfr=/usr/local --prefix=$PWD/INSTALL_DIR \ |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
47 --disable-nls --disable-bootstrap --enable-languages=c \ |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
48 --enable-checking=tree,rtl,assert,types |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
49 make && make install |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
50 もちろんインストール場所によってprefixは変更しよう |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
51 |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
52 |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
53 |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
54 |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
55 * PS3でのビルド |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
56 SPU |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
57 ../CbConGCC/configure --prefix=/usr/local/spu-cbc \ |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
58 --build=powerpc --target=spu --program-prefix=spu- \ |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
59 --disable-bootstrap --enable-checking=tree,rtl,assert \ |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
60 --disable-nls --disable-shared --disable-threads \ |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
61 --enable-languages=c --with-system-zlib --with-newlib \ |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
62 --enable-version-specific-runtime-libs --disable-libssp \ |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
63 --with-gnu-as -with-as=/usr/bin/spu-as --with-gnu-ld \ |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
64 --with-ld=/usr/bin/spu-ld |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
65 PPU |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
66 binutils |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
67 $ tar xzvf binutils-...tar.gz |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
68 $ mkdir binutils_4ps3 |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
69 $ cd binutils_4ps3 |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
70 $ ../binutils../configure --prefix=$PWD/INSTALL_DIR |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
71 > --target=ppc64-yellowdog-linux |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
72 $ make install |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
73 $ cd .. |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
74 cross gcc |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
75 $ mkdir gcc_4ps3 |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
76 $ PATH=$PWD/../binutils_4ps3/INSTALL_DIR/bin:$PATH |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
77 $ ../CbConGCC/configure --prefix=$PWD/INSTALL_DIR |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
78 > --enable-language=c --target=ppc64-yellowdog-linux |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
79 > --with-newlib --with-included-gettext --enable-shared |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
80 > --enable-threads |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
81 $ make |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
82 |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
83 |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
84 |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
85 * 琉球大学総合情報センターのSolarisサーバでのビルド (sparc) |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
86 |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
87 なぜかデフォルトのgccが自分のライブラリすら見てくれないのでパスを指定 |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
88 export LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib/gcc:$HOME/opt/lib |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
89 export LIBRARY_PATH=/usr/local/lib:/usr/local/lib/gcc:$HOME/opt/lib |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
90 gmpのインストール |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
91 ./configure --prefix=$HOME/opt \ |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
92 --build=sparc-sun-solaris \ |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
93 --host=sparc-sun-solaris |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
94 make |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
95 make check |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
96 make install |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
97 libmpfrのインストール |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
98 ./configure --prefix=$HOME/opt/ \ |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
99 --with-gmp=$HOME/opt |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
100 --build=sparc-sun-solaris \ |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
101 --host=sparc-sun-solaris |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
102 make |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
103 make check |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
104 make install |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
105 # sparc-sun-solaris2.10の方がいいかもしれない |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
106 CbCをインストール |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
107 ../CbCGCC/configure --prefix=$PWD/INSTALL_DIR --disable-nls \ |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
108 --disable-bootstrap --enable-languages=c \ |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
109 --with-gmp=$HOME/opt --with-mpfr=$HOME/opt \ |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
110 --build=sparc-sun-solaris2.10 --target=sparc-sun-solaris2.10 \ |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
111 --host=sparc-sun-solaris2.10 --enable-shared \ |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
112 --with-as=/usr/ccs/bin/as --with-ld=/usr/ccs/bin/ld |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
113 make |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
114 make install |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
115 ビルドは可能。 |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
116 ただし、実行は不能 goto cs();すら動かない |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
117 config/sparc/sparc.cのoutput_sibcall()でエラーが出る |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
118 gdbがインストールされてないので詳細は未調査 |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
119 もしかしてsibcallってあまり実装されてないんじゃ… |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
120 |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
121 |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
122 |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
123 |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
124 |
cc07adb17855
deleting old commented out code.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
125 |