Mercurial > hg > Document > Growi
view CbC/GCC/GCC9onMac.md @ 99:a6e501ada7c1
backup 2022-04-06
author | autobackup |
---|---|
date | Wed, 06 Apr 2022 00:10:04 +0900 |
parents | e12992dca4a0 |
children |
line wrap: on
line source
# macOSでのビルド - [このサイト](https://solarianprogrammer.com/2019/10/12/compiling-gcc-macos/)の通りにやればだいたいできる - catalina(high sierraくらい?)からgmpなどのライブラリを個別でビルドしなければGCCのビルドができなかった - gcc9からGCCのリポジトリに自動でこのあたりのライブラリをインストールする`contrib/download_prerequisites`が追加されていて便利になっていた ```sh $contrib/download_prerequisites (GCCのトップディレクトリで行わないといけない) ``` - `/usr/include/`が抜けた問題があるので、`sys_root`を自前で用意する必要がある - 一部のincludeファイルにmacOSのパッチを与える必要があるらしい(必要ないかも) ```sh $cd sys_root $ln -s /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/Library . $ln -s /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System . $mkdir usr && cd usr $ln -s /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/bin . $ln -s /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib . $ln -s /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/libexec . $ln -s /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/share . $cp -r /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include include $vim include/Availability.h ``` - あとはConfigureを実行する - `--with-sysroot`を指定しておかないと、`/usr/include`が無いエラーが発生する - `--with-sysroot`は絶対パスで与えないといけない ```sh ../CbC_gcc/configure --prefix=$PWD --disable-nls --disable-bootstrap --enable-checking=tree,rtl,assert,types CFLAGS="-g3 -O0" --enable-languages=c,lto --no-create --no-recursion --disable-multilib --with-sysroot=/Users/anatofuz/workspace/cr/CbC/latest_gcc/sys_root ``` - ここで何故かMafikefileでなく`config.status`なシェルスクリプトが生成される - このシェルスクリプトを実行するとMakefileが生成される - あとは `make -j`すれば良い(`-j`だと一部がうまく動かないので、`make`の方が良いかもしれない)