Mercurial > hg > Document > Growi
view CbC/GCC/homebrew.md @ 96:d3c9934a0b4b
backup 2021-10-14
author | autobackup |
---|---|
date | Thu, 14 Oct 2021 00:10:04 +0900 |
parents | b6c284fd5ae4 |
children |
line wrap: on
line source
# CbC GCC の homebrew の作り方 (https://github.com/ie-developers/homebrew-ie) を自分のgithubにcloneします。 それを hoge ユーザでやるとします。 cbcgcc.rb をみると作り方が書いてあります。 ``` def install mktemp do system "#{buildpath}/configure", "--prefix=#{prefix}", "--disable-nls" , "--disable-bootstrap","--enable-checking=tree,rtl,assert,types","CFLAGS=-g3 -O0", "--enable-languages=c,lto", "--no-create", "--no-recursion", "--disable-multilib" system "sh config.status" system "make -j 4" system "make", "install" end end ``` ここのconfigure makeを適当に直します。 ``` brew install ie-developers/ie/cbclang --debug ``` で手元で debug できます。 build できたら binary package を作ります。 ``` brew install --build-bottle cbcgcc brew bottle cbcgcc ``` とすると sha (hash) が表示されます。これを cbcgcc.rb に書き込みます。 ``` bottle do rebuild 1 root_url "http://www.cr.ie.u-ryukyu.ac.jp/brew" # Optional root to calculate bottle URLs sha256 "cd7ea217a174e440cfd7bf6e1367ceca7daae8f6ca9805056dd117e6cbc3ce97" => :mojave end ``` この時に build 番号を増やすこと。 ``` cbcgcc--10.0.1.mojave.bottle.tar.gz ``` ができてるので、これをfireflyの ``` /var/www/html/brew/cbcgcc-10.0.1.mojave.bottle.1.tar.gz ``` にコピーします。この時に rebuild 番号を合わせること。動くなら、すでにある物を消しても良いです。 これをやると、~/Libary/Cache/Homebrew に巨大なdirectoryができるので消すのを忘れないように。 ちゃんと動いたら、ie-developper にpullreq します。 ## Catalina - `/usr/include`が消えているので`--with-sysroot`でsdkを指定するといい - Catalinaの場合は`libstd`を作るとコンパイルエラーが発生する ``` ruby if MacOS.version >= 10.15 args << "--disable-libstdcxx " system "cd #{buildpath};#{buildpath}/contrib/download_prerequisites" sdk_path = `xcrun --sdk macosx --show-sdk-path` #sdk_path = "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk" args << "--with-sysroot=#{sdk_path} " end ``` - catalinaのバージョン以降の場合はsdkのパスの指定と、`libsdtd`の作成をスキップする