(https://github.com/ie-developers/homebrew-ie) を自分のgithubにcloneします。
それを hoge ユーザでやるとします。
cbcgcc.rb をみると作り方が書いてあります。
1
2
3
4
5
6
7
8
|
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を適当に直します。
1
|
brew install ie-developers/ie/cbclang --debug
|
で手元で debug できます。
build できたら binary package を作ります。
1
2
|
brew install --build-bottle cbcgcc
brew bottle cbcgcc
|
とすると sha (hash) が表示されます。これを cbcgcc.rb に書き込みます。
1
2
3
4
5
|
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 番号を増やすこと。
1
|
cbcgcc--10.0.1.mojave.bottle.tar.gz
|
ができてるので、これをfireflyの
1
|
/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
を作るとコンパイルエラーが発生する
1
2
3
4
5
6
7
|
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
の作成をスキップする