dmdのtrunkを自動でビルドする(Mac編)
以下のRakefileを使えば出来ます!PLATFORMとか作ってるけど他の環境全然意識してません(Windows以外は動くかも?).せっかく作ったし,D言語友の会にでも後で貼っておくか.
汚いのは勘弁して下さい.
パッチ
今のtrunkはspell checkerが入ってwin32.makしか更新されてないので,dmd\src\osx.makにパッチを当てる必要がある.
--- osx.mak.orig 2010-03-06 02:46:04.000000000 +0900 +++ osx.mak 2010-03-06 02:15:28.000000000 +0900 @@ -45,7 +45,7 @@ unialpha.o toobj.o toctype.o toelfdebug.o entity.o doc.o macro.o \ hdrgen.o delegatize.o aa.o ti_achar.o toir.o interpret.o traits.o \ builtin.o clone.o aliasthis.o \ - man.o arrayop.o port.o response.o async.o json.o \ + man.o arrayop.o port.o response.o async.o json.o speller.o \ libmach.o machobj.o SRC = win32.mak linux.mak osx.mak freebsd.mak solaris.mak \ @@ -88,7 +88,7 @@ $(ROOT)/rmem.h $(ROOT)/rmem.c $(ROOT)/port.h $(ROOT)/port.c \ $(ROOT)/gnuc.h $(ROOT)/gnuc.c $(ROOT)/man.c \ $(ROOT)/stringtable.h $(ROOT)/stringtable.c \ - $(ROOT)/response.c $(ROOT)/async.h $(ROOT)/async.c + $(ROOT)/response.c $(ROOT)/async.h $(ROOT)/async.c $(ROOT)/speller.h $(ROOT)/speller.c all: dmd @@ -447,6 +447,9 @@ staticassert.o: staticassert.h staticassert.c $(CC) -c $(CFLAGS) staticassert.c +speller.o: $(ROOT)/speller.c + $(CC) -c $(GFLAGS) -I$(ROOT) $< + stringtable.o: $(ROOT)/stringtable.c $(CC) -c $(GFLAGS) -I$(ROOT) $<
このパッチを当てたosx.makをRakefileと同じ階層に置いておけば,勝手に入れ替えてくれます.dmd 2.040は何故か俺の環境ではセグフォで全く動かなかったんだけど,ソースから入れたら動くようになった.これでMacでもdmdで遊べるようになった.
追記
上のパッチはもう要りません.それとソースをgistと入れ替え.